VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
subordinateManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <vlutil/vlConfig.h>
12 #include <map>
13 #include <vlutil/vlList.h>
14 #include <vlpi/disEnums.h>
17 
18 class DtVrfObject;
19 class DtVrfObjectManager;
20 class DtEntityIdentifier;
22 
26  const DtSubordinateManager& subordinateManager, void* usr);
27 
30 {
32  void* myUserData;
33 };
34 
47 {
48 private:
51 
52 public:
54  DtSubordinateManager(DtVrfObjectManager* simObjectManager);
55 
58 
60  const DtSubordinateManager& operator=(const DtSubordinateManager& orig);
61 
63  virtual ~DtSubordinateManager();
64 
66  virtual DtSubordinateManager* clone() const;
67 
71 
73  virtual bool addSubordinate(DtVrfObject* subordinate, int designator = 0);
74 
75  virtual bool addSubordinateBefore (DtVrfObject* subordinate,
76  DtVrfObject* beforeObject, int designator = 0);
77 
80  virtual bool addSubordinateAfter (DtVrfObject* subordinate,
81  DtVrfObject* afterObject, int designator = 0);
82 
84  virtual void removeSubordinate(DtVrfObject* subordinate);
87 
88  virtual void removeAllSubordinates();
89 
91  virtual int numSubordinates() const;
92 
95  virtual DtVrfObject* firstSubordinate() const;
96  virtual DtVrfObject* lastSubordinate() const;
97 
99  virtual bool isSubordinate(const DtEntityIdentifier& id) const;
100  virtual bool isSubordinate(DtVrfObject* simObj) const;
101 
105  const DtKeyedVrfObjectIterator& iterator() const;
106 
109  virtual int designatorForSubordinate(DtVrfObject* subordinate) const;
110  virtual int designatorForSubordinate(const DtEntityIdentifier& id) const;
111 
114  virtual DtVrfObject* subordinateForDesignator(int designator) const;
115 
119  virtual bool setDesignator(const DtEntityIdentifier& id, int designator);
120  virtual bool setDesignator(DtVrfObject* subordinate, int designator);
121 
123  virtual int firstAvailableDesignator(int start = 1) const;
124 
127  virtual int maxUsedDesignator() const;
128 
132  virtual void reorderToDesignatorOrder();
133 
135  virtual void designatorOrderedList(std::vector<DtEntityIdentifier>&
136  designatorOrderedList) const;
137 
140  virtual void setSubordinateOrder(const std::vector<DtEntityIdentifier>&
141  orderedList);
142 
145  virtual void addSubordinatesChangedCallback(
146  DtSubordinateManagerCallbackFcn fcn, void* userData);
147 
150  virtual void removeSubordinatesChangedCallback(
151  DtSubordinateManagerCallbackFcn fcn, void* userData);
152 
154  virtual int nextAvailableDesignator(int cur = 0) const;
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 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)