VR-Link API Documentation for HLA Evolved
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes

Represents a particular FOM, as described by a FED file. More...

+ Inheritance diagram for DtFom:
+ Collaboration diagram for DtFom:

List of all members.

Public Member Functions

 DtFom (DtExerciseConn *exConn)
 Constructor.
virtual ~DtFom ()
 Destructor.
 DtFom (const DtFom &orig)
 copy constructor
DtFomoperator= (const DtFom &orig)
 assignment operator
virtual DtFedReadStatus readFed (const DtString &fedFile, const std::vector< std::wstring > &fomModules, const DtString &mimModule, bool strictCheckingEnabled, bool useDTD, bool dontParseSwitches)
 Read a vector of create merging them into this as they're read.
virtual void addSpace (const char *name)
 Define a routing space. Used when initializing from FED file.
virtual void addDimension (const char *SpaceName, const char *dimName)
 Define a dimension within a routing space.
virtual void addDimension (const char *dimName, unsigned long upperBound, unsigned long defaultLowerBound, unsigned long defaultUpperBound, bool excluded)
 Define a dimension. Used when initializing from FED file.
virtual void addInterClass (const char *name, const char *baseName, DtTransportType transport, DtOrderType order, const char *space=NULL)
 Define a class. Used when initializing from FED file.
virtual void addObjClass (const char *name, const char *baseName)
 Define a class. Used when initializing from FED file.
virtual void addParameter (const char *className, const char *paramName)
 Define an parameter of a class.
virtual bool addInteractionDimension (const char *interactionName, const char *dimension)
 Add regions to the class Return true if add was successful (i.e., dimension is valid)
virtual void addAttribute (const char *className, const char *attrName, DtTransportType transport, DtOrderType order, const char *space=NULL)
 Define an attribute of a class.
virtual bool addAttributeDimension (const char *className, const char *attrName, const char *dimName)
 Define the dimensions of an attribute Return true if add was successful (i.e., dimension is valid)
virtual DtInterClassDescinterClassByName (const char *name) const
 Returns the class descriptor for the name.
virtual DtObjClassDescobjClassByName (const char *name) const
 Returns the class descriptor for the name.
virtual DtInterClassDescinterClassByHandle (RTI::InteractionClassHandle handle) const
 Returns the class descriptor for the handle.
virtual DtObjClassDescobjClassByHandle (RTI::ObjectClassHandle handle) const
 Returns the class descriptor for the handle.
virtual const std::list
< DtInterClassDesc * > & 
interClassList () const
 interClassList() and objClassList() provide return a list of interaction and object classes.
virtual const std::list
< DtObjClassDesc * > & 
objClassList () const
virtual DtObjClassDescfirstObjClass () const
 Returns the first, last and next object classes in the FOM.
virtual DtObjClassDesclastObjClass () const
virtual DtObjClassDescnextObjClass (DtObjClassDesc *current) const
virtual DtInterClassDescfirstInterClass () const
 Returns the first, last and next interaction class in the FOM.
virtual DtInterClassDesclastInterClass () const
virtual DtInterClassDescnextInterClass (DtInterClassDesc *current) const
virtual DtVrlRtiAmbassadorrtiAmb () const
 Returns our RTI ambassador.
virtual void print () const
 Prints the contents of the FOM.
int minObjClassHandle () const
 Returns the minimum and maximum interaction and object class handles in the FOM.
int maxObjClassHandle () const
int minInterClassHandle () const
int maxInterClassHandle () const
int numObjClasses () const
 Returns number of object or interaction classes in the FOM.
int numInterClasses () const

Static Public Member Functions

static void setFomCreator (DtFomCreator)
 set creator function
static DtFomcreate (DtExerciseConn *exConn)

Protected Member Functions

virtual DtMergeFomStatus mergeTarget (const DtFom &module)
 Merge the contents of the specified target with this.
virtual DtMergeFomStatus mergeObjectClasses (const DtFom &module)
 Merge the object classes of the specified FomMgr with this.
virtual DtMergeFomStatus mergeObjClassDesc (const DtObjClassDesc *desc)
 Merge the contents of the objClassDesc with this.
