VR-Link API Documentation for HLA 1516
List of all members | 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:

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 DtVrlRtiAmbassadorrtiAmb () const
 Returns our RTI ambassador.
virtual void print () const
 Prints the contents of the FOM.
int numObjClasses () const
 Returns number of object or interaction classes in the FOM.
int numInterClasses () const
- Public Member Functions inherited from DtFedTarget
 DtFedTarget ()
 Constructor.
virtual ~DtFedTarget ()
 Destructor.
 DtFedTarget (const DtFedTarget &orig)
 copy constructor
DtFedTargetoperator= (const DtFedTarget &orig)
 assignment operator
virtual void setFomType (DtFomType type)
 Set/Get the FOM type.
virtual DtFomType fomType ()
virtual bool autoProvide () const
 switches
virtual void setAutoProvide (bool value)
virtual bool conveyRegionDesignatorSets () const
 Set/Get convey region designator sets switch.
virtual void setConveyRegionDesignatorSets (bool value)
virtual bool conveyProducingFederate () const
 Set/Get convey producing federate switch.
virtual void setConveyProducingFederate (bool value)
virtual bool attributeScopeAdvisory () const
 Set/Get attribute scople advisory switch.
virtual void setAttributeScopeAdvisory (bool value)
virtual bool attributeRelevanceAdvisory () const
 Set/Get attribute relevance advisory switch.
virtual void setAttributeRelevanceAdvisory (bool value)
virtual bool objectClassRelevanceAdvisory () const
 Set/Get object class relevance advisory switch.
virtual void setObjectClassRelevanceAdvisory (bool value)
virtual bool interactionRelevanceAdvisory () const
 Set/Get ineraction relevance advisory switch.
virtual void setInteractionRelevanceAdvisory (bool value)
virtual bool serviceReporting () const
 Set/Get service reporting switch.
virtual void setServiceReporting (bool value)
virtual bool exceptionReporting () const
 Set/Get exception reporting switch.
virtual void setExceptionReporting (bool value)
virtual bool delaySubscriptionEvaluation () const
 Set/Get delay subscription evaluation switch.
virtual void setDelaySubscriptionEvaluation (bool value)
virtual DtResignAction automaticResignAction () const
 Set/Get Automatic Resign Action switch.
virtual void setAutomaticResignAction (DtResignAction value)
virtual bool knownUpdateRate (const DtString updateRateName) const
 Is the specified updateRate specified.
virtual void addUpdateRate (const DtString updateRateName, float rate)
 Add an updateRate from the FOM.
DtString updateRateNameByHandle (unsigned long handle)
 Get the update Rate Name associated with this handle.

Static Public Member Functions

static void setFomCreator (DtFomCreator)
 set creator function
static DtFomcreate (DtExerciseConn *exConn)
- Static Public Member Functions inherited from DtFedTarget
static void setDefaultAutoProvide (bool onOff)
 Set/Get the default auto provide.
static bool defaultAutoProvide ()
static void setDefaultConveyRegionDesignatorSets (bool onOff)
 Set/Get the default convey region.
static bool defaultConveyRegionDesignatorSets ()
static void setDefaultConveyProducingFederate (bool onOff)
 Set/Get the default convey producing federate.
static bool defaultConveyProducingFederate ()
static void setDefaultObjectClassRelevanceAdvisory (bool onOff)
 Set/Get the default class relevance advisory.
static bool defaultObjectClassRelevanceAdvisory ()
static void setDefaultAttributeRelevanceAdvisory (bool onOff)
 Set/Get the default attribute relevance advisory.
static bool defaultAttributeRelevanceAdvisory ()
static void setDefaultAttributeScopeAdvisory (bool onOff)
 Set/Get the default attribute scope advisory.
static bool defaultAttributeScopeAdvisory ()
static void setDefaultInteractionRelevanceAdvisory (bool onOff)
 Set/Get the default interaction relevance advisory.
static bool defaultInteractionRelevanceAdvisory ()
static void setDefaultServiceReporting (bool onOff)
 Set/Get the default service reporting.
static bool defaultServiceReporting ()
static void setDefaultExceptionReporting (bool onOff)
 set/get the default exception reporting
static bool defaultExceptionReporting ()
static void setDefaultAutomaticResignAction (DtResignAction val)
 set/get the automatic resign action
static DtResignAction defaultAutomaticResignAction ()

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< std::wstring,
DtInterClassDesc * > 
myInterClassesByHandle
 Hash lists that map class handles (DtIntHashKeys) to DtObjClassDesc pointers.
