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

The DtAggregateElementManager is used to create DtAggregateElements. It maintains a map of all those elements, indexed by their element IDs. It also listens for signals from the DtSharedAggregateSettingsSignaler that specify a specific element or elements (by id). It can look those up, and then pass the information to the element's aggregate state listener. (Much of what is in this class was moved here from DtAggregateElementProcessor)

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

Public Types

typedef std::unordered_map
< DtElementID,
DtAggregateElement * > 
AggregateElementMap
 

Public Member Functions

 DtAggregateElementManager (DtBaseConnection &conn)
 
virtual ~DtAggregateElementManager ()
 
 DtAggregateElementManager ()=delete
 
 DtAggregateElementManager (const DtAggregateElementManager &)=delete
 
DtAggregateElementManageroperator= (const DtAggregateElementManager &)=delete
 
virtual DtBaseConnectionconnection ()
 
virtual DtAggregateStateListenerfindListener (DtElementID elementId)
 
virtual DtAggregateElementfindElement (DtElementID elementId)
 
virtual void addElement (DtAggregateElement *element)
 
virtual void destroyElement (DtElementID elementID)
 
virtual DtAggregateElementcreateElement (DtAggregateStateListener &)
 
virtual double visualizerCreationProcessingTime () const
 
virtual const AggregateElementMapaggregateElements () const
 
virtual AggregateElementMapaggregateElements ()
 

Public Attributes

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

Protected Member Functions

virtual void slot_hierarchyItemModified (DtElementIDHierarchyNode *)
 
virtual void changeAggregateSelection (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &deselected)
 
void changeElementHasMouseCursorState (const DtElementID &entityId, bool hasMouseCursor)
 
virtual void slot_visibilityStateChanged (DtElementID, DtElementIDHierarchyNode::DisplayState)
 
virtual void slot_aggregateDestroyedStateChanged (DtElementID, bool)
 
virtual void setVisualizerCreationProcessingTime (double)
 
virtual void modelSetVisualized (DtModelSetId modelSet, bool enabled)
 
virtual void handleElementAttributeChanged (DtAggregateElement &entity, const DtElementAttribute *attr)
 
virtual void elementAttributeChangeRequested (DtElementID id, DtElementID parentID, std::shared_ptr< const DtElementAttribute > atr)
 
virtual void slot_visualizerCreationEnabled (DtModelSetId modelSet, int visualType)
 
virtual void slot_visualizerCreationDisabled (DtModelSetId modelSet, int visualType)
 
virtual void removeFromHierarchy (DtElementID elementId)
 

Protected Attributes

DtBaseConnectionmyConnection
 
DtSignalConnectionManager myConnections
 
DtAggregateEchelonManagermyHierarchyManager
 
AggregateElementMap myAggregateElements
 
double myVisualizerCreationProcessingTime
 

Member Typedef Documentation

Type definition for the element map.

Constructor & Destructor Documentation

makVrv::DtAggregateElementManager::DtAggregateElementManager ( DtBaseConnection conn)

Constructor takes the connection the processor will use.

virtual makVrv::DtAggregateElementManager::~DtAggregateElementManager ( )
virtual

Destructor.

makVrv::DtAggregateElementManager::DtAggregateElementManager ( )
delete

not allowed - default constructor

makVrv::DtAggregateElementManager::DtAggregateElementManager ( const DtAggregateElementManager )
delete

not allowed - copy constructor

Member Function Documentation

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

not allowed - equals operator

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

Get the connection object.

virtual const AggregateElementMap& makVrv::DtAggregateElementManager::aggregateElements ( ) const
virtual

Accessor for full map of elements.

virtual AggregateElementMap& makVrv::DtAggregateElementManager::aggregateElements ( )
virtual

Accessor for full map of elements.

virtual DtAggregateStateListener* makVrv::DtAggregateElementManager::findListener ( DtElementID  elementId)
virtual

Find a listener by it's scene object id.

virtual DtAggregateElement* makVrv::DtAggregateElementManager::findElement ( DtElementID  elementId)
virtual

Find an element visualizer by its element ID.

virtual void makVrv::DtAggregateElementManager::addElement ( DtAggregateElement element)
virtual

Add an element visualizer by its element ID.

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

Process a to be destroyed entity.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateElementManager.

virtual DtAggregateElement* makVrv::DtAggregateElementManager::createElement ( DtAggregateStateListener )
virtual

Create and initialize a DtEntityElement that will represent an entity.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateElementManager.

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

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

virtual void makVrv::DtAggregateElementManager::slot_hierarchyItemModified ( DtElementIDHierarchyNode )
protectedvirtual

Called when a hierarchy item is modified, will send element attribute update to that effect.

virtual void makVrv::DtAggregateElementManager::changeAggregateSelection ( const DtSelectionManager::IdSet selected,
const DtSelectionManager::IdSet deselected 
)
protectedvirtual

Change the selection state for some sets of entities.

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

Change the hovered state for an entity.

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

Shows/hides elements (or ghosts) based on display state.

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

virtual void makVrv::DtAggregateElementManager::slot_aggregateDestroyedStateChanged ( DtElementID  ,
bool   
)
protectedvirtual

Called when aggregate destroyed state has changed, look up listener and set the destroyed state.

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

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

virtual void makVrv::DtAggregateElementManager::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::DtAggregateElementManager::handleElementAttributeChanged ( DtAggregateElement entity,
const DtElementAttribute attr 
)
protectedvirtual

process a reported element attribute change

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

Process the element attribute change request.

virtual void makVrv::DtAggregateElementManager::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::DtAggregateElementManager::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::DtAggregateElementManager::removeFromHierarchy ( DtElementID  elementId)
protectedvirtual

Member Data Documentation

boost::signalslib::signal<void(DtAggregateElement*)> makVrv::DtAggregateElementManager::signal_elementAboutToBeDestroyed
boost::signalslib::signal<void(DtAggregateElement*)> makVrv::DtAggregateElementManager::signal_elementCreated
DtBaseConnection& makVrv::DtAggregateElementManager::myConnection
protected
DtSignalConnectionManager makVrv::DtAggregateElementManager::myConnections
protected
DtAggregateEchelonManager& makVrv::DtAggregateElementManager::myHierarchyManager
protected
AggregateElementMap makVrv::DtAggregateElementManager::myAggregateElements
protected
double makVrv::DtAggregateElementManager::myVisualizerCreationProcessingTime
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)