virtual DtMergeFomStatus mergeInteractionClasses (const DtFom &module)
 Merge the contents of the specified interactionClasses with this.
virtual DtMergeFomStatus mergeIntClassDesc (const DtInterClassDesc *desc)
 Merge the contents of the InteractionClassDescription with this.
virtual DtMergeFomStatus mergeSpaces (const DtFom &module)
 Merge the given routing spaces with this.
virtual DtMergeFomStatus mergeUpdateRates (const DtFom &module)
 Merge the given update rates with this.
virtual DtMergeFomStatus mergeSwitches (const DtFom &module)
 Merge the given switches with this.
virtual bool switchesSame (const DtFom &module) const
 Check that module's switches are the same as mine.
virtual bool transportTypesSame (DtFom const &module) const
 Check that module's transport types are the same as mine.
virtual bool timeTypesSame (const DtFom &module) const
 Check that module's time match mine.
virtual bool userDefinedTagsSame (const DtFom &module) const
 Check that user defined tags match mine.
virtual bool updateRatesSame (const DtFom &module) const
 Check that update rates match mine.
virtual bool knownTransportType (const DtString) const
 Is this transport Type already known.
virtual bool knownTime (const DtString) const
 Is this time Type present.
virtual void addTime (const DtString)
 Add a timeType from the FOM.
virtual unsigned int numTimeTypes () const
 How many timeTypes are specified in this target.
virtual bool knownUserDefinedTag (const DtString) const
 Is this userDefined tag present.

Protected Attributes

DtExerciseConnmyExConn
std::map< DtString,
DtInterClassDesc * > 
myInterClassesByName
 Hash lists that map class names (DtStringHashKeys) to DtObjClassDesc pointers.
std::map< DtString,
DtObjClassDesc * > 
myObjClassesByName
std::map< int, DtInterClassDesc * > myInterClassesByHandle
 Hash lists that map class handles (DtIntHashKeys) to DtObjClassDesc pointers.
std::map< int, DtObjClassDesc * > myObjClassesByHandle
std::list< DtObjClassDesc * > myObjClassList
std::list< DtInterClassDesc * > myInterClassList
int myLowestObj
int myHighestObj
int myLowestInter
int myHighestInter
DtString myObjRootName
DtString myInterRootName
std::set< DtStringmyTransportTypes
 Transport types names.
std::set< DtStringmyUserDefinedTags
 User defined tag names.
std::map< DtString, bool > mySwitches
 Order types names.
std::set< DtStringmyTimeTypes
 Time type names.
std::set< DtStringmyFailedObjClasses
std::set< DtStringmyFailedInterClasses

Static Protected Attributes

static DtFomCreator theCreatorFunction

Detailed Description

Represents a particular FOM, as described by a FED file.

Object classes are represented by DtObjClassDescs; Interaction classes by DtInterClassDescs. Being a DtFedTarget, a DtFom can be filled in by a DtFedReader. Alternatively, you can fill it in programatically, with addObjClass, addInterClass, addParameter and addAttribute. Once so initialized, you can query for a class descriptor associated with a class.


Constructor & Destructor Documentation

Constructor.

virtual DtFom::~DtFom ( ) [virtual]

Destructor.

DtFom::DtFom ( const DtFom orig)

copy constructor


Member Function Documentation

virtual void DtFom::addAttribute ( const char *  className,
const char *  attrName,
DtTransportType  transport,
DtOrderType  order,
const char *  space = NULL 
) [virtual]

Define an attribute of a class.

Used when initializing from FED file.

Implements DtFedTarget.

virtual bool DtFom::addAttributeDimension ( const char *  className,
const char *  attrName,
const char *  dimName 
) [virtual]

Define the dimensions of an attribute Return true if add was successful (i.e., dimension is valid)

Implements DtFedTarget.

virtual void DtFom::addDimension ( const char *  SpaceName,
const char *  dimName 
) [virtual]

Define a dimension within a routing space.

Used when initializing from FED file.

Implements DtFedTarget.

