SDFormat Editor
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ModelViewer Class Reference

Implementation of SDFormatParserI. More...

#include <model_viewer.h>

Inheritance diagram for ModelViewer:
Inheritance graph
Collaboration diagram for ModelViewer:
Collaboration graph

Classes

class  ModelViewerKeyHandler
 class for handling inputs to the model viewer More...
 

Public Member Functions

 ModelViewer ()
 Constructor.
 
bool IsRunning () override
 Indicates if the model view is running.
 
void AddModel (ModelInfo model_info) override
 Implementation of interface method.
 
void AddModel (PresetModelInfo model_info) override
 Implementation of interface method.
 
void ResetModels () override
 Implementation of the interface method.
 

Private Member Functions

void Initialize () override
 Implementation of interface method.
 
void RenderFrame () override
 Implementation of interface method.
 
void Quit () override
 Implementation of interface method.
 
void Deinitialize ()
 Deallocates memory and quits the model viewer.
 
std::mutex & GetMutex () override
 Implementation of interface method.
 
void HandleAddModelQueue ()
 private method which pops ModelInfo's off the model queue and creates their OGRE entities.
 
void HandleResetModelsFlag ()
 private method to handle reset models flag
 

Private Attributes

std::mutex model_viewer_mutex
 Mutex for thread safety.
 
bool should_quit = false
 Indicates if the model viewer should quit on the next iteration.
 
bool is_running = false
 Indicates if the model viewer is running.
 
OgreBites::ApplicationContext ctx
 The ogre application context, which gives access to attributes from the render window.
 
Ogre::Root * ogreRoot
 Pointer to the ogre root.
 
Ogre::SceneManager * scnMgr
 Pointer to the ogre scene manager.
 
Ogre::RTShader::ShaderGenerator * shadergen
 Pointer to the ogre shader generator singleton.
 
Ogre::Light * sceneLight
 Pointer to the main scene light.
 
Ogre::SceneNode * sceneLightNode
 Pointer to the main scene light node.
 
Ogre::Camera * sceneCamera
 Pointer to the main scene camera.
 
Ogre::SceneNode * sceneCameraNode
 Pointer to the main scene camera node.
 
OgreBites::CameraMan * cameraController
 Pointer to the main camera controller.
 
std::queue< ModelInfoadd_model_queue
 queue to add models to model viewer
 
ModelViewerKeyHandler keyHandler
 instance of ModelViewerKeyHandler
 
unsigned long long unique_naming_counter = 0
 
Ogre::ColourValue color_list [6]
 list of random colours to assign model
 
unsigned int color_list_index = 0
 A counter to keeps track of the current colour.
 
std::atomic< bool > reset_models_flag
 if true, reset model on next frame and set false
 

Additional Inherited Members

- Public Types inherited from ModelViewerI
enum  PresetType { BOX , CYLINDER , SPHERE }
 Preset shapes which do not require a mesh to be provided in the sdf.
 

Detailed Description

Implementation of SDFormatParserI.

Member Function Documentation

◆ AddModel() [1/2]

void ModelViewer::AddModel ( ModelViewer::ModelInfo  model_info)
overridevirtual

Implementation of interface method.

Parameters
[in]model_infoThe model information

Implements ModelViewerI.

◆ AddModel() [2/2]

void ModelViewer::AddModel ( ModelViewer::PresetModelInfo  model_info)
overridevirtual

Implementation of interface method.

Parameters
[in]model_infoThe preset model information

Implements ModelViewerI.

◆ GetMutex()

std::mutex & ModelViewer::GetMutex ( )
overrideprivatevirtual

Implementation of interface method.

Implements ModelViewerI.

◆ Initialize()

void ModelViewer::Initialize ( )
overrideprivatevirtual

Implementation of interface method.

Implements ModelViewerI.

◆ IsRunning()

bool ModelViewer::IsRunning ( )
overridevirtual

Indicates if the model view is running.

Returns
a boolean

Implements ModelViewerI.

◆ Quit()

void ModelViewer::Quit ( )
overrideprivatevirtual

Implementation of interface method.

Implements ModelViewerI.

◆ RenderFrame()

void ModelViewer::RenderFrame ( )
overrideprivatevirtual

Implementation of interface method.

Implements ModelViewerI.

◆ ResetModels()

void ModelViewer::ResetModels ( )
overridevirtual

Implementation of the interface method.

Implements ModelViewerI.

Member Data Documentation

◆ color_list

Ogre::ColourValue ModelViewer::color_list[6]
private
Initial value:
= {
Ogre::ColourValue(3.3699f, 3.1256f, 0.633f),
Ogre::ColourValue(0.549f, 3.1569f, 0.1569f),
Ogre::ColourValue(4.1325f, 1.1339f, 0.234f),
Ogre::ColourValue(1.0f, 0.5f, 0.0f),
Ogre::ColourValue(0.0f, 0.5f, 1.0f),
Ogre::ColourValue(0.5f, 0.0f, 0.5f)
}

list of random colours to assign model


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