chrono::geometry::ChTriangleMeshSoup Class Reference

Description

A basic triangle mesh: just a list of triangles (no edge connectivity info).

#include <ChTriangleMeshSoup.h>

Inheritance diagram for chrono::geometry::ChTriangleMeshSoup:
Collaboration diagram for chrono::geometry::ChTriangleMeshSoup:

Public Member Functions

 ChTriangleMeshSoup (const ChTriangleMeshSoup &source)
 
virtual ChTriangleMeshSoupClone () const override
 "Virtual" copy constructor (covariant return type).
 
bool LoadWavefrontMesh (std::string filename)
 Load from the given Wavefront .obj file.
 
virtual void addTriangle (const ChVector<> &vertex0, const ChVector<> &vertex1, const ChVector<> &vertex2) override
 Access the n-th triangle in mesh /virtual ChTriangle& Triangle(int index) { return m_triangles[index]; }. More...
 
virtual void addTriangle (const ChTriangle &atriangle) override
 Add a triangle to this triangle mesh, by specifying a ChTriangle.
 
virtual int getNumTriangles () const override
 Get the number of triangles already added to this mesh.
 
virtual ChTriangle getTriangle (int index) const override
 Access the n-th triangle in mesh.
 
std::vector< ChTriangle > & getTriangles ()
 Get the list of triangles.
 
virtual void Clear () override
 Clear all data.
 
virtual void Transform (const ChVector<> displ, const ChMatrix33<> rotscale) override
 Transform all vertexes, by displacing and rotating (rotation via matrix, so also scaling if needed)
 
virtual GeometryType GetClassType () const override
 Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism). More...
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::geometry::ChTriangleMesh
virtual void Transform (const ChVector<> displ, const ChQuaternion<> mquat=ChQuaternion<>(1, 0, 0, 0))
 Transform all vertexes, by displacing and rotating (rotation via matrix, so also scaling if needed)
 
virtual void GetBoundingBox (double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax, ChMatrix33<> *Rot=NULL) const override
 Compute bounding box. More...
 
virtual void CovarianceMatrix (ChMatrix33<> &C) const override
 Compute the 3x3 covariance matrix (only the diagonal and upper part) It should be overridden by inherited classes.
 
virtual int GetManifoldDimension () const override
 This is a surface.
 
- Public Member Functions inherited from chrono::geometry::ChGeometry
 ChGeometry (const ChGeometry &source)
 
virtual void InflateBoundingBox (double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax, ChMatrix33<> *Rot=NULL) const
 Enlarge a previous existing bounding box. More...
 
virtual double Size () const
 Returns the radius of the sphere which can enclose the geometry.
 
virtual ChVector Baricenter () const
 Compute center of mass It should be overridden by inherited classes.
 
virtual void Update ()
 Generic update of internal data. More...
 

Additional Inherited Members

- Public Types inherited from chrono::geometry::ChGeometry
enum  GeometryType {
  NONE, SPHERE, BOX, CYLINDER,
  TRIANGLE, CAPSULE, CONE, LINE,
  LINE_ARC, LINE_BEZIER, LINE_CAM, LINE_PATH,
  LINE_POLY, LINE_SEGMENT, ROUNDED_BOX, ROUNDED_CYLINDER,
  ROUNDED_CONE, TRIANGLEMESH, TRIANGLEMESH_CONNECTED, TRIANGLEMESH_SOUP
}
 Enumeration of geometric objects.
 

Member Function Documentation

◆ addTriangle()

void chrono::geometry::ChTriangleMeshSoup::addTriangle ( const ChVector<> &  vertex0,
const ChVector<> &  vertex1,
const ChVector<> &  vertex2 
)
overridevirtual

Access the n-th triangle in mesh /virtual ChTriangle& Triangle(int index) { return m_triangles[index]; }.

Add a triangle to this triangle mesh, by specifying the three coordinates

Implements chrono::geometry::ChTriangleMesh.

◆ GetClassType()

virtual GeometryType chrono::geometry::ChTriangleMeshSoup::GetClassType ( ) const
inlineoverridevirtual

Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism).

Each inherited class must return an unique ID.

Reimplemented from chrono::geometry::ChTriangleMesh.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/geometry/ChTriangleMeshSoup.h
  • /builds/uwsbel/chrono/src/chrono/geometry/ChTriangleMeshSoup.cpp