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

A single entity element. An entity element may be visualized using multiple visualizer sets one per model set.

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

Classes

struct  DtModelSetData
 

Public Types

using ModelSetDataArray = std::array< DtModelSetData, MAX_MODEL_SETS >
 
- Public Types inherited from makVrv::DtElement
using ModelSetToSceneObjectIdMap = boost::unordered_map< DtModelSetId, DtUniqueID >
 

Public Member Functions

 DtEntityElement (DtBaseConnection &conn, DtStateListener &listener)
 
virtual ~DtEntityElement ()
 
 DtEntityElement ()=delete
 
 DtEntityElement (const DtEntityElement &)=delete
 
DtEntityElementoperator= (const DtEntityElement &)=delete
 
virtual void visualize (const DtSharedModelSetSettings::ModelSetVisualizedMap &sets) override
 
virtual void setModelSetEnabled (DtModelSetId modelSet, bool enabled) override
 
virtual void setObjectIsVisible (bool visible)
 
virtual bool objectIsVisible () const
 
virtual const ModelSetDataArraymodelSetDataArray () const
 
template<typename VisualizerClass >
void findVisualizers (std::vector< VisualizerClass * > &visualizers)
 
template<typename VisualizerClass >
void findVisualizersByDynamicCast (std::vector< VisualizerClass * > &visualizers)
 
virtual DtEntityStateListenerentityStateListener ()
 
virtual const
DtElementEntry::ElementType 
elementType () const override
 
virtual void update2DEmbarkationVisibility ()
 
virtual DtEntityKinematicStatefindKinematicState () const
 
virtual bool isLeafNode () const
 
virtual void slot_showLeafNodes3DEnabledChanged (bool onOrOff)
 
virtual void createVisualizersByModelSetAndType (DtModelSetId modelSet, int visualType)
 
virtual void destroyVisualizersByModelSetAndType (DtModelSetId modelSet, int visualType)
 
virtual const DtModelSetDatafindModelSetData (DtModelSetId modelSet) const
 
virtual DtModelSetDatafindModelSetData (DtModelSetId modelSet)
 
virtual DtSceneObjectAgent * findSceneObjectForModelSet (DtModelSetId modelSet) const
 
virtual DtEntityVisualizerSetfindVisualizerSetForModelSet (DtModelSetId modelSet) const
 
virtual void setSmoothingEnabled (bool enabled)
 
virtual void setGroundClampingEnabled (bool enabled)
 
virtual void setPickable (bool pickable)
 
virtual void setPickable (bool pickable, DtModelSetId modelSet)
 
virtual std::vector< DtUniqueIDsceneObjectUniqueIds ()
 
virtual DtUniqueID sceneObjectIdForModelSet (DtModelSetId modelSet)
 
virtual void setHierarchyParent (DtElementID parentId)
 
virtual DtElementID hierarchyParent () const
 
- Public Member Functions inherited from makVrv::DtElement
 DtElement (DtBaseConnection &conn, DtElementID elementId)
 
virtual ~DtElement ()
 
 DtElement ()=delete
 
 DtElement (const DtElement &)=delete
 
DtElementoperator= (const DtElement &)=delete
 
virtual void setVisible (bool visible)
 
virtual bool visible () const
 
virtual void setElementId (const DtElementID)
 
DtElementID elementID () const
 
virtual const DtUnicodeelementDefinition () const
 
virtual void setElementDefinition (const DtUnicode &definition)
 
virtual std::string displayUnitCollectionName () const
 
virtual void setDisplayUnitCollectionName (const std::string &definition)
 
virtual void setDriverType (const std::string &driverType)
 
virtual void setElementSubtype (DtElementAttributes::ElementSubtypes subtype)
 
virtual void changeElementAttribute (const DtElementAttribute *attr)
 
virtual void updateElementDefinitionFromDefinitions ()
 
virtual void updateElementDefinitionFromDefinitions (std::vector< DtUnicode > &definitions)
 
virtual
ModelSetToSceneObjectIdMap
modelSetToSceneObjectIdMap ()
 
virtual void setSceneObjectIdForModelSet (DtModelSetId modelSet, DtUniqueID id)
 
virtual void removeSceneObjectIdForModelSet (DtModelSetId modelSet)
 
virtual DtUniqueID sceneObjectIdForModelSet (DtModelSetId modelSet) const
 

Static Public Member Functions

static const
DtElementEntry::ElementType 
theElementType ()
 

Protected Member Functions

virtual void slot_visibilityChanged (bool vis)
 
void slot_setObjectIsVisibleCalled (bool vis, DtShowHideContext::ShowHideContext context)
 
virtual DtEntityKinematicStatecreateKinState ()
 
virtual void processElementParameters ()
 
- Protected Member Functions inherited from makVrv::DtElement
void slot_updateOverlayNameRaw (const char *text)
 
