VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtFormationState Class Reference

Public Member Functions

 DtFormationState ()
 
 DtFormationState (const DtFormationState &orig)
 
DtFormationStateoperator= (const DtFormationState &orig)
 
virtual ~DtFormationState ()
 
virtual void setFormation (const DtFormation &formation)
 Set the physical formation layout. More...
 
virtual void setFormation (const std::vector< DtFormationRecord * > &formation)
 
virtual void addFormationRecord (const DtFormationRecord &formationRecord, int positionIndex)
 adds/replaces formation record to formation at the given position index More...
 
virtual void removeFormationRecord (int positionIndex)
 remove formation record at the given position index in the formation More...
 
virtual void setEntityList (const std::vector< DtUUID > &entityList)
 sets (replaces) entity list, assigning promotion indices in the order the entities are given, starting at zero. More...
 
virtual void setEntityListAndFormation (const std::vector< DtUUID > &entityList, const DtFormation &formation, const std::list< int > &formationPositions)
 
virtual void setEntityListAndFormation (DtOrgViewManagedObjectListConstPtr entityList, const DtFormation &formation, const std::list< int > &formationPositions)
 Calls to setEntityListAndFormation above with list of entity names extracted from subordinate query list. More...
 
virtual const
DtRwVrfObjectReferenceList
entityList () const
 List of subordinate names in the formation. More...
 
virtual void clearEntityList ()
 Remove all subordinate names from the formation. More...
 
virtual bool lookup (const DtUUID &subordinate, DtFormationQueryResult &result) const
 Lookup formation entry by subordinate's object uuid. More...
 
virtual int lookupPromotionIndexByName (const DtUUID &subordinate) const
 
virtual void queryAll (DtFormationQueryResultList &resultList) const
 Returns formation state associated with each entity in formation. More...
 
virtual DtUUID formationLeader () const
 Returns the entity who is not positioned relative to someone else in the formation, i.e. More...
 
virtual double formationHalfLength () const
 Returns the half-length of the formation. More...
 
virtual void print ()
 For debugging. More...
 
virtual void addFormationStateChangedCallback (DtFormationStateCallbackFcn fcn, void *userData)
 Registers callback for notification of any change to the formation state. More...
 
virtual void removeFormationStateChangedCallback (DtFormationStateCallbackFcn fcn, void *userData)
 Removes callback for notification of any change to the formation state. More...
 
virtual void enableFormationCallbacks ()
 Control whether or not formation callbacks are invoked. More...
 
virtual void disableFormationCallbacks ()
 
virtual bool isAvailableForFormation (const DtVrfObject *) const
 Returns true if this item is available for formation. More...
 

Protected Member Functions

virtual const DtFormationRecordlookupFormationRecord (int positionIndex) const
 
virtual DtVector lookupFollowOffset (const DtUUID &subordinate) const
 
virtual DtUUID lookupLeader (const DtUUID &subordinate) const
 
virtual void rebuildEntityToPositionMap ()
 
virtual DtFormationRecordgenerateAdditionalFormationRecord (int positionIndex) const
 Returns a new instance of a DtFormationRecord. More...
 
void emptyPositionIndexToFormationRecordMap ()
 Deletes all DtFormationRecord entries in myPositionIndexToFormationRecordMap and clears out all entries from map. More...
 
virtual DtVector positionOffsetForPositionIndex (int positionIndex)
 
virtual void invokeFormationStateChangedCallbacks () const
 

Protected Attributes

DtRwVrfObjectReferenceList myEntityList
 
std::map< int, const
DtFormationRecord * > 
myPositionIndexToFormationRecordMap
 
std::map< DtUUID, DtVectormyEntityToPositionMap
 
std::map< int, DtUUIDmyPositionIndexToEntityMap
 
std::map< DtUUID, intmyEntityToPositionIndexMap
 
std::vector
< DtFormationStateCallbackInfo
myFormationStateChangedCallbackList
 List of DtFormationStateCallbackFcns. More...
 
bool myCallbacksAreEnabled
 

Constructor & Destructor Documentation

DtFormationState::DtFormationState ( )
DtFormationState::DtFormationState ( const DtFormationState orig)
virtual DtFormationState::~DtFormationState ( )
virtual

Member Function Documentation

DtFormationState& DtFormationState::operator= ( const DtFormationState orig)
virtual void DtFormationState::setFormation ( const DtFormation formation)
virtual

Set the physical formation layout.

virtual void DtFormationState::setFormation ( const std::vector< DtFormationRecord * > &  formation)
virtual
virtual void DtFormationState::addFormationRecord ( const DtFormationRecord formationRecord,
int  positionIndex 
)
virtual

adds/replaces formation record to formation at the given position index

