14 #include <vlutil/vlFedTarget.h>
23 #include <mtl/xmlFedReader.h>
24 #include <mtl/fedTargetHelper.h>
26 #ifdef MAK_ENABLE_CRT_DEBUG
27 #include <vlutil/vlDebugCrt.h>
46 typedef std::vector<DtSpaceInfo> DtSpaceVector;
78 virtual void addSpace(
const char* name);
82 virtual void addDimension(
const char* spaceName,
const char* dimName);
85 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
86 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
87 bool excluded,
const MAKRti::DtString& normalization);
91 virtual bool addInteractionDimension(
const char* interactionName,
const char* dimension);
94 virtual bool addInteractionClass(
const char* name,
const char* baseName,
95 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
96 DtSharingType sharing,
const MAKRti::DtString& semantics,
97 const char* space=NULL);
99 virtual bool addInterClass(
const char* name,
const char* baseName,
100 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
101 const char* spaceName = NULL );
105 virtual bool addObjectDimension(
const char* objectClassName,
const char* dimension);
107 virtual bool addObjectClass(
const char* name,
const char* baseName,
108 DtSharingType sharing,
const MAKRti::DtString& semantics );
111 virtual bool addObjClass(
const char* name,
const char* baseName);
121 virtual void addParameter(
const char* className,
const char* paramName);
125 virtual void addParameter(
const char* className,
126 const char* paramName,
127 const char* semantics );
131 virtual bool addAttributeDimension(
const char* className,
132 const char* attributeName,
const char* dimName);
136 virtual void addAttribute(
const char* className,
const char* attrName,
137 MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharing,
138 DtFomUpdateType updateType,
const MAKRti::DtString& updateCondition,
139 DtOwnershipType ownershipType,
const MAKRti::DtString& semantics,
140 const char* spaceName=NULL );
142 virtual void addAttribute(
const char* className,
const char* attrName,
143 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
const char* spaceName=NULL );
149 const MAKRti::DtUpdateRateSetT & getUpdateRates()
const;
152 float updateRateByName(
const char * name);
156 int positionOfRate(
float rate)
const;
159 bool knownUpdateRate(
const MAKRti::DtString& rateName)
const;
162 virtual DtMergeFomStatus mergeObjectClasses( DtFedTarget
const& module );
173 virtual DtMergeFomStatus mergeInteractionClasses( DtFedTarget
const& module );
176 virtual DtMergeFomStatus mergeInteractionInfo(
DtInteractionClassInfo const & interInfo,
const char* spaceName,
183 virtual DtMergeFomStatus mergeSpaces( DtFedTarget
const& module );
186 virtual DtMergeFomStatus mergeDimensions( DtSpaceInfo
const& spaceInfo );
197 bool throwException=
true)
const;
201 virtual const char* className (
203 const char* defaultName =
"ObjectClassNotDefined")
const;
221 virtual int numClasses()
const;
224 virtual int firstFomObjectClassHandle();
227 virtual int lastFomObjectClassHandle();
231 virtual std::set<const DtObjectClassInfo*>& getObjectClassDifferences(
const DtFomClassMgr& otherFom,
232 std::set<const DtObjectClassInfo*>& diffSet)
const;
236 virtual std::set<const DtInteractionClassInfo*>& getInteractionClassDifferences(
const DtFomClassMgr& otherFom,
237 std::set<const DtInteractionClassInfo*>& diffSet)
const;
248 virtual DtSpaceHandle spaceHandle(
const char* theName,
bool throwException=
true)
const;
253 virtual const char* spaceName(
DtSpaceHandle theHandle,
bool throwException=
true)
const;
279 virtual DtSpaceInfo* spaceByName(
const char *name);
280 virtual const DtSpaceInfo* spaceByName(
const char *name)
const;
286 virtual const DtSpaceInfo* spaceByHandle(
DtSpaceHandle handle)
const;
290 virtual int numSpaces()
const;
322 const char* defaultName =
"InteractionClassNotDefined")
const;
325 virtual int numInteractions()
const;
328 virtual int firstFomInteractionClassHandle();
331 virtual int lastFomInteractionClassHandle();
345 bool throwException =
true);
349 virtual const char* paramName(
352 bool throwException =
true);
359 virtual void printDMSubscriptions();
369 virtual void prepareToRestore();
375 virtual void setExtend13and1516interop(
bool enable);
376 virtual bool extend13and1516interop()
const;
379 virtual void print()
const;
390 virtual void setConveyRegionDesignatorSets(
bool value);
392 virtual void addFedFileName(
const MAKRti::DtString & name);
393 virtual const MAKRti::DtNameVector& fedFiles()
const;
416 virtual void addSpaceSorted(
const char* nameValue );
418 virtual void addSpaceUnsorted(
const char* nameValue );
438 virtual bool resolveObjectDimensions(MAKRti::DtString& errorString,
bool& fomReadError);
439 virtual bool resolveAttributeDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
440 virtual bool resolveInteractionDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
441 virtual bool resolveAttributeTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
442 virtual bool resolveInteractionTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
443 virtual bool resolveObjectClasses(MAKRti::DtString & errorString,
bool& fomReadError);
444 virtual bool resolveInteractionClasses(MAKRti::DtString & errorString,
bool& fomReadError);
445 virtual bool resolveAttributes(MAKRti::DtString & errorString,
bool& fomReadError);
446 virtual bool resolveParameters(MAKRti::DtString & errorString,
bool& fomReadError);
447 virtual bool resolveDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
452 const MAKRti::DtString& attributeName,
456 virtual bool componentSortingIsActive()
const;
481 DtSpaceVector mySpaces;
DtObjectClassByNameMap myObjectsExcludeMomByName
Definition: fomMgr.h:471
DtObjectClassByHandleMap myObjectsByHandle
Object classes.
Definition: fomMgr.h:469
DtObjectClassByNameMap myObjectsByName
Definition: fomMgr.h:470
DtObjectClassByNameMap myObjectsMomByName
Definition: fomMgr.h:472
std::vector< DtAttrInfo > DtAttrVector
Definition: fomMgr.h:40
std::map< MAKRti::DtString, DtInteractionClassInfo * > DtInteractionClassByNameMap
Definition: fomMgr.h:464
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
const DtDimensionHandleStdSet myEmptyDimHandleSet
Definition: fomMgr.h:504
Definition: attrInfo.h:29
std::map< DtObjectClassHandle, DtObjectClassInfo * > DtObjectClassByHandleMap
Maintain classes as a list of pointers that are hierarchically linked.
Definition: fomMgr.h:461
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtInteractionClassByNameMap myInteractionsByName
Definition: fomMgr.h:476
bool myOverrideConveyRegions
RID file specifies to override the FOM convey regions switch.
Definition: fomMgr.h:502
static DtFomClassMgrCreator theCreator
Creator function creates instance of this class or subclass.
Definition: fomMgr.h:524
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
unsigned long myCrc
This is 0 by default.
Definition: fomMgr.h:399
DtInteractionClassByNameMap myInteractionsMomByName
Definition: fomMgr.h:478
DtFomClassMgr *(* DtFomClassMgrCreator)(DtRIDParameters *p)
Definition: fomMgr.h:42
bool myEnableComponentSorting
Indicates that FOM component sorting is enabled.
Definition: fomMgr.h:492
static const unsigned int theLastMomObjectHandle
Last class handle of MOM objects Block of handles up to this value are reserved for MOM object classe...
Definition: fomMgr.h:509
DtInteractionClassByHandleMap myInteractionsByHandle
Interaction classes.
Definition: fomMgr.h:475
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
bool my13and1516interop
Indicates that 13 and 1516 interoperability is enabled.
Definition: fomMgr.h:489
std::map< DtAttributeHandle, DtAttrInfo * > DtAttributeByHandleMap
Definition: attrInfo.h:232
MAKRti::DtNameVector myFedFiles
Definition: fomMgr.h:499
static const unsigned int theInteractionRootHandle
The interaction root handle This value is reserved for the root interaction class handle...
Definition: fomMgr.h:517
long DtSpaceHandle
Definition: internalTypes.h:42
static const unsigned int theLastMomInteractionHandle
Last class handle of MOM interactions Block of handles up to this value are reserved for MOM interact...
Definition: fomMgr.h:513
bool myMergingEnabled
Indicates if FOM Module Merging is enabled.
Definition: fomMgr.h:496
Definition: intClassInfo.h:40
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
static const unsigned int theObjectRootHandle
The object root handle This value is reserved for the root object class handle.
Definition: fomMgr.h:521
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveFile.h:21
DtInteractionClassByNameMap myInteractionsExcludeMomByName
Definition: fomMgr.h:477
Definition: objClassInfo.h:36
DtHandle DtParameterHandle
Definition: internalTypes.h:56
std::map< MAKRti::DtString, DtObjectClassInfo * > DtObjectClassByNameMap
Definition: fomMgr.h:462
std::map< DtParameterHandle, DtParamInfo * > DtParameterByHandleMap
Definition: paramInfo.h:94
std::map< DtInteractionClassHandle, DtInteractionClassInfo * > DtInteractionClassByHandleMap
Definition: fomMgr.h:463