VR-Forces 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) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 
16 
17 #include <stdint.h> // for uint**_t
18 
19 #include <string.h>
20 #include <vrvUtil/signalslib.h>
21 
22 class CigiBaseSensorCtrl;
23 class CigiSensorCtrlV3;
24 class CigiSensorCtrlV4;
25 
26 namespace makVrv
27 {
28  class DtCigiConnection;
29 
37 
39  {
40  public:
42 
45  {
46  TrackOff = 0,
47  ForceCorrelate = 1,
48  Scene = 2,
49  Target = 3,
50  Ship = 4,
51  LOS = 5, // Our LOS Track
52  TMDefB = 6,
53  TMDefC = 7
54  };
55 
59  {
60  SearchingForTarget = 0,
61  TrackingTarget = 1,
62  ImpendingBreaklock = 2,
63  BreakLock = 3
64  };
65 
70  {
71  uint8_t SensorId; // Used for sensor tracking
72  std::string SensorName; // Used for sensor visualisation
77  bool Polarity;
78  bool SensorOn;
80  uint16_t ViewId;
81  float Gain; // 0 - 1.0
82  float Level; // 0 - 1.0
83  float AcCoupling; // > 0.0
84  float Noise; // 0 - 1.0
85  };
86 
90  {
91  uint8_t SensorId;
94  uint16_t ViewId;
95  uint16_t GateXSize;
96  uint16_t GateYSize;
99  uint32_t HostFrameNumber;
100  // Extended Vars
101  unsigned long long EntityID;
106  };
107 
108  using DtSensorRequestMap = std::map<int, DtSensorRequestData>;
109 
111  virtual ~DtSensorResponder();
112 
116  vrvSignalsLib::signal<void( DtSensorRequestData* )> signal_sensorControllerRequest;
120  vrvSignalsLib::signal<void( DtSensorRequestData* )> signal_sensorViewControllerRequest;
121 
124  virtual void processSensorRequests();
125 
127  virtual void generateSensorResponse( DtSensorResponseData& response );
128 
130  virtual void reset();
131 
134  DtSensorResponder() = delete;
135  DtSensorResponder( const DtSensorResponder& ) = delete;
136  DtSensorResponder( DtSensorResponder&& ) = delete;
137  DtSensorResponder& operator=( const DtSensorResponder& ) = delete;
138  DtSensorResponder& operator=( DtSensorResponder&& ) = delete;
140  protected:
142  DtSensorResponder( DtCigiConnection& connection );
143 
145  void slot_processSensorControlRequest( CigiBaseSensorCtrl& packet );
146 
149  void processSensorControlV3( CigiSensorCtrlV3& packet );
150 
153  void processSensorControlV4( CigiSensorCtrlV4& packet );
154 
155  protected:
158 
160  };
161 
165  {
166  public:
169 
171  virtual ~DtSensorResponderCreator();
172 
174  static DtSensorResponderCreator& instance( DtDe& de );
175 
177  static DtSensorResponderCreator& instance( DtCigiConnection& connection );
178 
180  virtual DtSensorResponderCreator* clone();
181 
183  static void copyInstance( DtCigiConnection& con, DtDe& de );
184 
186  virtual DtSensorResponder* create( DtCigiConnection& connection ) const;
187  };
188 }
unsigned long long EntityID
Definition: DtSensorResponder.h:101
bool EntityIdValid
Definition: DtSensorResponder.h:102
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:78
float Level
Definition: DtSensorResponder.h:82
bool ResponseType
Definition: DtSensorResponder.h:79
uint32_t HostFrameNumber
Definition: DtSensorResponder.h:99
bool TrackWhiteBlack
Definition: DtSensorResponder.h:74
vrvSignalsLib::signal< void(DtSensorRequestData *)> signal_sensorViewControllerRequest
Signal to the View Controller for processing of Sensor data, changes sensor views signal_sensorContro...
Definition: DtSensorResponder.h:120
Contains DLL export macros.
DtCigiConnection & myCigiConnection
Definition: DtSensorResponder.h:156
DtSensorRequestMap mySensorRequests
Definition: DtSensorResponder.h:157
double TrackPointAltitude
Definition: DtSensorResponder.h:105
uint16_t ViewId
Definition: DtSensorResponder.h:80
std::string SensorName
Definition: DtSensorResponder.h:72
DtSignalConnectionManager myConnections
Definition: DtSensorResponder.h:159
Contains makVrv::DtVirtualBaseClass class.
float AcCoupling
Definition: DtSensorResponder.h:83
Structure containing the data for the Sensor Response Packet.
Definition: DtSensorResponder.h:89
uint16_t GateYSize
Definition: DtSensorResponder.h:96
float GateXPosition
Definition: DtSensorResponder.h:97
uint16_t GateXSize
Definition: DtSensorResponder.h:95
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: targetConfigurationDialog.h:35
uint8_t SensorId
Definition: DtSensorResponder.h:91
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
DtTrackMode TrackMode
Definition: DtSensorResponder.h:73
DtTrackMode
Track Mode Enum for Sensor Control Packet.
Definition: DtSensorResponder.h:44
This class catches Sesnor Control signals from the Cigi Signal handler, and processes them into V3 an...
Definition: DtSensorResponder.h:38
float Gain
Definition: DtSensorResponder.h:81
Base class to provide boost signal/slot management.
uint8_t SensorId
Definition: DtSensorResponder.h:71
double TrackPointLatitude
Definition: DtSensorResponder.h:103
float Noise
Definition: DtSensorResponder.h:84
bool ResponseType
Definition: DtSensorResponder.h:93
Creator Class for DtSensorResponder
Definition: DtSensorResponder.h:164
bool AutomaticGain
Definition: DtSensorResponder.h:75
double TrackPointLongitude
Definition: DtSensorResponder.h:104
vrvSignalsLib::signal< void(DtSensorRequestData *)> signal_sensorControllerRequest
Signal to the Sensor Controller for processing of Sensor data, processing tracking signal_sensorContr...
Definition: DtSensorResponder.h:116
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:76
DtSensorStatus
Enum for Sensor Status Used in response packets.
Definition: DtSensorResponder.h:58
bool Polarity
Definition: DtSensorResponder.h:77
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
float GateYPosition
Definition: DtSensorResponder.h:98
DtSensorStatus SensorStatus
Definition: DtSensorResponder.h:92
Structure containing the data of the processed inbound sensor control packet. These packets are sent ...
Definition: DtSensorResponder.h:69
uint16_t ViewId
Definition: DtSensorResponder.h:94
bool LineByLineDropout
Definition: DtSensorResponder.h:76
std::map< int, DtSensorRequestData > DtSensorRequestMap
Definition: DtSensorResponder.h:108

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)