virtual void DtFom::addDimension ( const char *  dimName,
unsigned long  upperBound,
unsigned long  defaultLowerBound,
unsigned long  defaultUpperBound,
bool  excluded 
) [virtual]

Define a dimension. Used when initializing from FED file.

Implements DtFedTarget.

virtual bool DtFom::addInteractionDimension ( const char *  interactionName,
const char *  dimension 
) [virtual]

Add regions to the class Return true if add was successful (i.e., dimension is valid)

Implements DtFedTarget.

virtual void DtFom::addInterClass ( const char *  name,
const char *  baseName,
DtTransportType  transport,
DtOrderType  order,
const char *  space = NULL 
) [virtual]

Define a class. Used when initializing from FED file.

Implements DtFedTarget.

virtual void DtFom::addObjClass ( const char *  name,
const char *  baseName 
) [virtual]

Define a class. Used when initializing from FED file.

Implements DtFedTarget.

virtual void DtFom::addParameter ( const char *  className,
const char *  paramName 
) [virtual]

Define an parameter of a class.

Used when initializing from FED file.

Implements DtFedTarget.

virtual void DtFom::addSpace ( const char *  name) [virtual]

Define a routing space. Used when initializing from FED file.

Implements DtFedTarget.

virtual void DtFom::addTime ( const DtString  ) [protected, virtual]

Add a timeType from the FOM.

static DtFom* DtFom::create ( DtExerciseConn exConn) [static]
virtual DtInterClassDesc* DtFom::firstInterClass ( ) const [virtual]

Returns the first, last and next interaction class in the FOM.

Next returns NULL if current is the last class, or if current is NULL. These functions facilitate looping through classes like this: for (desc = firstInterClass; desc; desc = nextInterClass(desc))

virtual DtObjClassDesc* DtFom::firstObjClass ( ) const [virtual]

Returns the first, last and next object classes in the FOM.

Next returns NULL if current is the last class, or if current is NULL. These functions facilitate looping through classes like this: for (desc = firstObjClass; desc; desc = nextObjClass(desc))

virtual DtInterClassDesc* DtFom::interClassByHandle ( RTI::InteractionClassHandle  handle) const [virtual]

Returns the class descriptor for the handle.

virtual DtInterClassDesc* DtFom::interClassByName ( const char *  name) const [virtual]

Returns the class descriptor for the name.

virtual const std::list<DtInterClassDesc*>& DtFom::interClassList ( ) const [virtual]

interClassList() and objClassList() provide return a list of interaction and object classes.

These lists contain pointers to DtInterClassDesc and DtObjClassDesc, which can be accessed using the DtList API. This is provided to replace the firstObjClass/lastObjClass/nextObjClass functionality below.

virtual bool DtFom::knownTime ( const DtString  ) const [protected, virtual]

Is this time Type present.

virtual bool DtFom::knownTransportType ( const DtString  ) const [protected, virtual]

Is this transport Type already known.

virtual bool DtFom::knownUserDefinedTag ( const DtString  ) const [protected, virtual]

Is this userDefined tag present.

virtual DtInterClassDesc* DtFom::lastInterClass ( ) const [virtual]
virtual DtObjClassDesc* DtFom::lastObjClass ( ) const [virtual]
int DtFom::maxObjClassHandle ( ) const
virtual DtMergeFomStatus DtFom::mergeIntClassDesc ( const DtInterClassDesc desc) [protected, virtual]

Merge the contents of the InteractionClassDescription with this.

virtual DtMergeFomStatus DtFom::mergeInteractionClasses ( const DtFom module) [protected, virtual]

Merge the contents of the specified interactionClasses with this.

virtual DtMergeFomStatus DtFom::mergeObjClassDesc ( const DtObjClassDesc desc) [protected, virtual]

Merge the contents of the objClassDesc with this.

virtual DtMergeFomStatus DtFom::mergeObjectClasses ( const DtFom module) [protected, virtual]

Merge the object classes of the specified FomMgr with this.

virtual DtMergeFomStatus DtFom::mergeSpaces ( const DtFom module) [protected, virtual]

Merge the given routing spaces with this.

