Description
Base class for geometric objects used for collisions and visualization.
#include <ChGeometry.h>

Public Types | |
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. | |
Public Member Functions | |
ChGeometry (const ChGeometry &other) | |
virtual ChGeometry * | Clone () const =0 |
"Virtual" copy constructor. | |
virtual Type | GetType () const |
Get the class type as an enum. | |
virtual ChAABB | GetBoundingBox () const |
Compute bounding box along the directions of the shape definition frame. | |
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 int | GetManifoldDimension () const |
Returns the dimension of the geometry (0=point, 1=line, 2=surface, 3=solid) | |
virtual void | Update () |
Generic update of internal data. | |
virtual void | ArchiveOut (ChArchiveOut &archive_out) |
Method to allow serialization of transient data to archives. | |
virtual void | ArchiveIn (ChArchiveIn &archive_in) |
Method to allow de serialization of transient data from archives. | |
Member Function Documentation
◆ ArchiveIn()
|
virtual |
Method to allow de serialization of transient data from archives.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChLine, chrono::ChLineArc, chrono::ChLineBezier, chrono::ChLineBSpline, chrono::ChLineCam, chrono::ChLineNurbs, chrono::ChLinePath, chrono::ChLinePoly, chrono::ChLineSegment, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, chrono::ChSurface, chrono::ChSurfaceNurbs, chrono::ChTriangle, chrono::ChTriangleMesh, chrono::ChTriangleMeshConnected, chrono::ChTriangleMeshSoup, and chrono::ChVolume.
◆ ArchiveOut()
|
virtual |
Method to allow serialization of transient data to archives.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChLine, chrono::ChLineArc, chrono::ChLineBezier, chrono::ChLineBSpline, chrono::ChLineCam, chrono::ChLineNurbs, chrono::ChLinePath, chrono::ChLinePoly, chrono::ChLineSegment, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, chrono::ChSurface, chrono::ChSurfaceNurbs, chrono::ChTriangle, chrono::ChTriangleMesh, chrono::ChTriangleMeshConnected, chrono::ChTriangleMeshSoup, and chrono::ChVolume.
◆ Baricenter()
|
inlinevirtual |
Compute center of mass.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, and chrono::ChTriangle.
◆ Clone()
|
pure virtual |
"Virtual" copy constructor.
Implemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChLineArc, chrono::ChLineBezier, chrono::ChLineBSpline, chrono::ChLineCam, chrono::ChLineNurbs, chrono::ChLinePath, chrono::ChLinePoly, chrono::ChLineSegment, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, chrono::ChSurfaceNurbs, chrono::ChTriangle, chrono::ChTriangleMeshConnected, and chrono::ChTriangleMeshSoup.
◆ GetBoundingBox()
|
virtual |
Compute bounding box along the directions of the shape definition frame.
The default implementation returns a bounding box with zero dimensions.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChLineBezier, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, chrono::ChTriangle, chrono::ChTriangleMesh, and chrono::ChTriangleMeshConnected.
◆ GetBoundingSphereRadius()
|
virtual |
Returns the radius of a bounding sphere for this geometry.
The default implementation returns the radius of a sphere bounding the geometry bounding box, which is not always the tightest possible.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.
◆ GetManifoldDimension()
|
inlinevirtual |
Returns the dimension of the geometry (0=point, 1=line, 2=surface, 3=solid)
Reimplemented in chrono::ChLine, chrono::ChSurface, chrono::ChTriangle, chrono::ChTriangleMesh, and chrono::ChVolume.
◆ GetType()
|
inlinevirtual |
Get the class type as an enum.
Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChLine, chrono::ChLineArc, chrono::ChLineBezier, chrono::ChLineCam, chrono::ChLinePath, chrono::ChLinePoly, chrono::ChLineSegment, chrono::ChRoundedBox, chrono::ChRoundedCylinder, chrono::ChSphere, chrono::ChTriangle, chrono::ChTriangleMesh, 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/ChGeometry.h
- C:/M/B/src/chrono-9.0.1/src/chrono/geometry/ChGeometry.cpp