VR-Forces 4.6 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 
107  virtual double numberSubordinateVehicles(void) const;
108  virtual void setNumberSubordinateVehicles(const double nVehicles);
109 
111  virtual const int vrfMovingObjectStateRepositorySubType() const;
112 
114  virtual const int aggregateStateRepositorySubType() const;
115 
118  virtual void setBlockSetFormationChange(bool);
119  virtual bool blockSetFormationChange() const;
120 
122  virtual void getSelf(DtlObjPtr args,
123  const DtReaderWriter::SearchPaths& searchPaths,
124  const DtVariableBindingsList& variableBindings);
125 
127  static DtVrfObjectStateRepository* creator (const DtString& name,
128  DtVrfObject* vrfObject,const DtObjectType& objectType,
129  DtVrfObjectParameters* parameters,
130  DtReaderWriterRegistry* parentRegistry);
131 
134  static DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
135  DtSimObjectStateRepository* repository);
136 
137  static const DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
138  const DtSimObjectStateRepository* repository);
139 
140  virtual bool aggregatedExtent(DtExtent& extent);
141 
142  virtual bool computeExtentFromParameters(const DtString& formationName, DtExtent& extent);
143 
144  virtual void setParameterEntry(DtVrfObjectParameters* parameterEntry);
145 
146 protected:
147 
148  virtual void createFormationState();
149 
150  virtual bool computeExtent(const DtAggregateObjectParameters& parameterEntry,
151  const DtString& formationName, DtExtent& extent);
152 
153  virtual std::list<DtVector> generateFormationPositions(
154  const DtVrfObjectParameters& parameterEntry, DtFormation& formation);
155 
156  virtual bool getFormation(const DtString& formationName,
157  const DtAggregateObjectParameters& parameterEntry,
158  DtFormation& formation);
159 
164  virtual void preGetSelf();
165  virtual void postGetSelf();
166 
167 protected:
168 
173 
176 
178 
180 };
181 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)