![]() |
VR-Forces 4.6 Class Documentation
|
An articulated model manipulator for controlling an articulated model. More...

Public Types | |
| typedef std::vector< osg::Node * > | NodeList |
| typedef boost::unordered_map < int, NodeList > | NodePathCache |
| typedef std::map< std::string, std::string > | LinkageConfigMap |
Public Types inherited from makVrv::DtArticulatedModel | |
| enum | AnimationState { START, STOP, PAUSE, RESUME } |
| typedef std::vector< int > | PartList |
Public Member Functions | |
| DtOsgArticulatedModel (DtDe &, DtUniqueID id) | |
| CTOR. | |
| virtual | ~DtOsgArticulatedModel () |
| DTOR. | |
| virtual void | setModelDefinition (const std::string &str) |
| Override the set model definition function. | |
| virtual std::string | className () const |
| Get the class name of the model instance owner. | |
| virtual void | setModelScalingEnabled (bool b) |
| Indicate whether or not this model may be model-scaled Default is false. | |
| virtual bool | modelScalingEnabled () |
| getter for model scaling enabled flag | |
| virtual void | setLocalModelScalingEnabled (bool enabled) |
| Indicates whether local model scaling for the model is enabled. | |
| virtual void | setLocalModelScalingAmount (float localScl) |
| Sets the amount of local scaling to apply to the model. | |
| virtual void | setPosition (int vtx, const DtVector &position) |
| Set the model's position for the specified vertex. | |
| virtual void | setOrientation (int vtx, const DtTaitBryan &orientation) |
| Set the model's orientation for the specified vertex. | |
| virtual void | setVisible (bool isVisible) |
| Set the visible state of the model and scene connector. | |
| DtUniqueID | sceneObjectId () |
| Get the ID for this model's scene object, if any. | |
| virtual void | setElementId (DtUniqueID id) |
| Set the element ID for this model. | |
| virtual void | setLightPointGroup (const std::string &groupName) |
| Set the light point group that this model's light points belong to. | |
| virtual std::string | lightPointGroup () |
| Get the light point group that this model's light points belong to. | |
| virtual LinkageConfigMap & | linkageConfigMap () |
| Get the mapping of linkage names (NodeName/Annotation) to configName pairs. | |
| virtual const LinkageConfigMap & | linkageConfigMap () const |
| Get the mapping of linkage names (NodeName/Annotation) to configName pairs. | |
| virtual void | setPartTranslation (int partNumber, const DtVector &transform, const DtVector &velocity) |
| Update the part translation. | |
| virtual void | setPartOrientation (int partNumber, const DtTaitBryan &orientation, const DtVector &rotationalVelocity) |
| Rotate the part. | |
| virtual void | setState (int stateNumber, int stateValue) |
| Set the state on the model. | |
| int | state (int stateNumber) const |
| Get a state of the model Returns -1 if no such state exists. | |
| virtual void | setLightpointMaxDistance (float distance) |
| Specify the maximum range at which lightpoints on this model will be visible. | |
| virtual void | setDepthMask (osg::Group &parent) |
| Sets child nodes as a depth mask, which writes to the depth buffer and does not get sorted as transparent. | |
| virtual void | setAnimationFrame (const std::string &animationName, int frameIndex) |
| Set the current frame of an animation. | |
| virtual void | setAnimationRange (const std::string &animationName, int firstFrameIndex, int lastFrameIndex) |
| Set the animation range. | |
| virtual void | setAnimationSpeed (const std::string &animationName, double framesPerSecond) |
| Set the animation speed. | |
| virtual void | setAnimationState (const std::string &animationName, AnimationState mode) |
| Set the animation mode. | |
| virtual void | setAnimationLastFrameTime (const std::string &animationName, double animationLastFrameTime) |
| Set the last frame time in the currnet range in an animation /param animationLastFrameTime should be non-negative value only support in non-instance model. | |
| virtual void | setAnimationLoopCount (const std::string &animationName, int loopCount) |
| Get the animation loop count in an animation /param loopCount -1:repeat forever 0:no repetitions only support in non-instance model. | |
| virtual void | setUvOffset (const std::string &annotation, float uOffset, float vOffset) |
| Groups using a texture atlas are identified using an annotation (ex. | |
| virtual void | setDynamicSensorRegion (const std::string ®ion, bool state) |
| Set the state of a dynamic sensor region. | |
| virtual bool | dynamicSensorRegion (const std::string ®ion) |
| Get the state of a dynamic sensor region. | |
| virtual void | setLinkageConfigPair (const std::string &linkageName, const std::string &configName) |
| Specifies a linkage/config pair where the linkageName is the name of a node or an annotation on a node that identifies it and configName is a string looked up in the Mappings section of the FeatureData for the linkage in the metafile associated with the model. | |
| virtual bool | findPartPositionAndOrientation (int partNumber, DtVector &position, DtQuat &ori) |
| Finds the absolute position and orientation of a part. | |
| DtVector | partTranslation (int partNumber) |
| Get a part translation. | |
| DtTaitBryan | partOrientation (int partNumber) |
| Get a part orientation. | |
| int | state (int stateNumber) |
| Get the state value. | |
| int | animationFrameCount (const std::string &animationName) |
| Get number of frames in an animation. | |
| int | animationCurrentFrame (const std::string &animationName) |
| Get the current frame of an animation. | |
| int | animationFirstFrame (const std::string &animationName) |
| Get the first frame in the current range in an animation. | |
| int | animationLastFrame (const std::string &animationName) |
| Get the last frame in the current range in an animation. | |
| double | animationSpeed (const std::string &animationName) |
| Get the speed of an animation. | |
| AnimationState | animationState (const std::string &animationName) |
| Get the animimation mode of an animation. | |
| double | animationLastFrameTime (const std::string &animationName) |
| Get the last frame time in the currnet range in an animation. | |
| int | animationLoopCount (const std::string &animationName) |
| Get the animation loop count in an animation. | |
| const DtArticulatedModelParser::PartMap & | parts () const |
| Get a map of the current parts. | |
| virtual void | getParts (PartList &parts) const |
| Only a list of all the parts. | |
| const DtArticulatedModelParser::StateMap & | states () const |
| Get a map of the current states. | |
| const DtArticulatedModelParser::AnimationMap & | animations () const |
| Get a map of the current animations. | |
| virtual void | addPart (int partNumber, osgSim::DOFTransform *node) |
| Add a part off the DOF transform node and a part Number. | |
| virtual void | addState (int stateNumber, osgSim::MultiSwitch *node) |
| Add a switch off the DOF switch node and a part number. | |
| virtual void | setStateValueExists (int stateNumber, int stateValue) |
| Set when a state value exists; only state values that have had this method called on them will be used. | |
| virtual void | addAnimation (const std::string &animationName, osg::Sequence *node) |
| Add animation Sequence. | |
| virtual void | addAnnotationGroup (const std::string &annotation, osg::Group *group) |
| Add a mapping from an annotation to a group node. | |
| virtual void | setColor (float r, float g, float b, float a) |
| Set the blend color for the model. | |
| virtual void | enableColorBlending (bool b) |
| enable color blending for the model | |
| virtual void | setBlendColor (float r, float g, float b, float a) |
| Set the blend color for the model. | |
| virtual void | setPartVisibility (int partNumber, bool onOff) |
| Set an articulated part visible/invisible by part number. | |
| virtual void | setIsSupportModel (bool isSupport) |
| Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model) | |
| virtual void | getBoundingBoxComponents (DtVector &minimum, DtVector &maximum) |
| Get the minimum and maximum X,Y,Z components of the bounding box. | |
| std::vector < DtVirtualBaseClass * > & | modelAttachments () |
| Get the list of dynamic feature objects for this model (created by .meta files) | |
| virtual bool | applyMetafile (const DtModelDefinition *definition) |
| For a given model definition, get the .medf file name, load the corresponding .meta file and created nodes in the DtOsgModelInstance. | |
| virtual void | slot_onShadowStateChanged (bool on) |
| Turn on or off the shadow polygon on objects (ex. vehicles) | |
| virtual void | slot_atcModeEnableChanged (bool state) |
| slot for handling when alpha to coverage on all models is changed | |
Public Member Functions inherited from makVrv::DtArticulatedModel | |
| DtArticulatedModel (DtDe &, DtUniqueID id) | |
| CTOR. | |
| virtual | ~DtArticulatedModel () |
| DTOR. | |
Public Member Functions inherited from makVrv::DtModel | |
| DtModel (DtDe &de, DtUniqueID id) | |
| CTOR. | |
| virtual | ~DtModel () |
| DTOR. | |
| virtual void | saveModelToFile (const std::string &filename) |
| unsigned int | transformSize () const |
| Get the number of position/orientations this model has. | |
| virtual void | removePosition (int vtx) |
| Remove a transform at the given position. | |
| const DtVector & | position (int vtx=0) const |
| Get the Position of a given point. | |
| const DtTaitBryan & | orientation (int vtx=0) const |
| Get the Orientation of a given point. | |
| virtual void | getBlendColor (float &r, float &g, float &b, float &a) |
| Returns the blend color. | |
| virtual bool | colorBlendingEnabled () const |
| Returns whether or not blending is enabled. | |
| virtual void | enableLighting (bool l) |
| set whether the model is lit; this may not be an option on all models | |
| virtual int | modelSet () const |
| Get the model set this model is part of. | |
| const DtVector & | boundingBoxExtents () const |
| Get the bounding box extents of the model instance. | |
| void | getBoundingBoxExtents (double &x, double &y, double &z) const |
| Get the bounding box extents of the model instance. | |
| const DtVector & | boundingBoxCenter () const |
| Get the bounding box center of the model instance. | |
| virtual void | getBoundingBoxCenter (double &x, double &y, double &z) const |
| Get the bounding box center of the model instance. | |
| void | setContributesToBound (bool trueOrFalse) |
| Set whether this model instance contributes to an object's overall bounding volume. | |
| bool | contributesToBound () const |
| Get whether this model instance contributes to an object's overall bounding volume. | |
| DtDe & | de () |
| Get the DtDe object. | |
| virtual void | setModelInstance (DtModelInstance *modelInstance) |
| Internally set the model instance pointer. | |
| virtual bool | visible () const |
| Get the visible state of the model. | |
| DtUniqueID | parentSceneObjectID () const |
| Parent of the model. | |
| virtual void | addedToSceneObjectAsProp (const DtUniqueID &sceneObj) |
| Called when a scene object added the model as a prop. | |
| virtual void | addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType) |
| Called when a scene object added the model with the given model set and visualizer type. | |
| virtual void | removedFromSceneObject () |
| Called when the model was removed from a scene object. | |
| virtual void | setSolid (bool isSolid) |
| Set whether or not other this model is drawn filled in. | |
| virtual bool | isProp () |
| Return whether or not this model was added as a prop. | |
| virtual DtModelInstance * | modelInstance () |
| Get the model instance. | |
| virtual const DtModelInstance * | modelInstance () const |
| int | visualizerType () const |
| The visualizer type determines which channel-specific group node this model will be parented to, and consequently, which observer setting will cause it to be rendered in which channel. | |
Protected Types | |
| typedef boost::unordered_map < std::string, bool > | SensorRegionStateMap |
Protected Member Functions | |
| virtual void | addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType) |
| Virtual Functions to be implemented, add this model to the scene. | |
| virtual void | removeFromScene () |
| Virtual Functions to be implemented, remove this model from the scene. | |
| virtual void | disablePart (int partNumber) |
| virtual void | enablePart (int partNumber) |
| virtual void | modelInstanceToBeDeleted () |
| virtual void | modelInstanceCreated (bool castShadows, bool daylightControlledLights, float scale) |
| daylightControlled is only used if the light points do not already have a type specified | |
| void | parseModel (osg::Node *root) |
Static Protected Attributes | |
| static const unsigned int | theNodePathCacheSize = 4 |
Additional Inherited Members | |
Public Attributes inherited from makVrv::DtModel | |
| boost::signal< void(DtModel *)> | signal_modelToBeDestroyed |
| Signal emitted when the model is to be destroyed. | |
| boost::signal< void(DtModel *)> | signal_modelChanged |
| boost::signal< bool(DtModel *, bool), SlotReturnOR > | signal_visibilityChangeRequested |
| Signal when the visibility has been requested, if any slot returns false, it will not change. | |
| boost::signal< void(DtModelInstance *, DtModel *)> | signal_modelInstanceCreated |
| Signal emitted when the model instance is created. | |
| boost::signal< void(DtModelInstance *, DtModel *)> | signal_modelInstanceToBeDestroyed |
| Signal emitted when the model instance is to be destroyed. | |
An articulated model manipulator for controlling an articulated model.
| typedef std::vector<osg::Node*> makVrv::DtOsgArticulatedModel::NodeList |
| typedef boost::unordered_map<int, NodeList> makVrv::DtOsgArticulatedModel::NodePathCache |
| typedef std::map<std::string, std::string> makVrv::DtOsgArticulatedModel::LinkageConfigMap |
|
protected |
| makVrv::DtOsgArticulatedModel::DtOsgArticulatedModel | ( | DtDe & | , |
| DtUniqueID | id | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
virtual |
Override the set model definition function.
Use this to parse a model after it is loaded.
Implements makVrv::DtArticulatedModel.
Reimplemented in makVrf::DtVrfOsgArticulatedModel.
|
virtual |
Get the class name of the model instance owner.
This is used to control how model instances are created.
Implements makVrv::DtArticulatedModel.
|
virtual |
Indicate whether or not this model may be model-scaled Default is false.
Implements makVrv::DtArticulatedModel.
|
virtual |
getter for model scaling enabled flag
|
virtual |
Indicates whether local model scaling for the model is enabled.
Local model scaling overrides generic (global) model scaling. Default is false.
Implements makVrv::DtArticulatedModel.
|
virtual |
Sets the amount of local scaling to apply to the model.
Only applies when local model scaling is enabled.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the model's position for the specified vertex.
Vertex 0 moves the whole model; other vertices are no-ops
Reimplemented from makVrv::DtModel.
|
virtual |
Set the model's orientation for the specified vertex.
Vertex 0 moves the whole model; other vertices are no-ops
Reimplemented from makVrv::DtModel.
|
virtual |
Set the visible state of the model and scene connector.
| [in] | isVisible | is the new visible state; true = visible, false = hidden. |
Reimplemented from makVrv::DtModel.
|
virtual |
Update the part translation.
Implements makVrv::DtArticulatedModel.
|
virtual |
Rotate the part.
Implements makVrv::DtArticulatedModel.
Set the state on the model.
Implements makVrv::DtArticulatedModel.
Get a state of the model Returns -1 if no such state exists.
|
virtual |
Specify the maximum range at which lightpoints on this model will be visible.
This sets ALL lightpoints to the same range.
Implements makVrv::DtArticulatedModel.
|
virtual |
Sets child nodes as a depth mask, which writes to the depth buffer and does not get sorted as transparent.
(Useful for things like masking water out of the inside of ship hulls by placing a transparent polygon above it as a depth mask.)
|
virtual |
Set the current frame of an animation.
only support in non-instance model
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the animation speed.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the animation mode.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the last frame time in the currnet range in an animation /param animationLastFrameTime should be non-negative value only support in non-instance model.
|
virtual |
Get the animation loop count in an animation /param loopCount -1:repeat forever 0:no repetitions only support in non-instance model.
|
virtual |
Groups using a texture atlas are identified using an annotation (ex.
annotation label_char_1). setUvOffset is used to set the offset into the atlas texture for the group indicated by the annotation.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the state of a dynamic sensor region.
Implements makVrv::DtArticulatedModel.
|
virtual |
Get the state of a dynamic sensor region.
Implements makVrv::DtArticulatedModel.
|
virtual |
Specifies a linkage/config pair where the linkageName is the name of a node or an annotation on a node that identifies it and configName is a string looked up in the Mappings section of the FeatureData for the linkage in the metafile associated with the model.
The resultant string from the configName is used to apply textures to the node.
Implements makVrv::DtArticulatedModel.
|
virtual |
Finds the absolute position and orientation of a part.
This function is more efficient than calling both the position and orientation functions.
Implements makVrv::DtArticulatedModel.
Get a part translation.
| 0,0,0 | when the part number is invalid. |
| DtTaitBryan makVrv::DtOsgArticulatedModel::partOrientation | ( | int | partNumber | ) |
Get a part orientation.
| 0,0,0 | when the part number is invalid. |
Get the state value.
| -1 | when the state number is invalid. |
| int makVrv::DtOsgArticulatedModel::animationFrameCount | ( | const std::string & | animationName | ) |
Get number of frames in an animation.
| -1 | when the animation number is invalid. |
| int makVrv::DtOsgArticulatedModel::animationCurrentFrame | ( | const std::string & | animationName | ) |
Get the current frame of an animation.
| -1 | when the animation number is invalid. |
| int makVrv::DtOsgArticulatedModel::animationFirstFrame | ( | const std::string & | animationName | ) |
Get the first frame in the current range in an animation.
| -1 | when the animation number is invalid. only support in non-instance model |
| int makVrv::DtOsgArticulatedModel::animationLastFrame | ( | const std::string & | animationName | ) |
Get the last frame in the current range in an animation.
| -1 | when the animation number is invalid. only support in non-instance model |
| double makVrv::DtOsgArticulatedModel::animationSpeed | ( | const std::string & | animationName | ) |
Get the speed of an animation.
| -1.0 | when the animation number is invalid. |
| AnimationState makVrv::DtOsgArticulatedModel::animationState | ( | const std::string & | animationName | ) |
Get the animimation mode of an animation.
| STOP | when the animation name is invalid |
| double makVrv::DtOsgArticulatedModel::animationLastFrameTime | ( | const std::string & | animationName | ) |
Get the last frame time in the currnet range in an animation.
| -1 | when the animation number is invalid. only support in non-instance model |
| int makVrv::DtOsgArticulatedModel::animationLoopCount | ( | const std::string & | animationName | ) |
Get the animation loop count in an animation.
only support in non-instance model
| const DtArticulatedModelParser::PartMap& makVrv::DtOsgArticulatedModel::parts | ( | ) | const |
Get a map of the current parts.
|
virtual |
Only a list of all the parts.
Implements makVrv::DtArticulatedModel.
| const DtArticulatedModelParser::StateMap& makVrv::DtOsgArticulatedModel::states | ( | ) | const |
Get a map of the current states.
| const DtArticulatedModelParser::AnimationMap& makVrv::DtOsgArticulatedModel::animations | ( | ) | const |
Get a map of the current animations.
|
virtual |
Add a part off the DOF transform node and a part Number.
|
virtual |
Add a switch off the DOF switch node and a part number.
|
virtual |
Set when a state value exists; only state values that have had this method called on them will be used.
|
virtual |
Add animation Sequence.
|
virtual |
Add a mapping from an annotation to a group node.
|
virtual |
Set the blend color for the model.
Reimplemented from makVrv::DtModel.
|
virtual |
enable color blending for the model
Reimplemented from makVrv::DtModel.
|
virtual |
Set the blend color for the model.
Reimplemented from makVrv::DtModel.
|
virtual |
Set an articulated part visible/invisible by part number.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)
Implements makVrv::DtModel.
|
virtual |
Get the minimum and maximum X,Y,Z components of the bounding box.
Reimplemented from makVrv::DtModel.
| std::vector<DtVirtualBaseClass*>& makVrv::DtOsgArticulatedModel::modelAttachments | ( | ) |
Get the list of dynamic feature objects for this model (created by .meta files)
|
virtual |
For a given model definition, get the .medf file name, load the corresponding .meta file and created nodes in the DtOsgModelInstance.
|
virtual |
Turn on or off the shadow polygon on objects (ex. vehicles)
|
virtual |
slot for handling when alpha to coverage on all models is changed
| DtUniqueID makVrv::DtOsgArticulatedModel::sceneObjectId | ( | ) |
Get the ID for this model's scene object, if any.
Returns 0 if it's not part of a scene object
|
virtual |
Set the element ID for this model.
Reimplemented from makVrv::DtModel.
|
virtual |
Set the light point group that this model's light points belong to.
|
virtual |
Get the light point group that this model's light points belong to.
|
virtual |
Get the mapping of linkage names (NodeName/Annotation) to configName pairs.
|
virtual |
Get the mapping of linkage names (NodeName/Annotation) to configName pairs.
|
protectedvirtual |
Virtual Functions to be implemented, add this model to the scene.
Implements makVrv::DtModel.
|
protectedvirtual |
Virtual Functions to be implemented, remove this model from the scene.
Implements makVrv::DtModel.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
daylightControlled is only used if the light points do not already have a type specified
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
List of node pointers that have meta data associated with them.
|
protected |
Map of linkage names (NodeName/Annotation) from the metafile(if it exists) to config names.
Used by applyMetafile function.
|
protected |
Vector of metafile attachment on this object so they can be deleted on object destruction.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |