chrono::ChTriangle Class Reference
Description
A triangle geometric shape for collisions and visualization.
#include <ChTriangle.h>
Inheritance diagram for chrono::ChTriangle:

Collaboration diagram for chrono::ChTriangle:

Public Member Functions | |
| ChTriangle (const ChVector3d &P1, const ChVector3d &P2, const ChVector3d &P3) | |
| ChTriangle (const ChTriangle &source) | |
| virtual ChTriangle * | Clone () const override |
| "Virtual" copy constructor (covariant return type). | |
| ChTriangle & | operator= (const ChTriangle &source) |
| Assignment operator: copy from another triangle. | |
| virtual Type | GetType () const override |
| Get the class type as an enum. | |
| virtual ChAABB | GetBoundingBox () const override |
| Compute bounding box of this triangle. | |
| virtual ChVector3d | Baricenter () const override |
| Compute center of mass. | |
| virtual int | GetManifoldDimension () const override |
| Indicate that a triangle is a 2D surface. | |
| bool | IsDegenerated () const |
| Return false if triangle has almost zero area. | |
| bool | Normal (ChVector3d &N) const |
| Compute triangle normal in provided vector and return 'false' if the triangle is degenerated. | |
| ChVector3d | GetNormal () const |
| Compute the triangle normal. | |
| double | PointTriangleDistance (ChVector3d B, double &mu, double &mv, bool &is_into, ChVector3d &Bprojected) |
| Given point B, computes the distance from this triangle plane, returning also the projection of point on the plane. More... | |
| void | SetPoints (const ChVector3d &P1, const ChVector3d &P2, const ChVector3d &P3) |
| Set the triangle vertices. | |
| 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) | |
| 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. More... | |
| virtual void | Update () |
| Generic update of internal data. | |
Static Public Member Functions | |
| static ChAABB | CalcBoundingBox (const ChVector3d &P1, const ChVector3d &P2, const ChVector3d &P3) |
| Return the bounding box of a triangle with given vertices. | |
| static bool | CalcNormal (const ChVector3d &p1, const ChVector3d &p2, const ChVector3d &p3, ChVector3d &N) |
| Static utility function to calculate the normal of a triangle in the provided output vector. More... | |
| static ChVector3d | CalcNormal (const ChVector3d &p1, const ChVector3d &p2, const ChVector3d &p3) |
| Static utility function to calculate the normal of a triangle. | |
Public Attributes | |
| ChVector3d | p1 |
| first triangle vertex | |
| ChVector3d | p2 |
| second triangle vertex | |
| ChVector3d | p3 |
| third triangle vertex | |
Additional Inherited Members | |
Public Types inherited from chrono::ChGeometry | |
| enum | 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
◆ CalcNormal()
|
static |
Static utility function to calculate the normal of a triangle in the provided output vector.
Return 'false' if the triangle is degenerated.
◆ PointTriangleDistance()
| double chrono::ChTriangle::PointTriangleDistance | ( | ChVector3d | B, |
| double & | mu, | ||
| double & | mv, | ||
| bool & | is_into, | ||
| ChVector3d & | Bprojected | ||
| ) |
Given point B, computes the distance from this triangle plane, returning also the projection of point on the plane.
- Parameters
-
B point to be measured mu returns U parametric coord of projection mv returns V parametric coord of projection is_into returns true if projection falls on the triangle Bprojected returns the position of the projected point
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/geometry/ChTriangle.h
- /builds/uwsbel/chrono/src/chrono/geometry/ChTriangle.cpp
Public Member Functions inherited from