void slot_updateConnectionObjectID (const std::string &id)
 
void slot_updateConnectionObjectType (const std::string &type)
 
void slot_updateDisplayName (const std::string &text)
 
void slot_updateOverlayName (const std::string &pname)
 
void slot_updateDamageState (EntityStateListener::DamageState state)
 
virtual void getDefinitions (std::vector< DtUnicode > &definitions)
 
virtual void warnVisualizationFailed (const std::string &file, int line, const std::string &function, DtVisualizerSet *visSet, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet, DtException ex)
 
virtual void reportElementCreated ()
 
virtual void reportDisplayName ()
 
virtual void reportConnectionObjectID ()
 
virtual void reportConnectionObjectType ()
 
virtual void reportOverlayNameChanged ()
 
virtual void reportVisibility ()
 
virtual void reportDamageStateChanged ()
 
virtual void reportDriverType ()
 
virtual void reportElementSubtype ()
 
virtual void reportElementDefinitionName ()
 
virtual void reportDisplayUnitCollectionName ()
 
virtual bool distribute () const
 
virtual void setDistribute (const bool distribute)
 

Protected Attributes

DtEntityStateListenermyListener
 
DtEntityKinematicStatemyEntityElementKinematicState
 
ModelSetDataArray myModelSetDataArray
 
DtSignalConnectionManager myConnections
 
DtElementID myHierarchyParent
 
- Protected Attributes inherited from makVrv::DtElement
DtAgentManagerInterfacemySceneInterface
 
DtSharedSettingsManagermySettingsManager
 
const
DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap
myVisualTypeVisualizerCreationMap
 
DtBaseConnectionmyBaseConnection
 
DtElementID myElementId
 
DtUnicode myElementDefinitionName
 
const DtElementDefinitionmyElementDefinition
 
std::string myDisplayUnitCollectionName
 
std::string myConnectionObjectID
 
std::string myConnectionObjectType
 
std::string myDisplayName
 
std::string myElementOverlayName
 
std::string myDriverType
 
DtElementAttributes::ElementSubtypes myElementSubtype
 
EntityStateListener::DamageState myDamageState
 
bool myElementVisible
 
bool myElementReported
 
bool myDistribute
 
ModelSetToSceneObjectIdMap myModelSetToSceneObjectIdMap
 

Member Typedef Documentation

MAX_MODEL_SETS is defined in DtModelSetEnums.h.

Constructor & Destructor Documentation

makVrv::DtEntityElement::DtEntityElement ( DtBaseConnection conn,
DtStateListener listener 
)

CTOR.

virtual makVrv::DtEntityElement::~DtEntityElement ( )
virtual

DTOR.

makVrv::DtEntityElement::DtEntityElement ( )
delete

not allowed - default constructor

makVrv::DtEntityElement::DtEntityElement ( const DtEntityElement )
delete

not allowed - copy constructor

Member Function Documentation

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

not allowed - equals operator

virtual void makVrv::DtEntityElement::visualize ( const DtSharedModelSetSettings::ModelSetVisualizedMap sets)
overridevirtual

Visualize the element. Find the element definition and creates the element wide kinematic state - DtEntityKinematicState. Processes the element wide parameters in preparation for calling DtElement::visualize. Element wide parameters are currently those specified for the 3D Model Set. DtSharedModelSetSettings::ModelSetVisualizedMap contains the model sets that are to be visualized. Each entry in the map is passed to setModelSetEnabled to either be created or destroyed if it has already been created.

Reimplemented from makVrv::DtElement.

Reimplemented in makVrv::DtAggregateElement, makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateElement, and makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityElement.

virtual void makVrv::DtEntityElement::setModelSetEnabled ( DtModelSetId  modelSet,
bool  enabled 
)
overridevirtual

Sets the particular model set up. Does nothing if it already exists. This method does a large portion of entity creation. It creates the sceneObject agent, and the visualizer set for a model set. It sets information from the visualizer definition on the kin state, and then calls updateVisibilityState If the model set is disabled it will delete the pointers and the stuct in myModelSetToEntityObjectMap.

Implements makVrv::DtElement.

Reimplemented in makVrv::DtAggregateElement.

virtual void makVrv::DtEntityElement::setObjectIsVisible ( bool  visible)
virtual

Set the entity element to be visible. Wrapper for the listeners setObjectIsVisible.

virtual bool makVrv::DtEntityElement::objectIsVisible ( ) const
virtual

Reimplemented in makVrv::DtAggregateElement.

virtual const ModelSetDataArray& makVrv::DtEntityElement::modelSetDataArray ( ) const
virtual

Get the current model set array.

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

Find all visualizers Note this is for all model sets.

References myModelSetDataArray.

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

Find all visualizers in all model sets if they satisfy the dynamic_cast to the VizualizerClass.

References myModelSetDataArray.

virtual DtEntityStateListener& makVrv::DtEntityElement::entityStateListener ( )
virtual

