MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 class DtRegObjAttr;
20 
21 typedef std::map<DtObjectInstanceHandle, DtRegObjAttr*> DtRegionObjAttrByObjInstanceHandleMap;
22 typedef std::map<DtObjectClassHandle, DtRegAttrAssoc*> DtRegionAttrAssocByObjClassHandleMap;
23 typedef std::map<DtObjectInstanceHandle, DtAttributeHandleSet*> DtAttrHandleSetByObjInstanceHandleMap;
24 
25 class DT_DLL_LRC DtObjectRegionSet : public DtRegionSet
26 {
27 public:
28 
29  DtObjectRegionSet();
30  DtObjectRegionSet(DtRegionHandle setHandleValue, DtRegionRealization* region);
31 
32  virtual ~DtObjectRegionSet();
33 
35  virtual bool inUse();
36 
38  virtual void addAttribute(DtObjectClassInfo* classDesc,
39  DtAttributeHandle attrHandle);
40  virtual void removeAttribute(DtObjectClassHandle classHandle,
41  DtAttributeHandle attrHandle);
42 
44  virtual void addAttribute(DtObjectInstanceHandle objectHandle,
45  const char* objName, DtObjectClassInfo* classDesc,
46  DtAttributeHandle attrHandle);
47  virtual void removeAttribute(DtObjectInstanceHandle objectHandle,
48  DtObjectClassInfo* classDesc, DtAttributeHandle attrHandle);
49 
51  virtual void addUnownedAttribute(DtObjectInstanceHandle objectHandle,
52  DtAttributeHandle attrHandle);
53  virtual void removeUnownedAttribute(DtObjectInstanceHandle objectHandle,
54  DtAttributeHandle attrHandle);
55 
57  virtual void addAttributes(DtObjectClassInfo* classDesc,
58  const DtAttributeHandleSet& attrSet);
59  virtual void removeAttributes(DtObjectClassHandle classHandle,
60  const DtAttributeHandleSet& attrSet);
61 
63  virtual void addAttributes(DtObjectInstanceHandle objectHandle,
64  const char* objName, DtObjectClassInfo* classDesc,
65  const DtAttributeHandleSet& attrSet);
66  virtual void removeAttributes(DtObjectInstanceHandle objectHandle,
67  DtObjectClassInfo* classDesc, const DtAttributeHandleSet& attrSet);
68 
70  virtual void addUnownedAttributes(DtObjectInstanceHandle objectHandle,
71  const DtAttributeHandleSet& attrSet);
72  virtual void removeUnownedAttributes(DtObjectInstanceHandle objectHandle,
73  const DtAttributeHandleSet& attrSet);
74 
76  virtual DtAttributeHandleSet* attributes(DtObjectClassHandle classHandle);
78  virtual const DtAttributeHandleSet* attributes(
79  DtObjectClassHandle classHandle) const;
80 
83  virtual bool attributesOf(DtObjectClassHandle classHandle,
84  DtAttributeHandleSet& attributes) const;
85 
89  virtual bool attributesMatching(DtObjectClassInfo const& classInfo,
90  DtAttributeHandleSet& attributes) const;
91 
93  virtual bool isMemberAttributes(DtObjectClassHandle classHandle,
94  DtAttributeHandle attrHandle) const;
95 
97  virtual const DtAttributeHandleSet* objectAttributes(DtObjectInstanceHandle objectHandle);
98 
100  virtual const DtAttributeHandleSet* objectUnownedAttributes(
101  DtObjectInstanceHandle objectHandle);
102 
104  virtual bool isMemberObject(DtObjectInstanceHandle objectHandle);
105 
107  virtual const DtRegionObjAttrByObjInstanceHandleMap& objectAssociations();
108 
110  virtual const DtAttrHandleSetByObjInstanceHandleMap& objectUnownedAssociations();
111 
113  virtual void addOverlap(DtObjectRegionSet* regionSet);
114 
116  virtual void removeOverlap(DtRegionHandle regionSetHandle);
117 
119  virtual unsigned int overlapCount() const;
120 
122  virtual const DtRegionSetList& overlapList();
123 
126  virtual void emptyOverlaps(MAKRti::DtList* overlapsRemoved=NULL);
127 
129  virtual bool isOverlap(DtRegionHandle regionSetHandle) const;
130 
132  virtual void addMatch(DtObjectRegionSet* regionSet,
133  DtObjectClassHandle classHandle);
134  virtual void removeMatch(DtRegionHandle regionSetHandle,
135  DtObjectClassHandle classHandle);
136 
138  virtual void removeMatches(DtRegionHandle regionSetHandle);
139 
141  virtual bool isMatch(DtRegionHandle regSetHandle) const;
142 
144  virtual bool isMatchedClass(DtRegionHandle regionSetHandle,
145  DtObjectClassHandle classHandle);
146 
148  virtual void addMatchOverlap(DtObjectRegionSet* regionSet);
149  virtual void removeMatchOverlap(DtRegionHandle regionSetHandle);
150 
152  virtual bool isMatchOverlap(DtRegionHandle regionSetHandle) const;
153 
155  virtual unsigned int matchCount() const;
156 
158  virtual unsigned int matchOverlapCount() const;
159 
161  virtual const DtRegionSetList& matchList();
162 
164  virtual const DtRegionAttrAssocByObjClassHandleMap& attributeAssociations();
165 
167  virtual DtRegAttrAssoc* attributeAssociation(
168  DtObjectClassHandle classHandle);
169 
172  virtual void moveAttrToOverlap(const DtObjectRegionSet& remoteRegSet)=0;
173  virtual void moveAttrToMatching(const DtObjectRegionSet& remoteRegSet)=0;
174 
175 protected:
176 
178  virtual void emptyAttrs();
179 
181  virtual void emptyMatches();
182 
184  DtObjectRegionSet* self() const;
185 
186  DtObjectRegionSet(DtObjectRegionSet const & rhs);
187  DtObjectRegionSet &operator=(DtObjectRegionSet const & rhs);
188 
189 protected:
190 
191  DtRegionSetList myOverlaps;
192  DtRegionSetList myMatches;
193  DtRegionSetList myMatchOverlaps;
194  DtRegionObjAttrByObjInstanceHandleMap myObjectAssocs;
195  DtRegionAttrAssocByObjClassHandleMap myAttrAssocs;
196  DtAttrHandleSetByObjInstanceHandleMap myUnownedAttrAssocs;
197 
200  MAKRti::DtHashList myMatchedClasses;
201 };
202 
203 inline DtObjectRegionSet* DtObjectRegionSet::self() const
204 {
205  return const_cast<DtObjectRegionSet*>( this );
206 }
207 
208 inline const DtRegionObjAttrByObjInstanceHandleMap& DtObjectRegionSet::objectAssociations()
209 {
210  return myObjectAssocs;
211 }
212 inline const DtAttrHandleSetByObjInstanceHandleMap& DtObjectRegionSet::objectUnownedAssociations()
213 {
214  return myUnownedAttrAssocs;
215 }
216 
217 inline const DtRegionAttrAssocByObjClassHandleMap& DtObjectRegionSet::attributeAssociations()
218 {
219  return myAttrAssocs;
220 }
221 
222 inline const DtRegionSetList& DtObjectRegionSet::overlapList()
223 {
224  return myOverlaps;
225 }
226 
227 inline const DtRegionSetList& DtObjectRegionSet::matchList()
228 {
229  return myMatches;
230 }
231 
232 #endif
233 #endif
DtHandle DtRegionHandle
Definition: internalTypes.h:65
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: objClassInfo.h:36

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)