VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions
makVrv::DtCharacterModel Class Referenceabstract

A special human character model. More...

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

Public Types

enum  Posture { Upright, Crouched, Prone, Sitting }
 

Public Member Functions

 DtCharacterModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtCharacterModel ()
 
Distributed functions.
virtual void setCharacterModel (const std::string &appearanceName)=0
 Override the character model in the model definition. More...
 
virtual void setDefaultAppearance (const std::string &appearanceName)=0
 
virtual void setAppearance (const std::string &appearanceName)=0
 
virtual void setHeadAppearance (const std::string &appearanceName)=0
 
virtual void setItemAppearance (const std::string &appearanceName)=0
 
virtual void beginAppearanceEffect (const std::string &effect, const std::string &overrideLink, float overrideScale, const DtVector &overrideOffset, float overrideDuration)=0
 
virtual void endAppearanceEffect (int instantly, const std::string &effect, const std::string &overrideLink)=0
 
virtual void executeGesture (const std::string &gestureName, int reps, float overallDuration, float channelAWeight)=0
 
virtual void endGesture (const std::string &gestureName, float rampDown)=0
 
virtual void setEnableAnimationSmoothing (bool)=0
 Sets whether or not to use DI-Guy use_guides for positioning and orientation. More...
 
virtual void setDesiredAction (const std::string &action, float speed)=0
 Set the action to attempt. More...
 
virtual void forceAction (const std::string &action, float speed, bool usePositioning, const DtVector &offset, int autoChooseTransitionBehavior)=0
 Force an action. More...
 
virtual void forceTemporaryAction (const std::string &action, double duration)=0
 Force an action for a specific amount of time. More...
 
virtual void unforceAction ()=0
 Restore the ability to use posture/weapon state, which is disabled when an explicit action is set. More...
 
virtual void setSpeed (float speed)=0
 Set the speed of the character. More...
 
virtual void setPosture (int posture)=0
 Set the posture of the model. More...
 
virtual bool weaponDeployed () const =0
 Get whether the weapon is deployed. More...
 
virtual void setWeaponDeployed (bool deployed)=0
 Set whether the weapon is deployed. More...
 
virtual void die (const std::string &deathAction)=0
 Tell the character to 'die. More...
 
virtual void revive (const std::string &aliveAction)=0
 Revive a previously dead character. More...
 
virtual void setPaused (bool paused)=0
 Set that the character is paused. More...
 
virtual const std::string & className () const
 Get the class name of the model instance owner. More...
 
virtual void setModelScalingEnabled (bool b)=0
 Indicate whether or not this model may be model-scaled Default is false. More...
 
virtual void setEmbarked (bool b)=0
 
virtual void setScale (const DtVector &scale)=0
 
virtual void setWeight (float weightScale)=0
 
virtual void setPartOrientation (int partNumber, const DtTaitBryan &orientation, const DtVector &rotationalVelocity)=0
 Rotate the part. More...
 
virtual void setPartTranslation (int partNumber, const DtVector &translation, const DtVector &velocity)=0
 translate the part. More...
 
virtual void setPartVisibility (int partNumber, bool visible)=0
 control part visibility, not connected yet. More...
 
virtual void setFlamesPresent (bool val)=0
 
virtual void setEnginePlume (bool val)=0
 
virtual void setEngineSmoke (bool val)=0
 
virtual void setTrailState (bool val)=0
 
virtual void setLightState (unsigned int light, unsigned int lightState)=0
 
virtual void fireWeapon ()=0
 
virtual void setSelected (bool value)=0
 
virtual void setTextureVariations (std::vector< DtCharacterTextureVariationInfo > &varationInfoArray, int force)=0
 
virtual void setDynamicSensorRegion (const std::string &region, bool state)=0
 Set the state of a dynamic sensor region. More...
 
virtual void setMotionModelByName (const std::string &modelName)=0
 Set the motion model of the character This is currently used only for occupants. More...
 
virtual void setUseTransitions (bool use)=0
 Set whether animations use transitions and ramp downs. More...
 
virtual void setIsOccupant (bool occupant)=0
 Set whether this DI-Guy is used as a pilot/driver/occupant for a vehicle. More...
 
virtual void setEnabled (bool enabled)=0
 Set whether the character is enabled (processing updates, etc.) More...
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtModel ()
 DTOR. More...
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 Set the model definition and creates an instance of the model. More...
 
