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 ChAABB | GetBoundingBox () const override |
Get the shape bounding box. | |
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< ChContactMaterial > | GetMaterial () const |
ChContactMethod | GetContactMethod () const |
Public Attributes | |
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 | sradius |
Additional Inherited Members | |
Public Types inherited from chrono::ChCollisionShape | |
enum | Type { SPHERE, ELLIPSOID, BOX, CYLINDER, CYLSHELL, CONVEXHULL, TRIANGLEMESH, BARREL, POINT, SEGMENT, 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< ChContactMaterial > | m_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
-
material contact material V1 vertex1 coords V2 vertex2 coords V3 vertex3 coords eP1 neighboring vertex at edge1 if any eP2 neighboring vertex at edge2 if any eP3 neighboring vertex at edge3 if any ownsV1 vertex1 owned by this triangle (otherwise, owned by neighbor) ownsV2 vertex2 owned by this triangle (otherwise, owned by neighbor) ownsV3 vertex3 owned by this triangle (otherwise, owned by neighbor) ownsE1 edge1 owned by this triangle (otherwise, owned by neighbor) ownsE2 edge2 owned by this triangle (otherwise, owned by neighbor) ownsE3 edge3 owned by this triangle (otherwise, owned by neighbor) sphere_radius radius of swept sphere
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/collision/ChCollisionShapeMeshTriangle.h
- /builds/uwsbel/chrono/src/chrono/collision/ChCollisionShapeMeshTriangle.cpp