VR-Forces 4.8 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  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 
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
DtFormationState * myFormationState
Definition: vrfAggregateStateRepository.h:174
virtual void initStatePropertiesNotToBeRestored()
Initializes the list of state properties which should not be restored.
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
Definition: formationState.h:38
Definition: rwAggregateState.h:23
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:26
virtual double totalMass() const
Returns the current total mass of the entity.
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
*virtual const DtObjectType & objectType() const
DtVrfMovingObjectStateRepository & operator=(const DtVrfMovingObjectStateRepository &orig)
Assignment Operator.
The DtSimObjectStateRepository is an abstract base class (ABC) for all state repositories.
Definition: simObjectStateRepository.h:46
Definition: readerWriterRegistry.h:39
Instances of DtFormation are a list of DtFormationEntry objects which make up an aggregate formation...
Definition: formation.h:26
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
virtual const int vrfMovingObjectStateRepositorySubType() const
Returns DtVrfMovingObjectStateRepositorySubTypeBase.
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
virtual DtString type() const
returns DtSimObjectStateRepositoryType
DtRwAggregateState myAggregateState
Definition: vrfAggregateStateRepository.h:175
virtual void setParameterEntry(DtVrfObjectParameters *parameterEntry)
virtual DtSimObjectStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
Clone.
DtExtent myCachedExtent
Definition: vrfAggregateStateRepository.h:177
double myNumberOfSubordinateVehicles
Definition: vrfAggregateStateRepository.h:180
Definition: objectType.h:27
Description: Readable, Writable DtAggregateFormation.
Definition: rwFormationType.h:30
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Override getSelf to handle mapping of old pre-2.0 oob files.
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwBoolean myBlockSetFormationChange
Definition: vrfAggregateStateRepository.h:182
virtual void preGetSelf()
Hook function called immediately prior to getSelf().
Definition: simObjectStateRepository.h:137
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Contains the declaration of the DtExtent class.
virtual void postGetSelf()
Hook function called immediately following getSelf().
bool myCachedExtentIsValid
Definition: vrfAggregateStateRepository.h:178
DtRwString myFormationName
Definition: vrfAggregateStateRepository.h:173
Definition: vrfAggregateStateRepository.h:22
static DtVrfObjectStateRepository * creator(const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
Contains the set of readable/writeable parameters associated with a pseudo-aggregate entities...
Definition: aggregateObjectParameters.h:29
DtRwFormationType myFormation
Definition: vrfAggregateStateRepository.h:172

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)