VR-Forces 4.2 Class Documentation
subordMgr.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: subordMgr.h,v $ $Revision: 1.24 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef subordMgr_H_
9 #define subordMgr_H_
10 
13 
14 #include <vlutil/vlConfig.h>
15 #include <map>
16 #include <vlutil/vlList.h>
17 #include <vlpi/disEnums.h>
20 
21 class DtVrfObject;
22 class DtVrfObjectManager;
23 class DtEntityIdentifier;
25 
29  const DtSubordinateManager& subordinateManager, void* usr);
30 
33 {
35  void* myUserData;
36 };
37 
50 {
51 private:
54 
55 public:
57  DtSubordinateManager(DtVrfObjectManager* simObjectManager);
58 
61 
63  const DtSubordinateManager& operator=(const DtSubordinateManager& orig);
64 
66  virtual ~DtSubordinateManager();
67 
69  virtual DtSubordinateManager* clone() const;
70 
74 
76  virtual bool addSubordinate(DtVrfObject* subordinate, int designator = 0);
77 
78  virtual bool addSubordinateBefore (DtVrfObject* subordinate,
79  DtVrfObject* beforeObject, int designator = 0);
80 
83  virtual bool addSubordinateAfter (DtVrfObject* subordinate,
84  DtVrfObject* afterObject, int designator = 0);
85 
87  virtual void removeSubordinate(DtVrfObject* subordinate);
90 
91  virtual void removeAllSubordinates();
92 
94  virtual int numSubordinates() const;
95 
98  virtual DtVrfObject* firstSubordinate() const;
99  virtual DtVrfObject* lastSubordinate() const;
100 
102  virtual bool isSubordinate(const DtEntityIdentifier& id) const;
103  virtual bool isSubordinate(DtVrfObject* simObj) const;
104 
108  const DtKeyedSimObjectIterator& iterator() const;
109 
112  virtual int designatorForSubordinate(DtVrfObject* subordinate) const;
113  virtual int designatorForSubordinate(const DtEntityIdentifier& id) const;
114 
117  virtual DtVrfObject* subordinateForDesignator(int designator) const;
118 
122  virtual bool setDesignator(const DtEntityIdentifier& id, int designator);
123  virtual bool setDesignator(DtVrfObject* subordinate, int designator);
124 
126  virtual int firstAvailableDesignator(int start = 1) const;
127 
130  virtual int maxUsedDesignator() const;
131 
135  virtual void reorderToDesignatorOrder();
136 
138  virtual void designatorOrderedList(std::vector<DtEntityIdentifier>&
139  designatorOrderedList) const;
140 
143  virtual void setSubordinateOrder(const std::vector<DtEntityIdentifier>&
144  orderedList);
145 
148  virtual void addSubordinatesChangedCallback(
149  DtSubordinateManagerCallbackFcn fcn, void* userData);
150 
153  virtual void removeSubordinatesChangedCallback(
154  DtSubordinateManagerCallbackFcn fcn, void* userData);
155 
156 protected:
157  void copySubordinateList(const DtList& list);
158  void emptySubordinateList();
159 
161  DtListItem* findSubordinateItem(const DtEntityIdentifier& id) const;
162 
163  virtual void invokeSubordinatesChangedCallbacks() const;
164 
165 protected:
174 
178  std::vector<DtSubordinateManagerCallbackInfo> mySubordinatesChangedCallbackList;
179 };
180 
181 #endif
182 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)