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

The DtEntity3dFacade is a facade around agents that make up an entity in the 3D model set.

Public Member Functions

 DtEntity3dFacade (DtAgentManagerInterface &sceneInterface, DtSharedSettingsManager &settingsMgr, DtElementID id, bool distribute=false)
 
 DtEntity3dFacade (DtAgentManagerInterface &sceneInterface, DtSharedSettingsManager &settingsMgr, DtElementID id, DtModelSetId modelset, bool distribute=false)
 
virtual ~DtEntity3dFacade ()
 
Entity Facade functions

These functions get parameters of the entity facade. representing the entity.

virtual void setUpdateTypes (bool deadReckon=true, bool groundClamp=true)
 
virtual void setVisible (bool visible)
 
virtual bool visible () const
 
virtual DtElementID elementId () const
 
virtual DtModelSetId modelSet () const
 
DtSceneObjectAgent & sceneObjectAgent ()
 
Spacial Functions

These functions control the spacial parameters of the entity.

virtual void setPosition (const DtVector &position)
 
virtual DtVector position () const
 
virtual void setVelocity (const DtVector32 &velocity)
 
virtual DtVector32 velocity () const
 
virtual void setAcceleration (const DtVector32 &acceleration)
 
virtual DtVector32 acceleration () const
 
virtual void setOrientation (const DtTaitBryan &orientation)
 
virtual DtTaitBryan orientation () const
 
virtual void setAngularVelocity (const DtVector32 &angularVelocity)
 
virtual DtVector32 angularVelocity () const
 
Advanced Spacial Functions

These functions control the advanced spacial behavior including dead-reckoning, smoothing and ground clamping.

virtual void setDeadReckoningEnabled (bool position, bool velocity, bool orientation)
 
virtual void setSmoothingEnabled (bool enabled)
 
virtual void setSmoothingPeriod (float period)
 
virtual void setGroundClampingMode (DtGroundClampingUpdater::GroundClampingMode mode)
 
virtual void SetGroundClampingCullCylinderRadiusScale (float scale)
 
virtual void setWaterClamping (bool isWaterClamping)
 
virtual void setWaterClampingLod (double lodRange)
 
virtual void setWaterlineOriginOffset (float offset)
 
virtual void addWake ()
 
virtual void setWakeLODDistance (double distance)
 
virtual DtWakeModelAgent * wake ()
 
virtual void addTidalStreamWake ()
 
virtual void addTidalStreamWake (double wakeLength, double draft, double maxWaveAmplitude)
 
virtual void addTidalStreamWake (const std::string &modelDefinitionName)
 
virtual void removeTidalStreamWake ()
 
virtual void setTidalStreamWakeLod (double distance)
 
virtual void setTidalStreamWakeCurrent (double speed, double direction)
 
Articulated Model Functions

These functions control the appearance of an articulated model representing the entity.

virtual void setArticulatedModelDefinition (const std::string &modelName)
 
virtual const std::string & articulatedModelDefinition () const
 
virtual void setModelScalingEnabled (bool enabled)
 
virtual void setPartOrientation (int partNumber, const DtTaitBryan &orientation, const DtVector &angularVelocity)
 
virtual void setPartTranslation (int partNumber, const DtVector &translation, const DtVector &velocity)
 
virtual void setPartVisibility (int partNumber, bool onOff)
 
virtual void setSwitchState (int switchToSet, int value)
 
virtual void setLightpointMaxDistance (float distance)
 
virtual DtArticulatedModelAgent * articulatedModelAgent ()
 

Protected Member Functions

void init ()
 
virtual void slot_globalBuoyancyChanged (bool enabled)
 
virtual void slot_buoyancyDefaultLODDistanceChanged (double distance)
 
virtual void createWaterClampingUpdater ()
 
virtual void destroyWaterClampingUpdater ()
 

Protected Attributes

DtSharedSettingsManagermySharedSettingsManager
 
DtElementID myElementId
 
