VR-Forces 4.6 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 
116  virtual bool createAzimuthPort();
117  virtual DtConstrainedAnalogOutputPort * azimuthPort() const;
118 
119  virtual bool createElevationPort();
120  virtual DtConstrainedAnalogOutputPort * elevationPort() const;
121 
123  virtual bool createAzimuthInfoPorts();
124 
126  virtual bool createElevationInfoPorts();
127 
136  virtual double approximateMountSwing(double angleChange, double maxRate);
137 
141  static DtSimComponent * creator(const DtString& name,
142  DtVrfObject* owner,
143  DtSimManager* simManager,
144  DtComponentDescriptor* desc = 0,
145  DtReaderWriterRegistry* parentRegistry = 0);
146 
147 protected:
156  virtual double angleErrorGivenRotationLimits(double currentAngle,
157  double desiredAngle, double allowedRotationCenter,
158  double allowedRotationRange);
159 
161  virtual bool createPortGroups();
162 
164  virtual bool createPorts();
165 
166 protected:
167 
170 
173 
176  orig);
177 
178 protected:
179 
182 
187 
194 
201 
208 
215 
220 
227 
234 
241 
248 
253 
261 
269 
271 
275 
280 
285 
286 };
287 

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)