virtual void DtFormationState::removeFormationRecord ( int  positionIndex)
virtual

remove formation record at the given position index in the formation

virtual void DtFormationState::setEntityList ( const std::vector< DtUUID > &  entityList)
virtual

sets (replaces) entity list, assigning promotion indices in the order the entities are given, starting at zero.

virtual void DtFormationState::setEntityListAndFormation ( const std::vector< DtUUID > &  entityList,
const DtFormation formation,
const std::list< int > &  formationPositions 
)
virtual
virtual void DtFormationState::setEntityListAndFormation ( DtOrgViewManagedObjectListConstPtr  entityList,
const DtFormation formation,
const std::list< int > &  formationPositions 
)
virtual

Calls to setEntityListAndFormation above with list of entity names extracted from subordinate query list.

virtual const DtRwVrfObjectReferenceList& DtFormationState::entityList ( ) const
virtual

List of subordinate names in the formation.

virtual void DtFormationState::clearEntityList ( )
virtual

Remove all subordinate names from the formation.

virtual bool DtFormationState::lookup ( const DtUUID subordinate,
DtFormationQueryResult result 
) const
virtual

Lookup formation entry by subordinate's object uuid.

virtual int DtFormationState::lookupPromotionIndexByName ( const DtUUID subordinate) const
virtual
Returns
The current promotion index (position index) of them= subordinate. Returns -1 if the entity is not in the formation.
virtual void DtFormationState::queryAll ( DtFormationQueryResultList resultList) const
virtual

Returns formation state associated with each entity in formation.

It is up to the caller to delete the memory associated with each DtFormationQueryResult item returned in the vector.

virtual DtUUID DtFormationState::formationLeader ( ) const
virtual

Returns the entity who is not positioned relative to someone else in the formation, i.e.

the overall 'leader'

virtual double DtFormationState::formationHalfLength ( ) const
virtual

Returns the half-length of the formation.

virtual void DtFormationState::print ( )
virtual

For debugging.

virtual void DtFormationState::addFormationStateChangedCallback ( DtFormationStateCallbackFcn  fcn,
void *  userData 
)
virtual

Registers callback for notification of any change to the formation state.

virtual void DtFormationState::removeFormationStateChangedCallback ( DtFormationStateCallbackFcn  fcn,
void *  userData 
)
virtual

Removes callback for notification of any change to the formation state.

virtual void DtFormationState::enableFormationCallbacks ( )
virtual

Control whether or not formation callbacks are invoked.

By default, they are enabled. Only the DtFormationController should ever call these functions.

virtual void DtFormationState::disableFormationCallbacks ( )
virtual
virtual bool DtFormationState::isAvailableForFormation ( const DtVrfObject ) const
virtual

Returns true if this item is available for formation.

Uses the DtTaskableSubordinatePredicate to figure this out

virtual const DtFormationRecord* DtFormationState::lookupFormationRecord ( int  positionIndex) const
protectedvirtual
virtual DtVector DtFormationState::lookupFollowOffset ( const DtUUID subordinate) const
protectedvirtual
virtual DtUUID DtFormationState::lookupLeader ( const DtUUID subordinate) const
protectedvirtual
virtual void DtFormationState::rebuildEntityToPositionMap ( )
protectedvirtual
virtual DtFormationRecord* DtFormationState::generateAdditionalFormationRecord ( int  positionIndex) const
protectedvirtual

Returns a new instance of a DtFormationRecord.

It is up to the caller to delete the memory associated with the record.

void DtFormationState::emptyPositionIndexToFormationRecordMap ( )
protected

Deletes all DtFormationRecord entries in myPositionIndexToFormationRecordMap and clears out all entries from map.

virtual DtVector DtFormationState::positionOffsetForPositionIndex ( int  positionIndex)
protectedvirtual
Returns
The position offset from the first position in the formation to the specified position index.
virtual void DtFormationState::invokeFormationStateChangedCallbacks ( ) const
protectedvirtual

Member Data Documentation

DtRwVrfObjectReferenceList DtFormationState::myEntityList
protected
std::map<int, const DtFormationRecord*> DtFormationState::myPositionIndexToFormationRecordMap
mutableprotected
std::map<DtUUID, DtVector> DtFormationState::myEntityToPositionMap
protected
std::map<int, DtUUID> DtFormationState::myPositionIndexToEntityMap
protected
std::map<DtUUID, int> DtFormationState::myEntityToPositionIndexMap
protected
std::vector<DtFormationStateCallbackInfo> DtFormationState::myFormationStateChangedCallbackList
protected

List of DtFormationStateCallbackFcns.

Clients register callback functions on this list for notification when the formation state has changed for some reason.

bool DtFormationState::myCallbacksAreEnabled
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)