VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
missileControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: missileCntlr.h,v $ $Revision: 1.27 $ $State: Exp $
7 *******************************************************************************/
8 
11 
14 
15 #ifndef DtMissileControllerComponent_H_
16 #define DtMissileControllerComponent_H_
17 
18 
20 #include <matrix/vlVector.h>
21 
22 class DtString;
23 class DtSimManager;
27 class DtTaitBryan;
28 class DtMissileFlightPSR;
29 
38 {
39 public:
40 
44  DtVrfObject* owner,
45  DtSimManager* simManager,
46  DtComponentDescriptor* desc = 0,
47  DtReaderWriterRegistry* parentRegistry = 0);
48 
51 
53  virtual bool init();
54 
57  virtual const char* type() const;
58 
59  virtual double distanceToTarget() const;
60 
64  virtual double approximateThrust(double speed) const;
65 
88  virtual void calculateSteering(const DtVector &relativeVelocity,
89  const DtVector &localPosition,
90  const DtVector &targetVelocity,
91  const DtVector &targetPoint,
92  double& maneuverAccelXOut,
93  double& maneuverAccelYOut,
94  double& maneuverAccelZOut) = 0;
95 
100  virtual void calculateSteeringToPoint(const DtVector &relativeVelocity,
101  const DtVector &localPosition,
102  const DtVector &targetPoint,
103  double& maneuverAccelXOut,
104  double& maneuverAccelYOut,
105  double& maneuverAccelZOut);
106 
112  virtual void calculateSteeringUsingPropNav(const DtVector &relativeVelocity,
113  const DtVector &localPosition,
114  const DtVector &targetVelocity,
115  const DtVector &targetPoint,
116  double& maneuverAccelXOut,
117  double& maneuverAccelYOut,
118  double& maneuverAccelZOut);
119 
122  virtual bool createMissileControlPortGroup();
123  virtual bool createThrustPort();
124  virtual bool createManeuverAccelXPort();
125  virtual bool createManeuverAccelYPort();
126  virtual bool createManeuverAccelZPort();
127  virtual bool createSelfDestructPort();
128 
129  virtual DtConstrainedAnalogOutputPort * thrustPort();
130  virtual DtConstrainedAnalogOutputPort * maneuverAccelXPort();
131  virtual DtConstrainedAnalogOutputPort * maneuverAccelYPort();
132  virtual DtConstrainedAnalogOutputPort * maneuverAccelZPort();
133  virtual DtBooleanOutputPort * selfDestructPort();
134 
135 protected:
136 
138  virtual bool createPortGroups();
139 
141  virtual bool createPorts();
142 
150  virtual void calculateTargetErrorOffset();
151 
159  virtual void lookupAndCacheProcessSR();
160 
163  virtual bool postAddComponentsInit();
164 
166  virtual void addRangeItems();
167 
168 protected:
171 
174  orig);
175 
179 
180 
181 protected:
182 
184 
186 
189 
193 
200 
207 
214 
221 
228 
230 
232 
239 };
240 #endif

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)