DtAgentManagerInterfacemySceneInterface
 
bool myDistributeFlag
 
float myWaterlineOffset
 
bool myIsWaterClamping
 
double myWaterClampingLod
 
std::string myModelDefinitionName
 
DtModelSetId myModelSet
 
DtSceneObjectAgent * mySceneObjectAgent
 
DtArticulatedModelAgent * myModelAgent
 
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
 
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
 
DtWaterClampingUpdaterAgent * myWaterClampingUpdaterAgent
 
DtSurfaceClampingUpdaterAgent * mySurfaceClampingUpdaterAgent
 
DtTidalStreamWakeModelAgent * myTidalStreamWakeModelAgent
 
DtTidalStreamWakeUpdaterAgent * myTidalStreamWakeUpdaterAgent
 
DtWakeModelAgent * myWakeModelAgent
 
DtWakeUpdaterAgent * myWakeUpdaterAgent
 
DtSignalConnectionManager myConnections
 
boost::signalslib::connection myBuoyancyLODDistanceChangedConnection
 

Constructor & Destructor Documentation

makVrv::DtEntity3dFacade::DtEntity3dFacade ( DtAgentManagerInterface sceneInterface,
DtSharedSettingsManager settingsMgr,
DtElementID  id,
bool  distribute = false 
)

CTOR Creates a 3d Facade for the 3D model set.

makVrv::DtEntity3dFacade::DtEntity3dFacade ( DtAgentManagerInterface sceneInterface,
DtSharedSettingsManager settingsMgr,
DtElementID  id,
DtModelSetId  modelset,
bool  distribute = false 
)

CTOR Creates a 3d Facade for the any model set.

virtual makVrv::DtEntity3dFacade::~DtEntity3dFacade ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtEntity3dFacade::setUpdateTypes ( bool  deadReckon = true,
bool  groundClamp = true 
)
virtual

Set the types of updaters that can run on this object.

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

set the entity's model hidden or visible

virtual bool makVrv::DtEntity3dFacade::visible ( ) const
virtual

Get the visibility of the entity.

virtual DtElementID makVrv::DtEntity3dFacade::elementId ( ) const
virtual

Get the element id for the entity facade.

virtual DtModelSetId makVrv::DtEntity3dFacade::modelSet ( ) const
virtual

Returns the model set being visualized.

DtSceneObjectAgent& makVrv::DtEntity3dFacade::sceneObjectAgent ( )

Returns the scene object agent for this facade.

virtual void makVrv::DtEntity3dFacade::setPosition ( const DtVector position)
virtual

Set the position of the entity.The change in position will be applied during the DtDe's agent update phase (which occurs during the DtDe tick after the Driver update phase).

virtual DtVector makVrv::DtEntity3dFacade::position ( ) const
virtual

Gets the current position of the entity. This value will not update until after the DtDe tick This is not the same as the current velocity. If the entity is being dead-reckoned or smoothed the velocity will change.

virtual void makVrv::DtEntity3dFacade::setVelocity ( const DtVector32 &  velocity)
virtual

Set the velocity of the entity. The change in velocity will be applied during the DtDe's agent update phase (which occurs during the DtDe tick after the Driver update phase).

virtual DtVector32 makVrv::DtEntity3dFacade::velocity ( ) const
virtual

Gets the current velocity of the entity. This value will not update until after the DtDe tick. This is not the same as the current velocity. If the entity is being dead-reckoned or smoothed the velocity will change.

virtual void makVrv::DtEntity3dFacade::setAcceleration ( const DtVector32 &  acceleration)
virtual

Set the acceleration of the entity.

virtual DtVector32 makVrv::DtEntity3dFacade::acceleration ( ) const
virtual

Gets the current acceleration of the entity. This value will not update until after the DtDe tick. This is not the same as the last set acceleration. If the entity is being dead-reckoned or smoothed the velocity will change.

virtual void makVrv::DtEntity3dFacade::setOrientation ( const DtTaitBryan &  orientation)
virtual

