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 | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrv::DtEntityElementManager Class Reference

The DtEntityElementManager is used to create DtEntityElements. It maintains a map of all those elements, indexed by their element IDs. It also listens for signals from the DtSharedSettingsSignaler that specify a specific element or elements (by id). It can look those up, and then pass the information to the element's entity state listener.

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

Public Types

typedef boost::unordered_map
< DtElementID, DtEntityElement * > 
EntityElementMap
 

Public Member Functions

 DtEntityElementManager (DtBaseConnection &conn)
 
virtual ~DtEntityElementManager ()
 
 DtEntityElementManager ()=delete
 
 DtEntityElementManager (const DtEntityElementManager &)=delete
 
DtEntityElementManageroperator= (const DtEntityElementManager &)=delete
 
virtual DtEntityElementfindElement (DtElementID elementId)
 
virtual void addElement (DtEntityElement *element)
 
virtual void destroyElement (DtElementID elementID)
 
virtual DtEntityElementcreateElement (DtEntityStateListener &)
 
virtual double visualizerCreationProcessingTime () const
 
virtual DtBaseConnectionconnection ()
 
virtual const EntityElementMapentityElements () const
 
virtual EntityElementMapentityElements ()
 

Static Public Member Functions

static DtEntityElementManagerfindInstance (DtBaseConnection &conn)
 

Public Attributes

boost::signalslib::signal
< void(DtEntityElement *)> 
signal_elementAboutToBeDestroyed
 
boost::signalslib::signal
< void(DtEntityElement *)> 
signal_elementCreated
 

Protected Member Functions

virtual void occupantsVisible (DtElementID elementID, bool visible)
 
virtual void entityTrackHistoryColorOverride (const DtElementID &entityId, const DtColorValue &color, bool overrideColor)
 
virtual void switchEntitySymbolDecorationQuadrant (const DtElementID &entityId)
 
virtual void changeLabelPinnedState (const DtSelectionManager::IdSet &ids, bool pinAllLabels)
 
virtual void changeEntitySelection (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &deselected)
 
void changeElementHasMouseCursorState (const DtElementID &entityId, bool hasMouseCursor)
 
virtual void setVisualizerCreationProcessingTime (double)
 
virtual void removeFromHierarchy (DtElementID elementID)
 
virtual void modelSetVisualized (DtModelSetId modelSet, bool enabled)
 
virtual void handleElementAttributeChanged (DtEntityElement &entity, const DtElementAttribute *attr)
 
virtual void elementAttributeChangeRequested (DtElementID id, DtElementID parentID, DtBoost::shared_ptr< const DtElementAttribute > atr)
 
virtual void slot_visualizerCreationEnabled (DtModelSetId modelSet, int visualType)
 
virtual void slot_visualizerCreationDisabled (DtModelSetId modelSet, int visualType)
 
virtual void slot_visibilityStateChanged (DtElementID, DtElementIDHierarchyNode::DisplayState)
 
virtual void slot_updateHierarchy (DtElementID id, const DtElementIDHierarchy::ElementIDs &children)
 

Protected Attributes

DtBaseConnectionmyConnection
 
DtSignalConnectionManager myConnections
 
EntityElementMap myEntityElements
 
DtAggregateEchelonManagermyHierarchyManager
 
double myVisualizerCreationProcessingTime
 

Member Typedef Documentation

Accessor for full map of element visualizers.

Constructor & Destructor Documentation

makVrv::DtEntityElementManager::DtEntityElementManager ( DtBaseConnection conn)

Constructor takes the connection the processor will use.

virtual makVrv::DtEntityElementManager::~DtEntityElementManager ( )
virtual

Destructor.

makVrv::DtEntityElementManager::DtEntityElementManager ( )
delete

not allowed - default constructor

makVrv::DtEntityElementManager::DtEntityElementManager ( const DtEntityElementManager )
delete

not allowed - copy constructor

Member Function Documentation

DtEntityElementManager& makVrv::DtEntityElementManager::operator= ( const DtEntityElementManager )
delete

not allowed - equals operator

static DtEntityElementManager* makVrv::DtEntityElementManager::findInstance ( DtBaseConnection conn)
static

Find an instance registered with a connection.

virtual DtEntityElement* makVrv::DtEntityElementManager::findElement ( DtElementID  elementId)
virtual

Find an element visualizer by its element ID.

virtual void makVrv::DtEntityElementManager::addElement ( DtEntityElement element)
virtual

Add an element visualizer by its element ID.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityElementManager.

virtual void makVrv::DtEntityElementManager::destroyElement ( DtElementID  elementID)
virtual

Process a to be destroyed entity.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityElementManager.

virtual DtEntityElement* makVrv::DtEntityElementManager::createElement ( DtEntityStateListener )
virtual

Create and initialize a DtEntityElement that will represent an entity.

virtual double makVrv::DtEntityElementManager::visualizerCreationProcessingTime ( ) const
virtual

When delayed creation is supported, this tracks the supported processing time (from Shared Entity Display Settings)

