|
| ConvexBaseTpl (const ConvexBaseTpl &other) |
| Copy constructor. The copy constructor only shallow copies the data (it copies the shared pointers but does not deep clones the data). More...
|
|
virtual | ~ConvexBaseTpl () |
|
Base & | base () |
| Cast ConvexBaseTpl to ShapeBase. This method should never be marked as virtual. More...
|
|
const Base & | base () const |
| Const cast ConvexBaseTpl to ShapeBase. This method should never be marked as virtual. More...
|
|
ConvexBaseTpl & | operator= (const ConvexBaseTpl &other) |
| Copy assignment operator. The copy assignment operator shallow copies the data, just as the copy constructor. More...
|
|
virtual ConvexBaseTpl * | clone () const |
| Clone (deep copy). More...
|
|
virtual ConvexBaseTpl * | deepcopy () const |
| Deep copy of the ConvexBaseTpl. This method deep copies every field of the class. More...
|
|
ConvexBaseTpl< OtherIndexType > | cast () const |
| Cast this ConvexBase vertex indices to OtherIndexType. This effectively deep copies this ConvexBaseTpl into a new one. More...
|
|
void | computeLocalAABB () |
| Compute AABB. More...
|
|
NODE_TYPE | getNodeType () const |
| Get node type: a convex polytope. More...
|
|
NODE_TYPE | getNodeType () const |
| get the node type More...
|
|
NODE_TYPE | getNodeType () const |
| get the node type More...
|
|
IndexType | neighbor (IndexType i, IndexType j) const |
| Get the index of the j-th neighbor of the i-th vertex. More...
|
|
| ShapeBase () |
|
| ShapeBase (const ShapeBase &other) |
| More...
|
|
ShapeBase & | operator= (const ShapeBase &other)=default |
|
virtual | ~ShapeBase () |
|
OBJECT_TYPE | getObjectType () const |
| Get object type: a geometric shape. More...
|
|
void | setSweptSphereRadius (Scalar radius) |
| Set radius of sphere swept around the shape. Must be >= 0. More...
|
|
Scalar | getSweptSphereRadius () const |
| Get radius of sphere swept around the shape. This radius is always >= 0. More...
|
|
| CollisionGeometry () |
|
| CollisionGeometry (const CollisionGeometry &other)=default |
| Copy constructor. More...
|
|
virtual | ~CollisionGeometry () |
|
bool | operator== (const CollisionGeometry &other) const |
| Equality operator. More...
|
|
bool | operator!= (const CollisionGeometry &other) const |
| Difference operator. More...
|
|
void * | getUserData () const |
| get user data in geometry More...
|
|
void | setUserData (void *data) |
| set user data in geometry More...
|
|
bool | isOccupied () const |
| whether the object is completely occupied More...
|
|
bool | isFree () const |
| whether the object is completely free More...
|
|
bool | isUncertain () const |
| whether the object has some uncertainty More...
|
|
virtual Vec3s | computeCOM () const |
| compute center of mass More...
|
|
virtual Matrix3s | computeMomentofInertia () const |
| compute the inertia matrix, related to the origin More...
|
|
virtual Scalar | computeVolume () const |
| compute the volume More...
|
|
virtual Matrix3s | computeMomentofInertiaRelatedToCOM () const |
| compute the inertia matrix, related to the com More...
|
|
static ConvexBaseTpl * | convexHull (std::shared_ptr< std::vector< Vec3s >> &points, unsigned int num_points, bool keepTriangles, const char *qhullCommand=NULL) |
| Build a convex hull based on Qhull library and store the vertices and optionally the triangles. More...
|
|
static ConvexBaseTpl * | convexHull (const Vec3s *points, unsigned int num_points, bool keepTriangles, const char *qhullCommand=NULL) |
|
std::shared_ptr< std::vector< Vec3s > > | points |
| An array of the points of the polygon. More...
|
|
unsigned int | num_points |
|
std::shared_ptr< std::vector< Vec3s > > | normals |
| An array of the normals of the polygon. More...
|
|
std::shared_ptr< std::vector< Scalar > > | offsets |
| An array of the offsets to the normals of the polygon. Note: there are as many offsets as normals. More...
|
|
unsigned int | num_normals_and_offsets |
|
std::shared_ptr< std::vector< Neighbors > > | neighbors |
| Neighbors of each vertex. It is an array of size num_points. For each vertex, it contains the number of neighbors and a list of indices pointing to them. More...
|
|
Vec3s | center |
| center of the convex polytope, this is used for collision: center is guaranteed in the internal of the polytope (as it is convex) More...
|
|
SupportWarmStartPolytope | support_warm_starts |
| Support warm start polytopes. More...
|
|
Vec3s | aabb_center |
| AABB center in local coordinate. More...
|
|
Scalar | aabb_radius |
| AABB radius. More...
|
|
AABB | aabb_local |
| AABB in local coordinate, used for tight AABB when only translation transform. More...
|
|
void * | user_data |
| pointer to user defined data specific to this object More...
|
|
Scalar | cost_density |
| collision cost for unit volume More...
|
|
Scalar | threshold_occupied |
| threshold for occupied ( >= is occupied) More...
|
|
Scalar | threshold_free |
| threshold for free (<= is free) More...
|
|
static constexpr size_t | num_vertices_large_convex_threshold |
| Above this threshold, the convex polytope is considered large. This influcences the way the support function is computed. More...
|
|
static constexpr size_t | num_support_warm_starts |
| Number of support warm starts. More...
|
|
| ConvexBaseTpl () |
| Construct an uninitialized convex object Initialization is done with ConvexBase::initialize. More...
|
|
void | initialize (std::shared_ptr< std::vector< Vec3s >> points_, unsigned int num_points_) |
| Initialize the points of the convex shape This also initializes the ConvexBase::center. More...
|
|
void | set (std::shared_ptr< std::vector< Vec3s >> points_, unsigned int num_points_) |
| Set the points of the convex shape. More...
|
|
void | buildSupportWarmStart () |
| Build the support points warm starts. More...
|
|
void | computeCenter () |
|
virtual bool | isEqual (const CollisionGeometry &_other) const |
| equal operator with another object of derived type. More...
|
|
static void | deepcopy (const ConvexBaseTpl< IndexType > *source, ConvexBaseTpl< OtherIndexType > *copy) |
| Deep copy of a ConvexBaseTpl. This method deep copies every field of the class. More...
|
|
std::shared_ptr< std::vector< IndexType > > | nneighbors_ |
| Array of indices of the neighbors of each vertex. Since we don't know a priori the number of neighbors of each vertex, we store the indices of the neighbors in a single array. The neighbors attribute, an array of Neighbors , is used to point each vertex to the right indices in the nneighbors_ array. More...
|
|
Scalar | 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...
|
|