35 enum { dimension = 4 };
43 R_(
R), a_(
a), b_(
b) {}
77 void print(
const std::string &s =
"")
const;
85 bool equals(
const Line3 &l2,
double tol = 10e-9)
const;
115 inline double a()
const {
122 inline double b()
const {
147Line3
transformTo(
const Pose3 &wTc,
const Line3 &wL,
148 OptionalJacobian<4, 6> Dpose = boost::none,
149 OptionalJacobian<4, 4> Dline = boost::none);
3D rotation represented as a rotation matrix or quaternion
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Line3 transformTo(const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline)
Transform a line from world to camera frame.
Definition: Line3.cpp:94
Vector3 Point3
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point3 to Vector3...
Definition: Point3.h:35
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Both ManifoldTraits and Testable.
Definition: Manifold.h:120
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition: OptionalJacobian.h:39
Unit3 project(OptionalJacobian< 2, 4 > Dline=boost::none) const
Projecting a line to the image plane.
Definition: Line3.cpp:61
Vector4 localCoordinates(const Line3 &q, OptionalJacobian< 4, 4 > Dp=boost::none, OptionalJacobian< 4, 4 > Dq=boost::none) const
The localCoordinates method is the inverse of retract and finds the difference between two lines in t...
Definition: Line3.cpp:27
Rot3 R() const
Return the rotation of the line.
Definition: Line3.h:108
Line3 retract(const Vector4 &v, OptionalJacobian< 4, 4 > Dp=boost::none, OptionalJacobian< 4, 4 > Dv=boost::none) const
The retract method maps from the tangent space back to the manifold.
Definition: Line3.cpp:5
void print(const std::string &s="") const
Print R, a, b.
Definition: Line3.cpp:49
Line3()
Default constructor is the Z axis.
Definition: Line3.h:38
bool equals(const Line3 &l2, double tol=10e-9) const
Check if two lines are equal.
Definition: Line3.cpp:55
Line3(const Rot3 &R, const double a, const double b)
Constructor for general line from (R, a, b)
Definition: Line3.h:42
Point3 point(double distance=0) const
Returns point on the line that is at a certain distance starting from the point where the rotated XY ...
Definition: Line3.cpp:86
double b() const
Return the y-coordinate of the intersection of the line with the xy plane.
Definition: Line3.h:122
double a() const
Return the x-coordinate of the intersection of the line with the xy plane.
Definition: Line3.h:115
friend Line3 transformTo(const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline)
Transform a line from world to camera frame.
Definition: Line3.cpp:94
Represents a 3D point on a unit sphere.
Definition: Unit3.h:42