VR-Forces 4.3.1 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 
114  virtual void getSelf(DtlObjPtr args,
115  const DtReaderWriter::SearchPaths& searchPaths,
116  const DtVariableBindingsList& variableBindings);
117 
119  static DtVrfObjectStateRepository* creator (const DtString& name,
120  DtVrfObject* vrfObject,const DtObjectType& objectType,
121  DtVrfObjectParameters* parameters,
122  DtReaderWriterRegistry* parentRegistry);
123 
126  static DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
127  DtSimObjectStateRepository* repository);
128 
129  static const DtVrfAggregateStateRepository* isVrfAggregateStateRepository(
130  const DtSimObjectStateRepository* repository);
131 
132  virtual bool aggregatedExtent(DtExtent& extent);
133 
134  virtual bool computeExtentFromParameters(const DtString& formationName, DtExtent& extent);
135 
136  virtual void setParameterEntry(DtVrfObjectParameters* parameterEntry);
137 
138 protected:
139 
140  virtual void createFormationState();
141 
142  virtual bool computeExtent(const DtAggregateObjectParameters& parameterEntry,
143  const DtString& formationName, DtExtent& extent);
144 
145  virtual std::list<DtVector> generateFormationPositions(
146  const DtVrfObjectParameters& parameterEntry, DtFormation& formation);
147 
148  virtual bool getFormation(const DtString& formationName,
149  const DtAggregateObjectParameters& parameterEntry,
150  DtFormation& formation);
151 
156  virtual void preGetSelf();
157  virtual void postGetSelf();
158 
159 protected:
160 
165 
166  DtExtent myCachedExtent;
168 
170 };
171 

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)