Description
Base interface class for convex decomposition.
#include <ChConvexDecomposition.h>

Public Member Functions | |
| ChConvexDecomposition () | |
| Basic constructor. | |
| virtual | ~ChConvexDecomposition () |
| Destructor. | |
| virtual void | Reset ()=0 |
| Reset the input mesh data. | |
| virtual bool | AddTriangle (const ChVector3d &v1, const ChVector3d &v2, const ChVector3d &v3)=0 |
| Add a triangle, by passing three points for vertices (that will be copied, not referenced). More... | |
| virtual bool | AddTriangle (const ChTriangle &t1) |
| Add a triangle, by passing a ChTriangle object (that will be copied, not referenced). More... | |
| virtual bool | AddTriangleMesh (const ChTriangleMesh &tm) |
| Add a triangle mesh, by passing an entire ChTriangleMesh object. More... | |
| virtual unsigned int | ComputeConvexDecomposition ()=0 |
| Perform the convex decomposition. | |
| virtual unsigned int | GetHullCount ()=0 |
| Get the number of computed hulls after the convex decomposition. | |
| virtual bool | GetConvexHullResult (unsigned int hull_index, ChTriangleMesh &convextrimesh)=0 |
| Get the n-th computed convex hull, by filling a ChTriangleMesh object that is passed as a parameter. | |
| virtual bool | GetConvexHullResult (unsigned int hull_index, std::vector< ChVector3d > &convexhull)=0 |
| Get the n-th computed convex hull, by filling a vector with related vertices. | |
| virtual bool | WriteConvexHullsAsChullsFile (std::ostream &stream) |
| Write the convex decomposition to a '.chulls' file, where each hull is a sequence of non-repeated vertices. | |
| virtual void | WriteConvexHullsAsWavefrontObj (std::ostream &stream)=0 |
| Write the convex decomposition to a Wavefront '.obj' file, where each hull is a separate group. | |
Member Function Documentation
◆ AddTriangle() [1/2]
|
virtual |
Add a triangle, by passing a ChTriangle object (that will be copied, not referenced).
Note: the vertices must have proper winding (oriented triangle, normal pointing outside).
◆ AddTriangle() [2/2]
|
pure virtual |
Add a triangle, by passing three points for vertices (that will be copied, not referenced).
Note: the vertices must have proper winding (oriented triangle, normal pointing outside).
Implemented in chrono::ChConvexDecompositionVHACD, and chrono::ChConvexDecompositionHACDv2.
◆ AddTriangleMesh()
|
virtual |
Add a triangle mesh, by passing an entire ChTriangleMesh object.
Note: the triangles must define closed volumes (holes, gaps in edges, etc. may trouble the decomposition).
Reimplemented in chrono::ChConvexDecompositionHACDv2.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/collision/ChConvexDecomposition.h
- /builds/uwsbel/chrono/src/chrono/collision/ChConvexDecomposition.cpp