virtual void setModelDefinition (const std::string &str)
 Set the model definition. 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 void setPosition (int vtx, const DtVector &position)
 Set the position of a control vertex in the model. More...
 
virtual const DtVectorposition (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 void setPositionOffset (const DtVector &positionOffset)
 Set the position offset of the model. More...
 
virtual const DtVectorpositionOffset () const
 Get the Position Offset of the model. More...
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of a vertex in the model. More...
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 Set the position and orientation of a vertex in the model at the same time. More...
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point. More...
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 Set the Orientation Offset of the model. More...
 
virtual const DtTaitBryan & orientationOffset () const
 Get the Orientation Offset of the model. More...
 
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model. More...
 
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled. 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 setColor (float r, float g, float b, float a)
 set the model's color 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 DtVectorboundingBoxExtents () 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 DtVectorboundingBoxCenter () 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...
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box. 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...
 
DtDede ()
 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 void setVisible (bool isVisible)
 Set the visible state of the model. 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 setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set. More...
 
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object. More...
 
virtual void setIsSupportModel (bool isSupport)=0
 Is this model part of the support group? (determines whether or not other scene objects can ground clamp to this model) 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 DtModelInstancemodelInstance ()
 Get the model instance. More...
 
virtual const DtModelInstancemodelInstance () 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 supportsMultithreadedLoad ()
 can be quickly overridden to disable background loading More...
 
virtual void backgroundLoad ()
 the chunk of loading that can safely happen in the background More...
 
virtual void foregroundLoad ()
 the chunk of loading that must happen happen in the foreground, adding to scene graph etc. More...
 
virtual bool isActivelyBackgroundLoading ()
 is this being actively loaded (it has a myInLoadQueueHandle object and it's loading) More...
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 returns the load queue object More...
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed. More...
 
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. More...
 
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created. More...
 
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed. More...
 
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)=0
 Virtual Functions to be implemented, add this model to the scene. More...
 
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 Add this model to the scene as a prop. More...
 
virtual void removeFromScene ()=0
 Virtual Functions to be implemented, remove this model from the scene. 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...
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 The unique id is constant after initialization. More...
 
bool myColorBlendingEnabled
 The color blending enabled is needed to be set by the derived class so it doesn't get down to the model instances when instancing is enabled. More...
 
DtModelInstancemyBackgroundModelInstance
 holds the model created in the background for a bit More...
 
float myMinLastFrameDistance
 last frames mimimal distance to the camera, calculated by the instancing system More...
 
TransformList myTransforms
 We keep our own copy in case we get updates before we get a model instance. More...
 
DtModelInstancemyModelInstance
 
int myModelSet
 
int myVisualizerType
 
bool myContributesToBound
 
DtUniqueID myParentSceneObjectID
 
bool myIsPropFlag
 
float myBlendColor [4]
 
bool myVisibleFlag
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
std::string myModelDefinitionName
 
- Static Protected Attributes inherited from makVrv::DtModel
static bool theInittedState
 

Detailed Description

A special human character model.

Member Enumeration Documentation

Enumerator
Upright 
Crouched 
Prone 
Sitting 

Constructor & Destructor Documentation

makVrv::DtCharacterModel::DtCharacterModel ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtCharacterModel::~DtCharacterModel ( )
virtual

Member Function Documentation

virtual void makVrv::DtCharacterModel::setCharacterModel ( const std::string &  appearanceName)
pure virtual

Override the character model in the model definition.

This is necessary when explicitly setting the character via custom network messages.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setDefaultAppearance ( const std::string &  appearanceName)
pure virtual
virtual void makVrv::DtCharacterModel::setAppearance ( const std::string &  appearanceName)
pure virtual
virtual void makVrv::DtCharacterModel::setHeadAppearance ( const std::string &  appearanceName)
pure virtual
virtual void makVrv::DtCharacterModel::setItemAppearance ( const std::string &  appearanceName)
pure virtual
virtual void makVrv::DtCharacterModel::beginAppearanceEffect ( const std::string &  effect,
const std::string &  overrideLink,
float  overrideScale,
const DtVector overrideOffset,
float  overrideDuration 
)
pure virtual
virtual void makVrv::DtCharacterModel::endAppearanceEffect ( int  instantly,
const std::string &  effect,
const std::string &  overrideLink 
)
pure virtual
virtual void makVrv::DtCharacterModel::executeGesture ( const std::string &  gestureName,
int  reps,
float  overallDuration,
float  channelAWeight 
)
pure virtual
virtual void makVrv::DtCharacterModel::endGesture ( const std::string &  gestureName,
float  rampDown 
)
pure virtual
virtual void makVrv::DtCharacterModel::setEnableAnimationSmoothing ( bool  )
pure virtual

Sets whether or not to use DI-Guy use_guides for positioning and orientation.

Note this will only have an effect if use_guides is set to 1. The default, if use_guides is 1, to use position smoothing

Implemented in makVrv::DtDummyCharacterModel, and makVrv::DtDiGuyCharacterModel.

virtual void makVrv::DtCharacterModel::setDesiredAction ( const std::string &  action,
float  speed 
)
pure virtual

Set the action to attempt.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::forceAction ( const std::string &  action,
float  speed,
bool  usePositioning,
const DtVector offset,
int  autoChooseTransitionBehavior 
)
pure virtual

Force an action.

Use the given speed, and apply the offset over the course of the action.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::forceTemporaryAction ( const std::string &  action,
double  duration 
)
pure virtual

Force an action for a specific amount of time.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::unforceAction ( )
pure virtual

Restore the ability to use posture/weapon state, which is disabled when an explicit action is set.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setSpeed ( float  speed)
pure virtual

Set the speed of the character.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setPosture ( int  posture)
pure virtual

Set the posture of the model.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual bool makVrv::DtCharacterModel::weaponDeployed ( ) const
pure virtual

Get whether the weapon is deployed.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setWeaponDeployed ( bool  deployed)
pure virtual

Set whether the weapon is deployed.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::die ( const std::string &  deathAction)
pure virtual

Tell the character to 'die.

Dead characters perform their death action then disable most dynamic behavior (saving CPU cycles).

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::revive ( const std::string &  aliveAction)
pure virtual

Revive a previously dead character.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setPaused ( bool  paused)
pure virtual

Set that the character is paused.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual const std::string& makVrv::DtCharacterModel::className ( ) const
virtual

Get the class name of the model instance owner.

This is used to control how model instances are created.

Reimplemented from makVrv::DtModel.

Reimplemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setModelScalingEnabled ( bool  b)
pure virtual

Indicate whether or not this model may be model-scaled Default is false.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setEmbarked ( bool  b)
pure virtual
virtual void makVrv::DtCharacterModel::setScale ( const DtVector scale)
pure virtual
virtual void makVrv::DtCharacterModel::setWeight ( float  weightScale)
pure virtual
virtual void makVrv::DtCharacterModel::setPartOrientation ( int  partNumber,
const DtTaitBryan &  orientation,
const DtVector rotationalVelocity 
)
pure virtual

Rotate the part.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

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

translate the part.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setPartVisibility ( int  partNumber,
bool  visible 
)
pure virtual

control part visibility, not connected yet.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setFlamesPresent ( bool  val)
pure virtual
virtual void makVrv::DtCharacterModel::setEnginePlume ( bool  val)
pure virtual
virtual void makVrv::DtCharacterModel::setEngineSmoke ( bool  val)
pure virtual
virtual void makVrv::DtCharacterModel::setTrailState ( bool  val)
pure virtual
virtual void makVrv::DtCharacterModel::setLightState ( unsigned int  light,
unsigned int  lightState 
)
pure virtual
virtual void makVrv::DtCharacterModel::fireWeapon ( )
pure virtual
virtual void makVrv::DtCharacterModel::setSelected ( bool  value)
pure virtual
virtual void makVrv::DtCharacterModel::setTextureVariations ( std::vector< DtCharacterTextureVariationInfo > &  varationInfoArray,
int  force 
)
pure virtual
virtual void makVrv::DtCharacterModel::setDynamicSensorRegion ( const std::string &  region,
bool  state 
)
pure virtual

Set the state of a dynamic sensor region.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setMotionModelByName ( const std::string &  modelName)
pure virtual

Set the motion model of the character This is currently used only for occupants.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setUseTransitions ( bool  use)
pure virtual

Set whether animations use transitions and ramp downs.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setIsOccupant ( bool  occupant)
pure virtual

Set whether this DI-Guy is used as a pilot/driver/occupant for a vehicle.

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.

virtual void makVrv::DtCharacterModel::setEnabled ( bool  enabled)
pure virtual

Set whether the character is enabled (processing updates, etc.)

Implemented in makVrv::DtDiGuyCharacterModel, and makVrv::DtDummyCharacterModel.


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)