VR-Forces 4.8 Class Documentation
 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) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <vrvUtil/coordUtils.h>
17 
18 #include <matrix/geodeticCoord.h>
19 
20 #include <boost/signal.hpp>
21 
22 class CigiBaseLosSegReq;
23 class CigiLosSegReqV3_2;
24 class CigiLosSegReqV4;
25 
26 class CigiBaseLosVectReq;
27 class CigiLosVectReqV3_2;
28 class CigiLosVectReqV4;
29 
30 namespace makVrv
31 {
32  class DtCigiConnection;
33  class DtCigiLosRequest;
34  class DtCigiLosBasicResponse;
35  class DtCigiLosExtendedResponse;
36 
42  {
43  public:
44  friend class DtLosResponderCreator;
45 
47  virtual ~DtLosResponder();
48 
50  virtual void generateLosBasicResponse(DtCigiLosBasicResponse* losResponse);
51 
53  virtual void generateLosExtendedResponse(DtCigiLosExtendedResponse* losResponse);
54 
57  virtual void processLosRequests();
58 
60  boost::signal<void (DtCigiLosRequest*, bool takeOwnership)> signal_losCheckRequested;
61 
62  protected:
64  DtLosResponder(DtCigiConnection& connection);
65 
68  virtual void processLosSegmentRequest( CigiBaseLosSegReq& losSegReq);
69 
71  virtual void processLosVectorRequest( CigiBaseLosVectReq& losVectReq);
72 
74  virtual void processLosSegReqV3( CigiLosSegReqV3_2& losSegReq );
75 
77  virtual void processLosSegReqV4( CigiLosSegReqV4& losSegReq );
78 
80  virtual void processLosVectReqV3( CigiLosVectReqV3_2& losVectReq );
81 
83  virtual void processLosVectReqV4( CigiLosVectReqV4& losVectReq );
84 
86  virtual void setDatabaseCoordinateFromGeodetic(const DtGeodeticCoord& from,
87  DtVector& to);
88 
90  virtual void addPeriodicLosRequest(DtCigiLosRequest* request);
91 
93  virtual void sendLosRequest(DtCigiLosRequest* request, bool takeOwnership);
94 
95 
96  protected:
98  std::map<int, DtCigiLosRequest*> myLosIdToRequestMap;
99  };
100 
103  {
104  public:
107 
109  virtual ~DtLosResponderCreator();
110 
112  static DtLosResponderCreator& instance( DtDe& de );
113 
115  static DtLosResponderCreator& instance( DtCigiConnection& con );
116 
118  virtual DtLosResponderCreator* clone();
119 
121  static void copyInstance(DtCigiConnection& con, DtDe& de);
122 
124  virtual DtLosResponder* create( DtCigiConnection& connection ) const;
125  };
126 }
127 
Virtual base class.
Definition: DtVirtualBaseClass.h:22
Contains additional coordinate system related utilities.
DtCigiConnection & myConnection
Definition: DtLosResponder.h:97
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:98
Contains makVrv::DtVirtualBaseClass class.
boost::signal< void(DtCigiLosRequest *, bool takeOwnership)> signal_losCheckRequested
Signal to the intersection handler of a request.
Definition: DtLosResponder.h:60
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.
Definition: DtCigiConnection.h:56
Creator class for the LOS Responder.
Definition: DtLosResponder.h:102
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:41
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)