VR-Link API Documentation for HLA 1516
 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
DtAggregateEntityEncoder Class Reference

class DtAggregateEntityEncoder: More...

+ Inheritance diagram for DtAggregateEntityEncoder:
+ Collaboration diagram for DtAggregateEntityEncoder:

Public Member Functions

 DtAggregateEntityEncoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor
virtual ~DtAggregateEntityEncoder ()
 destructor
 DtAggregateEntityEncoder (const DtAggregateEntityEncoder &orig)
 copy constructor
DtAggregateEntityEncoderoperator= (const DtAggregateEntityEncoder &orig)
 assignment operator
- Public Member Functions inherited from DtBaseEntityEncoder
 DtBaseEntityEncoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor
virtual ~DtBaseEntityEncoder ()
 destructor
 DtBaseEntityEncoder (const DtBaseEntityEncoder &orig)
 copy constructor
DtBaseEntityEncoderoperator= (const DtBaseEntityEncoder &orig)
 assignment operator
- Public Member Functions inherited from DtHlaStateEncoder
 DtHlaStateEncoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor
virtual ~DtHlaStateEncoder ()
 destructor
 DtHlaStateEncoder (const DtHlaStateEncoder &orig)
 copy constructor
DtHlaStateEncoderoperator= (const DtHlaStateEncoder &orig)
 assignment operator
DtAttributeEncoder addEncoder (RTI::AttributeHandle hand, DtAttributeEncoder func)
 Add/Remove an encoding function for the attribute specified by handle.
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.
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.
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.
DtAttributeChecker removeChecker (char *name, bool complain=true)
DtAttributeEncoder encoder (const RTI::AttributeHandle &handle)
 Get the attribute encoder for the specified handle.
DtAttributeChecker checker (const RTI::AttributeHandle &handle)
 Get the attribute checker for the specified handle.
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.
virtual RTI::ObjectClassHandle objectClassHandle ()
 Get the object's class handle.
virtual DtHlaStateEncoderclone (DtObjClassDesc *classDesc) const
 Returns a new-ed clone of this object which corresponds to the class description classDesc.
virtual DtHlaStateEncoderclone () const
 Returns a new-ed clone of this object.
virtual void preCalculateEligible (const RTI::AttributeHandleSet &neededAttrs)

Static Public Member Functions

static DtHlaStateEncodercreate (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 Create a DtAggregateEntityEncoder.
- Static Public Member Functions inherited from DtBaseEntityEncoder
static bool tpsiChanged (const DtBaseEntityStateRepository &stateRep, const DtBaseEntityStateRepository &asSeenByRemote)
 Get whether or not rotational or translational thresholds have been exceeded.
- 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.
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.

Protected Member Functions

 DtDECLARE_AGGREGATE_ATTR_CHECKER (AggregateMarking)
 static need<Attribute> member functions.
 DtDECLARE_AGGREGATE_ATTR_CHECKER (AggregateState)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (Dimensions)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (EntityIdentifiers)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (EntityIDs)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (ForceIdentifier)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (ForceID)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (Formation)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (NumberOfSilentEntities)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (NumberOfVariableDatums)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (NumberOfEntities)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SilentAggregates)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SilentEntities)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SilentEntitiesRPR_20beta)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SilentEntitiesRPR_20)
 2.0D6
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SubAggregateIdentifiers)
 2.0
 DtDECLARE_AGGREGATE_ATTR_CHECKER (SubAggregateIDs)
 DtDECLARE_AGGREGATE_ATTR_CHECKER (VariableDatums)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (AggregateMarking)
 static decode<Attribute> member functions.
 DtDECLARE_AGGREGATE_ATTR_ENCODER (AggregateState)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (Dimensions)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (EntityIdentifiers)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (EntityIDs)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (ForceIdentifier)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (ForceID)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (Formation)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (NumberOfSilentEntities)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (NumberOfVariableDatums)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (NumberOfEntities)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SilentAggregates)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SilentEntities)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SilentEntitiesRPR_20beta)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SilentEntitiesRPR_20)
 2.0D6
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SubAggregateIdentifiers)
 2.0
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SubAggregateIDs)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (VariableDatums)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (VariableDatums_RPR2)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (EntityIdentifiers_RPR20)
 DtDECLARE_AGGREGATE_ATTR_ENCODER (SubAggregateIdentifiers_RPR20)
