chrono::ChTriangleMesh Class Referenceabstract

Description

Base class for triangle meshes.

#include <ChTriangleMesh.h>

Inheritance diagram for chrono::ChTriangleMesh:
Collaboration diagram for chrono::ChTriangleMesh:

Public Member Functions

virtual void AddTriangle (const ChVector3d &vertex0, const ChVector3d &vertex1, const ChVector3d &vertex2)=0
 Add a triangle to this triangle mesh, by specifying the three coordinates.
 
virtual void AddTriangle (const ChTriangle &atriangle)=0
 Add a triangle to this triangle mesh, by specifying a ChTriangle.
 
virtual unsigned int GetNumTriangles () const =0
 Get the number of triangles already added to this mesh.
 
virtual ChTriangle GetTriangle (unsigned int index) const =0
 Get the n-th triangle in mesh.
 
virtual void Clear ()=0
 Clear all data.
 
virtual void Transform (const ChVector3d displ, const ChMatrix33<> rotscale)=0
 Transform all vertexes, by displacing and rotating (rotation via matrix, so also scaling if needed)
 
virtual void Transform (const ChVector3d 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 Type GetType () const override
 Get the class type as an enum.
 
virtual ChAABB GetBoundingBox () const override
 Compute bounding box of this triangle mesh.
 
virtual int GetManifoldDimension () const override
 This is a surface.
 
virtual void ArchiveOut (ChArchiveOut &archive_out) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &archive_in) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::ChGeometry
 ChGeometry (const ChGeometry &other)
 
virtual ChGeometryClone () const =0
 "Virtual" copy constructor.
 
void InflateBoundingBox (ChAABB &bbox) const
 Enlarge the given existing bounding box with the bounding box of this object.
 
virtual double GetBoundingSphereRadius () const
 Returns the radius of a bounding sphere for this geometry.
 
virtual ChVector3d Baricenter () const
 Compute center of mass.
 
virtual void Update ()
 Generic update of internal data.
 

Additional Inherited Members

- Public Types inherited from chrono::ChGeometry
enum class  Type {
  NONE , SPHERE , ELLIPSOID , BOX ,
  CYLINDER , TRIANGLE , CAPSULE , CONE ,
  LINE , LINE_ARC , LINE_BEZIER , LINE_CAM ,
  LINE_PATH , LINE_POLY , LINE_SEGMENT , ROUNDED_BOX ,
  ROUNDED_CYLINDER , TRIANGLEMESH , TRIANGLEMESH_CONNECTED , TRIANGLEMESH_SOUP
}
 Enumeration of geometric object types.
 

Member Function Documentation

◆ AddTriangle() [1/2]

virtual void chrono::ChTriangleMesh::AddTriangle ( const ChTriangle & atriangle)
pure virtual

Add a triangle to this triangle mesh, by specifying a ChTriangle.

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ AddTriangle() [2/2]

virtual void chrono::ChTriangleMesh::AddTriangle ( const ChVector3d & vertex0,
const ChVector3d & vertex1,
const ChVector3d & vertex2 )
pure virtual

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

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ ArchiveIn()

void chrono::ChTriangleMesh::ArchiveIn ( ChArchiveIn & archive_in)
overridevirtual

Method to allow de-serialization of transient data from archives.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ ArchiveOut()

void chrono::ChTriangleMesh::ArchiveOut ( ChArchiveOut & archive_out)
overridevirtual

Method to allow serialization of transient data to archives.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ Clear()

virtual void chrono::ChTriangleMesh::Clear ( )
pure virtual

Clear all data.

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ GetBoundingBox()

ChAABB chrono::ChTriangleMesh::GetBoundingBox ( ) const
overridevirtual

Compute bounding box of this triangle mesh.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChTriangleMeshConnected.

◆ GetManifoldDimension()

virtual int chrono::ChTriangleMesh::GetManifoldDimension ( ) const
inlineoverridevirtual

This is a surface.

Reimplemented from chrono::ChGeometry.

◆ GetNumTriangles()

virtual unsigned int chrono::ChTriangleMesh::GetNumTriangles ( ) const
pure virtual

Get the number of triangles already added to this mesh.

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ GetTriangle()

virtual ChTriangle chrono::ChTriangleMesh::GetTriangle ( unsigned int index) const
pure virtual

Get the n-th triangle in mesh.

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ GetType()

virtual Type chrono::ChTriangleMesh::GetType ( ) const
inlineoverridevirtual

Get the class type as an enum.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.

◆ Transform()

virtual void chrono::ChTriangleMesh::Transform ( const ChVector3d displ,
const ChMatrix33<> rotscale )
pure virtual

Transform all vertexes, by displacing and rotating (rotation via matrix, so also scaling if needed)

Implemented in chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono/geometry/ChTriangleMesh.h
  • C:/M/B/src/chrono-9.0.1/src/chrono/geometry/ChTriangleMesh.cpp