VR-Forces 4.1 Class Documentation
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 
11 #include "vrfobjcore/cntrlCmpnt.h"
12 #include "vrfobjcore/simRadio.h"
14 #include "geometry/polygon2D.h"
16 
17 class DtSettingsObject;
18 class DtBoolSetting;
20 
28 {
29 public:
30 
32  {
35  DtAggregating
36  } DtResolutionTransitionMode;
37 
40  DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
41  DtReaderWriterRegistry * parentRegistry = 0);
42 
45 
47  virtual bool init();
48 
51  virtual DtString type() const;
52 
54  virtual void tick();
55 
56 public:
57 
60  static void settingConsumerCallback( const DtSettingsObject* settingsObject, void* usr);
61 
63  static DtSimComponent* creator(const DtString & name, DtVrfObject* owner,
64  DtSimManager * simManager, DtComponentDescriptor* desc,
65  DtReaderWriterRegistry * parentRegistry);
66 
67 protected:
68 
69  virtual void startAutoAggregating();
70 
71  virtual bool autoAggregatingIsComplete();
72 
73  virtual void onAutoAggregationComplete();
74 
75  virtual void startAutoDisaggregation();
76 
77  virtual bool autoDisaggregatingIsComplete();
78 
79  virtual void onAutoDisaggregationComplete();
80 
83  virtual bool insideDisaggregationArea() const;
84 
86  virtual bool withinDisaggregationDistanceOfHostileEntity() const;
87 
89  virtual void processSetting( const DtBoolSetting* setting);
90 
92  virtual void sendAggregateStateRequest(DtAggregateState aggregateState);
93 
96 
99 
100  virtual bool shouldDisaggregate() const;
101 
102  virtual bool shouldAggregate() const;
103 
104  virtual bool autoAggregationDisaggregationEnabled() const;
105 
107  virtual void initLocalToAggregateCoordTransform(
108  const DtVector& aggregateLocalPostion, double aggregateHeading,
109  DtCoordTransform& resultTransform) const;
110 
111  virtual DtManagedObjectListConstPtr disaggregationAreas() const;
112 
113  virtual void initBodyToLocalTransform(const DtVector& localPosition,
114  const DtDcm& localToBodyDcm, DtCoordTransform& bodyToLocalTransform) const;
115 
116  virtual void initLocalToTopoTransform(
117  const DtVector& localPosition, DtCoordTransform& transform) const;
118 
119  virtual void getAggregatedFootprint(
120  const DtCoordTransform& bodyToLocalTransform,
121  const DtCoordTransform& localToTopoTranform,
122  DtPolygon2D::DtVertexContainer& vertices) const;
123 
124  void getDisaggregatedFootprint(
125  const DtCoordTransform& bodyToLocalTransform,
126  const DtCoordTransform& localToTopoTransform,
127  DtPolygon2D::DtVertexContainer& vertices) const;
128 
129  void getTranslatedFootprint(
130  double halfLength,
131  double halfWidth,
132  double halfHeight,
133  const DtCoordTransform& bodyToLocalTransform,
134  const DtCoordTransform& localToTopoTransform,
135  DtPolygon2D::DtVertexContainer& vertices) const;
136 
137  virtual void getLocalAreaFootprint(
138  const DtVrfObject& object,
139  const DtCoordTransform& localToTopoTransform,
140  DtPolygon2D::DtVertexContainer& vertices) const;
141 
142  virtual DtManagedObjectListConstPtr getHostileEntityList() const;
143 
144  virtual DtManagedObjectListConstPtr getHostileAggregateList() const;
145 
146  virtual bool withinDisaggregationDistance( const DtVrfObject& target) const;
147 
151  virtual double maxDisaggregationDistance(const DtVrfObject& target) const;
152 
153 protected:
154 
156 
158 
160 
164 
168 
172 };
173 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)