VR-Forces 4.10 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
Contains the DtVrfMovingObjectStateRepository class declaration.
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:29
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 method.
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)
Creator method.
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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)