VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
DtBaseEntityEncoder Class Reference

class DtBaseEntityEncoder: More...

+ Inheritance diagram for DtBaseEntityEncoder:
+ Collaboration diagram for DtBaseEntityEncoder:

Public Member Functions

 DtBaseEntityEncoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor More...
 
virtual ~DtBaseEntityEncoder ()
 destructor More...
 
 DtBaseEntityEncoder (const DtBaseEntityEncoder &orig)
 copy constructor More...
 
DtBaseEntityEncoderoperator= (const DtBaseEntityEncoder &orig)
 assignment operator More...
 
- Public Member Functions inherited from DtHlaStateEncoder
 DtHlaStateEncoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor More...
 
virtual ~DtHlaStateEncoder ()
 destructor More...
 
 DtHlaStateEncoder (const DtHlaStateEncoder &orig)
 copy constructor More...
 
DtHlaStateEncoderoperator= (const DtHlaStateEncoder &orig)
 assignment operator More...
 
DtAttributeEncoder addEncoder (RTI::AttributeHandle hand, DtAttributeEncoder func)
 Add/Remove an encoding function for the attribute specified by handle. More...
 
DtAttributeEncoder removeEncoder (RTI::AttributeHandle hand)
 
DtAttributeEncoder addEncoder (char *name, DtAttributeEncoder func, bool complain=true)
 Add/Remove an encoding function for the attribute specified by name. More...
 
DtAttributeEncoder removeEncoder (char *name, bool complain=true)
 
DtAttributeChecker addChecker (RTI::AttributeHandle hand, DtAttributeChecker func)
 Add/Remove a checker function for the attribute specified by handle. More...
 
DtAttributeChecker removeChecker (RTI::AttributeHandle hand)
 
DtAttributeChecker addChecker (char *name, DtAttributeChecker func, bool complain=true)
 Add/Remove a checker function for the attribute specified by name. More...
 
DtAttributeChecker removeChecker (char *name, bool complain=true)
 
DtAttributeEncoder encoder (const RTI::AttributeHandle &handle)
 Get the attribute encoder for the specified handle. More...
 
DtAttributeChecker checker (const RTI::AttributeHandle &handle)
 Get the attribute checker for the specified handle. More...
 
virtual void encode (const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote, const RTI::AttributeHandleSet &neededAttrs, const RTI::AttributeHandleSet &includeThese, DtStateMsg *msg)
 Encode necessary values from the state repository. More...
 
virtual RTI::ObjectClassHandle objectClassHandle ()
 Get the object's class handle. More...
 
virtual DtHlaStateEncoderclone (DtObjClassDesc *classDesc) const
 Returns a new-ed clone of this object which corresponds to the class description classDesc. More...
 
virtual DtHlaStateEncoderclone () const
 Returns a new-ed clone of this object. More...
 
virtual void preCalculateEligible (const RTI::AttributeHandleSet &neededAttrs)
 

Static Public Member Functions