- Protected Member Functions inherited from DtBaseEntityEncoder
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (Spatial)
 Static need<Attribute> member functions.
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (RelativeSpatial)
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (IsPartOf)
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (AccelerationVector)
 For versions > 1.0.
 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.
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (Position)
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (EntityIdentifier)
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (DRAlgorithm)
 For versions <= 0.8.
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (WorldLocation)
 DtDECLARE_BASE_ENTITY_ATTR_CHECKER (EntityID)
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (Spatial)
 Static encode<Attribute> member functions.
 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.
 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.
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (Position)
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (EntityIdentifier)
 DtDECLARE_BASE_ENTITY_ATTR_ENCODER (DRAlgorithm)
 For versions <= 0.8.
 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.
typedef bool(* DtAttributeChecker )(const DtStateRepository &stateRep, const DtStateRepository &asSeenByRemote)
 Attribute checking function declaration.
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.
- 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.
std::map< RTI::AttributeHandle,
DtAttributeChecker
myCheckerList
std::vector< DtAttributeCheckermyCheckerCache
 This is a helper varaible that pre-lookups decoder functions in order to avoid making map calls on every update.
const RTI::AttributeHandleSet * myCachedSet
std::map< RTI::AttributeHandle,
bool
myReportedWarning
 myReportedWarning is an array for keeping track of which warnings have already been reported

Detailed Description

class DtAggregateEntityEncoder:

Instances of DtAggregateEntityEncoder are used to encode an aggregate entity's state repository into a state message in an HLA environment.

Constructor & Destructor Documentation

DtAggregateEntityEncoder::DtAggregateEntityEncoder ( DtExerciseConn exConn,
DtObjClassDesc classDesc 
)

constructor

virtual DtAggregateEntityEncoder::~DtAggregateEntityEncoder ( )
virtual

destructor

DtAggregateEntityEncoder::DtAggregateEntityEncoder ( const DtAggregateEntityEncoder orig)

copy constructor

Member Function Documentation

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

Create a DtAggregateEntityEncoder.

Caller is responsible for deletion.

Reimplemented from DtBaseEntityEncoder.

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( AggregateMarking  )
protected

static need<Attribute> member functions.

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( AggregateState  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( Dimensions  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( EntityIdentifiers  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( EntityIDs  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( ForceIdentifier  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( ForceID  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( Formation  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( NumberOfSilentEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( NumberOfVariableDatums  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( NumberOfEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SilentAggregates  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SilentEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SilentEntitiesRPR_20beta  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SilentEntitiesRPR_20  )
protected

2.0D6

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SubAggregateIdentifiers  )
protected

2.0

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( SubAggregateIDs  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_CHECKER ( VariableDatums  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( AggregateMarking  )
protected

static decode<Attribute> member functions.

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( AggregateState  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( Dimensions  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( EntityIdentifiers  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( EntityIDs  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( ForceIdentifier  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( ForceID  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( Formation  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( NumberOfSilentEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( NumberOfVariableDatums  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( NumberOfEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SilentAggregates  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SilentEntities  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SilentEntitiesRPR_20beta  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SilentEntitiesRPR_20  )
protected

2.0D6

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SubAggregateIdentifiers  )
protected

2.0

DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SubAggregateIDs  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( VariableDatums  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( VariableDatums_RPR2  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( EntityIdentifiers_RPR20  )
protected
DtAggregateEntityEncoder::DtDECLARE_AGGREGATE_ATTR_ENCODER ( SubAggregateIdentifiers_RPR20  )
protected
DtAggregateEntityEncoder& DtAggregateEntityEncoder::operator= ( const DtAggregateEntityEncoder orig)

assignment operator


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

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)