VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLosResponder.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 #include <vrvCore/DtUniqueID.h>
14 
17 
18 #include <vrvUtil/coordUtils.h>
19 
20 #include <matrix/geodeticCoord.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 class CigiBaseLosSegReq;
25 class CigiLosSegReqV3_2;
26 class CigiLosSegReqV4;
27 
28 class CigiBaseLosVectReq;
29 class CigiLosVectReqV3_2;
30 class CigiLosVectReqV4;
31 
32 namespace makVrv
33 {
34  class DtCigiConnection;
35  class DtCigiLosRequest;
36  class DtCigiLosBasicResponse;
37  class DtCigiLosExtendedResponse;
38 
44  {
45  public:
46  friend class DtLosResponderCreator;
47 
49  virtual ~DtLosResponder();
50 
52  virtual void generateLosBasicResponse(DtCigiLosBasicResponse* losResponse);
53 
55  virtual void generateLosExtendedResponse(DtCigiLosExtendedResponse* losResponse);
56 
59  virtual void processLosRequests();
60 
62  vrvSignalsLib::signal<void (DtCigiLosRequest*, bool takeOwnership)> signal_losCheckRequested;
63 
65  virtual void reset();
66 
69  DtLosResponder() = delete;
70  DtLosResponder( DtLosResponder& ) = delete;
71  DtLosResponder( DtLosResponder&& ) = delete;
72  DtLosResponder& operator=( DtLosResponder& ) = delete;
73  DtLosResponder& operator=( DtLosResponder&& ) = delete;
75  protected:
77  DtLosResponder(DtCigiConnection& connection);
78 
81  virtual void processLosSegmentRequest( CigiBaseLosSegReq& losSegReq);
82 
84  virtual void processLosVectorRequest( CigiBaseLosVectReq& losVectReq);
85 
87  virtual void processLosSegReqV3( CigiLosSegReqV3_2& losSegReq );
88 
90  virtual void processLosSegReqV4( CigiLosSegReqV4& losSegReq );
91 
93  virtual void processLosVectReqV3( CigiLosVectReqV3_2& losVectReq );
94 
96  virtual void processLosVectReqV4( CigiLosVectReqV4& losVectReq );
97 
99  virtual void setDatabaseCoordinateFromGeodetic(const DtGeodeticCoord& from,
100  DtVector& to);
101 
103  virtual void addPeriodicLosRequest(DtCigiLosRequest* request);
104 
106  virtual void sendLosRequest(DtCigiLosRequest* request, bool takeOwnership);
107 
108 
109  protected:
111  std::map<int, DtCigiLosRequest*> myLosIdToRequestMap;
112 
114  };
115 
118  {
119  public:
122 
124  virtual ~DtLosResponderCreator();
125 
127  static DtLosResponderCreator& instance( DtDe& de );
128 
130  static DtLosResponderCreator& instance( DtCigiConnection& con );
131 
133  virtual DtLosResponderCreator* clone();
134 
136  static void copyInstance(DtCigiConnection& con, DtDe& de);
137 
139  virtual DtLosResponder* create( DtCigiConnection& connection ) const;
140  };
141 }
142 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Contains additional coordinate system related utilities.
DtCigiConnection & myConnection
Definition: DtLosResponder.h:110
Contains DLL export macros.
A DtCigiIntersectionHandler processes CIGI LOS Requests and packages the results into instances of th...
Definition: DtCigiLosExtendedResponse.h:29
std::map< int, DtCigiLosRequest * > myLosIdToRequestMap
Definition: DtLosResponder.h:111
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtLosResponder.h:113
A DtCigiIntersectionHandler processes CIGI LOS Requests and packages the results into instances of th...
Definition: DtCigiLosBasicResponse.h:27
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
vrvSignalsLib::signal< void(DtCigiLosRequest *, bool takeOwnership)> signal_losCheckRequested
Signal to the intersection handler of a request.
Definition: DtLosResponder.h:62
Creator class for the LOS Responder.
Definition: DtLosResponder.h:117
Base class to provide boost signal/slot management.
A DtLosResponder processes CIGI LOS Segment Request and LOS Vector Request messages and packages them...
Definition: DtCigiLosRequest.h:26
Contains makVrv::DtUniqueID type.
A DtLosResponder processes CIGI LOS Segment Request and LOS Vector Request messages, and either immediately signals the DtCigiIntersectionHandler of a request or adds a periodic request to its queue.
Definition: DtLosResponder.h:43
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
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19

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)