Class Halfspace

Inheritance Relationships

Base Type

Class Documentation

class Halfspace : public hpp::fcl::ShapeBase

Half Space: this is equivalent to the Plane in ODE. The separation plane is defined as n * x = d; Points in the negative side of the separation plane (i.e. {x | n * x < d}) are inside the half space and points in the positive side of the separation plane (i.e. {x | n * x > d}) are outside the half space.

Public Functions

inline Halfspace(const Vec3f &n_, FCL_REAL d_)

Construct a half space with normal direction and offset.

inline Halfspace(FCL_REAL a, FCL_REAL b, FCL_REAL c, FCL_REAL d_)

Construct a plane with normal direction and offset.

inline Halfspace()
inline Halfspace(const Halfspace &other)
inline Halfspace &operator=(const Halfspace &other)

operator =

inline virtual Halfspace *clone() const

Clone *this into a new Halfspace.

inline FCL_REAL signedDistance(const Vec3f &p) const
inline FCL_REAL distance(const Vec3f &p) const
virtual void computeLocalAABB()

Compute AABB.

inline virtual NODE_TYPE getNodeType() const

Get node type: a half space.

inline FCL_REAL minInflationValue() const
inline std::pair<Halfspace, Transform3f> inflated(const FCL_REAL value) const

Inflate the cylinder by an amount given by value.

Parameters:

value[in] of the shape inflation.

Returns:

a new inflated cylinder and the related transform to account for the change of shape frame

Public Members

Vec3f n

Plane normal.

FCL_REAL d

Plane offset.

Protected Functions

void unitNormalTest()

Turn non-unit normal into unit.