Set the orientation of the entity.

virtual DtTaitBryan makVrv::DtEntity3dFacade::orientation ( ) const
virtual

Get the current orientation of the entity.

virtual void makVrv::DtEntity3dFacade::setAngularVelocity ( const DtVector32 &  angularVelocity)
virtual

Set the angular velocity of the entity.

virtual DtVector32 makVrv::DtEntity3dFacade::angularVelocity ( ) const
virtual

Set the orientation of the entity.

virtual void makVrv::DtEntity3dFacade::setDeadReckoningEnabled ( bool  position,
bool  velocity,
bool  orientation 
)
virtual

Set dead reckoning algorithm, whether to dead reckon, position, velocity, and orientation.

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

Set whether the Entity smooths.

virtual void makVrv::DtEntity3dFacade::setSmoothingPeriod ( float  period)
virtual

Set the period for entity smoothing.

virtual void makVrv::DtEntity3dFacade::setGroundClampingMode ( DtGroundClampingUpdater::GroundClampingMode  mode)
virtual

Set ground clamping mode using bit flags defined in DtGroundClampingUpdater::GroundClampingMode.

virtual void makVrv::DtEntity3dFacade::SetGroundClampingCullCylinderRadiusScale ( float  scale)
virtual

Set the scale multiplier used to determine whether or not to cull the target according to its distance from the eye-point. This is used by the DtGroundClampingUpdater agent associated with this facade.

virtual void makVrv::DtEntity3dFacade::setWaterClamping ( bool  isWaterClamping)
virtual

Enable/disable water clamping.

virtual void makVrv::DtEntity3dFacade::setWaterClampingLod ( double  lodRange)
virtual

Set the LOD distance at which to stop water clamping.

virtual void makVrv::DtEntity3dFacade::setWaterlineOriginOffset ( float  offset)
virtual

Set an offset to a model's waterline origin, if water clamping is enabled.

virtual void makVrv::DtEntity3dFacade::addWake ( )
virtual

Add a wake to the 3D model.

virtual void makVrv::DtEntity3dFacade::setWakeLODDistance ( double  distance)
virtual

Set dead reckoning algorithm, whether to dead reckon, position, velocity, and orientation.

virtual DtWakeModelAgent* makVrv::DtEntity3dFacade::wake ( )
virtual

Access the wake object, if it exists.

virtual void makVrv::DtEntity3dFacade::addTidalStreamWake ( )
virtual

Add a tidal stream wake model to an object, Using default parameters for length, draft, and maxWaveAmplitude.

virtual void makVrv::DtEntity3dFacade::addTidalStreamWake ( double  wakeLength,
double  draft,
double  maxWaveAmplitude 
)
virtual

Add a tidal stream wake model to an object. If a tidal stream wake already exists, it will be replaced with this one.

virtual void makVrv::DtEntity3dFacade::addTidalStreamWake ( const std::string &  modelDefinitionName)
virtual

Add a tidal stream wake model to an object, specifying a model definition.

virtual void makVrv::DtEntity3dFacade::removeTidalStreamWake ( )
virtual

Remove a tidal stream wake.

virtual void makVrv::DtEntity3dFacade::setTidalStreamWakeLod ( double  distance)
virtual

Set an LOD out-range for tidal stream wakes; note that the wake must be added first.

virtual void makVrv::DtEntity3dFacade::setTidalStreamWakeCurrent ( double  speed,
double  direction 
)
virtual

Set the current parameters for a tidal stream wake. Speed is in meters/second, direction is radians clockwise from north. This will override the global current speed and direction specified in the environment. Note that the wake must be added first.

virtual void makVrv::DtEntity3dFacade::setArticulatedModelDefinition ( const std::string &  modelName)
virtual

Set the entity's model definition names.

virtual const std::string& makVrv::DtEntity3dFacade::articulatedModelDefinition ( ) const
virtual

Get the entity's model definition names.