static DtHlaStateEncodercreate (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 Create a DtBaseEntityEncoder. Caller is responsible for deletion. More...
 
static bool tpsiChanged (const DtBaseEntityStateRepository &stateRep, const DtBaseEntityStateRepository &asSeenByRemote)
 Get whether or not rotational or translational thresholds have been exceeded. More...
 
- Static Public Member Functions inherited from DtHlaStateEncoder
static bool trueChecker (const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote)
 A checker function that always returns 1, meaning that the attribute for which it is being used will be deemed necessary to send on every tick. More...
 
static bool falseChecker (const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote)
 A checker function that always returns 0, meaning that the attribute for which it is being used will never be deemed necessary to send. More...
 
static void wideStringToHlaUnicodeString (const std::wstring &wideString, RTI::AttributeHandleValuePairSet *avList, RTI::AttributeHandle attrHandle)
 Puts a unicode widestring into a buffer of the appropriate size and adds it to the attribute value list with it's attribute handle. More...
 

Protected Member Functions

 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (Spatial)
 Static need<Attribute> member functions. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (RelativeSpatial)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (IsPartOf)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (AccelerationVector)
 For versions > 1.0. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (AngularVelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (EntityType)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (IsFrozen)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (Orientation)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (VelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (DeadReckoningAlgorithm)
 For versions > 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (Position)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (EntityIdentifier)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (DRAlgorithm)
 For versions <= 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (WorldLocation)
 
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (EntityID)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (Spatial)
 Static encode<Attribute> member functions. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (RelativeSpatial)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (IsPartOf)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (IsPartOf_RPR_20014)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (AccelerationVector)
 For versions > 1.0. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (AngularVelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (EntityType)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (IsFrozen)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (Orientation)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (VelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (DeadReckoningAlgorithm)
 For versions > 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (Position)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (EntityIdentifier)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (DRAlgorithm)
 For versions <= 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (WorldLocation)
 
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (EntityID)
 

Additional Inherited Members

- Public Types inherited from DtHlaStateEncoder
typedef void(* DtAttributeEncoder )(const DtStateRepository &stateRep, RTI::AttributeHandleValuePairSet *avList, RTI::AttributeHandle handle)
 Attribute encoding function declaration. More...
 
typedef bool(* DtAttributeChecker )(const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote)
 Attribute checking function declaration. More...
 
typedef bool(* DtAttributeCheckerWithHandle )(const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote, RTI::AttributeHandle handle)
 Attribute checking function declaration that takes a handle and checks the specific attribute pointed to by that handle. More...
 
- Protected Attributes inherited from DtHlaStateEncoder
DtExerciseConnmyExConn
 
DtObjClassDescmyClassDesc
 
RTI::ObjectClassHandle myHandle
 
std::map< RTI::AttributeHandle,
DtAttributeEncoder
myEncoderList
 myEncoderList and myCheckerList are arrays of classDesc->maxAttrHandle() items. More...
 
std::map< RTI::AttributeHandle,
DtAttributeChecker
myCheckerList
 
std::vector< DtAttributeCheckermyCheckerCache
 This is a helper variable that pre-lookups decoder functions in order to avoid making map calls on every update. More...
 
const RTI::AttributeHandleSet * myCachedSet
 
std::map< RTI::AttributeHandle,
bool
myReportedWarning
 myReportedWarning is an array for keeping track of which warnings have already been reported More...
 

Detailed Description

class DtBaseEntityEncoder:

Instances of DtBaseEntityEncoder are used to encode a base entity state repository into a state message in an HLA (as opposed to DIS) environment.

Constructor & Destructor Documentation

DtBaseEntityEncoder::DtBaseEntityEncoder ( DtExerciseConn exConn,
DtObjClassDesc classDesc 
)

constructor

virtual DtBaseEntityEncoder::~DtBaseEntityEncoder ( )
virtual

destructor

DtBaseEntityEncoder::DtBaseEntityEncoder ( const DtBaseEntityEncoder orig)

copy constructor

Member Function Documentation

static DtHlaStateEncoder* DtBaseEntityEncoder::create ( DtExerciseConn exConn,
DtObjClassDesc classDesc 
)
static

Create a DtBaseEntityEncoder. Caller is responsible for deletion.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( Spatial  )
protected

Static need<Attribute> member functions.

For versions greater than 2.0006

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( RelativeSpatial  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( IsPartOf  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( AccelerationVector  )
protected

For versions > 1.0.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( AngularVelocityVector  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( EntityType  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( IsFrozen  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( Orientation  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( VelocityVector  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( DeadReckoningAlgorithm  )
protected

For versions > 0.8.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( Position  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( EntityIdentifier  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( DRAlgorithm  )
protected

For versions <= 0.8.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( WorldLocation  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_CHECKER ( EntityID  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( Spatial  )
protected

Static encode<Attribute> member functions.

For versions greater than 2.0006

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( RelativeSpatial  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( IsPartOf  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( IsPartOf_RPR_20014  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( AccelerationVector  )
protected

For versions > 1.0.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( AngularVelocityVector  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( EntityType  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( IsFrozen  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( Orientation  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( VelocityVector  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( DeadReckoningAlgorithm  )
protected

For versions > 0.8.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( Position  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( EntityIdentifier  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( DRAlgorithm  )
protected

For versions <= 0.8.

DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( WorldLocation  )
protected
DtBaseEntityEncoder::DtDECLARE_BASE_ENTITY_ATTR_ENCODER ( EntityID  )
protected
DtBaseEntityEncoder& DtBaseEntityEncoder::operator= ( const DtBaseEntityEncoder orig)

assignment operator

static bool DtBaseEntityEncoder::tpsiChanged ( const DtBaseEntityStateRepository stateRep,
const DtBaseEntityStateRepository asSeenByRemote 
)
static

Get whether or not rotational or translational thresholds have been exceeded.


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

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)