VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtVisualizerSet Class Reference

This contains all the DtVisualizers used to visualize an element in a particular model set.

Inheritance diagram for makVrv::DtVisualizerSet:
Inheritance graph
[legend]

Public Types

using VisualizerList = std::vector< DtStateVisualizer * >
 

Public Member Functions

 DtVisualizerSet (DtBaseConnection &conn, DtStateListener &listener, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet, bool distribute)
 
virtual ~DtVisualizerSet ()
 
virtual void visualizeElementDefinition (const DtUnicode &elementName, const DtElementDefinition &def, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap &creationMap)
 
virtual void visualizeElementDefinition (const DtUnicode &elementName, const DtElementDefinition &def)
 
virtual void createVisualizersByType (int visualType)
 
virtual void destroyVisualizersByType (int visualType)
 
const DtElementDefinitiondefinition () const
 
virtual void setElementDefinition (const DtElementDefinition *def)
 
DtModelSetId modelSet () const
 
template<typename VisualizerClass >
void findVisualizers (std::vector< VisualizerClass * > &visualizers)
 
template<typename VisualizerClass >
void findVisualizersByDynamicCast (std::vector< VisualizerClass * > &visualizers)
 
virtual void findVisualizers (const DtVisualizerSchema &, VisualizerList &visualizers)
 
virtual DtUniqueID sceneObjectID () const
 
virtual void setPickable (bool pickable)
 
bool pickable () const
 
virtual bool addVisualizer (const DtVisualizerDefinition &def)
 
virtual void destroyAllModelVisualizers ()
 
virtual DtStateVisualizer::Type supportsVisualizerType () const
 
DtStateListenerlistener () const
 
virtual void setVisible (bool visible, DtVisualizerShowHideContext::VisualizerShowHideContext)
 
virtual void visualizeVisualizerDefinitionSet (const DtUnicode &elementName, const DtVisualizerDefinitionSet &set, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap *creationMap=nullptr)
 

Protected Types

typedef
boost::unordered_multimap
< std::string,
DtStateVisualizer * > 
StateVisualizerMap
 

Protected Member Functions

void destroyAllModelVisualizersInternal ()
 
virtual DtStateVisualizercreateVisualizerFromDefinition (const DtVisualizerDefinition &def)
 
virtual void addVisualizer (const std::string &schemaName, DtStateVisualizer *visualizer)
 
virtual bool suppressVisualizerCreation (const DtVisualizerDefinition *visDef, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap *creationMap) const
 
virtual int findVisualType (const DtVisualizerDefinition &visDef) const
 
