gtsam 4.1.1 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...

Rot3 R () const
Return the rotation of the line.

double a () const
Return the x-coordinate of the intersection of the line with the xy plane.

double b () const
Return the y-coordinate of the intersection of the line with the xy plane.

## 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...

## ◆ 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
 q Line3 on manifold Dp OptionalJacobian of localCoordinates with respect to this line Dq OptionalJacobian 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
 s optional 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
 Dline OptionalJacobian 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
 v increment in tangent space Dp increment of retraction with respect to this line Dv Jacobian of retraction with respect to the increment
Returns
q: resulting line after adding the increment and mapping to the manifold

## ◆ 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:
• /Users/dellaert/git/github/gtsam/geometry/Line3.h
• /Users/dellaert/git/github/gtsam/geometry/Line3.cpp