11 #ifndef DtObjectRegSet_H_
12 #define DtObjectRegSet_H_
21 typedef std::map<DtObjectInstanceHandle, DtRegObjAttr*> DtRegionObjAttrByObjInstanceHandleMap;
22 typedef std::map<DtObjectClassHandle, DtRegAttrAssoc*> DtRegionAttrAssocByObjClassHandleMap;
23 typedef std::map<DtObjectInstanceHandle, DtAttributeHandleSet*> DtAttrHandleSetByObjInstanceHandleMap;
25 class DT_DLL_LRC DtObjectRegionSet :
public DtRegionSet
30 DtObjectRegionSet(
DtRegionHandle setHandleValue, DtRegionRealization* region);
32 virtual ~DtObjectRegionSet();
107 virtual const DtRegionObjAttrByObjInstanceHandleMap& objectAssociations();
110 virtual const DtAttrHandleSetByObjInstanceHandleMap& objectUnownedAssociations();
113 virtual void addOverlap(DtObjectRegionSet* regionSet);
119 virtual unsigned int overlapCount()
const;
122 virtual const DtRegionSetList& overlapList();
126 virtual void emptyOverlaps(MAKRti::DtList* overlapsRemoved=NULL);
132 virtual void addMatch(DtObjectRegionSet* regionSet,
148 virtual void addMatchOverlap(DtObjectRegionSet* regionSet);
152 virtual bool isMatchOverlap(
DtRegionHandle regionSetHandle)
const;
155 virtual unsigned int matchCount()
const;
158 virtual unsigned int matchOverlapCount()
const;
161 virtual const DtRegionSetList& matchList();
164 virtual const DtRegionAttrAssocByObjClassHandleMap& attributeAssociations();
167 virtual DtRegAttrAssoc* attributeAssociation(
172 virtual void moveAttrToOverlap(
const DtObjectRegionSet& remoteRegSet)=0;
173 virtual void moveAttrToMatching(
const DtObjectRegionSet& remoteRegSet)=0;
178 virtual void emptyAttrs();
181 virtual void emptyMatches();
184 DtObjectRegionSet*
self()
const;
186 DtObjectRegionSet(DtObjectRegionSet
const & rhs);
187 DtObjectRegionSet &operator=(DtObjectRegionSet
const & rhs);
191 DtRegionSetList myOverlaps;
192 DtRegionSetList myMatches;
193 DtRegionSetList myMatchOverlaps;
194 DtRegionObjAttrByObjInstanceHandleMap myObjectAssocs;
195 DtRegionAttrAssocByObjClassHandleMap myAttrAssocs;
196 DtAttrHandleSetByObjInstanceHandleMap myUnownedAttrAssocs;
200 MAKRti::DtHashList myMatchedClasses;
203 inline DtObjectRegionSet* DtObjectRegionSet::self()
const
205 return const_cast<DtObjectRegionSet*
>( this );
208 inline const DtRegionObjAttrByObjInstanceHandleMap& DtObjectRegionSet::objectAssociations()
210 return myObjectAssocs;
212 inline const DtAttrHandleSetByObjInstanceHandleMap& DtObjectRegionSet::objectUnownedAssociations()
214 return myUnownedAttrAssocs;
217 inline const DtRegionAttrAssocByObjClassHandleMap& DtObjectRegionSet::attributeAssociations()
222 inline const DtRegionSetList& DtObjectRegionSet::overlapList()
227 inline const DtRegionSetList& DtObjectRegionSet::matchList()
DtHandle DtRegionHandle
Definition: internalTypes.h:44
DtHandle DtObjectClassHandle
Definition: internalTypes.h:31
Definition: attrHandSet.h:37
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:33
DtHandle DtAttributeHandle
Definition: internalTypes.h:37
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: objClassInfo.h:37