virtual void makVrv::DtEntity3dFacade::setModelScalingEnabled ( bool  enabled)
virtual

Enable/Disable model scaling.

virtual void makVrv::DtEntity3dFacade::setPartOrientation ( int  partNumber,
const DtTaitBryan &  orientation,
const DtVector angularVelocity 
)
virtual

Set an articulated part orientation.

virtual void makVrv::DtEntity3dFacade::setPartTranslation ( int  partNumber,
const DtVector translation,
const DtVector velocity 
)
virtual

Set an articulated part translation.

virtual void makVrv::DtEntity3dFacade::setPartVisibility ( int  partNumber,
bool  onOff 
)
virtual

Sets the visibility of an articulated part.

virtual void makVrv::DtEntity3dFacade::setSwitchState ( int  switchToSet,
int  value 
)
virtual

Sets a switch state.

virtual void makVrv::DtEntity3dFacade::setLightpointMaxDistance ( float  distance)
virtual

Lightpoint range control.

virtual DtArticulatedModelAgent* makVrv::DtEntity3dFacade::articulatedModelAgent ( )
virtual

Access the articulated model agent directly.

void makVrv::DtEntity3dFacade::init ( )
protected

Constructor implementation.

virtual void makVrv::DtEntity3dFacade::slot_globalBuoyancyChanged ( bool  enabled)
protectedvirtual

Slot called when the entity display settings Enable Buoyancy value changed.

virtual void makVrv::DtEntity3dFacade::slot_buoyancyDefaultLODDistanceChanged ( double  distance)
protectedvirtual
virtual void makVrv::DtEntity3dFacade::createWaterClampingUpdater ( )
protectedvirtual
virtual void makVrv::DtEntity3dFacade::destroyWaterClampingUpdater ( )
protectedvirtual

Member Data Documentation

DtSharedSettingsManager& makVrv::DtEntity3dFacade::mySharedSettingsManager
protected
DtElementID makVrv::DtEntity3dFacade::myElementId
protected
DtAgentManagerInterface& makVrv::DtEntity3dFacade::mySceneInterface
protected
bool makVrv::DtEntity3dFacade::myDistributeFlag
protected
float makVrv::DtEntity3dFacade::myWaterlineOffset
protected
bool makVrv::DtEntity3dFacade::myIsWaterClamping
protected
double makVrv::DtEntity3dFacade::myWaterClampingLod
protected
std::string makVrv::DtEntity3dFacade::myModelDefinitionName
protected
DtModelSetId makVrv::DtEntity3dFacade::myModelSet
protected
DtSceneObjectAgent* makVrv::DtEntity3dFacade::mySceneObjectAgent
protected
DtArticulatedModelAgent* makVrv::DtEntity3dFacade::myModelAgent
protected
DtDeadReckonUpdaterAgent* makVrv::DtEntity3dFacade::myDeadReckonUpdaterAgent
protected
DtGroundClampingUpdaterAgent* makVrv::DtEntity3dFacade::myGroundClampingUpdaterAgent
protected
DtWaterClampingUpdaterAgent* makVrv::DtEntity3dFacade::myWaterClampingUpdaterAgent
protected
DtSurfaceClampingUpdaterAgent* makVrv::DtEntity3dFacade::mySurfaceClampingUpdaterAgent
protected
DtTidalStreamWakeModelAgent* makVrv::DtEntity3dFacade::myTidalStreamWakeModelAgent
protected
DtTidalStreamWakeUpdaterAgent* makVrv::DtEntity3dFacade::myTidalStreamWakeUpdaterAgent
protected
DtWakeModelAgent* makVrv::DtEntity3dFacade::myWakeModelAgent
protected
DtWakeUpdaterAgent* makVrv::DtEntity3dFacade::myWakeUpdaterAgent
protected
DtSignalConnectionManager makVrv::DtEntity3dFacade::myConnections
protected
boost::signalslib::connection makVrv::DtEntity3dFacade::myBuoyancyLODDistanceChangedConnection
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)