![]() |
VR-Forces 4.10 Class Documentation
|
This special class will allow for multiple articulated models to be added to the same transform, however, deal with them as a single object as far as the engine is concerned when creating collision worlds. More...

Public Member Functions | |
| DtVrfOsgMultipleArticulatedModel (makVrv::DtDe &, makVrv::DtUniqueID) | |
| virtual | ~DtVrfOsgMultipleArticulatedModel () |
| virtual void | addArticulatedModel (DtVrfOsgArticulatedModel *) |
| This class will not take ownership of this file. More... | |
| virtual int | state (int stateNumber) const |
| Get a state of the sub-models Returns -1 if no such state exists in any of the models. More... | |
| virtual void | setState (int stateNumber, int stateValue) |
| Set the state on the model. More... | |
Public Member Functions inherited from DtVrfOsgArticulatedModel | |
| DtVrfOsgArticulatedModel (makVrv::DtDe &de, makVrv::DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtVrfOsgArticulatedModel () |
| DTOR. More... | |
| virtual void | getMinimalStepValues (int artPart, DtVector &minRot, DtVector &minTrans) |
| virtual void | getParentPart (int partNumber, int &parentPart) |
| virtual void | getBodyPosition (int partNumber, DtVector &bodyPosition, bool &hasGunEndPosition, DtVector &gunEndPosition, bool findParent=true) |
| virtual void | getMinMaxRotationValues (int artPart, DtVector &minRot, DtVector &maxRot) |
| virtual void | getMinMaxTranslationValues (int artPart, DtVector &minRot, DtVector &maxRot) |
| virtual std::map< int, std::vector< int > > | stateStates () const |
| virtual void | getRestingPositions (int artPart, DtTaitBryan &restingHPR, DtVector &restingPosition) |
| virtual void | setModelDefinition (const std::string &str) |
| Override the set model definition function. More... | |
| virtual void | removeFromScene () |
| remove from the scene More... | |
| virtual void | parseModel (osg::Node *root) |
| parses the model More... | |
| virtual void | setTurnOffInstancing (bool b) |
| bool | turnOffInstancing () const |
Public Member Functions inherited from makVrv::DtOsgArticulatedModel | |
| DtOsgArticulatedModel (DtDe &, DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtOsgArticulatedModel () |
| DTOR. More... | |
| virtual const std::string & | modelDefinition () const |
| get the model definition This is the model definition name which links back to the DtModelDefinition. More... | |
| virtual const std::string & | className () const |
| Get the class name of the model instance owner. More... | |
| virtual DtUniqueID | uniqueId () const |
| return the entity indirect manager More... | |
| virtual DtUniqueID | sceneObjectId () const |
| Get the ID for this model's scene object, if any. More... | |
| virtual void | setElementId (DtUniqueID id) |
| Set the element ID of the scene object this model is attached to. More... | |
| virtual DtUniqueID | elementId () |
| Get the element ID of the scene object this model is attached to. More... | |
| virtual void | setUvOffset (const std::string &annotation, float uOffset, float vOffset) |
| Groups using a texture atlas are identified using an annotation (ex. More... | |
| 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. More... | |
| virtual void | addAnnotationGroup (const std::string &annotation, osg::Group *group) |
| Add a mapping from an annotation to a group node. More... | |
| 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) More... | |
| virtual void | getBoundingBoxComponents (DtVector &minimum, DtVector &maximum) |
| Get the minimum and maximum X,Y,Z components of the bounding box. More... | |
| 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. More... | |
| virtual void | slot_onShadowStateChanged (bool on) |
| Turn on or off the shadow polygon on objects (ex. vehicles) More... | |
| virtual void | slot_atcModeEnableChanged (bool state) |
| slot for handling when alpha to coverage on all models is changed More... | |
| virtual void | setSingleChildOn (osgSim::MultiSwitch *multiSwitch, unsigned int switchIndex, int nodeTypeIndex) |
| set a single switch on a multi switch node More... | |
| virtual void | setDofHpr (osgSim::DOFTransform *dof, const DtVector &hpr, int nodeTypeIndex) |
| set hpr directly on a dof node More... | |
| virtual void | setPosition (int vtx, const DtVector &position) |
| Set the model's position for the specified vertex. More... | |
| virtual void | setOrientation (int vtx, const DtTaitBryan &orientation) |
| Set the model's orientation for the specified vertex. More... | |
| virtual void | setPositionOffset (const DtVector &positionOffset) |
| Set the position offset of the model. More... | |
| virtual void | setOrientationOffset (const DtTaitBryan &orientationOffset) |
| Set the Orientation Offset of the model. More... | |
| virtual void | setPositionAndOrientation (int vtx, const DtVector &position, const DtTaitBryan &orientation) |
| Set both the position and orientation at the same time to avoid extra work when they both change at the same time. More... | |
| virtual void | setVisible (bool isVisible) |
| Set the visible state of the model and scene connector. More... | |
| virtual void | setPartTranslation (int partNumber, const DtVector &transform, const DtVector &velocity) |
| Update the part translation. More... | |
| virtual void | setPartOrientation (int partNumber, const DtTaitBryan &orientation, const DtVector &rotationalVelocity) |
| Rotate the part. More... | |
| virtual void | setPartRotationalVelocity (int partNumber, const DtVector &rotationalVelocity, bool forceUpdate=true) |
| Set just the rotational velocity (without having to do orientation) forceUpdate will force an update when instancing is enabled. More... | |
| virtual bool | findPartPositionAndOrientation (int partNumber, DtVector &position, DtQuat &ori) override |
| Finds the absolute position and orientation of a part. More... | |
| virtual DtVector | partTranslation (int partNumber) const |
| Get a part translation. More... | |
| virtual DtTaitBryan | partOrientation (int partNumber) const |
| Get a part orientation. More... | |
| virtual void | setPartVisibility (int partNumber, bool onOff) |
| Set an articulated part visible/invisible by part number. More... | |
| const DtArticulatedModelParser::PartMap & | parts () const |
| Get a map of the current parts. More... | |
| virtual void | getParts (PartList &parts) const |
| Only a list of all the parts. More... | |
| virtual void | addPart (int partNumber, osgSim::DOFTransform *node) |
| Add a part off the DOF transform node and a part Number. More... | |
| virtual void | setAnimationFrame (const std::string &animationName, int frameIndex) override |
| Set the current frame of an animation. More... | |
| virtual void | setAnimationRange (const std::string &animationName, int firstFrameIndex, int lastFrameIndex) override |
| Set the animation range. More... | |
| virtual void | setAnimationSpeed (const std::string &animationName, double framesPerSecond) override |
| Set the animation speed. More... | |
| virtual void | setAnimationState (const std::string &animationName, AnimationState mode) override |
| Set the animation mode. More... | |
| virtual void | setAnimationLastFrameTime (const std::string &animationName, double animationLastFrameTime) |
| Set the last frame time in the current range in an animation /param animationLastFrameTime should be non-negative value. More... | |
| virtual void | setAnimationLoopCount (const std::string &animationName, int loopCount) |
| Set the animation loop count in an animation /param loopCount -1:repeat forever 0:no repetitions. More... | |
| virtual int | animationFrameCount (const std::string &animationName) const |
| Get number of frames in an animation. More... | |
| virtual int | animationCurrentFrame (const std::string &animationName) const |
| Get the current frame of an animation. More... | |
| virtual int | animationFirstFrame (const std::string &animationName) const |
| Get the first frame in the current range in an animation. More... | |
| virtual int | animationLastFrame (const std::string &animationName) const |
| Get the last frame in the current range in an animation. More... | |
| virtual double | animationSpeed (const std::string &animationName) const |
| Get the speed of an animation. More... | |
| virtual AnimationState | animationState (const std::string &animationName) const |
| Get the animation mode of an animation. More... | |
| virtual double | animationLastFrameTime (const std::string &animationName) const |
| Get the last frame time in the current range in an animation. More... | |
| virtual int | animationLoopCount (const std::string &animationName) const |
| Get the animation loop count in an animation. More... | |
| virtual const DtArticulatedModelParser::AnimationMap & | animations () const |
| Get a map of the current animations. More... | |
| virtual void | addAnimation (const std::string &animationName, osg::Sequence *node) |
| Add animation Sequence. More... | |
| virtual const DtArticulatedModelParser::FlipBookAnimationMap & | flipBookAnimations () const |
| Get a map of the flip book animations. More... | |
| virtual const DtArticulatedModelParser::FlipBookAnimationMap & | flipBookAnimationsWithVelocityControl () const |
| Get a map of the flip book animations which have velocity control (loopduration multiplier found in comment). More... | |
| virtual void | setFlipBookAnimationsSpeed (const DtVector &velocity) |
| adjust speed of flip book animations based on an incoming velocity More... | |
| virtual const DtArticulatedModelParser::ScrollableTextureGroupMap & | scrollableTextureGroupMap () const |
| Get a map of the scrollable textures. More... | |
| virtual void | scrollUvTextures (const DtVector &velocity) |
| adjust scroll textures based on an incoming velocity More... | |
| virtual void | setModelScalingEnabled (bool b) |
| Indicate whether or not this model may be model-scaled Default is false. More... | |
| virtual bool | modelScalingEnabled () |
| getter for model scaling enabled flag More... | |
| virtual void | setLocalModelScalingEnabled (bool enabled) |
| Indicates whether local model scaling for the model is enabled. More... | |
| virtual void | setLocalModelScalingAmount (float localScl) |
| Sets the amount of local scaling to apply to the model. More... | |
| virtual void | setColor (float r, float g, float b, float a) |
| Set the blend color for the model. More... | |
| virtual void | enableColorBlending (bool b) |
| enable color blending for the model More... | |
| virtual void | setBlendColor (float r, float g, float b, float a) |
| Set the blend color for the model. More... | |
| virtual void | setOtherData0 (float r, float g, float b, float a) |
| Set the instance otherData0 for the model. More... | |
| 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. More... | |
| virtual LinkageConfigMap & | linkageConfigMap () |
| Get the mapping of linkage names (NodeName/Annotation) to configName pairs. More... | |
| virtual const LinkageConfigMap & | linkageConfigMap () const |
| Get the mapping of linkage names (NodeName/Annotation) to configName pairs. More... | |
| virtual void | setDynamicSensorRegion (const std::string ®ion, bool state) |
| Set the state of a dynamic sensor region. More... | |
| virtual bool | dynamicSensorRegion (const std::string ®ion) |
| Get the state of a dynamic sensor region. More... | |
| virtual void | setStateUnfiltered (int stateNumber, int stateValue) |
| set state via a manager that filtered out a state (in setState) More... | |
| virtual void | reapplyState () |
| Set the state on the model. More... | |
| const DtArticulatedModelParser::MapStateNumberToMultiSwitchList & | states () const |
| Get a map of the current states. More... | |
| virtual void | addState (int stateNumber, osgSim::MultiSwitch *node) |
| Add a switch off the DOF switch node and a part number. More... | |
| 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. More... | |
| virtual void | setLightpointMaxDistance (float distance) |
| Specify the maximum range at which lightpoints on this model will be visible. More... | |
| virtual void | setLightPointGroup (const std::string &groupName) |
| Set the light point group that this model's light points belong to. More... | |
| virtual const std::string & | lightPointGroup () const |
| Get the light point group that this model's light points belong to. More... | |
Public Member Functions inherited from makVrv::DtArticulatedModel | |
| DtArticulatedModel (DtDe &, DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtArticulatedModel () |
| DTOR. More... | |
| virtual bool | supportsMultithreadedLoad () |
| controls if the model is loaded in the background More... | |
Public Member Functions inherited from makVrv::DtModel | |
| DtModel (DtDe &de, DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtModel () |
| DTOR. More... | |
| DtModelInstance * | createModelInstance (const std::string &modelDefName, bool realize=true) |
| Set the model definition and creates an instance of the model. More... | |
| virtual const std::string & | modelDefinitionName () |
| returns the model definition name. More... | |
| virtual void | saveModelToFile (const std::string &filename) |
| unsigned int | transformSize () const |
| Get the number of position/orientations this model has. More... | |
| virtual const DtVector & | position (int vtx=0) const |
| Get the Position of a given point. More... | |
| virtual void | removePosition (int vtx) |
| Remove a transform at the given position. More... | |
| virtual const DtVector & | positionOffset () const |
| Get the Position Offset of the model. More... | |
| virtual const DtTaitBryan & | orientation (int vtx=0) const |
| Get the Orientation of a given point. More... | |
| virtual const DtTaitBryan & | orientationOffset () const |
| Get the Orientation Offset of the model. More... | |
| virtual void | getBlendColor (float &r, float &g, float &b, float &a) |
| Returns the blend color. More... | |
| virtual bool | colorBlendingEnabled () const |
| Returns whether or not blending is enabled. More... | |
| virtual void | enableLighting (bool l) |
| set whether the model is lit; this may not be an option on all models More... | |
| virtual int | modelSet () const |
| Get the model set this model is part of. More... | |
| const DtVector & | boundingBoxExtents () const |
| Get the bounding box extents of the model instance. More... | |
| void | getBoundingBoxExtents (double &x, double &y, double &z) const |
| Get the bounding box extents of the model instance. More... | |
| const DtVector & | boundingBoxCenter () const |
| Get the bounding box center of the model instance. More... | |
| virtual void | getBoundingBoxCenter (double &x, double &y, double &z) const |
| Get the bounding box center of the model instance. More... | |
| void | setContributesToBound (bool trueOrFalse) |
| Set whether this model instance contributes to an object's overall bounding volume. More... | |
| bool | contributesToBound () const |
| Get whether this model instance contributes to an object's overall bounding volume. More... | |
| DtDe & | de () |
| Get the DtDe object. More... | |
| virtual void | setModelInstance (DtModelInstance *modelInstance) |
| Internally set the model instance pointer. More... | |
| virtual void | promoteBackgroundModelInstance (DtModelDefinition &defintion) |
| Internally set the model instance pointer to the background one, also realizes and sends signal. More... | |
| virtual bool | visible () const |
| Get the visible state of the model. More... | |
| DtUniqueID | parentSceneObjectID () const |
| Parent of the model. More... | |
| virtual void | addedToSceneObjectAsProp (const DtUniqueID &sceneObj) |
| Called when a scene object added the model as a prop. More... | |
| 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. More... | |
| virtual void | removedFromSceneObject () |
| Called when the model was removed from a scene object. More... | |
| virtual void | setSolid (bool isSolid) |
| Set whether or not other this model is drawn filled in. More... | |
| virtual bool | isProp () |
| Return whether or not this model was added as a prop. More... | |
| virtual void | updateMinLastFrameDistance (float distance) |
| updates the closest distance to an observer over the last frame More... | |
| virtual void | resetLastFrameDistance () |
| resets the closest distance to an observer More... | |
| virtual float | minLastFrameDistance () const |
| gets the closest distance to an observer last frame More... | |
| virtual DtModelInstance * | modelInstance () |
| Get the model instance. More... | |
| 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. More... | |
| virtual bool | isActivelyBackgroundLoading () |
| is this being actively loaded (it has a myInLoadQueueHandle object and it's loading) More... | |
| virtual DtLoaderHandle * | getLoadQueueHandle () |
| returns the load queue object More... | |
Additional Inherited Members | |
Public Types inherited from makVrv::DtOsgArticulatedModel | |
| 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 Attributes inherited from makVrv::DtOsgArticulatedModel | |
| boost::signalslib::signal < void(DtOsgArticulatedModel *, int, int)> | signal_SetState |
| signal to emit when a state is set More... | |
Public Attributes inherited from makVrv::DtModel | |
| boost::signalslib::signal < void(DtModel *)> | signal_modelToBeDestroyed |
| Signal emitted when the model is to be destroyed. More... | |
| boost::signalslib::signal < void(DtModel *)> | signal_modelChanged |
| boost::signalslib::signal < bool(DtModel *, bool), SlotReturnOR > | signal_visibilityChangeRequested |
| Signal when the visibility has been requested, if any slot returns false, it will not change. More... | |
| boost::signalslib::signal < void(DtModelInstance *, DtModel *)> | signal_modelInstanceCreated |
| Signal emitted when the model instance is created. More... | |
| boost::signalslib::signal < void(DtModelInstance *, DtModel *)> | signal_modelInstanceToBeDestroyed |
| Signal emitted when the model instance is to be destroyed. More... | |
Protected Types inherited from makVrv::DtOsgArticulatedModel | |
| typedef boost::unordered_map < std::string, std::pair < float, float > > | AnnotationNameToUvsMap |
| typedef boost::unordered_map < std::string, bool > | SensorRegionStateMap |
| typedef std::map< int, std::pair< DtTaitBryan, DtVector > > | PartOrientationMap |
| typedef std::map< int, std::pair< DtVector, DtVector > > | PartTranslationMap |
Protected Types inherited from makVrv::DtModel | |
| typedef std::vector < ObjectTransform > | TransformList |
Protected Member Functions inherited from makVrv::DtOsgArticulatedModel | |
| virtual void | setStateInternal (int stateNumber, int stateValue) |
| actually sets the state, it does not cache the state, call setUvOffset to cache the state More... | |
| virtual void | setUvOffsetInternal (const std::string &annotation, float uOffset, float vOffset) |
| actually sets the uv offset, it does not cache the state, call setUvOffset to cache the state More... | |
| virtual void | addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType) |
| add to the scene More... | |
| virtual void | modelInstanceToBeDeleted () |
| internal to handle model instance deletion More... | |
| virtual void | modelInstanceCreatedInternal (osg::Node *root, DtOsgModelInstance *osgModelInstance, bool daylightControlledLights, float scale) |
| internal function to handle model instance creation More... | |
| virtual void | modelInstanceCreated (bool castShadows, bool daylightControlledLights, float scale) |
| internal to handle instance creation sets up dynamic sensor region, cast shadows and further calls modelInstanceCreatedInternal daylightControlled is only used if the light points do not already have a type specified More... | |
| virtual void | mergeCurrentStateWithDefaults (DtArticulatedModelParser *parser) |
| applies all the state merging code More... | |
| virtual void | backgroundLoad () |
| multi-threaded loading functions (worker thread) further calls backgroundLoadInternal More... | |
| virtual void | foregroundLoad () |
| internal, further calls foregroundLoadInternal More... | |
| virtual void | backgroundLoadInternal (DtModelDefinition *definition) |
| internal, called from backgroundLoad More... | |
| virtual void | backgroundLoadFirstLoadInternal (DtModelDefinition *definition) |
| internal, called from backgroundLoad on first load of a definition More... | |
| virtual void | foregroundLoadInternal () |
| //! internal, called from foregroundLoad More... | |
| virtual void | modelInstanceToBeDeletedInternal (void) |
| brief internal More... | |
| virtual void | setPartTranslationInternal (int partNumber, const DtVector &transform, const DtVector &velocity) |
| Actually update the part translation. Does not cache the state call setPartTranslation to cache the state. More... | |
| virtual void | setPartOrientationInternal (int partNumber, const DtTaitBryan &orientation, const DtVector &rotationalVelocity) |
| Actually rotate the part. Does not cache the state call setPartOrientation to cache the state. More... | |
| virtual void | setPartRotationalVelocityInternal (int partNumber, const DtVector &rotationalVelocity, bool forceUpdate=true) |
| Actually update the rotational velocity of the part. More... | |
| virtual void | disablePart (int partNumber) |
| disable a part More... | |
| virtual void | enablePart (int partNumber) |
| enable a part More... | |
Protected Member Functions inherited from makVrv::DtModel | |
| virtual void | addToSceneAsProp (const DtUniqueID &sceneObjectId) |
| Add this model to the scene as a prop. More... | |
| virtual void | initializeModelInstance () |
| Push any state maintained by the model to the model instance. More... | |
| void | slot_modelInstanceChanged (DtModelInstance *instance) |
| Called when the model instance changed. More... | |
| virtual void | waitAndClearLoadHandle () |
| avoids race condition, on destruction subclasses need to wait for the model to cleanly finish loading this can happen if an object times in and out very quickly More... | |
| virtual void | removedFromLoadQueue () |
| deletes the myInLoadQueueHandle handle More... | |
| virtual void | setDoneBackgroundLoading () |
| called by async task, updates myCurrentlyLoading atomic More... | |
| virtual void | setActivelyBackgroundLoading () |
| called right before tbb task creation More... | |
Static Protected Attributes inherited from makVrv::DtOsgArticulatedModel | |
| static const unsigned int | theNodePathCacheSize = 4 |
| static boost::mutex | theBackgroundLoadCloneMutex |
| static const std::unordered_set< int > | theStatesToFilter |
| which states are we filtering to take additional/optional actions on? More... | |
Static Protected Attributes inherited from makVrv::DtModel | |
| static bool | theInittedState |
This special class will allow for multiple articulated models to be added to the same transform, however, deal with them as a single object as far as the engine is concerned when creating collision worlds.
| DtVrfOsgMultipleArticulatedModel::DtVrfOsgMultipleArticulatedModel | ( | makVrv::DtDe & | , |
| makVrv::DtUniqueID | |||
| ) |
|
virtual |
|
virtual |
This class will not take ownership of this file.
Get a state of the sub-models Returns -1 if no such state exists in any of the models.
Reimplemented from DtVrfOsgArticulatedModel.
Set the state on the model.
Reimplemented from makVrv::DtOsgArticulatedModel.
|
protected |
|
protected |