VR-Forces 4.6 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 

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)