VR-Forces 4.6.1 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 | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtDiGuyCharacterData Class Reference

Stores data representing all the possible appearances, animations, hand items, heads, etc. More...

Inheritance diagram for DtDiGuyCharacterData:
Inheritance graph
[legend]

Public Types

typedef std::map< DtString,
DtDiGuyAnimationSharedPtr
TaskAnimationMap
typedef TaskAnimationMap::iterator TaskAnimationMapIterator
typedef
TaskAnimationMap::const_iterator 
const_TaskAnimationMapIterator
typedef std::list
< DtDiGuyAnimationSharedPtr
UnprocessedAnimationList
typedef
UnprocessedAnimationList::iterator 
UnprocessedAnimationListIterator
typedef
UnprocessedAnimationList::const_iterator 
const_UnprocessedAnimationListIterator

Public Member Functions

 DtDiGuyCharacterData ()
 DtDiGuyCharacterData (const DtString &name)
 DtDiGuyCharacterData (const DtDiGuyCharacterData &orig)
virtual ~DtDiGuyCharacterData ()
DtDiGuyCharacterDataoperator= (const DtDiGuyCharacterData &orig)
virtual void init ()
virtual void setDeadAnimation (DtDiGuyAnimationSharedPtr deadAnimation)
virtual DtDiGuyAnimationdeadAnimation ()
virtual DtDiGuyAnimationlookupTaskAnimationByName (const DtString &name)
 Look up a particular animation.
virtual const std::vector
< DtString > & 
appearances () const
 The list of possible appearances for this character.
virtual void addAppearance (const DtString &app)
 Add a new possible appearance for the character.
virtual bool containsAppearance (const DtString &app)
virtual void addGesture (const DtString &app)
 Add a new possible gesture for the character.
virtual bool containsGesture (const DtString &app)
virtual const std::vector
< DtString > & 
gestures () const
virtual const std::vector
< DtString > & 
handItems () const
 The list of possible hand items for this character.
virtual void addHandItem (const DtString &app)
 Add a new possible hand item for the character.
virtual const std::vector
< DtString > & 
heads (const DtString &bodyAppearance) const
 The list of possible heads for this character and body appearance.
virtual void addHead (const DtString &bodyAppearance, const DtString &headAppearance)
 Add a new possible head for the character.
virtual void addTypeMapField (const DtString &appearanceName, const DtString &fieldValue)
 Adds the value to the next type map field that hasn't yet been set.
virtual const DtStringgetTypeMapFieldName (int index)
 Gets the name of a type map field (i.e. name of category)
virtual int getTypeMapFieldIndex (const DtString &name)
 Get the index of a type map field name.
virtual AlternateNamesListanimationNames ()
 Returns string list of all the animations and their user friendly display name.
void addAnimation (DtDiGuyAnimationSharedPtr animation)
 readInAnimationDataFromDiGuyScenario() will later classify all added animations into taskable or instrinsic.
virtual DtDiGuyAnimationlookupIntrinsicAnimationByName (const DtString &name)
virtual DtDiGuyCharacterDataclone () const
 Returns a newly created clone of this class.
void setAnimationTable (DtDiGuyCharacterAnimationsTable *table)
DtDiGuyAnimationSharedPtr readInAnimationDataFromTable (const char *actionName, bool isFirstAction)
 Reads in animations from DtDiGuyCharacterAnimationsTable, which was created by reading in character_animations_table.mtl.
void setPrintInfo (bool set_print)
 If set_print is true, calls to debugPrint() will print info to stdout.
void debugPrint (const char *fmt,...)
virtual void setCharacterTypeName (const DtString &name)
 The name of the character type.
virtual const DtStringcharacterTypeName () const
virtual TaskAnimationMaptaskableAnimations ()
 The taskable animations.
virtual AlternateNamesList taskableAnimationNames ()
 Returns string list of all the taskable animations and their user friendly display name.