virtual DtMergeFomStatus DtFom::mergeSwitches ( const DtFom module) [protected, virtual]

Merge the given switches with this.

virtual DtMergeFomStatus DtFom::mergeTarget ( const DtFom module) [protected, virtual]

Merge the contents of the specified target with this.

virtual DtMergeFomStatus DtFom::mergeUpdateRates ( const DtFom module) [protected, virtual]

Merge the given update rates with this.

int DtFom::minObjClassHandle ( ) const

Returns the minimum and maximum interaction and object class handles in the FOM.

Not every handle between min and max must be valid.

virtual DtInterClassDesc* DtFom::nextInterClass ( DtInterClassDesc current) const [virtual]
virtual DtObjClassDesc* DtFom::nextObjClass ( DtObjClassDesc current) const [virtual]
int DtFom::numInterClasses ( ) const
int DtFom::numObjClasses ( ) const

Returns number of object or interaction classes in the FOM.

virtual unsigned int DtFom::numTimeTypes ( ) const [protected, virtual]

How many timeTypes are specified in this target.

virtual DtObjClassDesc* DtFom::objClassByHandle ( RTI::ObjectClassHandle  handle) const [virtual]

Returns the class descriptor for the handle.

virtual DtObjClassDesc* DtFom::objClassByName ( const char *  name) const [virtual]

Returns the class descriptor for the name.

virtual const std::list<DtObjClassDesc*>& DtFom::objClassList ( ) const [virtual]
DtFom& DtFom::operator= ( const DtFom orig)

assignment operator

virtual void DtFom::print ( ) const [virtual]

Prints the contents of the FOM.

virtual DtFedReadStatus DtFom::readFed ( const DtString fedFile,
const std::vector< std::wstring > &  fomModules,
const DtString mimModule,
bool  strictCheckingEnabled,
bool  useDTD,
bool  dontParseSwitches 
) [virtual]

Read a vector of create merging them into this as they're read.

DtVrlRtiAmbassador * DtFom::rtiAmb ( ) const [inline, virtual]

Returns our RTI ambassador.

References myExConn, and DtExerciseConn::rtiAmb().

static void DtFom::setFomCreator ( DtFomCreator  ) [static]

set creator function

virtual bool DtFom::switchesSame ( const DtFom module) const [protected, virtual]

Check that module's switches are the same as mine.

virtual bool DtFom::timeTypesSame ( const DtFom module) const [protected, virtual]

Check that module's time match mine.

virtual bool DtFom::transportTypesSame ( DtFom const &  module) const [protected, virtual]

Check that module's transport types are the same as mine.

virtual bool DtFom::updateRatesSame ( const DtFom module) const [protected, virtual]

Check that update rates match mine.

virtual bool DtFom::userDefinedTagsSame ( const DtFom module) const [protected, virtual]

Check that user defined tags match mine.


Member Data Documentation

Referenced by rtiAmb().

std::set<DtString> DtFom::myFailedInterClasses [protected]
std::set<DtString> DtFom::myFailedObjClasses [protected]
int DtFom::myHighestInter [protected]
int DtFom::myHighestObj [protected]
std::map<int, DtInterClassDesc*> DtFom::myInterClassesByHandle [protected]

Hash lists that map class handles (DtIntHashKeys) to DtObjClassDesc pointers.

Hash lists that map class names (DtStringHashKeys) to DtObjClassDesc pointers.

std::list<DtInterClassDesc*> DtFom::myInterClassList [protected]
int DtFom::myLowestInter [protected]
int DtFom::myLowestObj [protected]
std::map<int, DtObjClassDesc*> DtFom::myObjClassesByHandle [protected]
std::list<DtObjClassDesc*> DtFom::myObjClassList [protected]
std::map<DtString, bool > DtFom::mySwitches [protected]

Order types names.

std::set<DtString> DtFom::myTimeTypes [protected]

Time type names.

std::set<DtString> DtFom::myTransportTypes [protected]

Transport types names.

std::set<DtString> DtFom::myUserDefinedTags [protected]

User defined tag names.


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

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)