6 #ifndef lgrFomWithRegions_H_
7 #define lgrFomWithRegions_H_
21 class DtLgrDimensionDesc;
36 virtual void addSpace(
const char* name);
40 virtual void addDimension(
const char* SpaceName,
const char* dimName);
44 virtual void addDimension(
const char* dimName,
unsigned long upperBound,
45 unsigned long defaultLowerBound,
unsigned long defaultUpperBound,
51 virtual void addInterClass(
const char* name,
52 const char* baseName, DtTransportType transport,
53 DtOrderType order,
const char* space=NULL);
56 virtual bool addInteractionDimension(
const char* interactionName,
57 const char* dimension);
62 virtual void addAttribute(
const char* className,
63 const char* attrName, DtTransportType transport,
64 DtOrderType order,
const char* space=NULL);
67 virtual bool addAttributeDimension(
const char* className,
68 const char* attrName,
const char* dimName);
73 virtual std::set<const DtLgrDimensionDesc *> attributeDimensionsByClassAndAttributeName(
74 const DtObjClassDesc &objClass,
const DtString &attrName)
const;
76 virtual std::set<const DtLgrDimensionDesc *> interactionDimensionsByClass(
77 const DtInterClassDesc &interClass)
const;
79 virtual const DtLgrSpaceDesc *spaceByName(
const DtString &spaceName)
const;
81 virtual const DtLgrSpaceDesc *attributeSpaceByClassAndAttributeName(
82 const DtObjClassDesc &objClass,
const DtString &attrName,
bool searchAncesestors=
false)
const;
84 virtual const DtLgrSpaceDesc *interactionSpaceByClass(
const DtInterClassDesc &interClass)
const;
101 std::map<DtString, DtLgrSpaceDesc *> mySpacesByName;
102 std::map<const DtObjClassDesc *, std::map<DtString, DtLgrSpaceDesc *> > myClassToAttrToSpace;
103 std::map<const DtInterClassDesc *, DtLgrSpaceDesc *> myInterClassToSpace;