chrono::geometry::ChSurface Class Reference

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>

Inheritance diagram for chrono::geometry::ChSurface:
Collaboration diagram for chrono::geometry::ChSurface:

Public Member Functions

 ChSurface (const ChSurface &source)
 
virtual ChVector Evaluate (double parU, double parV) const
 "Virtual" copy constructor (covariant return type). More...
 
virtual ChVector GetNormal (double parU, double parV) const
 Return the normal unit vector at the parametric coordinates U,V (in the range [0,1]). 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 ChGeometryClone () const =0
 "Virtual" copy constructor.
 
virtual Type GetClassType () 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 ChVector Baricenter () const
 Compute center of mass.
 
virtual void Update ()
 Generic update of internal data.
 

Protected Attributes

bool wireframe
 

Additional Inherited Members

- Public Types inherited from chrono::geometry::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 ChVector chrono::geometry::ChSurface::Evaluate ( double  parU,
double  parV 
) const
inlinevirtual

"Virtual" copy constructor (covariant return type).

Return a point on the surface, given parametric coordinates U,V. Parameters U and V always work in 0..1 range. The default implementation always returns the origin of the surface frame.

Reimplemented in chrono::geometry::ChSurfaceNurbs.

◆ GetNormal()

ChVector chrono::geometry::ChSurface::GetNormal ( double  parU,
double  parV 
) const
virtual

Return the normal unit vector at the parametric coordinates U,V (in the range [0,1]).

Computed value (normalized) goes into the 'pos' reference. This default implementation uses finite differences.


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