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

Public Member Functions | |
| ChConvexDecomposition () | |
| Basic constructor. | |
| virtual | ~ChConvexDecomposition () |
| Destructor. | |
| virtual void | Reset (void)=0 |
| Reset the input mesh data. | |
| virtual bool | AddTriangle (const ChVector<> &v1, const ChVector<> &v2, const ChVector<> &v3)=0 |
| Add a triangle, by passing three points for vertexes. More... | |
| virtual bool | AddTriangle (const geometry::ChTriangle &t1) |
| Add a triangle, by passing a ChTriangle object (that will be copied, not referenced). More... | |
| virtual bool | AddTriangleMesh (const geometry::ChTriangleMesh &tm) |
| Add a triangle mesh, by passing an entire ChTriangleMesh object. More... | |
| virtual 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 hullIndex, geometry::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 hullIndex, std::vector< ChVector< double > > &convexhull)=0 |
| Get the n-th computed convex hull, by filling a vector of points of the vertexes of the n-th hull that is passed as a parameter. | |
| virtual bool | WriteConvexHullsAsChullsFile (ChStreamOutAscii &mstream) |
| Write the convex decomposition to a ".chulls" file, where each hull is a sequence of x y z coords. More... | |
| virtual void | WriteConvexHullsAsWavefrontObj (ChStreamOutAscii &mstream)=0 |
| Save the computed convex hulls as a Wavefront file using the '.obj' fileformat, with each hull as a separate group. More... | |
Member Function Documentation
◆ AddTriangle() [1/2]
|
pure virtual |
Add a triangle, by passing three points for vertexes.
Note: the vertexes must be properly ordered (oriented triangle, normal pointing outside)
Implemented in chrono::collision::ChConvexDecompositionHACDv2, and chrono::collision::ChConvexDecompositionHACD.
◆ AddTriangle() [2/2]
|
virtual |
Add a triangle, by passing a ChTriangle object (that will be copied, not referenced).
Note: the vertexes must be properly ordered (oriented triangle, normal pointing outside)
◆ 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::collision::ChConvexDecompositionHACDv2, and chrono::collision::ChConvexDecompositionHACD.
◆ WriteConvexHullsAsChullsFile()
|
virtual |
Write the convex decomposition to a ".chulls" file, where each hull is a sequence of x y z coords.
Can throw exceptions.
◆ WriteConvexHullsAsWavefrontObj()
|
pure virtual |
Save the computed convex hulls as a Wavefront file using the '.obj' fileformat, with each hull as a separate group.
May throw exceptions if file locked etc.
Implemented in chrono::collision::ChConvexDecompositionHACDv2, and chrono::collision::ChConvexDecompositionHACD.
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