2#ifndef GM_TRACK_RELATIVETRACKERPOSEREGISTRATIONESTIMATOR
3#define GM_TRACK_RELATIVETRACKERPOSEREGISTRATIONESTIMATOR
5#include <gmTrack/config.hh>
7#include <gmCore/io_eigen.hh>
8#include <gmCore/OFactory.hh>
9#include <gmCore/Updateable.hh>
11#include <gmTrack/MultiPoseTracker.hh>
12#include <gmTrack/SinglePoseTracker.hh>
13#include <gmTrack/MultiPoseTracker.hh>
15BEGIN_NAMESPACE_GMTRACK;
35 void addSinglePoseTracker(std::shared_ptr<SinglePoseTracker> tracker);
42 void addMultiPoseTracker(std::shared_ptr<MultiPoseTracker> tracker);
51 void setSamplesPerSecond(
float n);
59 void setWarningThreshold(
float d);
66 void setInlierThreshold(
float r);
74 void setOrientationWarningThreshold(
float d);
81 void setOrientationInlierThreshold(
float r);
87 Eigen::Vector3f position;
88 Eigen::Quaternionf orientation;
95 size_t getSinglePoseTrackerCount()
const;
100 Pose getSinglePoseTrackerPose(
size_t idx)
const;
106 size_t getMultiPoseTrackerCount()
const;
112 std::map<int, Pose> getMultiPoseTrackerPose(
size_t idx)
const;
119 void traverse(
Visitor *visitor)
override;
125 std::unique_ptr<Impl> _impl;
129operator<<(std::ostream &out,
131 Eigen::AngleAxisf aa(pose.orientation);
132 return out <<
"TPose(P=" << pose.position.transpose() <<
", R=" << aa.angle()
133 <<
"/" << aa.axis().transpose() <<
")";
136END_NAMESPACE_GMTRACK;
Base type for objects in the Gramods package for standardized handling of construction,...
Definition Object.hh:42
The RelativeTrackerPoseRegistrationEstimator is a utility for estimating the relative pose of fixed t...
Definition RelativeTrackerPoseRegistrationEstimator.hh:24
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition RelativeTrackerPoseRegistrationEstimator.cpp:152
Type combining position and orientation.
Definition RelativeTrackerPoseRegistrationEstimator.hh:86