FCL
0.6.0
Flexible Collision Library
|
#include <convex.h>
Classes | |
struct | Edge |
Public Types | |
using | S = S_ |
Public Types inherited from fcl::ShapeBase< S_ > | |
using | S = S_ |
Public Member Functions | |
Convex (Vector3< S > *plane_normals, S *plane_dis, int num_planes, Vector3< S > *points, int num_points, int *polygons) | |
Constructing a convex, providing normal and offset of each polytype surface, and the points and shape topology information. | |
Convex (const Convex &other) | |
Copy constructor. | |
void | computeLocalAABB () override |
Compute AABB<S> | |
NODE_TYPE | getNodeType () const override |
Get node type: a conex polytope. | |
Matrix3< S > | computeMomentofInertia () const override |
based on http://number-none.com/blow/inertia/bb_inertia.doc | |
Vector3< S > | computeCOM () const override |
compute center of mass | |
S | computeVolume () const override |
compute the volume | |
std::vector< Vector3< S > > | getBoundVertices (const Transform3< S > &tf) const |
get the vertices of some convex shape which can bound this shape in a specific configuration | |
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 Matrix3< S_ > | computeMomentofInertiaRelatedToCOM () const |
compute the inertia matrix, related to the com | |
Public Attributes | |
Vector3< S > * | plane_normals |
S * | plane_dis |
int * | polygons |
An array of indices to the points of each polygon, it should be the number of vertices followed by that amount of indices to "points" in counter clockwise order. | |
Vector3< S > * | points |
int | num_points |
int | num_edges |
int | num_planes |
Edge * | edges |
Vector3< S > | center |
center of the convex polytope, this is used for collision: center is guaranteed in the internal of the polytope (as it is convex) | |
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 | fillEdges () |
Get edge information. | |
Convex polytope.