chrono::geometry::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::geometry::ChVolume:
Collaboration diagram for chrono::geometry::ChVolume:

Public Member Functions

 ChVolume (const ChVolume &source)
 
virtual void Evaluate (ChVector<> &pos, const double parU, const double parV, const double parW) const =0
 "Virtual" copy constructor (covariant return type). More...
 
virtual bool Get_closed_U () const
 Tell if the volume is closed (periodic) in parametric coordinate.
 
virtual bool Get_closed_V () const
 Tell if the volume is closed (periodic) in parametric coordinate.
 
virtual bool Get_closed_W () const
 Tell if the volume is closed (periodic) in parametric coordinate.
 
virtual int GetManifoldDimension () const override
 This is a volume.
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::geometry::ChGeometry
 ChGeometry (const ChGeometry &source)
 
virtual ChGeometryClone () const =0
 "Virtual" copy constructor.
 
virtual GeometryType GetClassType () const
 Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism). More...
 
virtual void GetBoundingBox (ChVector<> &cmin, ChVector<> &cmax, const ChMatrix33<> &rot) const
 Compute bounding box along the directions defined by the given rotation matrix. More...
 
void InflateBoundingBox (ChVector<> &cmin, ChVector<> &cmax, const ChMatrix33<> &rot) 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 ChVector Baricenter () const
 Compute center of mass.
 
virtual void Update ()
 Generic update of internal data.
 

Additional Inherited Members

- Public Types inherited from chrono::geometry::ChGeometry
enum  GeometryType {
  NONE, SPHERE, BOX, CYLINDER,
  TRIANGLE, CAPSULE, CONE, LINE,
  LINE_ARC, LINE_BEZIER, LINE_CAM, LINE_PATH,
  LINE_POLY, LINE_SEGMENT, ROUNDED_BOX, ROUNDED_CYLINDER,
  ROUNDED_CONE, TRIANGLEMESH, TRIANGLEMESH_CONNECTED, TRIANGLEMESH_SOUP
}
 Enumeration of geometric objects.
 

Member Function Documentation

◆ Evaluate()

virtual void chrono::geometry::ChVolume::Evaluate ( ChVector<> &  pos,
const double  parU,
const double  parV,
const double  parW 
) const
pure virtual

"Virtual" copy constructor (covariant return type).

Evaluates a point in the volume, given parametric coordinates U,V,W. Parameters U V W always work in 0..1 range. Computed value goes into the 'pos' reference. It must be implemented by inherited classes.

Implemented in chrono::geometry::ChRoundedBox, and chrono::geometry::ChBox.


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