VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
17 class DtAnalogOutputPort;
18 class DtIntegerInputPort;
20 class DtStringInputPort;
21 class DtStringOutputPort;
22 class DtVectorOutputPort;
23 class DtVectorInputPort;
28 
34  public DtBindableLuaComponent<DtSensorGimbalController>
35 {
36 
37 public:
38 
42  DtVrfObject* owner,
43  DtSimManager* simManager,
44  DtComponentDescriptor* desc = 0,
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
48  virtual ~DtSensorGimbalController();
49 
50  virtual bool init();
51 
52  virtual bool postAddComponentsInit();
53 
56  virtual const char* type() const;
57 
58  virtual void tick();
59 
61 
62  static void setAimGimbalCallback(DtSimMessage * msg, void * usr);
63  virtual void processSetAimGimbal(DtSimMessage* msg);
65 
67 
68  static void setZoomSensorCallback(DtSimMessage * msg, void * usr);
69  virtual void processSetZoomSensor(DtSimMessage* msg);
71 
75 
76  static void setManualControlCallback(DtSimMessage * msg, void * usr);
77  virtual void processSetManualControl(DtSimMessage* msg);
79 
81 
82  static void setFieldOfViewColorCallback(DtSimMessage * msg, void * usr);
83  virtual void processSetFieldOfViewColor(DtSimMessage* msg);
85 
87 
88  static void setGimbalControlCallback(DtSensorFieldOfViewControlInter* ctrlInter, void* usr);
89  virtual void processGimbalControl(DtSensorFieldOfViewControlInter* ctrlInter);
91 
93 
94 
96  virtual bool isUnderManualControl() const;
97 
99  virtual std::string mode() const;
100 
102 
105  virtual void bindLuaFunctions(lua_State* L);
106  virtual void bindLuaGlobals(lua_State* L);
107 
111  static DtSimComponent * creator(const DtString& name,
112  DtVrfObject* owner,
113  DtSimManager* simManager,
114  DtComponentDescriptor* desc = 0,
115  DtReaderWriterRegistry* parentRegistry = 0);
116 
117 protected:
118 
120  virtual bool createPortGroups();
121 
123  virtual bool createPorts();
124 
126  virtual DtSensorGimbalControllerPSR* createPSR();
127 
130  virtual void restoreDefaultAiming();
131 
133  virtual void aimSensorAtPoint(const DtVector& worldLocation);
134 
136  virtual void trackObject(const DtVrfObject* objectToTrack);
137 
140  virtual void aimSensorAtAngle(double azimuth, double elevation);
141 
145  virtual void scanSensor();
146 
150  virtual void searchAndTrackObject(const DtVrfObject* objectToTrack);
151 
153  virtual void currentPositionAzimuthAndElevation(DtVector& offset, double& az, double& el) const;
154 
156  virtual void currentWorldLocationAndOrientation(DtVector& location, DtTaitBryan& orientation) const;
157 
159  virtual DtArticulatedPartStateRepository* gimbalAzimuthPart();
160  virtual const DtArticulatedPartStateRepository* gimbalAzimuthPart() const;
161 
163  virtual DtArticulatedPartStateRepository* gimbalElevationPart();
164  virtual const DtArticulatedPartStateRepository* gimbalElevationPart() const;
165 
168  virtual bool findLocationOfSensorAiming(const DtVector& sensorLocation,
169  const DtTaitBryan& orientation, DtVector& aimingPoint) const;
170 
171  virtual void calcAndSetPortValues(const DtString& functionGroup, const DtString& function, double value, bool repeat);
172  virtual void joystickConnected();
173  virtual void joystickDisconnected();
174 
176  static DtRwColor randomFieldOfViewColor();
177 
178 private:
179 
182 
185  DtSensorGimbalController & orig);
186 
189  const DtSensorGimbalController & orig);
190 
191 protected:
192 
194 
196 
199 
202 
206 
208 
210 
211 
216 
224 
232 
239 
246 
253 
260 
266 
272 
278 
284 
291 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)