12 #ifndef DtFomClassMgr_H_
13 #define DtFomClassMgr_H_
15 #include <vlutil/vlFedTarget.h>
25 #include <mtl/xmlFedReader.h>
43 typedef std::vector<DtSpaceInfo> DtSpaceVector;
73 virtual void addSpace(
const char* name);
77 virtual void addDimension(
const char* spaceName,
const char* dimName);
80 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
81 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
86 virtual bool addInteractionDimension(
const char* interactionName,
87 const char* dimension);
90 virtual void addInterClass(
const char* name,
const char* baseName,
93 const char* space=
NULL);
95 void addInterClass(
const char* name,
const char* baseName,
97 const char* spaceName =
NULL );
99 void addObjClass(
const char* name,
const char* baseName,
103 virtual void addObjClass(
const char* name,
const char* baseName);
105 virtual void addParameter(
const char* className,
const char* paramName );
109 virtual void addParameter(
const char* className,
110 const char* paramName,
111 const char* semantics );
115 virtual bool addAttributeDimension(
const char* className,
116 const char* attrName,
const char* dimName);
120 virtual void addAttribute(
const char* className,
const char* attrName,
124 const char* spaceName=
NULL );
126 virtual void addAttribute(
const char* className,
const char* attrName,
133 const MAKRti::DtUpdateRateSetT & getUpdateRates()
const;
136 float updateRateByName(
const char * name);
140 int positionOfRate(
float rate)
const;
143 bool knownUpdateRate(
const MAKRti::DtString& rateName)
const;
161 const char* spaceName = 0);
184 bool throwException=
true);
188 virtual const char* className (
190 bool throwException=
true);
196 bool throwException=
true);
200 virtual const char* attrName (
203 bool throwException=
true);
219 virtual int numClasses()
const;
235 bool throwException=
true)
const;
239 virtual const char* spaceName (
241 bool throwException=
true)
const;
247 bool throwException=
true)
const;
251 virtual const char* dimName (
254 bool throwException=
true)
const;
257 virtual unsigned long dimUpperBound(
260 bool throwException=
true);
268 getAvailableDimensionsForInteractionClass(
272 virtual DtSpaceInfo* spaceByName(
const char *name);
273 virtual const DtSpaceInfo* spaceByName(
const char *name)
const;
277 virtual const DtSpaceInfo* spaceByHandle(
DtSpaceHandle handle)
const;
280 virtual int numSpaces()
const;
301 bool throwException=
true);
305 virtual const char* interactionName (
307 bool throwException=
true);
313 bool throwException=
true);
317 virtual const char* paramName (
320 bool throwException=
true);
323 virtual int numInteractions()
const;
339 virtual void printDMSubscriptions();
349 virtual void prepareToRestore();
355 virtual void setExtend13and1516interop(
bool enable);
359 virtual void print()
const;
371 virtual void setConveyRegionDesignatorSets(
bool value);
396 virtual void addSpaceSorted(
const char* nameValue );
397 virtual void addSpaceUnsorted(
const char* nameValue );
405 const MAKRti::DtString& semantics );
421 bool objectClassPresent(
const char* name,
422 unsigned int startIndex = 0,
423 unsigned int endIndex = 0 )
const;
425 bool attrPresent(
const char *name,
427 unsigned int startIndex = 0,
428 unsigned int endIndex = 0 )
const;
430 bool interactionClassPresent(
const char* name,
431 unsigned int startIndex = 0,
432 unsigned int endIndex = 0 )
const;
435 unsigned int objectClassPosition(
const char* name,
436 unsigned int startIndex = 0,
437 unsigned int endIndex = 0 )
const;
439 unsigned int interactionClassPosition(
const char* name,
440 unsigned int startIndex = 0,
441 unsigned int endIndex = 0 )
const;
443 bool resolveAttributeDimensions(MAKRti::DtString & errorString);
444 bool resolveInteractionDimensions(MAKRti::DtString & errorString);
445 bool resolveObjectClasses(MAKRti::DtString & errorString);
446 bool resolveInteractionClasses(MAKRti::DtString & errorString);
447 bool resolveAttributes(MAKRti::DtString & errorString);
448 bool resolveParameters(MAKRti::DtString & errorString);
449 bool resolveDimensions(MAKRti::DtString & errorString);
467 DtSpaceVector mySpaces;