VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSensorResponder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
14 
15 #include <stdint.h> // for uint**_t
16 
17 #include <string.h>
18 #include <vrvUtil/signalslib.h>
19 
20 class CigiBaseSensorCtrl;
21 class CigiSensorCtrlV3;
22 class CigiSensorCtrlV4;
23 
24 namespace makVrv
25 {
26  class DtCigiConnection;
27 
35 
37  {
38  public:
40 
43  {
44  TrackOff = 0,
45  ForceCorrelate = 1,
46  Scene = 2,
47  Target = 3,
48  Ship = 4,
49  LOS = 5, // Our LOS Track
50  TMDefB = 6,
51  TMDefC = 7
52  };
53 
57  {
58  SearchingForTarget = 0,
59  TrackingTarget = 1,
60  ImpendingBreaklock = 2,
61  BreakLock = 3
62  };
63 
68  {
69  uint8_t SensorId; // Used for sensor tracking
70  std::string SensorName; // Used for sensor visualisation
75  bool Polarity;
76  bool SensorOn;
78  uint16_t ViewId;
79  float Gain; // 0 - 1.0
80  float Level; // 0 - 1.0
81  float AcCoupling; // > 0.0
82  float Noise; // 0 - 1.0
83  };
84 
88  {
89  uint8_t SensorId;
92  uint16_t ViewId;
93  uint16_t GateXSize;
94  uint16_t GateYSize;
97  uint32_t HostFrameNumber;
98  // Extended Vars
99  unsigned long long EntityID;
104  };
105 
106  typedef std::map<int, DtSensorRequestData> DtSensorRequestMap;
107 
109  virtual ~DtSensorResponder();
110 
114  boost::signalslib::signal<void( DtSensorRequestData* )> signal_sensorControlRequest;
115 
118  virtual void processSensorRequests();
119 
121  virtual void generateSensorResponse( DtSensorResponseData& response );
122  protected:
124  DtSensorResponder( DtCigiConnection& connection );
125 
127  void slot_processSensorControlRequest( CigiBaseSensorCtrl& packet );
128 
131  void processSensorControlV3( CigiSensorCtrlV3& packet );
132 
135  void processSensorControlV4( CigiSensorCtrlV4& packet );
136 
137  private:
139  DtSensorResponder& operator=( const DtSensorResponder& orig );
140 
142  DtSensorResponder( const DtSensorResponder& orig );
143 
144  protected:
147  };
148 
152  {
153  public:
156 
158  virtual ~DtSensorResponderCreator();
159 
161  static DtSensorResponderCreator& instance( DtDe& de );
162 
164  static DtSensorResponderCreator& instance( DtCigiConnection& connection );
165 
167  virtual DtSensorResponderCreator* clone();
168 
170  static void copyInstance( DtCigiConnection& con, DtDe& de );
171 
173  virtual DtSensorResponder* create( DtCigiConnection& connection ) const;
174  };
175 }
unsigned long long EntityID
Definition: DtSensorResponder.h:99
bool EntityIdValid
Definition: DtSensorResponder.h:100
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool SensorOn
Definition: DtSensorResponder.h:76
float Level
Definition: DtSensorResponder.h:80
bool ResponseType
Definition: DtSensorResponder.h:77
uint32_t HostFrameNumber
Definition: DtSensorResponder.h:97
bool TrackWhiteBlack
Definition: DtSensorResponder.h:72
Contains DLL export macros.
boost::signalslib::signal< void(DtSensorRequestData *)> signal_sensorControlRequest
Signal to the View Controller / Sensor Controller for processing of Sensor data signal_sensorControlR...
Definition: DtSensorResponder.h:114
DtCigiConnection & myCigiConnection
Definition: DtSensorResponder.h:145
DtSensorRequestMap mySensorRequests
Definition: DtSensorResponder.h:146
double TrackPointAltitude
Definition: DtSensorResponder.h:103
uint16_t ViewId
Definition: DtSensorResponder.h:78
std::string SensorName
Definition: DtSensorResponder.h:70
Contains makVrv::DtVirtualBaseClass class.
float AcCoupling
Definition: DtSensorResponder.h:81
Structure containing the data for the Sensor Response Packet.
Definition: DtSensorResponder.h:87
uint16_t GateYSize
Definition: DtSensorResponder.h:94
float GateXPosition
Definition: DtSensorResponder.h:95
uint16_t GateXSize
Definition: DtSensorResponder.h:93
Definition: targetConfigurationDialog.h:35
uint8_t SensorId
Definition: DtSensorResponder.h:89
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:57
DtTrackMode TrackMode
Definition: DtSensorResponder.h:71
DtTrackMode
Track Mode Enum for Sensor Control Packet.
Definition: DtSensorResponder.h:42
This class catches Sesnor Control signals from the Cigi Signal handler, and processes them into V3 an...
Definition: DtSensorResponder.h:36
float Gain
Definition: DtSensorResponder.h:79
uint8_t SensorId
Definition: DtSensorResponder.h:69
double TrackPointLatitude
Definition: DtSensorResponder.h:101
float Noise
Definition: DtSensorResponder.h:82
bool ResponseType
Definition: DtSensorResponder.h:91
Creator Class for DtSensorResponder
Definition: DtSensorResponder.h:151
bool AutomaticGain
Definition: DtSensorResponder.h:73
double TrackPointLongitude
Definition: DtSensorResponder.h:102
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtSensorStatus
Enum for Sensor Status Used in response packets.
Definition: DtSensorResponder.h:56
bool Polarity
Definition: DtSensorResponder.h:75
std::map< int, DtSensorRequestData > DtSensorRequestMap
Definition: DtSensorResponder.h:106
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
float GateYPosition
Definition: DtSensorResponder.h:96
DtSensorStatus SensorStatus
Definition: DtSensorResponder.h:90
Structure containing the data of the processed inbound sensor control packet. These packets are sent ...
Definition: DtSensorResponder.h:67
uint16_t ViewId
Definition: DtSensorResponder.h:92
bool LineByLineDropout
Definition: DtSensorResponder.h:74

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)