|
gtsam 4.1.1
gtsam
|
Represents an infinite plane in 3D, which is composed of a planar normal and its perpendicular distance to the origin.
Currently it provides a transform of the plane, and a norm 1 differencing of two planes. Refer to Trevor12iros for more math details.
Public Member Functions | |
| OrientedPlane3 | transform (const Pose3 &xr, OptionalJacobian< 3, 3 > Hp=boost::none, OptionalJacobian< 3, 6 > Hr=boost::none) const |
| Transforms a plane to the specified pose. More... | |
| Vector3 | errorVector (const OrientedPlane3 &other, OptionalJacobian< 3, 3 > H1=boost::none, OptionalJacobian< 3, 3 > H2=boost::none) const |
| Computes the error between the two planes, with derivatives. More... | |
| size_t | dim () const |
| Dimensionality of tangent space = 3 DOF. | |
| OrientedPlane3 | retract (const Vector3 &v, OptionalJacobian< 3, 3 > H=boost::none) const |
| The retract function. | |
| Vector3 | localCoordinates (const OrientedPlane3 &s) const |
| The local coordinates function. | |
| Vector4 | planeCoefficients () const |
| Returns the plane coefficients. | |
| Unit3 | normal () const |
| Return the normal. | |
| double | distance () const |
| Return the perpendicular distance to the origin. | |
Constructors | |
| OrientedPlane3 () | |
| Default constructor. | |
| OrientedPlane3 (const Unit3 &n, double d) | |
| Construct from a Unit3 and a distance. | |
| OrientedPlane3 (const Vector4 &vec) | |
| Construct from a vector of plane coefficients. | |
| OrientedPlane3 (double a, double b, double c, double d) | |
| Construct from four numbers of plane coeffcients (a, b, c, d) | |
Testable | |
| void | print (const std::string &s=std::string()) const |
| The print function. | |
| bool | equals (const OrientedPlane3 &s, double tol=1e-9) const |
| The equals function with tolerance. | |
Static Public Member Functions | |
| static size_t | Dim () |
| Dimensionality of tangent space = 3 DOF. | |
Public Types | |
| enum | { dimension = 3 } |
| Vector3 gtsam::OrientedPlane3::errorVector | ( | const OrientedPlane3 & | other, |
| OptionalJacobian< 3, 3 > | H1 = boost::none, |
||
| OptionalJacobian< 3, 3 > | H2 = boost::none |
||
| ) | const |
Computes the error between the two planes, with derivatives.
This uses Unit3::errorVector, as opposed to the other .error() in this class, which uses Unit3::localCoordinates. This one has correct derivatives. NOTE(hayk): The derivatives are zero when normals are exactly orthogonal.
| other | the other plane |
| OrientedPlane3 gtsam::OrientedPlane3::transform | ( | const Pose3 & | xr, |
| OptionalJacobian< 3, 3 > | Hp = boost::none, |
||
| OptionalJacobian< 3, 6 > | Hr = boost::none |
||
| ) | const |
Transforms a plane to the specified pose.
| xr | a transformation in current coordiante |
| Hp | optional Jacobian wrpt the destination plane |
| Hr | optional jacobian wrpt the pose transformation |