virtual void addTaskAnimation (const DtString &name, DtDiGuyAnimationSharedPtr animation)
virtual
DtDiGuyIntrinsicAnimationMap
intrinsicAnimations ()
 The intrinsic animations.
virtual void addIntrinsicAnimation (const DtString &name, DtDiGuyAnimationSharedPtr animation)

Static Public Member Functions

static void setCreatorFcn (const DtDiGuyIntrinsicAnimationMapCreatorFcn &fcn)
 By default, this class creates a DtDiGuyIntrinsicAnimationMap data member, used in determining the appropriate animation for a given posture, speed, and demeanor.

Protected Member Functions

virtual void readInAnimationDataFromDiGuyScenario ()
 This is rather slow, because it causes creation of many things inside DI-Guy, so calls should be deferred until it's time to actually display an animation.
void setUpTypeFieldToIntMap ()

Protected Attributes

DtString myCharacterTypeName
std::vector< DtStringmyCharacterAppearances
std::map< DtString, DtStringmyCharacterAppearancesMap
std::vector< DtStringmyCharacterHandItems
std::vector< DtStringmyCharacterGestures
std::map< DtString, DtStringmyCharacterGesturesMap
HeadAppearanceMap myCharacterHeads
AppearanceToTypeFieldsMap myTypeMaps
UnprocessedAnimationList myUnprocessedAnimations
 Will hold animation references until they can be classified as taskable or intrinsic.
TaskAnimationMap myTaskAnimationsMap
 Holds refs to taskable animations.
DtDiGuyIntrinsicAnimationMapmyIntrinsicAnimationsMap
 Holds refs to intrinsic animations.
DtFilename myIntrinsicAnimationsFilename
AlternateNamesList myAnimationNames
 List of names of all animations available.
DtDiGuyAnimationSharedPtr myDeadAnimation
 Keep death animation separate 1) don't need to loop thru the lists to match– dead is dead 2) prevents matching death as closest animation to people in prone posture even though they are alive.
DtDiGuyCharacterAnimationsTablemyAnimationTable
 This will be generated from the data in character_animations_table.mtl Its main importance is holding user-readable names and info about whether an animation is taskable or instrinsic.
bool myDataReadFromDiGuyScenario
 flag to indicate that animation data has been gathered from DIGuy
bool myPrintInfo

Static Protected Attributes

static std::map< DtString, intmyTypeFieldNameToIntMap
static std::vector< DtStringmyTypeFieldNameVect
static
DtDiGuyIntrinsicAnimationMapCreatorFcn 
theDiGuyIntrinsicAnimationMapCreatorFcn

Detailed Description

Stores data representing all the possible appearances, animations, hand items, heads, etc.

that are available to a particular character type. It is used by the sim engine at runtime. Populated from both DI-Guy instance and character_animations_table.mtl file.

Member Typedef Documentation

typedef TaskAnimationMap::iterator DtDiGuyCharacterData::TaskAnimationMapIterator
typedef TaskAnimationMap::const_iterator DtDiGuyCharacterData::const_TaskAnimationMapIterator
typedef UnprocessedAnimationList::iterator DtDiGuyCharacterData::UnprocessedAnimationListIterator
typedef UnprocessedAnimationList::const_iterator DtDiGuyCharacterData::const_UnprocessedAnimationListIterator

Constructor & Destructor Documentation

DtDiGuyCharacterData::DtDiGuyCharacterData ( )
DtDiGuyCharacterData::DtDiGuyCharacterData ( const DtString name)
DtDiGuyCharacterData::DtDiGuyCharacterData ( const DtDiGuyCharacterData orig)
virtual DtDiGuyCharacterData::~DtDiGuyCharacterData ( )
virtual

Member Function Documentation

DtDiGuyCharacterData& DtDiGuyCharacterData::operator= ( const DtDiGuyCharacterData orig)
virtual void DtDiGuyCharacterData::init ( )
virtual
virtual void DtDiGuyCharacterData::setCharacterTypeName ( const DtString name)
virtual

