OSVR-Core
HDKData.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_HDKData_h_GUID_89F92BAC_AB45_44B8_1402_D4F4D5E3A9B9
26 #define INCLUDED_HDKData_h_GUID_89F92BAC_AB45_44B8_1402_D4F4D5E3A9B9
27 
28 // Internal Includes
29 #include "Types.h"
30 
31 // Library/third-party includes
32 #include <opencv2/core/core.hpp>
33 
34 // Standard includes
35 #include <cstddef>
36 #include <initializer_list>
37 
38 namespace osvr {
39 namespace vbtracker {
43  extern const Point3Vector OsvrHdkLedLocations_SENSOR0;
44  extern const Point3Vector OsvrHdkLedLocations_SENSOR1;
46 
50  extern const Point3Vector OsvrHdk2LedLocations_SENSOR0;
51  extern const Point3Vector OsvrHdk2LedLocations_SENSOR1;
53 
54  std::initializer_list<std::size_t> getOneBasedIDsOfMissingBeaconsHDK2();
55 
58  extern const Vec3Vector OsvrHdkLedDirections_SENSOR0;
59  extern const Vec3Vector OsvrHdkLedDirections_SENSOR1;
61 
62  extern const std::vector<double> OsvrHdkLedVariances_SENSOR0;
63 
64  inline std::size_t getNumHDKFrontPanelBeacons() {
65  return OsvrHdkLedLocations_SENSOR0.size();
66  }
67 
68  inline std::size_t getNumHDKRearPanelBeacons() {
69  return OsvrHdkLedLocations_SENSOR1.size();
70  }
71 
73  inline double
74  computeDistanceBetweenPanels(double headCircumference,
75  double headToFrontBeaconOriginDistance) {
76  return headCircumference / CV_PI * 10. +
77  headToFrontBeaconOriginDistance;
78  }
79 
80 } // namespace vbtracker
81 } // namespace osvr
82 #endif // INCLUDED_HDKData_h_GUID_89F92BAC_AB45_44B8_1402_D4F4D5E3A9B9
const std::vector< double > OsvrHdkLedVariances_SENSOR0
generated by python script in this directory.
Definition: HDKData.cpp:182
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
const Point3Vector OsvrHdk2LedLocations_SENSOR0
Locations on the HDK2 chassis - for LEDs that the HDK2 lacks, the HDK1 values were used as placeholde...
Definition: HDKData.cpp:95
float computeDistanceBetweenPanels(ConfigParams const &config)
distance between front and back panel target origins, in mm.
Definition: SetupSensors.h:68