VR-Forces 4.10 Class Documentation
 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::DtWindDirTickable Class Reference

The DtWindDirTickable updates a transform node to rotate into the direction of the wind. More...

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

Public Member Functions

 DtWindDirTickable (DtDe &de, DtElementID elementId, DtUniqueID sceneObjectId, DtUniqueID uniqueId, unsigned int nodeTypeIndex, DtOsgArticulatedModel *osgArticulatedModel)
 CTOR. More...
 
virtual ~DtWindDirTickable ()
 DTOR. More...
 
virtual void update (DtTime tNow)
 Update the wind direction. More...
 
virtual bool needsUpdate (DtTime tNow)
 The check function called by DtTickableManager to verify if an update is required. More...
 
virtual void configure (osg::Node *node, const rapidjson::Value &windJsonData)
 Configure node based on json data. More...
 
virtual void modelToBeDestroyed (DtModel *model)
 listen to the model to be destroyed signal More...
 
- Public Member Functions inherited from makVrv::DtDynamicFeatureTickable
virtual ~DtDynamicFeatureTickable ()
 DTOR. More...
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool updateIfNeeded (DtTime tNow)
 Calls needsUpdate(), and then calls update() if needsUpdate() is true. More...
 
virtual ~DtTickable ()
 Virtual DTOR. More...
 
virtual void setIsThreadSafe (bool safe)
 Get/set whether this tickable can be updated in parallel with other tickables. More...
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 Track which tickable list (if any) this tickable is on Since the tickable constructor puts ALL tickables on the main (unThreadSafe) to start we need a way to check which list a tickable is on (and this way we can request removals from the correct list instead of having to call DtTickableManager::removeTickableObject(), which tries both lists). More...
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update. More...
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 is the update LOD system enabled, overridden by subclasses More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Attributes

static const chartheWindDirFeatureName
 Strings to get the different parts of the meta file Use these instead of hardcoded strings. More...
 
static const chartheTagRotOffsetDeg
 
static const chartheTagRotDir
 
static const chartheRotDirCW
 

Protected Member Functions

virtual void disconnectFromModel ()
 internal function to disconnect from the model More...
 
- Protected Member Functions inherited from makVrv::DtDynamicFeatureTickable
 DtDynamicFeatureTickable (DtDe &de, DtElementID elementId, DtUniqueID sceneObjectId, DtUniqueID uniqueId, unsigned int nodeTypeIndex)
 CTOR. More...
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR. More...
 
 DtTickable ()
 Unimplemented default CTOR. More...
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

float myLastWindDir
 Last update wind direction. More...
 
osgSim::DOFTransform * myWindDirNode
 Transform for the wind to act upon. More...
 
DtSkyObjectManagermySkyObjectManager
 To find the sky object. More...
 
float myRotOffset
 The rotation offset to bring the model's rotation in line with the wind's direction. More...
 
float myRotDir
 Clockwise or counterclockwise rotation. More...
 
DtOsgArticulatedModelmyOsgArticulatedModel
 
- Protected Attributes inherited from makVrv::DtDynamicFeatureTickable
DtDemyDe
 The display engine. More...
 
DtElementID myElementId
 Object element id. More...
 
DtUniqueID mySceneObjectId
 To retrieve the scene object if needed. More...
 
unsigned int myNodeTypeIndex
 For the node type used in the tickable, the index in the instancing array for that node type (so we update the right one) More...
 
DtUniqueID myUniqueId
 For retrieving the instance state from the instance manager. More...
 
std::string myFeatureName
 The name of the feature in the .meta file. More...
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction. More...
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Additional Inherited Members

- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 Enumeration used to indicate which DtTickableManager's tickable list the tickable is on, if any. More...
 

Detailed Description

The DtWindDirTickable updates a transform node to rotate into the direction of the wind.

Constructor & Destructor Documentation

makVrv::DtWindDirTickable::DtWindDirTickable ( DtDe de,
DtElementID  elementId,
DtUniqueID  sceneObjectId,
DtUniqueID  uniqueId,
unsigned int  nodeTypeIndex,
DtOsgArticulatedModel osgArticulatedModel 
)

CTOR.

virtual makVrv::DtWindDirTickable::~DtWindDirTickable ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtWindDirTickable::update ( DtTime  tNow)
virtual

Update the wind direction.

Implements makVrv::DtTickable.

virtual bool makVrv::DtWindDirTickable::needsUpdate ( DtTime  tNow)
virtual

The check function called by DtTickableManager to verify if an update is required.

If this function returns true, the DtTickableManager will then call update().

Parameters
[in]tNowis the current time-stamp.
Return values
trueif this object needs to be ticked.
falseotherwise.

Reimplemented from makVrv::DtTickable.

virtual void makVrv::DtWindDirTickable::configure ( osg::Node *  node,
const rapidjson::Value &  windJsonData 
)
virtual

Configure node based on json data.

virtual void makVrv::DtWindDirTickable::modelToBeDestroyed ( DtModel model)
virtual

listen to the model to be destroyed signal

virtual void makVrv::DtWindDirTickable::disconnectFromModel ( )
protectedvirtual

internal function to disconnect from the model

Member Data Documentation

const char* makVrv::DtWindDirTickable::theWindDirFeatureName
static

Strings to get the different parts of the meta file Use these instead of hardcoded strings.

const char* makVrv::DtWindDirTickable::theTagRotOffsetDeg
static
const char* makVrv::DtWindDirTickable::theTagRotDir
static
const char* makVrv::DtWindDirTickable::theRotDirCW
static
float makVrv::DtWindDirTickable::myLastWindDir
protected

Last update wind direction.

osgSim::DOFTransform* makVrv::DtWindDirTickable::myWindDirNode
protected

Transform for the wind to act upon.

DtSkyObjectManager& makVrv::DtWindDirTickable::mySkyObjectManager
protected

To find the sky object.

float makVrv::DtWindDirTickable::myRotOffset
protected

The rotation offset to bring the model's rotation in line with the wind's direction.

float makVrv::DtWindDirTickable::myRotDir
protected

Clockwise or counterclockwise rotation.

DtOsgArticulatedModel* makVrv::DtWindDirTickable::myOsgArticulatedModel
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)