#include <Line3.h>
Public Types | |
enum | { dimension = 4 } |
Public Member Functions | |
double | a () const |
double | b () const |
bool | equals (const Line3 &l2, double tol=10e-9) const |
Line3 () | |
Line3 (const Rot3 &R, const double a, const double b) | |
Vector4 | localCoordinates (const Line3 &q, OptionalJacobian< 4, 4 > Dp={}, OptionalJacobian< 4, 4 > Dq={}) const |
Point3 | point (double distance=0) const |
void | print (const std::string &s="") const |
Unit3 | project (OptionalJacobian< 2, 4 > Dline={}) const |
Rot3 | R () const |
Line3 | retract (const Vector4 &v, OptionalJacobian< 4, 4 > Dp={}, OptionalJacobian< 4, 4 > Dv={}) const |
Private Attributes | |
double | a_ |
double | b_ |
Rot3 | R_ |
Friends | |
Line3 | transformTo (const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline) |
|
inline |
|
inline |
|
inline |
|
inline |
bool gtsam::Line3::equals | ( | const Line3 & | l2, |
double | tol = 10e-9 |
||
) | const |
Vector4 gtsam::Line3::localCoordinates | ( | const Line3 & | q, |
OptionalJacobian< 4, 4 > | Dp = {} , |
||
OptionalJacobian< 4, 4 > | Dq = {} |
||
) | 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.
q | Line3 on manifold |
Dp | OptionalJacobian of localCoordinates with respect to this line |
Dq | OptionalJacobian of localCoordinates with respect to this line |
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.
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. |
void gtsam::Line3::print | ( | const std::string & | s = "" | ) | const |
Unit3 gtsam::Line3::project | ( | OptionalJacobian< 2, 4 > | Dline = {} | ) | const |
Projecting a line to the image plane. Assumes this line is in camera frame.
Dline | OptionalJacobian of projected line with respect to this line |
|
inline |
Line3 gtsam::Line3::retract | ( | const Vector4 & | v, |
OptionalJacobian< 4, 4 > | Dp = {} , |
||
OptionalJacobian< 4, 4 > | Dv = {} |
||
) | 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
v | increment in tangent space |
Dp | increment of retraction with respect to this line |
Dv | Jacobian of retraction with respect to the increment |
|
friend |
Transform a line from world to camera frame
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 |