gtsam 4.1.1
gtsam::OrientedPlane3 Class Reference

Detailed Description

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.
 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)
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 }

Member Function Documentation

◆ errorVector()

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.

otherthe other plane

◆ transform()

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.

xra transformation in current coordiante
Hpoptional Jacobian wrpt the destination plane
Hroptional jacobian wrpt the pose transformation
the transformed plane

The documentation for this class was generated from the following files: