Description
Base class for all geometric objects representing tri-parametric surfaces in 3D space.
This is the base for all U,V,W-parametric object, implementing Evaluate() that returns a point as a function of three U,V,W parameters.
#include <ChVolume.h>
Public Member Functions | |
ChVolume (const ChVolume &other) | |
virtual double | GetVolume () const =0 |
"Virtual" copy constructor (covariant return type). More... | |
virtual ChMatrix33 | GetGyration () const =0 |
Return the gyration matrix for this solid. | |
virtual ChVector3d | Evaluate (double parU, double parV, double parW) const |
Return a point in the volume, given parametric coordinates U,V,W. More... | |
virtual bool | IsClosedU () const |
Return true if the volume is closed (periodic) in the 1st parametric coordinate. | |
virtual bool | IslosedV () const |
Return true if the volume is closed (periodic) in the 2nd parametric coordinate. | |
virtual bool | IsClosedW () const |
Return true if the volume is closed (periodic) in the 3rd parametric coordinate. | |
virtual int | GetManifoldDimension () const override final |
Return dimensionality of this object. More... | |
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 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. More... | |
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 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 | 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
◆ Evaluate()
|
inlinevirtual |
Return a point in the volume, given parametric coordinates U,V,W.
Parameters U, V, and W are always in the [0,1] range. The default implementation always returns the volume center.
Reimplemented in chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChBox, chrono::ChSphere, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, and chrono::ChRoundedCylinder.
◆ GetManifoldDimension()
|
inlinefinaloverridevirtual |
Return dimensionality of this object.
For a volume, this is always 3.
Reimplemented from chrono::ChGeometry.
◆ GetVolume()
|
pure virtual |
"Virtual" copy constructor (covariant return type).
Return the volume of this solid.
Implemented in chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChSphere, chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, and chrono::ChRoundedCylinder.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/geometry/ChVolume.h
- /builds/uwsbel/chrono/src/chrono/geometry/ChVolume.cpp