VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
baseMountingController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999-2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 
16 #include <vlpi/disEnums.h>
17 
18 class DtAnalogInputPort;
20 class DtIntegerInputPort;
21 
32 {
33 
34 public:
35 
39  DtVrfObject* owner,
40  DtSimManager* simManager,
41  DtComponentDescriptor* desc = 0,
42  DtReaderWriterRegistry* parentRegistry = 0);
43 
45  virtual ~DtBaseMountingController();
46 
48  virtual bool postAddComponentsInit();
49 
52  virtual const char* type() const;
53 
55  virtual DtOutputPortGroup* mountingControlPortGroup();
56 
58  virtual DtInputPortGroup* azimuthInfoPortGroup();
59 
61  virtual DtInputPortGroup* elevationInfoPortGroup();
62 
64  virtual void tick();
65 
84  virtual void reorientMounting();
85 
89  virtual void setDesiredAzimuth(DtReal desiredAzimuth);
90  virtual DtReal desiredAzimuth();
92 
96  virtual void setDesiredElevation(DtReal desiredElevation);
97  virtual DtReal desiredElevation();
99 
102  virtual void findDesiredAzimuthAndElevation();
103 
110  virtual bool desiredOrientationIsInRange(double& azimuthOutOfRangeBy,
111  double& elevationOutOfRangeBy, double additionalAzimuthMargin = 0.0,
112  double additionalElevationMargin = 0.0);
113 
119  virtual bool azimuthIsInRange(double azimuth, double& outofRangeBy,
120  double additionalMargin = 0.0);
121 
127  virtual bool elevationIsInRange(double elevation, double& outofRangeBy,
128  double additionalMargin = 0.0);
129 
132  virtual bool createAzimuthPort();
133  virtual DtConstrainedAnalogOutputPort * azimuthPort() const;
134 
135  virtual bool createElevationPort();
136  virtual DtConstrainedAnalogOutputPort * elevationPort() const;
137 
139  virtual bool createAzimuthInfoPorts();
140 
142  virtual bool createElevationInfoPorts();
143 
152  virtual double approximateMountSwing(double angleChange, double maxRate);
153 
157  static DtSimComponent * creator(const DtString& name,
158  DtVrfObject* owner,
159  DtSimManager* simManager,
160  DtComponentDescriptor* desc = 0,
161  DtReaderWriterRegistry* parentRegistry = 0);
162 
163 protected:
172  virtual double angleErrorGivenRotationLimits(double currentAngle,
173  double desiredAngle, double allowedRotationCenter,
174  double allowedRotationRange);
175 
177  virtual bool createPortGroups();
178 
180  virtual bool createPorts();
181 
182 protected:
183 
186 
189 
192  orig);
193 
194 protected:
195 
198 
203 
210 
217 
224 
231 
236 
243 
250 
257 
264 
269 
277 
285 
287 
291 
296 
301 
302 };
303 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)