VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtLosResponder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2016 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 <matrix/geodeticCoord.h>
17 
18 #include <boost/signal.hpp>
19 
20 class CigiLosSegReqV3_2;
21 class CigiLosVectReqV3_2;
22 
23 namespace makVrv
24 {
25  class DtCigiConnection;
26 
32  {
33  public:
34  struct LosData
35  {
42  };
43 
44  friend class DtLosResponderCreator;
45 
47  virtual ~DtLosResponder();
48 
50  virtual void generateLosResponse(int losId, DtUniqueID entityId,
51  bool visible, double range, int responseCount, int hostFrame);
52 
55  virtual void processLosRequests();
56 
58  boost::signal<void (DtUniqueID, const DtVector&, DtUniqueID, const DtVector&, int, int)>
60 
61  protected:
63  DtLosResponder(DtCigiConnection& connection);
64 
66  virtual void processLosSegmentRequest(const CigiLosSegReqV3_2& losSegReq);
67 
69  virtual void processLosVectorRequest(CigiLosVectReqV3_2& losVecReq);
70 
72  virtual void setDatabaseCoordinateFromGeodetic(const DtGeodeticCoord& from,
73  DtVector& to);
74 
76  virtual void addPeriodicLosRequest(DtUniqueID sourceEntityId, const DtVector& sourcePoint,
77  DtUniqueID destEntityId, const DtVector& destPoint, unsigned int updatePeriod,
78  int losId);
79 
81  virtual void sendLosRequest(DtUniqueID sourceId, const DtVector& sourcePoint,
82  DtUniqueID destId, const DtVector& destPoint, int losId);
83 
84 
85  protected:
87  std::map<int, LosData> myLosIdToDataMap;
88  };
89 
92  {
93  public:
96 
98  virtual ~DtLosResponderCreator();
99 
101  static DtLosResponderCreator& instance( DtDe& de );
102 
104  static DtLosResponderCreator& instance( DtCigiConnection& con );
105 
107  static void copyInstance(DtCigiConnection& con, DtDe& de);
108 
110  virtual DtLosResponder* create( DtCigiConnection& connection ) const;
111  };
112 }
113 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)