![]() |
VR-Forces Development_Version 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 |
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 | 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 | 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 | 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 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. | |
| 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) | |
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 |
| Get the model instance. | |
| 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) |
| void | parseModel (osg::Node *root) |
| virtual void | calculateInstancedBounds (double &radius, DtVector ¢er) |
| Using myBoundMin and myBoundMax, find the center and radius to for instancing (currently used for culling and model scaling) | |
Static Protected Member Functions | |
| static void | matrixdToTaitBryan (const osg::Matrixd &rotation, DtTaitBryan &tb) |
| static double | clampUnity (double x) |
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 |
|
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.
|
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.
|
virtual |
Set the state on the model.
Implements makVrv::DtArticulatedModel.
| int makVrv::DtOsgArticulatedModel::state | ( | int | stateNumber | ) | const |
Get a state of the model Returns -1 if no such state exists.
|
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.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the animation range.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the animation speed.
Implements makVrv::DtArticulatedModel.
|
virtual |
Set the animation mode.
Implements makVrv::DtArticulatedModel.
|
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 |
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.
| DtVector makVrv::DtOsgArticulatedModel::partTranslation | ( | int | partNumber | ) |
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. |
| int makVrv::DtOsgArticulatedModel::state | ( | int | stateNumber | ) |
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. |
| 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. |
| 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 |
| 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)
| 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.
|
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 |
|
protected |
|
protectedvirtual |
Using myBoundMin and myBoundMax, find the center and radius to for instancing (currently used for culling and model scaling)
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
List of node pointers that have meta data associated with them.
|
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 |