chrono::ChVolume Class Referenceabstract

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>

Inheritance diagram for chrono::ChVolume:
Collaboration diagram for chrono::ChVolume:

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 ChGeometryClone () 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()

virtual ChVector3d chrono::ChVolume::Evaluate ( double  parU,
double  parV,
double  parW 
) const
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()

virtual int chrono::ChVolume::GetManifoldDimension ( ) const
inlinefinaloverridevirtual

Return dimensionality of this object.

For a volume, this is always 3.

Reimplemented from chrono::ChGeometry.

◆ GetVolume()

virtual double chrono::ChVolume::GetVolume ( ) const
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