std::map< std::wstring,
DtObjClassDesc * > 
myObjClassesByHandle
std::list< DtObjClassDesc * > myObjClassList
std::list< DtInterClassDesc * > myInterClassList
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
- Protected Attributes inherited from DtFedTarget
bool myAutoProvide
bool myConveyRegionDesignatorSets
bool myConveyProducingFederate
bool myAttributeScopeAdvisory
bool myAttributeRelevanceAdvisory
bool myObjectClassRelevanceAdvisory
bool myInteractionRelevanceAdvisory
bool myServiceReporting
bool myExceptionReporting
bool myDelaySubscriptionEvaluation
DtResignAction myAutomaticResignAction
DtFomType myFomType
std::vector< float > myUpdateRates
 Index of update rates.
DtUpdateRateHandleByNameMap myUpdateRateHandleByName
 Map from update rate name to handle.
DtUpdateRateNameByHandleMap myUpdateRateNameByHandle
 Map from update rate handle to name.

Static Protected Attributes

static DtFomCreator theCreatorFunction
- Static Protected Attributes inherited from DtFedTarget
static bool theDefaultAutoProvide
static bool theDefaultConveyRegionDesignatorSets
static bool theDefaultConveyProducingFederate
static bool theDefaultObjectClassRelevanceAdvisory
static bool theDefaultAttributeRelevanceAdvisory
static bool theDefaultAttributeScopeAdvisory
static bool theDefaultInteractionRelevanceAdvisory
static bool theDefaultServiceReporting
static bool theDefaultExceptionReporting
static DtResignAction theDefaultAutomaticResignAction

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

DtFom::DtFom ( DtExerciseConn exConn)

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  )
protectedvirtual

Add a timeType from the FOM.

static DtFom* DtFom::create ( DtExerciseConn exConn)
static
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
protectedvirtual

Is this time Type present.

virtual bool DtFom::knownTransportType ( const DtString  ) const
protectedvirtual

Is this transport Type already known.

virtual bool DtFom::knownUserDefinedTag ( const DtString  ) const
protectedvirtual

Is this userDefined tag present.

virtual DtMergeFomStatus DtFom::mergeIntClassDesc ( const DtInterClassDesc desc)
protectedvirtual

Merge the contents of the InteractionClassDescription with this.

virtual DtMergeFomStatus DtFom::mergeInteractionClasses ( const DtFom module)
protectedvirtual

Merge the contents of the specified interactionClasses with this.

virtual DtMergeFomStatus DtFom::mergeObjClassDesc ( const DtObjClassDesc desc)
protectedvirtual

Merge the contents of the objClassDesc with this.

virtual DtMergeFomStatus DtFom::mergeObjectClasses ( const DtFom module)
protectedvirtual

Merge the object classes of the specified FomMgr with this.

virtual DtMergeFomStatus DtFom::mergeSpaces ( const DtFom module)
protectedvirtual

Merge the given routing spaces with this.

virtual DtMergeFomStatus DtFom::mergeSwitches ( const DtFom module)
protectedvirtual

Merge the given switches with this.

virtual DtMergeFomStatus DtFom::mergeTarget ( const DtFom module)
protectedvirtual

Merge the contents of the specified target with this.

virtual DtMergeFomStatus DtFom::mergeUpdateRates ( const DtFom module)
protectedvirtual

Merge the given update rates with this.

int DtFom::numInterClasses ( ) const
int DtFom::numObjClasses ( ) const

Returns number of object or interaction classes in the FOM.

virtual unsigned int DtFom::numTimeTypes ( ) const
protectedvirtual

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
inlinevirtual

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
protectedvirtual

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

virtual bool DtFom::timeTypesSame ( const DtFom module) const
protectedvirtual

Check that module's time match mine.

virtual bool DtFom::transportTypesSame ( DtFom const &  module) const
protectedvirtual

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

virtual bool DtFom::updateRatesSame ( const DtFom module) const
protectedvirtual

Check that update rates match mine.

virtual bool DtFom::userDefinedTagsSame ( const DtFom module) const
protectedvirtual

Check that user defined tags match mine.

Member Data Documentation

DtExerciseConn* DtFom::myExConn
protected

Referenced by rtiAmb().

std::set<DtString> DtFom::myFailedInterClasses
protected
std::set<DtString> DtFom::myFailedObjClasses
protected
std::map<std::wstring, DtInterClassDesc*> DtFom::myInterClassesByHandle
protected

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

std::map<DtString, DtInterClassDesc*> DtFom::myInterClassesByName
protected

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

std::list<DtInterClassDesc*> DtFom::myInterClassList
protected
DtString DtFom::myInterRootName
protected
std::map<std::wstring, DtObjClassDesc*> DtFom::myObjClassesByHandle
protected
std::map<DtString, DtObjClassDesc*> DtFom::myObjClassesByName
protected
std::list<DtObjClassDesc*> DtFom::myObjClassList
protected
DtString DtFom::myObjRootName
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.

DtFomCreator DtFom::theCreatorFunction
staticprotected

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

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)