Loading...
Searching...
No Matches
gtsam::Line3 Class Reference
Geometry

## Detailed Description

A 3D line (R,a,b) : (Rot3,Scalar,Scalar).

## 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.
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.
void | print (const std::string &s="") const
| Print R, a, b.
bool | equals (const Line3 &l2, double tol=10e-9) const
| Check if two lines are equal.
Unit3 | project (OptionalJacobian< 2, 4 > Dline=boost::none) const
| Projecting a line to the image plane.
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.
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=boost::none, OptionalJacobian< 4, 4 > Dline=boost::none)
| Transform a line from world to camera frame.

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

  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

## Friends And Related Symbol Documentation

## transformTo

Line3 transformTo | ( | const Pose3 & | wTc,
|  | const Line3 & | wL,
|  | OptionalJacobian< 4, 6 > | Dpose = boost::none,
|  | OptionalJacobian< 4, 4 > | Dline = boost::none )

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:

- /build/gtsam-RkN8wG/gtsam-4.2.2+dfsg/gtsam/geometry/Line3.h
- /build/gtsam-RkN8wG/gtsam-4.2.2+dfsg/gtsam/geometry/Line3.cpp