23 std::unique_ptr<Impl> _impl;
33 void update(clock::time_point time,
size_t frame);
40 void setController(std::shared_ptr<Controller> controller);
47 void addTrackerPosition(Eigen::Vector3f p);
54 void addTrackerOrientation(Eigen::Quaternionf o);
63 void setSamplesPerSecond(
float n);
71 void setWarningThreshold(
float d);
78 void setInlierThreshold(
float r);
86 void setOrientationWarningThreshold(
float d);
93 void setOrientationInlierThreshold(
float r);
98 const std::vector<Eigen::Vector3f> &getTrackerPositions()
const;
103 const std::vector<Eigen::Quaternionf> &getTrackerOrientations()
const;
116 static Eigen::Vector3f getAverage(std::vector<Eigen::Vector3f> samples,
117 float *stddev =
nullptr,
118 float *maxdev =
nullptr,
119 float inlier_dist = -1.f,
120 size_t *inlier_count =
nullptr);
132 static Eigen::Quaternionf getAverage(std::vector<Eigen::Quaternionf> samples,
133 float *stddev =
nullptr,
134 float *maxdev =
nullptr,
135 float inlier_dist = -1.f,
136 size_t *inlier_count =
nullptr);
143 void traverse(
Visitor *visitor)
override;