gtsam  4.1.0
gtsam
gtsam::Line3 Class Reference

Public Member Functions

 Line3 ()
 Default constructor is the Z axis.
 
 Line3 (const Rot3 &R, const double a, const double b)
 Constructor for general line from (R, a, b)
 
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. More...
 
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 the tangent space. More...
 
void print (const std::string &s="") const
 Print R, a, b. More...
 
bool equals (const Line3 &l2, double tol=10e-9) const
 Check if two lines are equal. More...
 
Unit3 project (OptionalJacobian< 2, 4 > Dline=boost::none) const
 Projecting a line to the image plane. More...
 
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 axis intersects the line. More...
 

Public Types

enum  { dimension = 4 }
 

Friends

Line3 transformTo (const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline)
 Transform a line from world to camera frame. More...
 

Member Function Documentation

◆ equals()

bool gtsam::Line3::equals ( const Line3 l2,
double  tol = 10e-9 
) const

Check if two lines are equal.

Parameters
l2- line to be compared
tol: optional tolerance
Returns
boolean - true if lines are equal

◆ localCoordinates()

Vector4 gtsam::Line3::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 the tangent space.

It computes v = q - p where q is an input line, p is this line and v is their difference in the tangent space.

Parameters
qLine3 on manifold
DpOptionalJacobian of localCoordinates with respect to this line
DqOptionalJacobian of localCoordinates with respect to this line
Returns
v: difference in the tangent space

◆ point()

Point3 gtsam::Line3::point ( double  distance = 0) const

Returns point on the line that is at a certain distance starting from the point where the rotated XY axis intersects the line.

Parameters
distance(can be positive or negative) - positive is the positive direction of the rotated z axis that forms the line. The default value of zero returns the point where the rotated XY axis intersects the line.
Returns
Point on the line

◆ print()

void gtsam::Line3::print ( const std::string &  s = "") const

Print R, a, b.

Parameters
soptional starting string

◆ project()

Unit3 gtsam::Line3::project ( OptionalJacobian< 2, 4 >  Dline = boost::none) const

Projecting a line to the image plane.

Assumes this line is in camera frame.

Parameters
DlineOptionalJacobian of projected line with respect to this line
Returns
Unit3 - projected line in image plane, in homogenous coordinates. We use Unit3 since it is a manifold with the right dimension.

◆ retract()

Line3 gtsam::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.

The method q = p + v, where p is this line, v is an increment along the tangent space and q is the resulting line. The tangent space for the rotation of a line is only two dimensional - rotation about x and y

Parameters
vincrement in tangent space
Dpincrement of retraction with respect to this line
DvJacobian of retraction with respect to the increment
Returns
q: resulting line after adding the increment and mapping to the manifold

Friends And Related Function Documentation

◆ transformTo

Line3 transformTo ( const Pose3 wTc,
const Line3 wL,
OptionalJacobian< 4, 6 >  Dpose,
OptionalJacobian< 4, 4 >  Dline 
)
friend

Transform a line from world to camera frame.

Parameters
wTc- Pose3 of camera in world frame
wL- Line3 in world frame
Dpose- OptionalJacobian of transformed line with respect to p
Dline- OptionalJacobian of transformed line with respect to l
Returns
Transformed line in camera frame

The documentation for this class was generated from the following files: