Description
Base class for all geometric objects representing bi-parametric surfaces in 3D space.
This is the base for all U,V-parametric object, implementing Evaluate() that returns a point as a function of two U,V parameters.
#include <ChSurface.h>
Public Member Functions | |
ChSurface (const ChSurface &source) | |
virtual void | Evaluate (ChVector<> &pos, const double parU, const double parV) const =0 |
"Virtual" copy constructor (covariant return type). More... | |
virtual void | Normal (ChVector<> &dir, const double parU, const double parV) const |
Evaluates a normal versor, given parametric coordinates U,V. More... | |
virtual bool | Get_closed_U () const |
Tell if the surface is closed (periodic) on U. | |
virtual bool | Get_closed_V () const |
Tell if the surface is closed (periodic) on V. | |
virtual int | GetManifoldDimension () const override |
This is a surface, so manifold dimension=2. | |
bool | IsWireframe () |
Tell if the visualization is done only as UV isolines. | |
void | SetWireframe (bool mw) |
Set if the visualization is done only as UV isolines. | |
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 ChGeometry * | Clone () 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 (double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax, ChMatrix33<> *Rot=nullptr) const |
Compute bounding box. More... | |
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 ChVector | Baricenter () const |
Compute center of mass It should be overridden by inherited classes. | |
virtual void | CovarianceMatrix (ChMatrix33<> &C) const |
Compute the 3x3 covariance matrix (only the diagonal and upper part) It should be overridden by inherited classes. | |
virtual void | Update () |
Generic update of internal data. More... | |
Protected Attributes | |
bool | wireframe |
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()
|
pure virtual |
"Virtual" copy constructor (covariant return type).
Evaluates a point on the surface, given parametric coordinates U,V. Parameters U and V always work in 0..1 range. Computed value goes into the 'pos' reference. It must be implemented by inherited classes.
Implemented in chrono::geometry::ChSurfaceNurbs.
◆ Normal()
|
virtual |
Evaluates a normal versor, given parametric coordinates U,V.
Parameters U,V always work in 0..1 range. Computed value (normalized) goes into the 'pos' reference. It could be overridden by inherited classes if a precise solution is known (otherwise it defaults to numerical BDF using the Evaluate() function).
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/geometry/ChSurface.h
- /builds/uwsbel/chrono/src/chrono/geometry/ChSurface.cpp