51 DtFom(
const DtFom& orig);
58 const std::vector<std::wstring>& fomModules,
const DtString& mimModule,
59 bool strictCheckingEnabled,
bool useDTD,
bool dontParseSwitches );
63 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
64 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
68 virtual void addSpace(
const char* name);
72 virtual void addDimension(
const char* spaceName,
const char* dimName);
84 const char* baseName);
89 const char* paramName);
94 const char* dimension);
112 const DtString& semantics,
const char* spaceName=NULL);
117 const char*
attrName,
const char* dimName);
121 virtual DtDimensionDesc* dimensionByName(
const char* dimensionName)
const;
124 virtual DtDimensionDesc* dimensionByHandle( RTI::DimensionHandle dimensionHandle)
const;
127 virtual DtRoutingSpaceDesc* spaceByName(
const char *name)
const;
130 virtual DtRoutingSpaceDesc* spaceByHandle(RTI::SpaceHandle handle)
const;
133 virtual RTI::DimensionHandle dimensionHandle(
const char* spaceName,
const char* dimensionName)
const;
136 virtual const DtString& dimensionName(
const char* spaceName, RTI::DimensionHandle dimHandle)
const;
140 virtual DtInterClassDesc* interClassByName(
const char *name)
const;
143 virtual DtObjClassDesc* objClassByName(
const char *name)
const;
146 virtual DtInterClassDesc* interClassByHandle(
147 RTI::InteractionClassHandle handle)
const;
150 virtual DtObjClassDesc* objClassByHandle(
151 RTI::ObjectClassHandle handle)
const;
158 virtual const std::list<DtInterClassDesc*>& interClassList()
const;
159 virtual const std::list<DtObjClassDesc*>& objClassList()
const;
166 virtual DtObjClassDesc* firstObjClass()
const;
167 virtual DtObjClassDesc* lastObjClass()
const;
168 virtual DtObjClassDesc* nextObjClass(DtObjClassDesc* current)
const;
174 virtual DtInterClassDesc* firstInterClass()
const;
175 virtual DtInterClassDesc* lastInterClass()
const;
176 virtual DtInterClassDesc* nextInterClass(DtInterClassDesc* current)
const;
180 virtual DtVrlRtiAmbassador* rtiAmb()
const;
183 virtual void print()
const;
188 int minObjClassHandle()
const;
189 int maxObjClassHandle()
const;
190 int minInterClassHandle()
const;
191 int maxInterClassHandle()
const;
195 int numObjClasses()
const;
196 int numInterClasses()
const;
215 static void setFomCreator(DtFomCreator);
225 static void setIntersection(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
226 RTI::AttributeHandleSet& destinationSet);
229 static void setUnion(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
230 RTI::AttributeHandleSet& destinationSet);
233 static void setDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
234 RTI::AttributeHandleSet& destinationSet);
237 static void setSymmetricDifference(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2,
238 RTI::AttributeHandleSet& destinationSet);
242 static bool setsEqual(
const RTI::AttributeHandleSet& set1,
const RTI::AttributeHandleSet& set2);
245 static void setInsert(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
248 static void setInsert(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
251 static void setRemove(RTI::AttributeHandleSet& handleSet,
const RTI::AttributeHandle& handle);
254 static void setRemove(RTI::AttributeHandleSet& destinationSet,
const RTI::AttributeHandleSet& sourceSet);
257 static void setClear(RTI::AttributeHandleSet& handleSet);
267 std::map<DtString, DtDimensionDesc*> myDimensionsByName;
269 std::map<DtString, DtRoutingSpaceDesc*> myRoutingSpacesByName;
271 std::map<DtString, DtInterClassDesc*> myInterClassesByName;
272 std::map<DtString, DtObjClassDesc*> myObjClassesByName;
277 std::map<std::wstring, DtDimensionDesc*> myDimensionsByHandle;
278 std::map<std::wstring, DtInterClassDesc*> myInterClassesByHandle;
279 std::map<std::wstring, DtObjClassDesc*> myObjClassesByHandle;
281 std::map<RTI::SpaceHandle, DtRoutingSpaceDesc*> myRoutingSpacesByHandle;
282 std::map<int, DtInterClassDesc*> myInterClassesByHandle;
283 std::map<int, DtObjClassDesc*> myObjClassesByHandle;
288 std::list<DtDimensionDesc*> myDimensionList;
290 std::list<DtRoutingSpaceDesc*> myRoutingSpaceList;
292 std::list<DtObjClassDesc*> myObjClassList;
293 std::list<DtInterClassDesc*> myInterClassList;
305 std::set<DtString> myFailedObjClasses;
306 std::set<DtString> myFailedInterClasses;
309 static DtFomCreator theCreatorFunction;
319 virtual bool resolveAttributeDimensions();
323 inline DtVrlRtiAmbassador* DtFom::rtiAmb()
const
325 return myExConn->rtiAmb();