VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sensorGimbalController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
15 #include "vrfutil/rwColor.h"
16 #include "vrfutil/scriptGeometry.h"
17 
18 class DtAnalogOutputPort;
19 class DtIntegerInputPort;
21 class DtStringInputPort;
22 class DtStringOutputPort;
23 class DtVectorOutputPort;
24 class DtVectorInputPort;
30 
36  public DtBindableLuaComponent<DtSensorGimbalController>
37 {
38 
39 public:
40 
44  DtVrfObject* owner,
45  DtSimManager* simManager,
46  DtComponentDescriptor* desc = 0,
47  DtReaderWriterRegistry* parentRegistry = 0);
48 
50  virtual ~DtSensorGimbalController();
51 
52  virtual bool init();
53 
54  virtual bool postAddComponentsInit();
55 
58  virtual const char* type() const;
59 
60  virtual void tick();
61 
63 
64  static void setAimGimbalCallback(DtSimMessage * msg, void * usr);
65  virtual void processSetAimGimbal(DtSimMessage* msg);
67 
69 
70  static void setZoomSensorCallback(DtSimMessage * msg, void * usr);
71  virtual void processSetZoomSensor(DtSimMessage* msg);
73 
77 
78  static void setManualControlCallback(DtSimMessage * msg, void * usr);
79  virtual void processSetManualControl(DtSimMessage* msg);
81 
83 
84  static void setFieldOfViewColorCallback(DtSimMessage * msg, void * usr);
85  virtual void processSetFieldOfViewColor(DtSimMessage* msg);
87 
89 
90  static void setLasingCallback(DtSimMessage * msg, void * usr);
91  virtual void processSetLasing(DtSimMessage* msg);
93 
95 
96  static void setGimbalControlCallback(DtSensorFieldOfViewControlInter* ctrlInter, void* usr);
97  virtual void processGimbalControl(DtSensorFieldOfViewControlInter* ctrlInter);
99 
101 
102 
104  virtual bool isUnderManualControl() const;
105 
107  virtual std::string mode() const;
108 
110  virtual double orientation(double& elevation) const;
111 
113  virtual DtLocation3D lookingAt() const;
114 
116 
119  virtual void bindLuaFunctions(lua_State* L);
120  virtual void bindLuaGlobals(lua_State* L);
121 
125  static DtSimComponent * creator(const DtString& name,
126  DtVrfObject* owner,
127  DtSimManager* simManager,
128  DtComponentDescriptor* desc = 0,
129  DtReaderWriterRegistry* parentRegistry = 0);
130 
131 protected:
133  virtual bool targetPoint(const DtTaitBryan& orientation, DtVector& location) const;
134  virtual DtVector localEyepoint() const;
135 
137  virtual bool createPortGroups();
138 
140  virtual bool createPorts();
141 
143  virtual DtSensorGimbalControllerPSR* createPSR();
144 
147  virtual void restoreDefaultAiming();
148 
150  virtual void aimSensorAtPoint(const DtVector& worldLocation);
151 
153  virtual void trackObject(const DtVrfObject* objectToTrack);
154 
157  virtual void aimSensorAtAngle(double azimuth, double elevation);
158 
162  virtual void scanSensor();
163 
167  virtual void searchAndTrackObject(const DtVrfObject* objectToTrack);
168 
170  virtual void currentPositionAzimuthAndElevation(DtVector& offset, double& az, double& el) const;
171 
173  virtual void currentWorldLocationAndOrientation(DtVector& location, DtTaitBryan& orientation) const;
174 
176  virtual DtArticulatedPartStateRepository* gimbalAzimuthPart();
177  virtual const DtArticulatedPartStateRepository* gimbalAzimuthPart() const;
178 
180  virtual DtArticulatedPartStateRepository* gimbalElevationPart();
181  virtual const DtArticulatedPartStateRepository* gimbalElevationPart() const;
182 
185  virtual bool findLocationOfSensorAiming(const DtVector& sensorLocation,
186  const DtTaitBryan& orientation, DtVector& aimingPoint) const;
187 
188  virtual void calcAndSetPortValues(const DtString& functionGroup, const DtString& function, double value, bool repeat);
189  virtual void joystickConnected();
190  virtual void joystickDisconnected();
191 
193  static DtRwColor randomFieldOfViewColor();
194 
195 private:
196 
199 
202  DtSensorGimbalController & orig);
203 
206  const DtSensorGimbalController & orig);
207 
208 protected:
209 
211 
213 
216 
219 
223 
225 
227 
228 
233 
241 
249 
256 
263 
270 
277 
283 
289 
295 
301 
307 
316 };

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)