Doxy
Classes | Public Member Functions | Protected Types | Protected Attributes | List of all members
vis2::Vis2App Class Reference
Inheritance diagram for vis2::Vis2App:

Classes

struct  sCut
 

Public Member Functions

void setup () override
 
void setupUI ()
 
void setupLabelList ()
 
void setupGLSL ()
 Compile and create shaders
 
void resize () override
 Set correct aspect ratio after resizing
 
void update () override
 
void draw () override
 Draws the scene, grid and picker arrows More...
 
void mouseDown (MouseEvent event) override
 Tracks mouseclicks: More...
 
void mouseUp (MouseEvent event) override
 Tracks MouseUp: terminates uvw drag and drop
 
void mouseDrag (MouseEvent event) override
 Tracks MouseDrag event: move camera and drag and drop mechanism for basic 4sided window cut
 
void mouseWheel (MouseEvent event) override
 Tracks MouseWheel event: Scene zooming and camera pan on mouse3
 
void keyDown (KeyEvent event) override
 Keyboard Input handling More...
 
void mouseMove (MouseEvent event) override
 Tracks mousposition for picking feature
 
void resetCam ()
 
void moveCameraPosLinear (CameraPersp newCam)
 
void loadObj (const DataSourceRef &dataSource)
 Load .obj file without mtl(materials, textures, etc)
 
void loadObj (const DataSourceRef &dataSourceObj, const DataSourceRef &dataSourceMtl)
 Load .obj and .mtl file and create mesh and vbo
 
void createCut ()
 Save button callback. Creates a cut structure instance and saves it in a vector
 
void loadCut ()
 Load Button Callback: takes current selection, looks it up in the cut vector and sets parameters
 
void updateViewInterface () const
 
void createGridLoop ()
 
void createGrid ()
 
void selectObjFileDialog ()
 Callback for Load button More...
 
void loadModel ()
 
bool performPicking (vec3 *pickedPoint, vec3 *pickedNormal) const
 
void enableSelect ()
 Pick Cut Callback
 
void buttonLoadModel ()
 Load Model Button Callback
 

Protected Types

enum  shaderSetting { PHONG, FLAT, WIRE }
 

Protected Attributes

vec3 mCameraTarget
 
vec3 mCameraLerpTarget
 
vec3 mCameraViewDirection
 
vector< gl::BatchRef > mVecBatchRef
 
vector< gl::VertBatchRef > mVecVertBatchRef
 
gl::VertBatchRef mObjectVertBatch
 
gl::BatchRef mObjectBatch
 
CameraPersp mCamera
 
CameraUi mCamUi
 
gl::BatchRef mPrimitive
 
gl::BatchRef mPrimitiveWire
 
gl::BatchRef mPrimitiveWireframe
 
gl::BatchRef mPrimitiveNormalLines
 
gl::BatchRef mPrimitiveTangentLines
 
gl::GlslProgRef mPhongShader
 
gl::GlslProgRef mWireShader
 
gl::GlslProgRef mWireframeShader
 
gl::GlslProgRef * mCurrentShader
 
gl::GlslProgRef mFlatShader
 
string mCutLabel
 
int mCutSelection
 
bool mCutEnabled = true
 
vector< string > cutsLabelList
 
vector< sCutcutsList
 
params::InterfaceGlRef mOptions
 
params::InterfaceGlRef mCameraSettings
 
params::InterfaceGlRef mCutSettings
 
params::InterfaceGlRef mViewSettings
 
params::InterfaceGlRef mRigs
 
shaderSetting mShaderSetting
 
int mNumGridCells
 
TriMeshRef mCurrentTriMesh
 
cinder::gl::VboMeshRef mCurrentVboMesh
 
bool mEnablePlaneCut
 
vec4 mPlaneCutParams
 
vec3 mPickedPoint
 
vec3 mPickedNormal
 
vec3 mMouseDrawPoint
 
vec3 mMouseDrawPickedNormal
 
float mSpaceParamU
 
float mSpaceParamV
 
float mSpaceParamW
 
float mSpaceX
 
float mSpaceY
 
float mSpaceZ
 
vec4 mSpacePos
 
float mCutAlpha
 
bool mEnableSelect
 
vec2 mMousePos
 
string mCurrentModelPath
 
Color mBackgroundColor
 
bool mEnableFaceCulling
 
bool mShowGrid
 
std::string mModelFile
 
std::string mModelMtl
 
std::string mJsonFile
 
JsonTree mJsonTree
 
gl::VertBatchRef mGridLoop
 
gl::VertBatchRef mGrid
 
TexType mTextureType
 
cutType mCutType
 
bool mMouseDown
 
Font mFont
 
std::string mFps
 
vec2 mMouseStartPoint
 
vec2 mMouseEndPoint
 
TriMesh mCutWire
 
gl::BatchRef mCutWireBatch
 
AxisAlignedBox mObjectBounds
 

Member Function Documentation

void vis2::Vis2App::draw ( )
override

Draws the scene, grid and picker arrows

summary> Creates reference to draw gridloop

void vis2::Vis2App::keyDown ( KeyEvent  event)
override

Keyboard Input handling

enabled keys:

c - enables picking cut position
d - resets uvw to 1.0
ESC - cancel picking or quit application

</summary>
void vis2::Vis2App::mouseDown ( MouseEvent  event)
override

Tracks mouseclicks:

Moves the camera along a centred ball and enables drag and drop setting for uvw parameters

void vis2::Vis2App::selectObjFileDialog ( )

Callback for Load button

Opens an OS style file open dialog, to open a standard obj file

void vis2::Vis2App::setup ( )
override

Initializes grid, camera and model on app startup


The documentation for this class was generated from the following files: