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;
82 virtual void addSpace(
const char* name);
86 virtual void addDimension(
const char* spaceName,
const char* dimName);
89 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
90 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
91 bool excluded,
const MAKRti::DtString& normalization);
95 virtual bool addInteractionDimension(
const char* interactionName,
const char* dimension);
98 virtual bool addInteractionClass(
const char* name,
const char* baseName,
99 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
100 DtSharingType sharing,
const MAKRti::DtString& semantics,
101 const char* space=NULL);
103 virtual bool addInterClass(
const char* name,
const char* baseName,
104 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
105 const char* spaceName = NULL );
109 virtual bool addObjectDimension(
const char* objectClassName,
const char* dimension);
113 bool addDirectedInteraction(
const char* objectClassName,
const char* interactionClassName)
override;
115 virtual bool addObjectClass(
const char* name,
const char* baseName,
116 DtSharingType sharing,
const MAKRti::DtString& semantics );
119 virtual bool addObjClass(
const char* name,
const char* baseName);
129 virtual void addParameter(
const char* className,
const char* paramName);
133 virtual void addParameter(
const char* className,
134 const char* paramName,
135 const char* semantics );
139 virtual bool addAttributeDimension(
const char* className,
140 const char* attributeName,
const char* dimName);
144 virtual void addAttribute(
const char* className,
const char* attrName,
145 MAKRti::DtTransportType transport, MAKRti::DtOrderType order, DtSharingType sharing,
146 DtFomUpdateType updateType,
const MAKRti::DtString& updateCondition,
147 DtOwnershipType ownershipType,
const MAKRti::DtString& semantics,
148 const char* spaceName=NULL );
150 virtual void addAttribute(
const char* className,
const char* attrName,
151 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
const char* spaceName=NULL );
157 const MAKRti::DtUpdateRateSetT & getUpdateRates()
const;
160 float updateRateByName(
const char * name);
164 int positionOfRate(
float rate)
const;
167 bool knownUpdateRate(
const MAKRti::DtString& rateName)
const;
170 virtual DtMergeFomStatus mergeObjectClasses( DtFedTarget
const& module );
181 virtual DtMergeFomStatus mergeInteractionClasses( DtFedTarget
const& module );
184 virtual DtMergeFomStatus mergeInteractionInfo(
DtInteractionClassInfo const & interInfo,
const char* spaceName,
191 virtual DtMergeFomStatus mergeSpaces( DtFedTarget
const& module );
194 virtual DtMergeFomStatus mergeDimensions( DtSpaceInfo
const& spaceInfo );
205 bool throwException=
true)
const;
209 virtual const char* className (
211 const char* defaultName =
"ObjectClassNotDefined")
const;
238 virtual int numClasses()
const;
241 virtual int firstFomObjectClassHandle();
244 virtual int lastFomObjectClassHandle();
248 virtual std::set<const DtObjectClassInfo*>& getObjectClassDifferences(
const DtFomClassMgr& otherFom,
249 std::set<const DtObjectClassInfo*>& diffSet)
const;
253 virtual std::set<const DtInteractionClassInfo*>& getInteractionClassDifferences(
const DtFomClassMgr& otherFom,
254 std::set<const DtInteractionClassInfo*>& diffSet)
const;
265 virtual DtSpaceHandle spaceHandle(
const char* theName,
bool throwException=
true)
const;
270 virtual const char* spaceName(
DtSpaceHandle theHandle,
bool throwException=
true)
const;
296 virtual DtSpaceInfo* spaceByName(
const char *name);
297 virtual const DtSpaceInfo* spaceByName(
const char *name)
const;
303 virtual const DtSpaceInfo* spaceByHandle(
DtSpaceHandle handle)
const;
307 virtual int numSpaces()
const;
342 const char* defaultName =
"InteractionClassNotDefined")
const;
345 virtual int numInteractions()
const;
348 virtual int firstFomInteractionClassHandle()
const;
351 virtual int lastFomInteractionClassHandle()
const;
365 bool throwException =
true);
369 virtual const char* paramName(
372 bool throwException =
true);
379 virtual void printDMSubscriptions();
389 virtual void prepareToRestore();
395 virtual void setExtend13and1516interop(
bool enable);
396 virtual bool extend13and1516interop()
const;
399 virtual void print()
const;
410 virtual void setConveyRegionDesignatorSets(
bool value);
412 virtual void addFedFileName(
const MAKRti::DtString & name);
413 virtual const MAKRti::DtNameVector& fedFiles()
const;
436 virtual void addSpaceSorted(
const char* nameValue );
438 virtual void addSpaceUnsorted(
const char* nameValue );
458 virtual bool resolveObjectDimensions(MAKRti::DtString& errorString,
bool& fomReadError);
459 virtual bool resolveDirectedInteractions(MAKRti::DtString& errorString,
bool& fomReadError);
460 virtual bool resolveAttributeDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
461 virtual bool resolveInteractionDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
462 virtual bool resolveAttributeTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
463 virtual bool resolveInteractionTransportations(MAKRti::DtString & errorString,
bool& fomReadError);
464 virtual bool resolveObjectClasses(MAKRti::DtString & errorString,
bool& fomReadError);
465 virtual bool resolveInteractionClasses(MAKRti::DtString & errorString,
bool& fomReadError);
466 virtual bool resolveAttributes(MAKRti::DtString & errorString,
bool& fomReadError);
467 virtual bool resolveParameters(MAKRti::DtString & errorString,
bool& fomReadError);
468 virtual bool resolveDimensions(MAKRti::DtString & errorString,
bool& fomReadError);
473 const MAKRti::DtString& attributeName,
477 virtual bool componentSortingIsActive()
const;
500 DtSpaceVector mySpaces;
DtObjectClassByNameMap myObjectsExcludeMomByName
Definition: fomMgr.h:490
DtObjectClassByHandleMap myObjectsByHandle
Object classes.
Definition: fomMgr.h:488
DtObjectClassByNameMap myObjectsByName
Definition: fomMgr.h:489
DtObjectClassByNameMap myObjectsMomByName
Definition: fomMgr.h:491
std::vector< DtAttrInfo > DtAttrVector
Definition: fomMgr.h:40
std::map< MAKRti::DtString, DtInteractionClassInfo * > DtInteractionClassByNameMap
Definition: fomMgr.h:483
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:523
Definition: attrInfo.h:29
std::map< DtObjectClassHandle, DtObjectClassInfo * > DtObjectClassByHandleMap
Definition: fomMgr.h:52
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtInteractionClassByNameMap myInteractionsByName
Definition: fomMgr.h:495
bool myOverrideConveyRegions
RID file specifies to override the FOM convey regions switch.
Definition: fomMgr.h:521
static DtFomClassMgrCreator theCreator
Creator function creates instance of this class or subclass.
Definition: fomMgr.h:543
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
unsigned long myCrc
This is 0 by default.
Definition: fomMgr.h:419
DtInteractionClassByNameMap myInteractionsMomByName
Definition: fomMgr.h:497
DtFomClassMgr *(* DtFomClassMgrCreator)(DtRIDParameters *p)
Definition: fomMgr.h:42
bool myEnableComponentSorting
Indicates that FOM component sorting is enabled.
Definition: fomMgr.h:511
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:528
DtInteractionClassByHandleMap myInteractionsByHandle
Interaction classes.
Definition: fomMgr.h:494
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
bool my13and1516interop
Indicates that 13 and 1516 interoperability is enabled.
Definition: fomMgr.h:508
std::map< DtAttributeHandle, DtAttrInfo * > DtAttributeByHandleMap
Definition: attrInfo.h:232
MAKRti::DtNameVector myFedFiles
Definition: fomMgr.h:518
static const unsigned int theInteractionRootHandle
The interaction root handle This value is reserved for the root interaction class handle...
Definition: fomMgr.h:536
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:532
bool myMergingEnabled
Indicates if FOM Module Merging is enabled.
Definition: fomMgr.h:515
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:540
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveFile.h:21
DtInteractionClassByNameMap myInteractionsExcludeMomByName
Definition: fomMgr.h:496
Definition: objClassInfo.h:36
DtHandle DtParameterHandle
Definition: internalTypes.h:56
std::map< MAKRti::DtString, DtObjectClassInfo * > DtObjectClassByNameMap
Maintain classes as a list of pointers that are hierarchically linked.
Definition: fomMgr.h:482
std::map< DtParameterHandle, DtParamInfo * > DtParameterByHandleMap
Definition: paramInfo.h:94
std::map< DtInteractionClassHandle, DtInteractionClassInfo * > DtInteractionClassByHandleMap
Definition: fomMgr.h:53