VR-Forces 4.1 Class Documentation
disaggregator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include "vrfobjcore/vrfObject.h"
15 #include "vrfobjcore/orgManager.h"
17 #include "vrfobjcore/vrfObjMgr.h"
18 #include "vrfcore/simMgr.h"
19 
22 class DtSubordinateEntry;
24 
25 typedef void (*DtDisaggregationCompleteCallbackFcn)(void* usr);
26 
34 {
35 public:
36 
38  DtDisaggregator(DtVrfObjectManager& vrfObjectManager);
39 
41  virtual ~DtDisaggregator();
42 
54  virtual bool disaggregate(const DtVrfObject& aggregate,
55  const DtSubordinateObjectsList& subordinateObjectsList,
56  DtDisaggregationCompleteCallbackFcn completionCallback,
57  void* userData);
58 
59  static void orgMgrChangeSetCompleteCallback(void* usr);
60 
61 protected:
62 
67  virtual void createAndInitSubordinates(const DtVrfObject& parent);
68 
69  virtual void createAndInitSubordinates(const DtVrfObject& parent,
70  const DtSubordinateObjectsList& subordinateObjectsList);
71 
73  DtDisaggregator(const DtDisaggregator& orig);
74 
76  DtDisaggregator& operator=(
77  const DtDisaggregator& orig);
78 
93  virtual DtVrfObject* buildVrfObject( const DtObjectType& objectType,
94  DtForceType forceType,
95  const DtVector& geocentricPosition,
96  const DtTaitBryan* orientation,
97  bool publishLocalObject,
98  bool createSubObjects,
99  DtVrfObjectManager::DtAggregateCreationMode initialAggregateState,
100  const DtString& formationName);
101 
102  virtual void setDisaggregationCompleteCallbackInfo(
103  DtDisaggregationCompleteCallbackFcn fcn, void* usr);
104 
105  virtual void clearDisaggregationCompleteCallbackInfo();
106 
107  virtual void onOrgMgrChangeSetComplete();
108 
109  virtual bool shouldCreate(const DtSubordinateEntry& subordinateDescriptor) const;
110 
111  virtual bool computeSubordinatePositions(int numSubordinates,
112  const DtString& formationName,
113  const DtAggregateObjectParameters& aggregateParams,
114  const DtVector& parentPosition,
115  const DtDcm& parentOrientation,
116  std::list<DtVector>& subordinateBodyPositions) const;
117 
118  virtual int numSubordinatesToCreate(const DtSubordinateObjectsList& psrSubordObjList) const;
119 
120 public:
121 
125  // const DtPseudoAggregateBuilder& builder);
126 
127 protected:
131 
132  typedef std::pair<DtDisaggregationCompleteCallbackFcn, void*>
135 };
136 
137 
138 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)