OSVR-Core
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
35 #include <osvr/Common/PathTree.h>
38 #include <osvr/Common/Transform.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 
82  bool m_getStatus() const override;
83 
85  vrpn_ConnectionPtr m_mainConn;
86 
88  common::BaseDevicePtr m_systemDevice;
89 
92  common::SystemComponent *m_systemComponent;
93 
95  VRPNConnectionCollection m_vrpnConns;
96 
98  common::PathTreeOwner m_pathTreeOwner;
99 
101  RemoteHandlerFactory m_factory;
102 
104  common::Transform m_roomToWorld;
105 
108  ClientInterfaceObjectManager m_ifaceMgr;
109 
113  bool m_started = false;
114  };
115 } // namespace client
116 } // namespace osvr
117 
118 #endif // INCLUDED_AnalysisClientContext_h_GUID_6B2A41C3_C718_45AD_223E_4271ABBA8427
Definition: RemoteHandlerFactory.h:47
shared_ptr< ClientInterface > ClientInterfacePtr
Pointer for holding ClientInterface objects safely.
Definition: ClientInterfacePtr.h:43
A tree representation, with path/url syntax, of the known OSVR system.
Definition: PathTree.h:43
Header.
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Class hiding the details of the interaction of the path tree and interface objects/osvr::client::Inte...
Definition: ClientInterfaceObjectManager.h:59
Object responsible for owning a path tree (specifically a "downstream"/client path tree)...
Definition: PathTreeOwner.h:48
AnalysisClientContext(const char appId[], const char host[], vrpn_ConnectionPtr const &conn, common::ClientContextDeleter del)
Definition: AnalysisClientContext.cpp:50
Header.
Definition: ClientContext.h:50
Definition: VRPNConnectionCollection.h:42
BaseDevice component, to be used only with the "OSVR" special device.
Definition: SystemComponent.h:76
Header forward-declaring TimeValue C++ API.
Spatial transformation, consisting of both pre and post components.
Definition: Transform.h:44
Definition: AnalysisClientContext.h:50