The name of the character type.

virtual const DtString& DtDiGuyCharacterData::characterTypeName ( ) const
virtual
virtual void DtDiGuyCharacterData::setDeadAnimation ( DtDiGuyAnimationSharedPtr  deadAnimation)
virtual
virtual DtDiGuyAnimation* DtDiGuyCharacterData::deadAnimation ( )
virtual
virtual DtDiGuyAnimation* DtDiGuyCharacterData::lookupTaskAnimationByName ( const DtString name)
virtual

Look up a particular animation.

virtual const std::vector<DtString>& DtDiGuyCharacterData::appearances ( ) const
virtual

The list of possible appearances for this character.

virtual void DtDiGuyCharacterData::addAppearance ( const DtString app)
virtual

Add a new possible appearance for the character.

virtual bool DtDiGuyCharacterData::containsAppearance ( const DtString app)
virtual
virtual void DtDiGuyCharacterData::addGesture ( const DtString app)
virtual

Add a new possible gesture for the character.

virtual bool DtDiGuyCharacterData::containsGesture ( const DtString app)
virtual
virtual const std::vector<DtString>& DtDiGuyCharacterData::gestures ( ) const
virtual
virtual const std::vector<DtString>& DtDiGuyCharacterData::handItems ( ) const
virtual

The list of possible hand items for this character.

virtual void DtDiGuyCharacterData::addHandItem ( const DtString app)
virtual

Add a new possible hand item for the character.

virtual const std::vector<DtString>& DtDiGuyCharacterData::heads ( const DtString bodyAppearance) const
virtual

The list of possible heads for this character and body appearance.

virtual void DtDiGuyCharacterData::addHead ( const DtString bodyAppearance,
const DtString headAppearance 
)
virtual

Add a new possible head for the character.

virtual void DtDiGuyCharacterData::addTypeMapField ( const DtString appearanceName,
const DtString fieldValue 
)
virtual

Adds the value to the next type map field that hasn't yet been set.

virtual const DtString& DtDiGuyCharacterData::getTypeMapFieldName ( int  index)
virtual

Gets the name of a type map field (i.e. name of category)

virtual int DtDiGuyCharacterData::getTypeMapFieldIndex ( const DtString name)
virtual

Get the index of a type map field name.

virtual AlternateNamesList* DtDiGuyCharacterData::animationNames ( )
virtual

Returns string list of all the animations and their user friendly display name.

void DtDiGuyCharacterData::addAnimation ( DtDiGuyAnimationSharedPtr  animation)

readInAnimationDataFromDiGuyScenario() will later classify all added animations into taskable or instrinsic.

virtual TaskAnimationMap* DtDiGuyCharacterData::taskableAnimations ( )
virtual

The taskable animations.

Returns the map of all taskable animations

virtual AlternateNamesList DtDiGuyCharacterData::taskableAnimationNames ( )
virtual

Returns string list of all the taskable animations and their user friendly display name.

virtual void DtDiGuyCharacterData::addTaskAnimation ( const DtString name,
DtDiGuyAnimationSharedPtr  animation 
)
virtual
virtual DtDiGuyIntrinsicAnimationMap* DtDiGuyCharacterData::intrinsicAnimations ( )
virtual

The intrinsic animations.

virtual void DtDiGuyCharacterData::addIntrinsicAnimation ( const DtString name,
DtDiGuyAnimationSharedPtr  animation 
)
virtual
virtual DtDiGuyAnimation* DtDiGuyCharacterData::lookupIntrinsicAnimationByName ( const DtString name)
virtual
virtual DtDiGuyCharacterData* DtDiGuyCharacterData::clone ( ) const
virtual

Returns a newly created clone of this class.

Reimplemented in DtVrvDiGuyCharacterData.

void DtDiGuyCharacterData::setAnimationTable ( DtDiGuyCharacterAnimationsTable table)
DtDiGuyAnimationSharedPtr DtDiGuyCharacterData::readInAnimationDataFromTable ( const char actionName,
bool  isFirstAction 
)

