Project Chrono: chrono::ChVolume Class Reference

Public Member Functions | List of all members
chrono::ChVolume Class Referenceabstract
Chrono::Engine » Geometric objects

## 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:
[legend]
Collaboration diagram for chrono::ChVolume:
[legend]

## Public Member Functions
| ChVolume (const ChVolume &other)
virtual double | GetVolume () const =0
| "Virtual" copy constructor (covariant return type).
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.
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.
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.
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 void | Update ()
| Generic update of internal data.

## Additional Inherited Members
Public Types inherited from chrono::ChGeometry
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.

## Member Function Documentation

## ◆ ArchiveIn()

void chrono::ChVolume::ArchiveIn | ( | ChArchiveIn & | archive_in | ) |
| overridevirtual

Method to allow de-serialization of transient data from archives.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.

## ◆ ArchiveOut()

void chrono::ChVolume::ArchiveOut | ( | ChArchiveOut & | archive_out | ) |
| overridevirtual

Method to allow serialization of transient data to archives.

Reimplemented from chrono::ChGeometry.

Reimplemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.

## ◆ 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::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.

## ◆ GetGyration()

virtual ChMatrix33 chrono::ChVolume::GetGyration | ( |  | ) | const
| pure virtual

Return the gyration matrix for this solid.

Implemented in chrono::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.

## ◆ 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::ChBox, chrono::ChCapsule, chrono::ChCone, chrono::ChCylinder, chrono::ChEllipsoid, chrono::ChRoundedBox, chrono::ChRoundedCylinder, and chrono::ChSphere.

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono/geometry/ChVolume.h
- D:/W/B/src/chrono-9.0.1/src/chrono/geometry/ChVolume.cpp