template<typename T , typename C >
void connectAndUpdate (boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
 
const DtUnicodechooseRandomString (const std::vector< DtUnicode > &stringList)
 

Protected Attributes

DtBaseConnectionmyBaseConnection
 
DtStateVisualizerFactorymyCachedFactory
 
DtStateListenermyStateListener
 
StateVisualizerMap myVisualizers
 
DtSignalConnectionManager myConnections
 
const DtElementDefinitionmyDefinition
 
bool myPickable
 
bool myVisible
 
bool myDistribute
 
DtSceneObjectAgent * mySceneObjectAgent
 
DtModelSetId myModelSet
 
std::string myVisualTypeString
 

Member Typedef Documentation

typedef boost::unordered_multimap<std::string,DtStateVisualizer* > makVrv::DtVisualizerSet::StateVisualizerMap
protected

Constructor & Destructor Documentation

makVrv::DtVisualizerSet::DtVisualizerSet ( DtBaseConnection conn,
DtStateListener listener,
DtSceneObjectAgent *  sceneObject,
DtModelSetId  modelSet,
bool  distribute 
)

CTOR.

virtual makVrv::DtVisualizerSet::~DtVisualizerSet ( )
virtual

Destructor.

Member Function Documentation

virtual void makVrv::DtVisualizerSet::visualizeElementDefinition ( const DtUnicode elementName,
const DtElementDefinition def,
const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap creationMap 
)
virtual

Visualize an element definition.

virtual void makVrv::DtVisualizerSet::visualizeElementDefinition ( const DtUnicode elementName,
const DtElementDefinition def 
)
virtual

Visualize an element definition.

virtual void makVrv::DtVisualizerSet::createVisualizersByType ( int  visualType)
virtual

Go through the visualizer definitions in the member variable myDefinitions, and create/add any visualizers that have the specified visual type. If the visualizerSet has not been realized yet, myDefinitions will be null, and this method will do nothing.

virtual void makVrv::DtVisualizerSet::destroyVisualizersByType ( int  visualType)
virtual

Go through all realized visualizers and remove any that match the specified visual type.

const DtElementDefinition* makVrv::DtVisualizerSet::definition ( ) const

Returns the visualized definition.

virtual void makVrv::DtVisualizerSet::setElementDefinition ( const DtElementDefinition def)
virtual
DtModelSetId makVrv::DtVisualizerSet::modelSet ( ) const

Returns the visualized model set.

template<typename VisualizerClass >
void makVrv::DtVisualizerSet::findVisualizers ( std::vector< VisualizerClass * > &  visualizers)
inline

Find all instances of a Visualizer by schema name.

References myVisualizers.

template<typename VisualizerClass >
void makVrv::DtVisualizerSet::findVisualizersByDynamicCast ( std::vector< VisualizerClass * > &  visualizers)
inline

Find all instance of a visualizer by dynamically casting to the class type rather than doing the faster type info check. Use this when you want to find all instances of a particular class, not the actual class.

References myVisualizers.

Referenced by makVrf::DtEnvironmentalFacadeCollection::setForceColor().

virtual void makVrv::DtVisualizerSet::findVisualizers ( const DtVisualizerSchema ,
VisualizerList visualizers 
)
virtual

Find all visualizers which use a particular schema.

virtual DtUniqueID makVrv::DtVisualizerSet::sceneObjectID ( ) const
virtual

Returns unique id of mySceneObjectVisualizer or mySceneObjectAgent, else 0.

virtual void makVrv::DtVisualizerSet::setPickable ( bool  pickable)
virtual

Set whether this visualizer is pickable.

bool makVrv::DtVisualizerSet::pickable ( ) const

Is this visualizer pickable.

virtual bool makVrv::DtVisualizerSet::addVisualizer ( const DtVisualizerDefinition def)
virtual

Add a visualizer after the visualizerSet has been visualized.

virtual void makVrv::DtVisualizerSet::destroyAllModelVisualizers ( )
virtual

Destroys all model agent visualizers associated with visualizer.

virtual DtStateVisualizer::Type makVrv::DtVisualizerSet::supportsVisualizerType ( ) const
virtual
DtStateListener& makVrv::DtVisualizerSet::listener ( ) const

Returns the state listener.

virtual void makVrv::DtVisualizerSet::setVisible ( bool  visible,
DtVisualizerShowHideContext::VisualizerShowHideContext   
)
virtual

On the rare occasion (like hiding all 2D objects when embarked) when we need all the visualizers in one model set the be shown/hidden, Pass the context with which to show or hide into this routine. It will then be passed to each visualizer, which will determine whether or not to show or hide itself based on the context.

void makVrv::DtVisualizerSet::destroyAllModelVisualizersInternal ( )
protected

Non-virtual work function for destroying all model visualizers in this set.

virtual void makVrv::DtVisualizerSet::visualizeVisualizerDefinitionSet ( const DtUnicode elementName,
const DtVisualizerDefinitionSet set,
const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap creationMap = nullptr 
)
virtual

Given the DtVisualDefinitionSet, create all visualizers associated. If there is a problem, will throw an exception.

virtual DtStateVisualizer* makVrv::DtVisualizerSet::createVisualizerFromDefinition ( const DtVisualizerDefinition def)
protectedvirtual

Create a state visualizer from a visual definition.

virtual void makVrv::DtVisualizerSet::addVisualizer ( const std::string &  schemaName,
DtStateVisualizer visualizer 
)
protectedvirtual

Adds a new model visualizer into the list of visualizers. For consistency, the "default" name is always the one used when the visualizer is added regardless of visual driver selected.

virtual bool makVrv::DtVisualizerSet::suppressVisualizerCreation ( const DtVisualizerDefinition visDef,
const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap creationMap 
) const
protectedvirtual

Check to see if the visualizer type and creation map warrant creation.

Reimplemented in makVrv::DtFireInteractionVisualizerSet.

virtual int makVrv::DtVisualizerSet::findVisualType ( const DtVisualizerDefinition visDef) const
protectedvirtual

lookup the visualtype attribute from a visual definition; returns 0 if none found

Reimplemented in makVrf::DtVrfSpotReportVisualizerSet.

template<typename T , typename C >
void makVrv::DtVisualizerSet::connectAndUpdate ( boost::signalslib::signal< void(T)> &  sig,
void(C::*)(T)  fp,
val 
)
inlineprotected

Utility function for connect a signal to an update function as well as calling the update function.

References makVrv::bind().

const DtUnicode* makVrv::DtVisualizerSet::chooseRandomString ( const std::vector< DtUnicode > &  stringList)
protected

Return the model definition that might be randomly chosen, if the definitions has more than 1 item.

Member Data Documentation

DtBaseConnection& makVrv::DtVisualizerSet::myBaseConnection
protected
DtStateVisualizerFactory& makVrv::DtVisualizerSet::myCachedFactory
protected
DtStateListener& makVrv::DtVisualizerSet::myStateListener
protected
StateVisualizerMap makVrv::DtVisualizerSet::myVisualizers
protected
DtSignalConnectionManager makVrv::DtVisualizerSet::myConnections
protected
const DtElementDefinition* makVrv::DtVisualizerSet::myDefinition
protected
bool makVrv::DtVisualizerSet::myPickable
protected
bool makVrv::DtVisualizerSet::myVisible
protected
bool makVrv::DtVisualizerSet::myDistribute
protected
DtSceneObjectAgent* makVrv::DtVisualizerSet::mySceneObjectAgent
protected
DtModelSetId makVrv::DtVisualizerSet::myModelSet
protected
std::string makVrv::DtVisualizerSet::myVisualTypeString
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)