Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | List of all members
coal::Halfspace Class Reference

Half Space: this is equivalent to the Plane in ODE. A Half space has a priviledged direction: the direction of the normal. 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. Note: prefer using a Halfspace instead of a Plane if possible, it has better behavior w.r.t. collision detection algorithms. More...

#include <geometric_shapes.h>

Inheritance diagram for coal::Halfspace:
Inheritance graph
[legend]

Public Member Functions

virtual Halfspaceclone () const
 Clone *this into a new Halfspace. More...
 
void computeLocalAABB ()
 Compute AABB. More...
 
CoalScalar distance (const Vec3s &p) const
 
NODE_TYPE getNodeType () const
 Get node type: a half space. More...
 
 Halfspace ()
 
 Halfspace (CoalScalar a, CoalScalar b, CoalScalar c, CoalScalar d_)
 Construct a plane with normal direction and offset. More...
 
 Halfspace (const Halfspace &other)
 
 Halfspace (const Vec3s &n_, CoalScalar d_)
 Construct a half space with normal direction and offset. More...
 
std::pair< Halfspace, Transform3sinflated (const CoalScalar value) const
 Inflate the halfspace by an amount given by value. This value can be positive or negative but must always >= minInflationValue(). More...
 
CoalScalar minInflationValue () const
 
Halfspaceoperator= (const Halfspace &other)
 operator = More...
 
CoalScalar signedDistance (const Vec3s &p) const
 
- Public Member Functions inherited from coal::ShapeBase
OBJECT_TYPE getObjectType () const
 Get object type: a geometric shape. More...
 
CoalScalar getSweptSphereRadius () const
 Get radius of sphere swept around the shape. This radius is always >= 0. More...
 
ShapeBaseoperator= (const ShapeBase &other)=default
 
void setSweptSphereRadius (CoalScalar radius)
 Set radius of sphere swept around the shape. Must be >= 0. More...
 
 ShapeBase ()
 
 ShapeBase (const ShapeBase &other)
   More...
 
virtual ~ShapeBase ()
 
- Public Member Functions inherited from coal::CollisionGeometry
 CollisionGeometry ()
 
 CollisionGeometry (const CollisionGeometry &other)=default
 Copy constructor. More...
 
virtual Vec3s computeCOM () const
 compute center of mass More...
 
virtual Matrix3s computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
virtual Matrix3s computeMomentofInertiaRelatedToCOM () const
 compute the inertia matrix, related to the com More...
 
virtual CoalScalar computeVolume () const
 compute the volume More...
 
void * getUserData () const
 get user data in geometry More...
 
bool isFree () const
 whether the object is completely free More...
 
bool isOccupied () const
 whether the object is completely occupied More...
 
bool isUncertain () const
 whether the object has some uncertainty More...
 
bool operator!= (const CollisionGeometry &other) const
 Difference operator. More...
 
bool operator== (const CollisionGeometry &other) const
 Equality operator. More...
 
void setUserData (void *data)
 set user data in geometry More...
 
virtual ~CollisionGeometry ()
 

Public Attributes

CoalScalar d
 Plane offset. More...
 
Vec3s n
 Plane normal. More...
 
- Public Attributes inherited from coal::CollisionGeometry
Vec3s aabb_center
 AABB center in local coordinate. More...
 
AABB aabb_local
 AABB in local coordinate, used for tight AABB when only translation transform. More...
 
CoalScalar aabb_radius
 AABB radius. More...
 
CoalScalar cost_density
 collision cost for unit volume More...
 
CoalScalar threshold_free
 threshold for free (<= is free) More...
 
CoalScalar threshold_occupied
 threshold for occupied ( >= is occupied) More...
 
void * user_data
 pointer to user defined data specific to this object More...
 

Protected Member Functions

void unitNormalTest ()
 Turn non-unit normal into unit. More...
 

Private Member Functions

virtual bool isEqual (const CollisionGeometry &_other) const
 equal operator with another object of derived type. More...
 

Additional Inherited Members

- Protected Attributes inherited from coal::ShapeBase
CoalScalar m_swept_sphere_radius {0}
 Radius of the sphere swept around the shape. Default value is 0. Note: this property differs from inflated method of certain derived classes (e.g. Box, Sphere, Ellipsoid, Capsule, Cone, Cylinder) in the sense that inflated returns a new shape which can be inflated but also deflated. Also, an inflated shape is not rounded. It simply has a different size. Sweeping a shape with a sphere is a different operation (a Minkowski sum), which rounds the sharp corners of a shape. The swept sphere radius is a property of the shape itself and can be manually updated between collision checks. More...
 

Detailed Description

Half Space: this is equivalent to the Plane in ODE. A Half space has a priviledged direction: the direction of the normal. 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. Note: prefer using a Halfspace instead of a Plane if possible, it has better behavior w.r.t. collision detection algorithms.

Definition at line 892 of file coal/shape/geometric_shapes.h.


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


hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:45:00