Reads in animations from DtDiGuyCharacterAnimationsTable, which was created by reading in character_animations_table.mtl.

Some animation info is also queried from diguyScenario instance. This object's data isn't complete until readInAnimationDataFromDiGuyScenario() is called, however.

void DtDiGuyCharacterData::setPrintInfo ( bool  set_print)

If set_print is true, calls to debugPrint() will print info to stdout.

void DtDiGuyCharacterData::debugPrint ( const char fmt,
  ... 
)
static void DtDiGuyCharacterData::setCreatorFcn ( const DtDiGuyIntrinsicAnimationMapCreatorFcn fcn)
static

By default, this class creates a DtDiGuyIntrinsicAnimationMap data member, used in determining the appropriate animation for a given posture, speed, and demeanor.

To override and replace this with your own derived DtDiGuyIntrinsicAnimationMap class, create a function that returns a new instance of your derived class, and then pass it in to this function before calling init().

virtual void DtDiGuyCharacterData::readInAnimationDataFromDiGuyScenario ( )
protectedvirtual

This is rather slow, because it causes creation of many things inside DI-Guy, so calls should be deferred until it's time to actually display an animation.

Reimplemented in DtVrvDiGuyCharacterData.

void DtDiGuyCharacterData::setUpTypeFieldToIntMap ( )
protected

Member Data Documentation

std::map<DtString, int> DtDiGuyCharacterData::myTypeFieldNameToIntMap
staticprotected
std::vector<DtString> DtDiGuyCharacterData::myTypeFieldNameVect
staticprotected
DtString DtDiGuyCharacterData::myCharacterTypeName
protected
std::vector<DtString> DtDiGuyCharacterData::myCharacterAppearances
protected
std::map<DtString, DtString> DtDiGuyCharacterData::myCharacterAppearancesMap
protected
std::vector<DtString> DtDiGuyCharacterData::myCharacterHandItems
protected
std::vector<DtString> DtDiGuyCharacterData::myCharacterGestures
protected
std::map<DtString, DtString> DtDiGuyCharacterData::myCharacterGesturesMap
protected
HeadAppearanceMap DtDiGuyCharacterData::myCharacterHeads
protected
AppearanceToTypeFieldsMap DtDiGuyCharacterData::myTypeMaps
protected
UnprocessedAnimationList DtDiGuyCharacterData::myUnprocessedAnimations
protected

Will hold animation references until they can be classified as taskable or intrinsic.

TaskAnimationMap DtDiGuyCharacterData::myTaskAnimationsMap
protected

Holds refs to taskable animations.

DtDiGuyIntrinsicAnimationMap* DtDiGuyCharacterData::myIntrinsicAnimationsMap
protected

Holds refs to intrinsic animations.

DtFilename DtDiGuyCharacterData::myIntrinsicAnimationsFilename
protected
AlternateNamesList DtDiGuyCharacterData::myAnimationNames
protected

List of names of all animations available.

DtDiGuyAnimationSharedPtr DtDiGuyCharacterData::myDeadAnimation
protected

Keep death animation separate 1) don't need to loop thru the lists to match– dead is dead 2) prevents matching death as closest animation to people in prone posture even though they are alive.

DtDiGuyCharacterAnimationsTable* DtDiGuyCharacterData::myAnimationTable
protected

This will be generated from the data in character_animations_table.mtl Its main importance is holding user-readable names and info about whether an animation is taskable or instrinsic.

bool DtDiGuyCharacterData::myDataReadFromDiGuyScenario
protected

flag to indicate that animation data has been gathered from DIGuy

bool DtDiGuyCharacterData::myPrintInfo
protected
DtDiGuyIntrinsicAnimationMapCreatorFcn DtDiGuyCharacterData::theDiGuyIntrinsicAnimationMapCreatorFcn
staticprotected

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

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)