gtsam 4.2.0
gtsam
|
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. 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... | |
bool gtsam::Line3::equals | ( | const Line3 & | l2, |
double | tol = 10e-9 |
||
) | const |
Check if two lines are equal.
l2 | - line to be compared |
tol | : optional tolerance |
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.
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 |
Print R, a, b.
s | optional starting string |
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.
Dline | OptionalJacobian of projected line with respect to this line |
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
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 |