virtual DtBaseConnection& makVrv::DtEntityElementManager::connection ( )
virtual

Get the connection object.

virtual const EntityElementMap& makVrv::DtEntityElementManager::entityElements ( ) const
virtual
virtual EntityElementMap& makVrv::DtEntityElementManager::entityElements ( )
virtual
virtual void makVrv::DtEntityElementManager::occupantsVisible ( DtElementID  elementID,
bool  visible 
)
protectedvirtual

Set whether to make the occupants of a specific entity visible (i.e. Offset DiGuy visualizers on an entity with the 'attachedvisualelement' set to true) DtSharedEntityDisplaysSettings::setOccupantsVisible can be used to set the visibility of all occupants with 'attachedvisualelement' flag set to true)

virtual void makVrv::DtEntityElementManager::entityTrackHistoryColorOverride ( const DtElementID entityId,
const DtColorValue color,
bool  overrideColor 
)
protectedvirtual

handle the entity track history color override signal from the shared signalar just passes the color value down to any track history visualizers attached to this entity

virtual void makVrv::DtEntityElementManager::switchEntitySymbolDecorationQuadrant ( const DtElementID entityId)
protectedvirtual

handle the entity symbol decoration quadrant switch signal from the shared signalar determines which quadrant to switch to based on the current symbol decoration quadrant for the entity and passes the new quadrant down to any symbol decoration visualizers attached to this entity

virtual void makVrv::DtEntityElementManager::changeLabelPinnedState ( const DtSelectionManager::IdSet ids,
bool  pinAllLabels 
)
protectedvirtual

Toggle the label pinned state for some set of entities.

virtual void makVrv::DtEntityElementManager::changeEntitySelection ( const DtSelectionManager::IdSet selected,
const DtSelectionManager::IdSet deselected 
)
protectedvirtual

Change the selection state for some sets of entities.

void makVrv::DtEntityElementManager::changeElementHasMouseCursorState ( const DtElementID entityId,
bool  hasMouseCursor 
)
protected

Change the hovered state for an entity.

virtual void makVrv::DtEntityElementManager::setVisualizerCreationProcessingTime ( double  )
protectedvirtual

Amount of time to spend creating visualizers for queued objects. -1 means create all queued objects.

virtual void makVrv::DtEntityElementManager::removeFromHierarchy ( DtElementID  elementID)
protectedvirtual

removeFromHierachy will remove an element from the DtAggregateEchelonManager tracking this entities relationship to any aggregate element

virtual void makVrv::DtEntityElementManager::modelSetVisualized ( DtModelSetId  modelSet,
bool  enabled 
)
protectedvirtual

Called when a model set visualization state changes. Either will create or destroy a visual model set.

virtual void makVrv::DtEntityElementManager::handleElementAttributeChanged ( DtEntityElement entity,
const DtElementAttribute attr 
)
protectedvirtual

process a reported element attribute change

virtual void makVrv::DtEntityElementManager::elementAttributeChangeRequested ( DtElementID  id,
DtElementID  parentID,
DtBoost::shared_ptr< const DtElementAttribute atr 
)
protectedvirtual

Process the element attribute change request.

virtual void makVrv::DtEntityElementManager::slot_visualizerCreationEnabled ( DtModelSetId  modelSet,
int  visualType 
)
protectedvirtual

Handle a signal from the the Visualizer Creation Settings that a visualizers of the given type and model set should be created.

virtual void makVrv::DtEntityElementManager::slot_visualizerCreationDisabled ( DtModelSetId  modelSet,
int  visualType 
)
protectedvirtual

Handle a signal from the the Visualizer Creation Settings that a visualizers of the given type and model set should NOT be created.

virtual void makVrv::DtEntityElementManager::slot_visibilityStateChanged ( DtElementID  ,
DtElementIDHierarchyNode::DisplayState   
)
protectedvirtual

Called when echelon visibility has changed. This is principly the result of collapsing or expanding aggregates.

virtual void makVrv::DtEntityElementManager::slot_updateHierarchy ( DtElementID  id,
const DtElementIDHierarchy::ElementIDs children 
)
protectedvirtual

Slot connected to the signal from the DtAggregateEchelonManager when the hierarchy changes in some way. Used to update the parentId of all the child elements.

Member Data Documentation

boost::signalslib::signal<void(DtEntityElement*)> makVrv::DtEntityElementManager::signal_elementAboutToBeDestroyed
boost::signalslib::signal<void(DtEntityElement*)> makVrv::DtEntityElementManager::signal_elementCreated
DtBaseConnection& makVrv::DtEntityElementManager::myConnection
protected
DtSignalConnectionManager makVrv::DtEntityElementManager::myConnections
protected
EntityElementMap makVrv::DtEntityElementManager::myEntityElements
protected
DtAggregateEchelonManager& makVrv::DtEntityElementManager::myHierarchyManager
protected
double makVrv::DtEntityElementManager::myVisualizerCreationProcessingTime
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)