24 #include <gtsam/base/concepts.h> 26 #include <gtsam/base/ThreadsafeException.h> 27 #include <gtsam/dllexport.h> 28 #include <boost/serialization/nvp.hpp> 33 CheiralityException> {
73 static Matrix26 Dpose(
const Point2& pn,
double d);
81 static Matrix23 Dpoint(
const Point2& pn,
double d,
const Matrix3& Rt);
97 static Pose3 LevelPose(
const Pose2& pose2,
double height);
139 void print(
const std::string& s =
"PinholeBase")
const;
184 std::pair<Point2, bool> projectSafe(
const Point3& pw)
const;
204 static Point3 backproject_from_camera(
const Point2& p,
const double depth);
216 return std::make_pair(3, 5);
224 friend class boost::serialization::access;
225 template<
class Archive>
226 void serialize(Archive & ar,
const unsigned int ) {
227 ar & BOOST_SERIALIZATION_NVP(pose_);
319 inline size_t dim()
const {
324 inline static size_t Dim() {
352 return pose().
range(point, Dcamera, Dpoint);
362 return this->pose().
range(pose, Dcamera, Dpose);
373 return pose().
range(camera.
pose(), H1, H2);
384 friend class boost::serialization::access;
385 template<
class Archive>
386 void serialize(Archive & ar,
const unsigned int ) {
388 & boost::serialization::make_nvp(
"PinholeBase",
389 boost::serialization::base_object<PinholeBase>(*
this));
403 template <
typename T>
404 struct Range<CalibratedCamera, T> :
HasRange<CalibratedCamera, T, double> {};
CalibratedCamera()
default constructor
Definition: CalibratedCamera.h:252
const Rot3 & rotation(OptionalJacobian< 3, 6 > H=boost::none) const
get rotation
Definition: Pose3.cpp:272
Point2_ project(const Point3_ &p_cam)
Expression version of PinholeBase::Project.
Definition: expressions.h:57
Definition: CalibratedCamera.h:240
Represents a 3D point on a unit sphere.
Definition: Unit3.h:42
Definition: BearingRange.h:38
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:140
Base exception type that uses tbb_exception if GTSAM is compiled with TBB.
Definition: ThreadsafeException.h:39
Definition: CalibratedCamera.h:45
static size_t Dim()
Definition: CalibratedCamera.h:324
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition: OptionalJacobian.h:39
Definition: CalibratedCamera.h:32
double range(const Point3 &point, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 3 > Dpoint=boost::none) const
Calculate range to a landmark.
Definition: CalibratedCamera.h:349
Base class and basic functions for Manifold types.
Template to create a binary predicate.
Definition: Testable.h:110
double range(const CalibratedCamera &camera, OptionalJacobian< 1, 6 > H1=boost::none, OptionalJacobian< 1, 6 > H2=boost::none) const
Calculate range to another camera.
Definition: CalibratedCamera.h:370
Both ManifoldTraits and Testable.
Definition: Manifold.h:120
size_t dim() const
Definition: CalibratedCamera.h:319
const Point3 & translation() const
get translation
Definition: CalibratedCamera.h:156
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
static std::pair< size_t, size_t > translationInterval()
Return the start and end indices (inclusive) of the translation component of the exponential map para...
Definition: CalibratedCamera.h:215
CalibratedCamera(const Pose3 &pose)
construct with pose
Definition: CalibratedCamera.h:256
const Rot3 & rotation() const
get rotation
Definition: CalibratedCamera.h:151
PinholeBase()
default constructor
Definition: CalibratedCamera.h:115
double range(const Pose3 &pose, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 6 > Dpose=boost::none) const
Calculate range to another pose.
Definition: CalibratedCamera.h:360
static Pose3 Expmap(const Vector6 &xi, OptionalJacobian< 6, 6 > H=boost::none)
Exponential map at identity - create a rotation from canonical coordinates .
Definition: Pose3.cpp:120
Point3 backproject(const Point2 &pn, double depth) const
backproject a 2-dimensional point to a 3-dimensional point at given depth
Definition: CalibratedCamera.h:340
Definition: BearingRange.h:123
CalibratedCamera(const Vector &v)
construct from vector
Definition: CalibratedCamera.h:296
Point3 transform_from(const Point3 &p, OptionalJacobian< 3, 6 > Dpose=boost::none, OptionalJacobian< 3, 3 > Dpoint=boost::none) const
takes point in Pose coordinates and transforms it to world coordinates
Definition: Pose3.cpp:303
const Point3 & translation(OptionalJacobian< 3, 6 > H=boost::none) const
get translation
Definition: Pose3.cpp:265
PinholeBase(const Pose3 &pose)
constructor with pose
Definition: CalibratedCamera.h:119
Rot3 Rotation
Pose Concept requirements.
Definition: CalibratedCamera.h:50
double range(const Point3 &point, OptionalJacobian< 1, 6 > H1=boost::none, OptionalJacobian< 1, 3 > H2=boost::none) const
Calculate range to a landmark.
Definition: Pose3.cpp:339
Point2 Measurement
Some classes template on either PinholeCamera or StereoCamera, and this typedef informs those classes...
Definition: CalibratedCamera.h:57
const Pose3 & pose() const
return pose, constant version
Definition: CalibratedCamera.h:146
virtual ~CalibratedCamera()
destructor
Definition: CalibratedCamera.h:305
Global functions in a separate testing namespace.
Definition: chartTesting.h:28