OSVR-Core
ProjectPoint.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_ProjectPoint_h_GUID_11215CA6_05AF_4795_CD97_835F0B623864
26 #define INCLUDED_ProjectPoint_h_GUID_11215CA6_05AF_4795_CD97_835F0B623864
27 
28 // Internal Includes
29 // - none
30 
31 // Library/third-party includes
33 
34 // Standard includes
35 // - none
36 
37 namespace osvr {
38 namespace vbtracker {
44  inline Eigen::Vector2d projectPoint(double focalLength,
45  Eigen::Vector2d const &principalPoint,
46  Eigen::Vector3d const &camPoint) {
47  return (camPoint.head<2>() / camPoint[2]) * focalLength +
48  principalPoint;
49  }
50 
57  inline Eigen::Vector2d projectPoint(Eigen::Vector3d const &translation,
58  Eigen::Quaterniond const &rotation,
59  double focalLength,
60  Eigen::Vector2d const &principalPoint,
61  Eigen::Vector3d const &objectPoint) {
62  return projectPoint(focalLength, principalPoint,
63  rotation * objectPoint + translation);
64  }
65 
66 } // namespace vbtracker
67 } // namespace osvr
68 #endif // INCLUDED_ProjectPoint_h_GUID_11215CA6_05AF_4795_CD97_835F0B623864
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Header wrapping include of <Eigen/Core> and <Eigen/Geometry> for warning quieting.
Eigen::Vector2d projectPoint(double focalLength, Eigen::Vector2d const &principalPoint, Eigen::Vector3d const &camPoint)
Project point for a simple pinhole camera model, with focal lengths equal on both axes and no distort...
Definition: ProjectPoint.h:44
Definition: Quaternion.h:47