gtsam 4.1.1
gtsam
PinholeSet.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
18#pragma once
19
22#include <boost/optional.hpp>
23
24namespace gtsam {
25
29template<class CAMERA>
30class PinholeSet: public CameraSet<CAMERA> {
31
32private:
33 typedef CameraSet<CAMERA> Base;
35
36protected:
37
38public:
39
41 virtual ~PinholeSet() {
42 }
43
46
48 void print(const std::string& s = "") const override {
49 Base::print(s);
50 }
51
53 bool equals(const PinholeSet& p, double tol = 1e-9) const {
54 return Base::equals(p, tol); // TODO all flags
55 }
56
58
61 const typename CAMERA::MeasurementVector& measured,
62 const TriangulationParameters& params) const {
63 return gtsam::triangulateSafe(*this, measured, params);
64 }
65
66private:
67
70 template<class ARCHIVE>
71 void serialize(ARCHIVE & ar, const unsigned int version) {
72 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
73 }
74};
75
76template<class CAMERA>
77struct traits<PinholeSet<CAMERA> > : public Testable<PinholeSet<CAMERA> > {
78};
79
80template<class CAMERA>
81struct traits<const PinholeSet<CAMERA> > : public Testable<PinholeSet<CAMERA> > {
82};
83
84} // \ namespace gtsam
Base class to create smart factors on poses or cameras.
Functions for triangulation.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
TriangulationResult triangulateSafe(const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measured, const TriangulationParameters &params)
triangulateSafe: extensive checking of the outcome
Definition: triangulation.h:444
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:151
A set of cameras, all with their own calibration.
Definition: CameraSet.h:35
virtual void print(const std::string &s="") const
print
Definition: CameraSet.h:84
bool equals(const CameraSet &p, double tol=1e-9) const
equals
Definition: CameraSet.h:91
PinholeSet: triangulates point and keeps an estimate of it around.
Definition: PinholeSet.h:30
TriangulationResult triangulateSafe(const typename CAMERA::MeasurementVector &measured, const TriangulationParameters &params) const
triangulateSafe
Definition: PinholeSet.h:60
bool equals(const PinholeSet &p, double tol=1e-9) const
equals
Definition: PinholeSet.h:53
virtual ~PinholeSet()
Virtual destructor.
Definition: PinholeSet.h:41
void print(const std::string &s="") const override
print
Definition: PinholeSet.h:48
friend class boost::serialization::access
Serialization function.
Definition: PinholeSet.h:69
Definition: triangulation.h:310
TriangulationResult is an optional point, along with the reasons why it is invalid.
Definition: triangulation.h:373