VR-Forces 4.2 Class Documentation
aggregateModelResolutionController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfobjcore/simRadio.h"
14 
15 class DtTrueAggregateObjectManager;
19 class DtSubordinateEntry;
25 class DtAggregator;
26 class DtDisaggregator;
27 class DtFormation;
28 class DtSettingsObject;
29 class DtBoolSetting;
30 
38 {
39 public:
40 
43  DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
44  DtReaderWriterRegistry * parentRegistry = 0);
45 
48 
50  virtual bool init();
51 
57  virtual bool postAddComponentsInit();
58 
61  virtual DtString type() const;
62 
65  virtual void preFirstTickInit();
66 
68  virtual void tick();
69 
75  virtual bool createPSR();
76 
78  virtual void enable();
79 
81  virtual void disable();
82 
86  virtual bool tickWhileDestroyed() const;
87 
88 public:
89 
90  static void setDestroyedCallback(DtSimMessage * msg,
91  void * usrData);
92 
93  static void setRestoreCallback(DtSimMessage* msg, void* usrData);
94 
95  static void setAggregateStateCallback(DtSimMessage * msg, void * usrData);
96 
97  virtual void processSetRestore(DtSimMessage* msg);
98 
100  static void disaggregationCompleteCallback(void* usr);
101 
103  static DtSimComponent* creator(const DtString & name, DtVrfObject* owner,
104  DtSimManager * simManager, DtComponentDescriptor* desc,
105  DtReaderWriterRegistry * parentRegistry);
106 
107 protected:
108 
111 
114 
115 
117  virtual void setRadio(DtSimRadio * radio);
118 
121  virtual void addSetDataCallbacks();
122 
125  void removeSetDataCallbacks();
126 
127  virtual void processSetAggregateState(DtSimMessage * msg);
128 
132  virtual void startDisaggregation();
133 
135  virtual void startAggregation();
136 
138  virtual void onDisaggregationComplete();
139 
142  virtual bool toggleComponentsAndSystems(enum DtAggregateState newAggregateState);
143 
146  void enableSystemsAndComponents(DtAggregateState aggregateState);
147  void disableSystemsAndComponents(DtAggregateState aggregateState);
149 
151  virtual void initAggregated();
152 
154  void updateBoundingGeometry();
155 
157  virtual void computeSubordinateObjectsMinMaxVectors(
158  DtSubordinateObjectsList& subordinateObjectsList,DtVector positionOffset,
159  DtVector& minVector,DtVector& maxVector);
160 
163  virtual bool aggregationIsComplete() const;
164 
168  virtual void onAggregationComplete();
169 
170  virtual void createAggregator();
171 
172  virtual void createDisaggregator();
173 
179  virtual bool allowedToTransition(DtAggregateState targetAggregateState) const;
180 
181  virtual void processSetDestroyed();
182 
183 protected:
184 
186 
190 
193 
194  std::vector<DtComponentSystem*> myAggregatedSystemList;
195  std::vector<DtSimComponent*> myAggregatedComponentList;
196  std::vector<DtComponentSystem*> myDisaggregatedSystemList;
197  std::vector<DtSimComponent*> myDisaggregatedComponentList;
198 
201 };
202 

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)