GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
gtsam::OrientedPlane3 Class Reference

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. More...

#include <OrientedPlane3.h>

Public Types

enum  { dimension = 3 }
 

Public Member Functions

OrientedPlane3 transform (const Pose3 &xr, OptionalJacobian< 3, 3 > Hp={}, OptionalJacobian< 3, 6 > Hr={}) const
 
Vector3 errorVector (const OrientedPlane3 &other, OptionalJacobian< 3, 3 > H1={}, OptionalJacobian< 3, 3 > H2={}) const
 
size_t dim () const
 Dimensionality of tangent space = 3 DOF.
 
OrientedPlane3 retract (const Vector3 &v, OptionalJacobian< 3, 3 > H={}) const
 The retract function.
 
Vector3 localCoordinates (const OrientedPlane3 &s) const
 The local coordinates function.
 
Vector4 planeCoefficients () const
 Returns the plane coefficients.
 
Unit3 normal (OptionalJacobian< 2, 3 > H={}) const
 Return the normal.
 
double distance (OptionalJacobian< 1, 3 > H={}) 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.
 

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.

Member Function Documentation

◆ errorVector()

Vector3 gtsam::OrientedPlane3::errorVector ( const OrientedPlane3 other,
OptionalJacobian< 3, 3 >  H1 = {},
OptionalJacobian< 3, 3 >  H2 = {} 
) 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.

Parameters
otherthe other plane

◆ transform()

OrientedPlane3 gtsam::OrientedPlane3::transform ( const Pose3 xr,
OptionalJacobian< 3, 3 >  Hp = {},
OptionalJacobian< 3, 6 >  Hr = {} 
) const

Transforms a plane to the specified pose

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

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