VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | 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. More...

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

Public Types

typedef std::vector
< DtStateVisualizer * > 
VisualizerList

Public Member Functions

 DtVisualizerSet (DtBaseConnection &conn, DtStateListener &listener, int modelSet, bool distribute)
 CTOR.
virtual ~DtVisualizerSet ()
 Destructor.
virtual void visualizeElementDefinition (const DtUnicode &elementName, const DtElementDefinitionNew &def, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap &creationMap)
 Visualize an element definition.
virtual void visualizeElementDefinition (const DtUnicode &elementName, const DtElementDefinitionNew &def)
 Visualize an element definition.
virtual void createVisualizersByType (int visualType)
 Go through the visualizer definitions in the member variable myDefinitions, and create/add any visualizers that have the specified visual type.
virtual void destroyVisualizersByType (int visualType)
 Go through all realized visualizers and remove any that match the specified visual type.
const DtElementDefinitionNewdefinition () const
 Returns the visualized definition.
int modelSet () const
 Returns the visualized model set.
template<typename VisualizerClass >
void findVisualizers (std::vector< VisualizerClass * > &visualizers)
 Find all instances of a Visualizer by schema name.
template<typename VisualizerClass >
void findVisualizersByDynamicCast (std::vector< VisualizerClass * > &visualizers)
 Find all instance of a visualizer by dynamically casting to the class type rather than doing the faster type info check.
virtual void findVisualizers (const DtVisualizerSchema &, VisualizerList &visualizers)
 Find all visualizers which use a particular schema.
virtual bool setVisible (bool visible, DtShowHideContext::ShowHideContext context=DtShowHideContext::InstanceHidden)
 Since there are many things that might want to show/hide an item, keep track of them in a list for each visualizer.
virtual bool isVisible () const
 Is the instance visible.
virtual bool show (DtShowHideContext::ShowHideContext)
 Show (or hide) the item with the given context.
virtual bool hide (DtShowHideContext::ShowHideContext)
bool isHiddenByContext (DtShowHideContext::ShowHideContext) const
 Returns true if hidden by the specified context.
virtual DtUniqueID uniqueID () const
 Returns unique id of mySceneObjectAgent, else 0.
DtSceneObjectVisualizersceneObjectVisualizer () const
virtual void setPickable (bool pickable)
 Set whether this visualizer is pickable.
bool pickable () const
 Is this visualizer pickable.
virtual void setSelected (bool)
 Set if the instance selected.
bool selected () const
 Is the instance selected.
bool addVisualizer (const DtVisualizerDefinition &def)
 Add a visualizer after the visualizerSet has been visualized.
virtual void destroyAllModelVisualizers ()
 Destroys all model agent visualizers associated with visualizer.
virtual DtStateVisualizer::Type supportsVisualizerType () const
 Get the type that this set supports.

Public Attributes

boost::signal< void(DtMouseState
&mouseState, const DtUniqueID
&id, const std::string
&displayEngineName, const
std::string &windowName, const
std::string &channelName,
DtStateVisualizer *v,
DtVisualizerSet *i)> 
signal_mouseDown
 Emitted when the mouse is clicked on any visualizer in this collection.
boost::signal< void(DtMouseState
&mouseState, const DtUniqueID
&id, const std::string
&displayEngineName, const
std::string &windowName, const
std::string &channelName,
DtStateVisualizer *v,
DtVisualizerSet *i)> 
signal_mouseUp
boost::signal< void(DtMouseState
&mouseState, const DtUniqueID
&id, const std::string
&displayEngineName, const
std::string &windowName, const
std::string &channelName,
DtStateVisualizer *v,
DtVisualizerSet *i)> 
signal_mouseDblClick
boost::signal< void(bool,
DtVisualizerSet *vis) > 
signal_selectionStateChanged

Protected Types

typedef
boost::unordered_multimap
< std::string,
DtStateVisualizer * > 
StateVisualizerMap
typedef std::vector
< DtShowHideContext::ShowHideContext
ShowHideContexts

Protected Member Functions

void destroyAllModelVisualizersInternal ()
 Non-virtual work function for destroying all model visualizers in this set.
virtual void visualizeVisualizerDefinitionSet (const DtVisualizerDefinitionSet &set, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap *creationMap)
 Given the DtVisualDefinitionSet, create all visualizers associated.
virtual DtStateVisualizercreateVisualizerFromDefinition (const DtVisualizerDefinition &def)
 Create a state visualizer from a visual definition.
virtual void addVisualizer (const std::string &schemaName, DtStateVisualizer *visualizer)
 Adds a new model visualizer into the list of visualizers.
bool suppressVisualizerCreation (const DtVisualizerDefinition *visDef, const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap *creationMap) const
 Check to see if the visualizer type and creation map warrant creation.
int findVisualType (const DtVisualizerDefinition &visDef) const
 lookup the visualtype attribute from a visual definition; returns 0 if none found
virtual void setModelVisualizerVisible (const std::string &schemaName, bool onOff, int context)
 Call setVisible for all visualizers with the indicated schemaName.
virtual void slot_mouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v)
 Called when the entity's indicator is clicked in some channel.
virtual void slot_mouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v)
virtual void slot_mouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v)
template<typename T , typename C >
void connectAndUpdate (boost::signal< void(T)> &sig, void(C::*fp)(T), T val)
 Utility function for connect a signal to an update function as well as calling the update function.
const DtUnicodechooseRandomString (const std::vector< DtUnicode > &stringList)
 Return the model definition that might be randomly chosen, if the definitions has more than 1 item.

Protected Attributes

DtBaseConnectionmyBaseConnection
DtStateVisualizerFactorymyCachedFactory
DtStateListenermyStateListener
StateVisualizerMap myVisualizers
DtSignalConnectionManager myConnections
const DtElementDefinitionNewmyDefinition
bool mySelected
bool myPickable
bool myVisible
bool myDistribute
DtSceneObjectVisualizermySceneObjectVisualizer
ShowHideContexts myShowHideContexts
int myModelSet

Detailed Description

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

Member Typedef Documentation

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

Constructor & Destructor Documentation

makVrv::DtVisualizerSet::DtVisualizerSet ( DtBaseConnection conn,
DtStateListener listener,
int  modelSet,
bool  distribute 
)

CTOR.

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

Destructor.

Member Function Documentation

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

Visualize an element definition.

virtual void makVrv::DtVisualizerSet::visualizeElementDefinition ( const DtUnicode elementName,
const DtElementDefinitionNew 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 DtElementDefinitionNew* makVrv::DtVisualizerSet::definition ( ) const

Returns the visualized definition.

int 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.

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

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::DtEntityFacadeCollection::hasVisualizer(), makVrf::DtEntityFacadeCollection::setColor(), makVrf::DtEntityFacadeCollection::setEntityExtentsVisible(), makVrf::DtEnvironmentalFacadeCollection::setForceColor(), makVrf::DtEntityFacadeCollection::setForceColor(), makVrf::DtEntityFacadeCollection::setIconScale(), and makVrf::DtEntityFacadeCollection::setScale().

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

Find all visualizers which use a particular schema.

virtual bool makVrv::DtVisualizerSet::setVisible ( bool  visible,
DtShowHideContext::ShowHideContext  context = DtShowHideContext::InstanceHidden 
)
virtual

Since there are many things that might want to show/hide an item, keep track of them in a list for each visualizer.

Pass the context with which to show or hide into this routine. It will then be passed to each item, which will determine whether or not to show or hide itself based on the context. Will call setModelVisualizerVisible for all models. Returns true if any items visibility has changed

Reimplemented in makVrv::DtEnvironmentalVisualizerSet.

virtual bool makVrv::DtVisualizerSet::isVisible ( ) const
virtual

Is the instance visible.

virtual bool makVrv::DtVisualizerSet::show ( DtShowHideContext::ShowHideContext  )
virtual

Show (or hide) the item with the given context.

Called from setVisible

virtual bool makVrv::DtVisualizerSet::hide ( DtShowHideContext::ShowHideContext  )
virtual
bool makVrv::DtVisualizerSet::isHiddenByContext ( DtShowHideContext::ShowHideContext  ) const

Returns true if hidden by the specified context.

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

Returns unique id of mySceneObjectAgent, else 0.

DtSceneObjectVisualizer* makVrv::DtVisualizerSet::sceneObjectVisualizer ( ) const
virtual void makVrv::DtVisualizerSet::setPickable ( bool  pickable)
virtual

Set whether this visualizer is pickable.

bool makVrv::DtVisualizerSet::pickable ( ) const

Is this visualizer pickable.

virtual void makVrv::DtVisualizerSet::setSelected ( bool  )
virtual
bool makVrv::DtVisualizerSet::selected ( ) const

Is the instance selected.

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

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
void makVrv::DtVisualizerSet::destroyAllModelVisualizersInternal ( )
protected

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

virtual void makVrv::DtVisualizerSet::visualizeVisualizerDefinitionSet ( const DtVisualizerDefinitionSet set,
const DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap creationMap 
)
protectedvirtual

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

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtTacticalGraphicShapeVisualizerSet.

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

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

int makVrv::DtVisualizerSet::findVisualType ( const DtVisualizerDefinition visDef) const
protected

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

virtual void makVrv::DtVisualizerSet::setModelVisualizerVisible ( const std::string &  schemaName,
bool  onOff,
int  context 
)
protectedvirtual

Call setVisible for all visualizers with the indicated schemaName.

virtual void makVrv::DtVisualizerSet::slot_mouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName,
DtStateVisualizer v 
)
protectedvirtual

Called when the entity's indicator is clicked in some channel.

virtual void makVrv::DtVisualizerSet::slot_mouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName,
DtStateVisualizer v 
)
protectedvirtual
virtual void makVrv::DtVisualizerSet::slot_mouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName,
DtStateVisualizer v 
)
protectedvirtual
template<typename T , typename C >
void makVrv::DtVisualizerSet::connectAndUpdate ( boost::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

boost::signal<void (DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName, DtStateVisualizer* v, DtVisualizerSet* i)> makVrv::DtVisualizerSet::signal_mouseDown

Emitted when the mouse is clicked on any visualizer in this collection.

boost::signal<void (DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName, DtStateVisualizer* v, DtVisualizerSet* i)> makVrv::DtVisualizerSet::signal_mouseUp
boost::signal<void (DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName, DtStateVisualizer* v, DtVisualizerSet* i)> makVrv::DtVisualizerSet::signal_mouseDblClick
boost::signal< void (bool, DtVisualizerSet* vis) > makVrv::DtVisualizerSet::signal_selectionStateChanged
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 DtElementDefinitionNew* makVrv::DtVisualizerSet::myDefinition
protected
bool makVrv::DtVisualizerSet::mySelected
protected
bool makVrv::DtVisualizerSet::myPickable
protected
bool makVrv::DtVisualizerSet::myVisible
protected
bool makVrv::DtVisualizerSet::myDistribute
protected
DtSceneObjectVisualizer* makVrv::DtVisualizerSet::mySceneObjectVisualizer
protected
ShowHideContexts makVrv::DtVisualizerSet::myShowHideContexts
protected
int makVrv::DtVisualizerSet::myModelSet
protected

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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)