FCL
0.6.0
Flexible Collision Library
|
Half Space: this is equivalent to the Planed 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. More...
#include <halfspace.h>
Public Types | |
using | S = S_ |
Public Types inherited from fcl::ShapeBase< S_ > | |
using | S = S_ |
Public Member Functions | |
Halfspace (const Vector3< S > &n, S d) | |
Construct a half space with normal direction and offset. | |
Halfspace (S a, S b, S c, S d_) | |
Construct a plane with normal direction and offset. | |
S | signedDistance (const Vector3< S > &p) const |
S | distance (const Vector3< S > &p) const |
void | computeLocalAABB () override |
Compute AABB. | |
NODE_TYPE | getNodeType () const override |
Get node type: a half space. | |
Public Member Functions inherited from fcl::ShapeBase< S_ > | |
OBJECT_TYPE | getObjectType () const |
Get object type: a geometric shape. | |
Public Member Functions inherited from fcl::CollisionGeometry< S_ > | |
void * | getUserData () const |
get user data in geometry | |
void | setUserData (void *data) |
set user data in geometry | |
bool | isOccupied () const |
whether the object is completely occupied | |
bool | isFree () const |
whether the object is completely free | |
bool | isUncertain () const |
whether the object has some uncertainty | |
virtual Vector3< S_ > | computeCOM () const |
compute center of mass | |
virtual Matrix3< S_ > | computeMomentofInertia () const |
compute the inertia matrix, related to the origin | |
virtual S_ | computeVolume () const |
compute the volume | |
virtual Matrix3< S_ > | computeMomentofInertiaRelatedToCOM () const |
compute the inertia matrix, related to the com | |
Public Attributes | |
Vector3< S > | n |
Planed normal. | |
S | d |
Planed offset. | |
Public Attributes inherited from fcl::CollisionGeometry< S_ > | |
Vector3< S_ > | aabb_center |
AABB center in local coordinate. | |
S_ | aabb_radius |
AABB radius. | |
AABB< S_ > | aabb_local |
AABB in local coordinate, used for tight AABB when only translation transform. | |
void * | user_data |
pointer to user defined data specific to this object | |
S_ | cost_density |
collision cost for unit volume | |
S_ | threshold_occupied |
threshold for occupied ( >= is occupied) | |
S_ | threshold_free |
threshold for free (<= is free) | |
Protected Member Functions | |
void | unitNormalTest () |
Turn non-unit normal into unit. | |
Half Space: this is equivalent to the Planed 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.