11 #ifndef DtObjectRegSet_H_
12 #define DtObjectRegSet_H_
20 class DT_DLL_LRC DtObjectRegionSet :
public DtRegionSet
25 DtObjectRegionSet(
DtRegionHandle setHandleValue, DtRegionRealization* region);
27 virtual ~DtObjectRegionSet();
102 virtual const MAKRti::DtHashList& objectAssociations();
105 virtual const MAKRti::DtHashList& objectUnownedAssociations();
108 virtual void addOverlap(DtObjectRegionSet* regionSet);
114 virtual unsigned int overlapCount()
const;
117 virtual const DtRegionSetList& overlapList();
121 virtual void emptyOverlaps(MAKRti::DtList* overlapsRemoved=
NULL);
127 virtual void addMatch(DtObjectRegionSet* regionSet,
143 virtual void addMatchOverlap(DtObjectRegionSet* regionSet);
147 virtual bool isMatchOverlap(
DtRegionHandle regionSetHandle)
const;
150 virtual unsigned int matchCount()
const;
153 virtual unsigned int matchOverlapCount()
const;
156 virtual const DtRegionSetList& matchList();
159 virtual const MAKRti::DtHashList& attributeAssociations();
162 virtual DtRegAttrAssoc* attributeAssociation(
167 virtual void moveAttrToOverlap(
const DtObjectRegionSet& remoteRegSet)=0;
168 virtual void moveAttrToMatching(
const DtObjectRegionSet& remoteRegSet)=0;
173 virtual void emptyAttrs();
176 virtual void emptyMatches();
179 DtObjectRegionSet*
self()
const;
181 DtObjectRegionSet(DtObjectRegionSet
const & rhs);
182 DtObjectRegionSet &operator=(DtObjectRegionSet
const & rhs);
186 DtRegionSetList myOverlaps;
187 DtRegionSetList myMatches;
188 DtRegionSetList myMatchOverlaps;
189 MAKRti::DtHashList myObjectAssocs;
190 MAKRti::DtHashlist myAttrAssocs;
191 MAKRti::DtHashlist myUnownedAttrAssocs;
195 MAKRti::DtHashList myMatchedClasses;
198 inline DtObjectRegionSet* DtObjectRegionSet::self()
const
200 return const_cast<DtObjectRegionSet*
>( this );
203 inline const MAKRti::DtHashList& DtObjectRegionSet::objectAssociations()
205 return myObjectAssocs;
207 inline const MAKRti::DtHashList& DtObjectRegionSet::objectUnownedAssociations()
209 return myUnownedAttrAssocs;
212 inline const MAKRti::DtHashList& DtObjectRegionSet::attributeAssociations()
217 inline const DtRegionSetList& DtObjectRegionSet::overlapList()
222 inline const DtRegionSetList& DtObjectRegionSet::matchList()