chrono::ChCollisionShapeMeshTriangle Class Reference

Description

Collision shape representing a triangle in a connected mesh.

Unlike a ChCollisionShapeTriangle, this collision shape also maintains information on neighboring vertices and edges in the containing mesh. This allows a collision system to implement mesh collision without double-counting node and edge interactions. For efficiency, this object uses pointers to the vertices in the containing mesh.

#include <ChCollisionShapeMeshTriangle.h>

Inheritance diagram for chrono::ChCollisionShapeMeshTriangle:
Collaboration diagram for chrono::ChCollisionShapeMeshTriangle:

Public Member Functions

 ChCollisionShapeMeshTriangle (std::shared_ptr< ChContactMaterial > material, const ChVector3d *V1, const ChVector3d *V2, const ChVector3d *V3, const ChVector3d *eP1, const ChVector3d *eP2, const ChVector3d *eP3, bool ownsV1, bool ownsV2, bool ownsV3, bool ownsE1, bool ownsE2, bool ownsE3, double sphere_radius)
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::ChCollisionShape
 ChCollisionShape (Type type=Type::UNKNOWN_SHAPE)
 ChCollisionShape (Type type, std::shared_ptr< ChContactMaterial > material)
Type GetType () const
std::shared_ptr< ChContactMaterialGetMaterial () const
ChContactMethod GetContactMethod () const

Public Attributes

const ChVector3dV1
const ChVector3dV2
const ChVector3dV3
const ChVector3deP1
const ChVector3deP2
const ChVector3deP3
bool ownsV1
bool ownsV2
bool ownsV3
bool ownsE1
bool ownsE2
bool ownsE3
double sradius

Additional Inherited Members

Public Types inherited from chrono::ChCollisionShape
enum  Type {
  SPHERE , ELLIPSOID , BOX , CYLINDER ,
  CYLSHELL , CONVEXHULL , TRIANGLEMESH , BARREL ,
  POINT , TRIANGLE , MESHTRIANGLE , CAPSULE ,
  CONE , ROUNDEDBOX , ROUNDEDCYL , TETRAHEDRON ,
  PATH2D , SEGMENT2D , ARC2D , UNKNOWN_SHAPE
}
 Supported collision shape types.
Protected Attributes inherited from chrono::ChCollisionShape
Type m_type
 type of collision shape
std::shared_ptr< ChContactMaterialm_material
 surface contact material

Constructor & Destructor Documentation

◆ ChCollisionShapeMeshTriangle()

chrono::ChCollisionShapeMeshTriangle::ChCollisionShapeMeshTriangle ( std::shared_ptr< ChContactMaterial > material,
const ChVector3d * V1,
const ChVector3d * V2,
const ChVector3d * V3,
const ChVector3d * eP1,
const ChVector3d * eP2,
const ChVector3d * eP3,
bool ownsV1,
bool ownsV2,
bool ownsV3,
bool ownsE1,
bool ownsE2,
bool ownsE3,
double sphere_radius )
Parameters
materialcontact material
V1vertex1 coords
V2vertex2 coords
V3vertex3 coords
eP1neighboring vertex at edge1 if any
eP2neighboring vertex at edge2 if any
eP3neighboring vertex at edge3 if any
ownsV1vertex1 owned by this triangle (otherwise, owned by neighbor)
ownsV2vertex2 owned by this triangle (otherwise, owned by neighbor)
ownsV3vertex3 owned by this triangle (otherwise, owned by neighbor)
ownsE1edge1 owned by this triangle (otherwise, owned by neighbor)
ownsE2edge2 owned by this triangle (otherwise, owned by neighbor)
ownsE3edge3 owned by this triangle (otherwise, owned by neighbor)
sphere_radiusradius of swept sphere

Member Function Documentation

◆ ArchiveIn()

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

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

Reimplemented from chrono::ChCollisionShape.

◆ ArchiveOut()

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

Method to allow serialization of transient data to archives.

Reimplemented from chrono::ChCollisionShape.


The documentation for this class was generated from the following files:
  • D:/W/B/src/chrono-9.0.1/src/chrono/collision/ChCollisionShapeMeshTriangle.h
  • D:/W/B/src/chrono-9.0.1/src/chrono/collision/ChCollisionShapeMeshTriangle.cpp