MAK RTIspy API Documentation for HLA 1.3
objRegSet.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: objRegSet.h,v $ $Revision: 1.20 $ $State: Exp $
7 *********************************************************************/
10 
11 #ifndef DtObjectRegSet_H_
12 #define DtObjectRegSet_H_
13 #ifdef DDM
14 
15 #include "regionSet.h"
16 #include "attrHandSet.h"
17 
18 class DtRegAttrAssoc;
19 
20 class DT_DLL_LRC DtObjectRegionSet : public DtRegionSet
21 {
22 public:
23 
24  DtObjectRegionSet();
25  DtObjectRegionSet(DtRegionHandle setHandleValue, DtRegionRealization* region);
26 
27  virtual ~DtObjectRegionSet();
28 
30  virtual bool inUse();
31 
33  virtual void addAttribute(DtObjectClassInfo* classDesc,
34  DtAttributeHandle attrHandle);
35  virtual void removeAttribute(DtObjectClassHandle classHandle,
36  DtAttributeHandle attrHandle);
37 
39  virtual void addAttribute(DtObjectInstanceHandle objectHandle,
40  const char* objName, DtObjectClassInfo* classDesc,
41  DtAttributeHandle attrHandle);
42  virtual void removeAttribute(DtObjectInstanceHandle objectHandle,
43  DtObjectClassInfo* classDesc, DtAttributeHandle attrHandle);
44 
46  virtual void addUnownedAttribute(DtObjectInstanceHandle objectHandle,
47  DtAttributeHandle attrHandle);
48  virtual void removeUnownedAttribute(DtObjectInstanceHandle objectHandle,
49  DtAttributeHandle attrHandle);
50 
52  virtual void addAttributes(DtObjectClassInfo* classDesc,
53  const DtAttributeHandleSet& attrSet);
54  virtual void removeAttributes(DtObjectClassHandle classHandle,
55  const DtAttributeHandleSet& attrSet);
56 
58  virtual void addAttributes(DtObjectInstanceHandle objectHandle,
59  const char* objName, DtObjectClassInfo* classDesc,
60  const DtAttributeHandleSet& attrSet);
61  virtual void removeAttributes(DtObjectInstanceHandle objectHandle,
62  DtObjectClassInfo* classDesc, const DtAttributeHandleSet& attrSet);
63 
65  virtual void addUnownedAttributes(DtObjectInstanceHandle objectHandle,
66  const DtAttributeHandleSet& attrSet);
67  virtual void removeUnownedAttributes(DtObjectInstanceHandle objectHandle,
68  const DtAttributeHandleSet& attrSet);
69 
71  virtual DtAttributeHandleSet* attributes(DtObjectClassHandle classHandle);
73  virtual const DtAttributeHandleSet* attributes(
74  DtObjectClassHandle classHandle) const;
75 
78  virtual bool attributesOf(DtObjectClassHandle classHandle,
79  DtAttributeHandleSet& attributes) const;
80 
84  virtual bool attributesMatching(DtObjectClassInfo const& classInfo,
85  DtAttributeHandleSet& attributes) const;
86 
88  virtual bool isMemberAttributes(DtObjectClassHandle classHandle,
89  DtAttributeHandle attrHandle) const;
90 
92  virtual const DtAttributeHandleSet* objectAttributes(DtObjectInstanceHandle objectHandle);
93 
95  virtual const DtAttributeHandleSet* objectUnownedAttributes(
96  DtObjectInstanceHandle objectHandle);
97 
99  virtual bool isMemberObject(DtObjectInstanceHandle objectHandle);
100 
102  virtual const MAKRti::DtHashList& objectAssociations();
103 
105  virtual const MAKRti::DtHashList& objectUnownedAssociations();
106 
108  virtual void addOverlap(DtObjectRegionSet* regionSet);
109 
111  virtual void removeOverlap(DtRegionHandle regionSetHandle);
112 
114  virtual unsigned int overlapCount() const;
115 
117  virtual const DtRegionSetList& overlapList();
118 
121  virtual void emptyOverlaps(MAKRti::DtList* overlapsRemoved=NULL);
122 
124  virtual bool isOverlap(DtRegionHandle regionSetHandle) const;
125 
127  virtual void addMatch(DtObjectRegionSet* regionSet,
128  DtObjectClassHandle classHandle);
129  virtual void removeMatch(DtRegionHandle regionSetHandle,
130  DtObjectClassHandle classHandle);
131 
133  virtual void removeMatches(DtRegionHandle regionSetHandle);
134 
136  virtual bool isMatch(DtRegionHandle regSetHandle) const;
137 
139  virtual bool isMatchedClass(DtRegionHandle regionSetHandle,
140  DtObjectClassHandle classHandle);
141 
143  virtual void addMatchOverlap(DtObjectRegionSet* regionSet);
144  virtual void removeMatchOverlap(DtRegionHandle regionSetHandle);
145 
147  virtual bool isMatchOverlap(DtRegionHandle regionSetHandle) const;
148 
150  virtual unsigned int matchCount() const;
151 
153  virtual unsigned int matchOverlapCount() const;
154 
156  virtual const DtRegionSetList& matchList();
157 
159  virtual const MAKRti::DtHashList& attributeAssociations();
160 
162  virtual DtRegAttrAssoc* attributeAssociation(
163  DtObjectClassHandle classHandle);
164 
167  virtual void moveAttrToOverlap(const DtObjectRegionSet& remoteRegSet)=0;
168  virtual void moveAttrToMatching(const DtObjectRegionSet& remoteRegSet)=0;
169 
170 protected:
171 
173  virtual void emptyAttrs();
174 
176  virtual void emptyMatches();
177 
179  DtObjectRegionSet* self() const;
180 
181  DtObjectRegionSet(DtObjectRegionSet const & rhs);
182  DtObjectRegionSet &operator=(DtObjectRegionSet const & rhs);
183 
184 protected:
185 
186  DtRegionSetList myOverlaps;
187  DtRegionSetList myMatches;
188  DtRegionSetList myMatchOverlaps;
189  MAKRti::DtHashList myObjectAssocs;
190  MAKRti::DtHashlist myAttrAssocs;
191  MAKRti::DtHashlist myUnownedAttrAssocs;
192 
195  MAKRti::DtHashList myMatchedClasses;
196 };
197 
198 inline DtObjectRegionSet* DtObjectRegionSet::self() const
199 {
200  return const_cast<DtObjectRegionSet*>( this );
201 }
202 
203 inline const MAKRti::DtHashList& DtObjectRegionSet::objectAssociations()
204 {
205  return myObjectAssocs;
206 }
207 inline const MAKRti::DtHashList& DtObjectRegionSet::objectUnownedAssociations()
208 {
209  return myUnownedAttrAssocs;
210 }
211 
212 inline const MAKRti::DtHashList& DtObjectRegionSet::attributeAssociations()
213 {
214  return myAttrAssocs;
215 }
216 
217 inline const DtRegionSetList& DtObjectRegionSet::overlapList()
218 {
219  return myOverlaps;
220 }
221 
222 inline const DtRegionSetList& DtObjectRegionSet::matchList()
223 {
224  return myMatches;
225 }
226 
227 #endif
228 #endif

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)