VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
autoAggregateDisaggregateController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfobjcore/simRadio.h"
14 #include "geometry/polygon2D.h"
16 
17 class DtSettingsObject;
18 class DtBoolSetting;
21 
29 {
30 public:
31 
33  {
36  DtAggregating
37  } DtResolutionTransitionMode;
38 
41  DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
42  DtReaderWriterRegistry * parentRegistry = 0);
43 
46 
48  virtual bool init();
49 
52  virtual const char* type() const;
53 
55  virtual void tick();
56 
57 public:
58 
61  static void settingConsumerCallback( const DtSettingsObject* settingsObject, void* usr);
62 
64  static DtSimComponent* creator(const DtString & name, DtVrfObject* owner,
65  DtSimManager * simManager, DtComponentDescriptor* desc,
66  DtReaderWriterRegistry * parentRegistry);
67 
68 protected:
69 
70  virtual void startAutoAggregating();
71 
72  virtual bool autoAggregatingIsComplete();
73 
74  virtual void onAutoAggregationComplete();
75 
76  virtual void startAutoDisaggregation();
77 
78  virtual bool autoDisaggregatingIsComplete();
79 
80  virtual void onAutoDisaggregationComplete();
81 
84  virtual bool insideDisaggregationArea() const;
85 
87  virtual bool withinDisaggregationDistanceOfHostileEntity() const;
88 
90  virtual void processSetting( const DtBoolSetting* setting);
91 
93  virtual void sendAggregateStateRequest(DtAggregateState aggregateState);
94 
97 
100 
101  virtual bool shouldDisaggregate() const;
102 
103  virtual bool shouldAggregate() const;
104 
105  virtual bool autoAggregationDisaggregationEnabled() const;
106 
108  virtual void initLocalToAggregateCoordTransform(
109  const DtVector& aggregateLocalPostion, double aggregateHeading,
110  DtCoordTransform& resultTransform) const;
111 
112  virtual DtManagedObjectListConstPtr disaggregationAreas() const;
113 
114  virtual void initBodyToLocalTransform(const DtVector& localPosition,
115  const DtDcm& localToBodyDcm, DtCoordTransform& bodyToLocalTransform) const;
116 
117  virtual void initLocalToTopoTransform(
118  const DtVector& localPosition, DtCoordTransform& transform) const;
119 
120  virtual void getAggregatedFootprint(
121  const DtCoordTransform& bodyToLocalTransform,
122  const DtCoordTransform& localToTopoTranform,
123  DtPolygon2D::DtVertexContainer& vertices) const;
124 
125  void getDisaggregatedFootprint(
126  const DtCoordTransform& bodyToLocalTransform,
127  const DtCoordTransform& localToTopoTransform,
128  DtPolygon2D::DtVertexContainer& vertices) const;
129 
130  void getTranslatedFootprint(
131  double halfLength,
132  double halfWidth,
133  double halfHeight,
134  const DtCoordTransform& bodyToLocalTransform,
135  const DtCoordTransform& localToTopoTransform,
136  DtPolygon2D::DtVertexContainer& vertices) const;
137 
138  virtual void getLocalAreaFootprint(
139  const DtVrfObject& object,
140  const DtCoordTransform& localToTopoTransform,
141  DtPolygon2D::DtVertexContainer& vertices) const;
142 
143  virtual DtManagedObjectListConstPtr getHostileEntityList() const;
144 
145  virtual DtManagedObjectListConstPtr getHostileAggregateList() const;
146 
147  virtual bool withinDisaggregationDistance( const DtVrfObject& target) const;
148 
152  virtual double maxDisaggregationDistance(const DtVrfObject& target) const;
153 
155  virtual double transitionTimeCheck() const;
156 
157 protected:
158 
160 
162 
164 
166 
170 
174 
178 
181 };
182 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: autoAggregateDisaggregateController.h:35
DtAutoAggregateDisaggregateDescriptor * myDescriptor
Definition: autoAggregateDisaggregateController.h:179
DtManagedObjectListConstPtr myHostileEntityList
Definition: autoAggregateDisaggregateController.h:176
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtTime myTransitionAllowedTime
Definition: autoAggregateDisaggregateController.h:165
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
Definition: boolSetting.h:30
DtVrfObject * myDisaggregatedFootprintDebuggingObject
Definition: autoAggregateDisaggregateController.h:173
bool myAutoAggregationDisaggrationEnabled
Flag indicating whether or not automatic aggregation/disaggregation is enabled.
Definition: autoAggregateDisaggregateController.h:169
DtManagedObjectListConstPtr myDisaggregationAreasList
Definition: autoAggregateDisaggregateController.h:177
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
virtual bool init()
Calls setRadio()
DtVrfObject * myAggregatedFootprintDebuggingObject
for debugging
Definition: autoAggregateDisaggregateController.h:172
Definition: settingsObject.h:27
DtVrfAggregateStateRepository * myAggregateStateRepository
Definition: autoAggregateDisaggregateController.h:161
double mySimulationTimeOfLastTransition
Definition: autoAggregateDisaggregateController.h:180
Definition: autoAggregateDisaggregateController.h:34
DtResolutionTransitionMode myTransitionMode
Definition: autoAggregateDisaggregateController.h:163
DtAutoAggregateDisaggregateDescriptor; descriptor for a DtAutoAggregateDisaggregateController compone...
Definition: autoAggregateDisaggregateDescriptor.h:22
virtual void tick()
This gives the thread of control to the component.
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
class DtVrfObjectManager:
Definition: vrfObjectManager.h:202
DtManagedObjectListConstPtr myHostileAggregateList
Definition: autoAggregateDisaggregateController.h:175
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: managedObjectList.h:31
std::vector< DtPoint > DtVertexContainer
Definition: polygon2D.h:28
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
Definition: vrfAggregateStateRepository.h:22
DtResolutionTransitionMode
Definition: autoAggregateDisaggregateController.h:32
DtVrfObjectManager * myObjectManager
Definition: autoAggregateDisaggregateController.h:159
End User Description: This controller is active only if auto aggregation is enabled for the simulatio...
Definition: autoAggregateDisaggregateController.h:28

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)