25 #ifndef INCLUDED_RoomCalibration_h_GUID_D53BD552_47D4_4390_C6AC_C6819180D4AF
26 #define INCLUDED_RoomCalibration_h_GUID_D53BD552_47D4_4390_C6AC_C6819180D4AF
37 #include <boost/optional.hpp>
51 bool cameraIsForward =
true);
56 BodyTargetId
const &target)
const;
59 BodyTargetId
const &target,
61 Eigen::Vector3d
const &xlate,
62 Eigen::Quaterniond
const &quat);
66 Eigen::Quaterniond
const &quat);
72 bool calibrationComplete()
const {
return m_calibComplete; }
80 boost::optional<util::Angle>
81 getCalibrationYaw(
BodyId const &body)
const;
88 bool finished()
const;
91 std::ostream &msgStream()
const;
93 std::ostream &msg()
const;
97 std::ostream &instructions()
const;
98 void endInstructions()
const;
100 bool haveVideoData()
const {
return !m_videoTarget.first.empty(); }
101 bool haveIMUData()
const {
return !m_imuBody.empty(); }
102 std::size_t m_steadyVideoReports = 0;
106 void handleExcessVelocity(
double zTranslation);
107 enum class InstructionState {
112 InstructionState m_instructionState = InstructionState::Uninstructed;
116 BodyTargetId m_videoTarget;
125 Eigen::Vector3d m_rTc_ln_accum = Eigen::Vector3d::Zero();
128 Eigen::Quaterniond m_imuOrientation = Eigen::Quaterniond::Identity();
132 Eigen::Vector3d m_suppliedCamPosition;
133 bool m_cameraIsForward;
136 bool m_calibComplete =
false;
140 Eigen::Isometry3d m_cameraPose = Eigen::Isometry3d::Identity();
141 Eigen::Isometry3d m_rTi = Eigen::Isometry3d::Identity();
150 #endif // INCLUDED_RoomCalibration_h_GUID_D53BD552_47D4_4390_C6AC_C6819180D4AF
AngleRadiansd Angle
Default angle type.
Header wrapping include of and for warning quieting.
Header defining some filters for Eigen datatypes.
bool wantVideoData(TrackingSystem const &sys, BodyTargetId const &target) const
Header providing a C++ wrapper around TimeValueC.h.
void processVideoData(TrackingSystem const &sys, BodyTargetId const &target, util::time::TimeValue const ×tamp, Eigen::Vector3d const &xlate, Eigen::Quaterniond const &quat)
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Eigen::Isometry3d getCameraPose() const
bool postCalibrationUpdate(TrackingSystem &sys)