Get the listener for the entity this visualizer is visualizing.

virtual const DtElementEntry::ElementType makVrv::DtEntityElement::elementType ( ) const
overridevirtual

Returns the element type, in this case entity.

Implements makVrv::DtElement.

Reimplemented in makVrv::DtAggregateElement, and makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityElement.

static const DtElementEntry::ElementType makVrv::DtEntityElement::theElementType ( )
static
virtual void makVrv::DtEntityElement::update2DEmbarkationVisibility ( )
virtual

Goes through model set map and updates visibility state for each visualizer.

virtual void makVrv::DtEntityElement::createVisualizersByModelSetAndType ( DtModelSetId  modelSet,
int  visualType 
)
virtual

Add/Remove the visualizer(s) to the visualSet for the modelSet indicated that have the given visual type.

virtual void makVrv::DtEntityElement::destroyVisualizersByModelSetAndType ( DtModelSetId  modelSet,
int  visualType 
)
virtual

Add/Remove the visualizer(s) to the visualSet for the modelSet indicated that have the given visual type.

virtual const DtModelSetData* makVrv::DtEntityElement::findModelSetData ( DtModelSetId  modelSet) const
virtual

Model set object accessors.

virtual DtModelSetData* makVrv::DtEntityElement::findModelSetData ( DtModelSetId  modelSet)
virtual

Model set object accessors.

virtual DtSceneObjectAgent* makVrv::DtEntityElement::findSceneObjectForModelSet ( DtModelSetId  modelSet) const
virtual

Model set object accessors.

virtual DtEntityVisualizerSet* makVrv::DtEntityElement::findVisualizerSetForModelSet ( DtModelSetId  modelSet) const
virtual

Model set object accessors.

virtual DtEntityKinematicState* makVrv::DtEntityElement::findKinematicState ( ) const
virtual
virtual void makVrv::DtEntityElement::setSmoothingEnabled ( bool  enabled)
virtual

Smoothing.

This sets smoothing for all model sets

virtual void makVrv::DtEntityElement::setGroundClampingEnabled ( bool  enabled)
virtual

Ground clampingThis sets ground clamping for all model sets.

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

PickableSet pickable for all model sets.

virtual void makVrv::DtEntityElement::setPickable ( bool  pickable,
DtModelSetId  modelSet 
)
virtual

Set pickable for a specific model set.

virtual std::vector<DtUniqueID> makVrv::DtEntityElement::sceneObjectUniqueIds ( )
virtual

Scene Object Unique IDs.

Get the IDs for all the scene objects in this element There is one scene object per model set

virtual DtUniqueID makVrv::DtEntityElement::sceneObjectIdForModelSet ( DtModelSetId  modelSet)
virtual

Get the ID of a scene object for a specific model set.

virtual bool makVrv::DtEntityElement::isLeafNode ( ) const
virtual

An entity element is a leaf node if it has a parent.

Reimplemented in makVrv::DtAggregateElement.

virtual void makVrv::DtEntityElement::setHierarchyParent ( DtElementID  parentId)
virtual

Set/get the parent of the entity if it is part of an aggregate hierarchy. (DtElementID)0 indicates that the element is unparented.

virtual DtElementID makVrv::DtEntityElement::hierarchyParent ( ) const
virtual

Set/get the parent of the entity if it is part of an aggregate hierarchy. (DtElementID)0 indicates that the element is unparented.

virtual void makVrv::DtEntityElement::slot_showLeafNodes3DEnabledChanged ( bool  onOrOff)
virtual

Slot used to listen for change to leaf node visibility from the entity state listener.

virtual void makVrv::DtEntityElement::slot_visibilityChanged ( bool  vis)
protectedvirtual

Called when the listener indicates the element has become visible or not.

void makVrv::DtEntityElement::slot_setObjectIsVisibleCalled ( bool  vis,
DtShowHideContext::ShowHideContext  context 
)
protected

Called when the listener indicates that setObjectIsVisibleCalled, regardless of whether or not that actually results in a visibility change. This is tracked to support 'Show Leaf Nodes' in 3D.

virtual DtEntityKinematicState* makVrv::DtEntityElement::createKinState ( )
protectedvirtual

Create an entity kinematic state.

Reimplemented in makVrv::DtAggregateElement.

virtual void makVrv::DtEntityElement::processElementParameters ( )
protectedvirtual

Process any element parameters for this entity.

Member Data Documentation

DtEntityStateListener& makVrv::DtEntityElement::myListener
protected
DtEntityKinematicState* makVrv::DtEntityElement::myEntityElementKinematicState
protected
ModelSetDataArray makVrv::DtEntityElement::myModelSetDataArray
protected
DtSignalConnectionManager makVrv::DtEntityElement::myConnections
protected
DtElementID makVrv::DtEntityElement::myHierarchyParent
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)