OSVR Framework (Internal Development Docs)  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
AnalysisClientContext.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_AnalysisClientContext_h_GUID_6B2A41C3_C718_45AD_223E_4271ABBA8427
26 #define INCLUDED_AnalysisClientContext_h_GUID_6B2A41C3_C718_45AD_223E_4271ABBA8427
27 
28 // Internal Includes
31 #include <osvr/Common/Transform.h>
33 #include <osvr/Common/PathTree.h>
40 
41 // Library/third-party includes
42 // - none
43 
44 // Standard includes
45 // - none
46 
47 namespace osvr {
48 namespace client {
49 
51  public:
52  AnalysisClientContext(const char appId[], const char host[],
53  vrpn_ConnectionPtr const &conn,
54  common::ClientContextDeleter del);
55  virtual ~AnalysisClientContext();
56  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57  private:
58  void m_update() override;
59  void m_sendRoute(std::string const &route) override;
60 
63  void
64  m_handleNewInterface(common::ClientInterfacePtr const &iface) override;
65 
69  void m_handleReleasingInterface(
70  common::ClientInterfacePtr const &iface) override;
71 
72  common::PathTree const &m_getPathTree() const override;
73  common::Transform const &m_getRoomToWorldTransform() const override {
74  return m_roomToWorld;
75  }
76 
77  void
78  m_setRoomToWorldTransform(common::Transform const &xform) override {
79  m_roomToWorld = xform;
80  }
81  bool m_getStatus() const override;
82 
84  vrpn_ConnectionPtr m_mainConn;
85 
87  common::BaseDevicePtr m_systemDevice;
88 
91  common::SystemComponent *m_systemComponent;
92 
94  VRPNConnectionCollection m_vrpnConns;
95 
97  common::PathTreeOwner m_pathTreeOwner;
98 
100  RemoteHandlerFactory m_factory;
101 
103  common::Transform m_roomToWorld;
104 
107  ClientInterfaceObjectManager m_ifaceMgr;
108 
112  bool m_started = false;
113  };
114 } // namespace client
115 } // namespace osvr
116 
117 #endif // INCLUDED_AnalysisClientContext_h_GUID_6B2A41C3_C718_45AD_223E_4271ABBA8427
shared_ptr< ClientInterface > ClientInterfacePtr
Pointer for holding ClientInterface objects safely.
A tree representation, with path/url syntax, of the known OSVR system.
Definition: PathTree.h:43
Class hiding the details of the interaction of the path tree and interface objects/osvr::client::Inte...
Object responsible for owning a path tree (specifically a "downstream"/client path tree)...
Definition: PathTreeOwner.h:48
Header.
AnalysisClientContext(const char appId[], const char host[], vrpn_ConnectionPtr const &conn, common::ClientContextDeleter del)
Header.
BaseDevice component, to be used only with the "OSVR" special device.
Header forward-declaring TimeValue C++ API.
Spatial transformation, consisting of both pre and post components.
Definition: Transform.h:44