VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfAggregateStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
14 #include "geometry/extent.h"
15 #include <vlpi/disEnums.h>
16 
17 class DtFormation;
18 class DtFormationState;
20 
23 {
24 protected:
27 
28 public:
29 
31  const DtObjectType& objectType, DtVrfObjectParameters* parameters,
32  const DtString& rwName = DtString::nullString(),
33  DtReaderWriterRegistry* parentRegistry = 0);
34 
36  const DtString& rwName = DtString::nullString(),
37  DtReaderWriterRegistry* parentRegistry = 0);
38 
40  const DtVrfAggregateStateRepository & orig);
41 
43 
45  const DtString& rwName = DtString::nullString(),
46  DtReaderWriterRegistry* parentRegistry = 0) const;
47 
50  virtual bool init();
51 
59 
61  virtual DtString type() const;
62 
63  virtual DtFormationState* formationState() const;
64 
65  virtual void setFormation(DtAggregateFormation formation);
66  virtual DtAggregateFormation formation() const;
67 
69 
70 
71 
72 
73 
74 
75  virtual void setFormationName(const DtString& name);
76  virtual DtString formationName() const;
78 
84 
85  virtual void setAggregateState(enum DtAggregateState state);
86  virtual enum DtAggregateState aggregateState() const;
88 
90  virtual bool formationNameSpecified() const;
91 
93  virtual double formationHalfLength();
94 
104  virtual double numberSubordinateVehicles(void) const;
105  virtual void setNumberSubordinateVehicles(const double nVehicles);
106 
108  virtual const int vrfMovingObjectStateRepositorySubType() const;
109 
111  virtual const int aggregateStateRepositorySubType() const;
112 
115  virtual void setBlockSetFormationChange(bool);
116  virtual bool blockSetFormationChange() const;
117 
119  virtual void getSelf(DtlObjPtr args,
120  const DtReaderWriter::SearchPaths& searchPaths,
121  const DtVariableBindingsList& variableBindings);
122 
124  static DtVrfObjectStateRepository* creator (const DtString& name,
125  DtVrfObject* vrfObject,const DtObjectType& objectType,
126  DtVrfObjectParameters* parameters,
127  DtReaderWriterRegistry* parentRegistry);
128 
131  static DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
132  DtSimObjectStateRepository* repository);
133 
134  static const DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
135  const DtSimObjectStateRepository* repository);
136 
137  virtual bool aggregatedExtent(DtExtent& extent);
138 
139  virtual bool computeExtentFromParameters(const DtString& formationName, DtExtent& extent);
140 
141  virtual void setParameterEntry(DtVrfObjectParameters* parameterEntry);
142 
143 protected:
144 
145  virtual void createFormationState();
146 
147  virtual bool computeExtent(const DtAggregateObjectParameters& parameterEntry,
148  const DtString& formationName, DtExtent& extent);
149 
150  virtual std::list<DtVector> generateFormationPositions(
151  const DtVrfObjectParameters& parameterEntry, DtFormation& formation);
152 
153  virtual bool getFormation(const DtString& formationName,
154  const DtAggregateObjectParameters& parameterEntry,
155  DtFormation& formation);
156 
161  virtual void preGetSelf();
162  virtual void postGetSelf();
163 
164 protected:
165 
170 
173 
175 
177 };
178 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)