VR-Forces 5.0.3 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  DtEntityObjectStruct
 

Public Types

using ModelSetToEntityObjectMap = boost::unordered_map< int, DtEntityObjectStruct * >
 
- Public Types inherited from makVrv::DtElement
using ModelSetToSceneObjectIdMap = boost::unordered_map< DtObserverMode::ModelSets, 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 (int modelSet, bool enabled) override
 
virtual void setVisible (bool visible)
 
virtual const
ModelSetToEntityObjectMap
entityObjectMap () 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 void createVisualizersByModelSetAndType (int modelSet, int visualType)
 
virtual void destroyVisualizersByModelSetAndType (int modelSet, int visualType)
 
virtual DtEntityObjectStructfindObjectStructForModelSet (int modelSet) const
 
virtual DtSceneObjectAgent * findSceneObjectForModelSet (int modelSet) const
 
virtual DtEntityVisualizerSetfindVisualizerSetForModelSet (int modelSet) const
 
virtual DtEntityKinematicStatefindKinematicStateForModelSet (int modelSet) const
 
virtual void setSmoothingEnabled (bool enabled)
 
virtual void setSmoothingEnabled (bool enabled, int modelSet)
 
virtual void setGroundClampingEnabled (bool enabled)
 
virtual void setGroundClampingEnabled (bool enabled, int modelSet)
 
virtual void setPickable (bool pickable)
 
virtual void setPickable (bool pickable, int modelSet)
 
virtual std::vector< DtUniqueIDsceneObjectUniqueIds ()
 
virtual DtUniqueID sceneObjectIdForModelSet (int modelSet)
 
- 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 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 (DtObserverMode::ModelSets modelSet, DtUniqueID id)
 
virtual void removeSceneObjectIdForModelSet (DtObserverMode::ModelSets modelSet)
 
virtual DtUniqueID sceneObjectIdForModelSet (DtObserverMode::ModelSets modelSet) const
 

Static Public Member Functions

static const
DtElementEntry::ElementType 
theElementType ()
 

Protected Member Functions

virtual void slot_visibilityChanged (bool vis)
 
virtual DtEntityKinematicStatecreateEntityKinState (DtSceneObjectAgent &sceneObject, int modelSet)
 
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 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
 
ModelSetToEntityObjectMap myModelSetToEntityObjectMap
 
DtSignalConnectionManager myConnections
 
- Protected Attributes inherited from makVrv::DtElement
DtAgentManagerInterfacemySceneInterface
 
DtSharedSettingsManagermySettingsManager
 
const
DtVisualizerCreationSettings::VisualTypeVisualizerCreationMap
myVisualTypeVisualizerCreationMap
 
DtBaseConnectionmyBaseConnection
 
DtElementID myElementId
 
DtUnicode myElementDefinitionName
 
const DtElementDefinitionNewmyElementDefinition
 
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

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
virtual void makVrv::DtEntityElement::setModelSetEnabled ( int  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, the visualizer set, and kinematic state object 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 makVrf::VRF_PROTOCOL_NAMESPACE::DtVrfVrlinkAggregateElement, and makVrv::DtAggregateElement.

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

Set the entity element to be visible.

Reimplemented from makVrv::DtElement.

virtual const ModelSetToEntityObjectMap& makVrv::DtEntityElement::entityObjectMap ( ) const
virtual

Get the current model set map.

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

Find all visualizers Note this is for all model sets.

References myModelSetToEntityObjectMap.

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

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.

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 ( int  modelSet,
int  visualType 
)
virtual
virtual void makVrv::DtEntityElement::destroyVisualizersByModelSetAndType ( int  modelSet,
int  visualType 
)
virtual
virtual DtEntityObjectStruct* makVrv::DtEntityElement::findObjectStructForModelSet ( int  modelSet) const
virtual

Model set object accessors.

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

Model set object accessors.

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

Model set object accessors.

virtual DtEntityKinematicState* makVrv::DtEntityElement::findKinematicStateForModelSet ( int  modelSet) const
virtual

Model set object accessors.

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

Smoothing.

This sets smoothing for all model sets

virtual void makVrv::DtEntityElement::setSmoothingEnabled ( bool  enabled,
int  modelSet 
)
virtual

Set Smoothing for a specific model set.

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

Ground clampingThis sets ground clamping for all model sets.

virtual void makVrv::DtEntityElement::setGroundClampingEnabled ( bool  enabled,
int  modelSet 
)
virtual

Set ground clamping for a specific model set.

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

PickableSet pickable for all model sets.

virtual void makVrv::DtEntityElement::setPickable ( bool  pickable,
int  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 ( int  modelSet)
virtual

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

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

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

virtual DtEntityKinematicState* makVrv::DtEntityElement::createEntityKinState ( DtSceneObjectAgent &  sceneObject,
int  modelSet 
)
protectedvirtual

Create an entity kinematic state.

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

Process any element parameters for this entity.

Member Data Documentation

DtEntityStateListener& makVrv::DtEntityElement::myListener
protected
ModelSetToEntityObjectMap makVrv::DtEntityElement::myModelSetToEntityObjectMap
protected
DtSignalConnectionManager makVrv::DtEntityElement::myConnections
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)