chrono::geometry::ChEllipsoid Class Reference

Description

An ellipsoid geometric object for collisions and such.

#include <ChEllipsoid.h>

Inheritance diagram for chrono::geometry::ChEllipsoid:
Collaboration diagram for chrono::geometry::ChEllipsoid:

Public Member Functions

 ChEllipsoid (const ChVector<> &mc, const ChVector<> &mrad)
 
 ChEllipsoid (const ChEllipsoid &source)
 
virtual ChEllipsoidClone () const override
 "Virtual" copy constructor (covariant return type).
 
virtual GeometryType GetClassType () const override
 Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism). More...
 
virtual void GetBoundingBox (double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax, ChMatrix33<> *Rot=NULL) const override
 Compute bounding box. More...
 
virtual ChVector Baricenter () const override
 Compute center of mass It should be overridden by inherited classes.
 
virtual void CovarianceMatrix (ChMatrix33<> &C) const override
 Compute the 3x3 covariance matrix (only the diagonal and upper part) It should be overridden by inherited classes.
 
virtual int GetManifoldDimension () const override
 This is a solid.
 
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 void InflateBoundingBox (double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax, ChMatrix33<> *Rot=NULL) const
 Enlarge a previous existing bounding box. More...
 
virtual double Size () const
 Returns the radius of the sphere which can enclose the geometry.
 
virtual void Update ()
 Generic update of internal data. More...
 

Public Attributes

ChVector center
 ellipsoid center
 
ChVector rad
 ellipsoid semi-axes
 

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

◆ GetBoundingBox()

void chrono::geometry::ChEllipsoid::GetBoundingBox ( double &  xmin,
double &  xmax,
double &  ymin,
double &  ymax,
double &  zmin,
double &  zmax,
ChMatrix33<> *  Rot = NULL 
) const
overridevirtual

Compute bounding box.

If a matrix Rot is not null, it should compute bounding box along the rotated directions represented by that transformation matrix Rot. It must be overridden by inherited classes.

Reimplemented from chrono::geometry::ChGeometry.

◆ GetClassType()

virtual GeometryType chrono::geometry::ChEllipsoid::GetClassType ( ) const
inlineoverridevirtual

Get the class type as unique numerical ID (faster than using ChronoRTTI mechanism).

Each inherited class must return an unique ID.

Reimplemented from chrono::geometry::ChGeometry.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/geometry/ChEllipsoid.h
  • /builds/uwsbel/chrono/src/chrono/geometry/ChEllipsoid.cpp