VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
80  virtual std::list<DtString> allowableFormationNames() const;
81 
87 
88  virtual void setAggregateState(enum DtAggregateState state);
89  virtual enum DtAggregateState aggregateState() const;
91 
93  virtual bool formationNameSpecified() const;
94 
96  virtual double formationHalfLength();
97 
99  virtual double totalMass() const;
100 
110  virtual double numberSubordinateVehicles(void) const;
111  virtual void setNumberSubordinateVehicles(const double nVehicles);
112 
114  virtual const int vrfMovingObjectStateRepositorySubType() const;
115 
117  virtual const int aggregateStateRepositorySubType() const;
118 
121  virtual void setBlockSetFormationChange(bool);
122  virtual bool blockSetFormationChange() const;
123 
125  virtual void getSelf(DtlObjPtr args,
126  const DtReaderWriter::SearchPaths& searchPaths,
127  const DtVariableBindingsList& variableBindings);
128 
130  static DtVrfObjectStateRepository* creator (const DtString& name,
131  DtVrfObject* vrfObject,const DtObjectType& objectType,
132  DtVrfObjectParameters* parameters,
133  DtReaderWriterRegistry* parentRegistry);
134 
137  static DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
138  DtSimObjectStateRepository* repository);
139 
140  static const DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
141  const DtSimObjectStateRepository* repository);
142 
143  virtual bool aggregatedExtent(DtExtent& extent);
144 
145  virtual bool computeExtentFromParameters(const DtString& formationName, DtExtent& extent);
146 
147  virtual void setParameterEntry(DtVrfObjectParameters* parameterEntry);
148 
149 protected:
150 
151  virtual void createFormationState();
152 
153  virtual bool computeExtent(const DtAggregateObjectParameters& parameterEntry,
154  const DtString& formationName, DtExtent& extent);
155 
156  virtual std::list<DtVector> generateFormationPositions(
157  const DtVrfObjectParameters& parameterEntry, DtFormation& formation);
158 
159  virtual bool getFormation(const DtString& formationName,
160  const DtAggregateObjectParameters& parameterEntry,
161  DtFormation& formation);
162 
167  virtual void preGetSelf();
168  virtual void postGetSelf();
169 
170 protected:
171 
176 
179 
181 
183 };
184 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)