RobWorkProject  23.9.11-
Public Types | Public Member Functions | Protected Attributes | List of all members
QuadraticShell Class Referenceabstract

A collection of Quadratic surface patches, that together form a shell. More...

#include <QuadraticShell.hpp>

Inherits Shell.

Inherited by IndexedQuadraticFaceArray, and PlainQuadraticShell.

Public Types

typedef rw::core::Ptr< QuadraticShellPtr
 Smart pointer type to QuadraticShell.
 
typedef rw::core::Ptr< const QuadraticShellCPtr
 Smart pointer type for a const QuadraticShell.
 
- Public Types inherited from Shell
typedef rw::core::Ptr< ShellPtr
 Smart pointer type to Shell.
 
typedef rw::core::Ptr< const ShellCPtr
 Smart pointer type to const Shell.
 
- Public Types inherited from GeometryData
enum  GeometryType {
  PointCloud , LineMesh , PlainTriMesh , IdxTriMesh ,
  SpherePrim , BoxPrim , OBBPrim , AABBPrim ,
  LinePrim , PointPrim , PyramidPrim , ConePrim ,
  TrianglePrim , CylinderPrim , TubePrim , PlanePrim ,
  RayPrim , Implicit , Quadratic , UserType
}
 geometry data types
 
typedef rw::core::Ptr< GeometryDataPtr
 smart pointer type to this class
 
typedef rw::core::Ptr< const GeometryDataCPtr
 const smart pointer type to this class
 

Public Member Functions

 QuadraticShell ()
 Constructor.
 
virtual ~QuadraticShell ()
 Destructor.
 
virtual GeometryType getType () const
 the type of this primitive More...
 
virtual bool isConvex ()=0
 test if this geometry data is convex More...
 
virtual std::size_t size () const =0
 Get the number of surface patches in this shell. More...
 
virtual rw::core::Ptr< const QuadraticFacegetFace (std::size_t idx) const =0
 Get a surface patch. More...
 
virtual void getFace (std::size_t idx, QuadraticFace &dst) const =0
 Get a surface patch. More...
 
void setMeshResolution (double resolution)
 Set the resolution used for discretization in the getTriMesh and faceTriMesh functions. More...
 
- Public Member Functions inherited from Shell
 Shell ()
 Constructor.
 
virtual ~Shell ()
 Destructor.
 
virtual rw::core::Ptr< TriMeshgetTriMesh (bool forceCopy=true)
 gets a trimesh representation of this geometry data. More...
 
virtual rw::core::Ptr< TriMeshgetTriMesh (bool forceCopy=true) const
 gets a trimesh representation of this geometry data. More...
 
rw::core::Ptr< const FacegetFace (std::size_t idx) const
 Get a surface patch. More...
 
virtual void getFace (std::size_t idx, GenericFace &face) const
 Get a surface patch. More...
 
virtual std::pair< double, double > extremums (const rw::math::Vector3D< double > &dir) const
 Get the minimum and maximum values of the shell in a certain direction. More...
 
virtual OBB obb () const
 Create Oriented Bounding Box (OBB) as a bounding volume for the shell. More...
 
- Public Member Functions inherited from GeometryData
virtual ~GeometryData ()
 Destructor.
 

Protected Attributes

double _resolution
 Resolution to use for discretization into triangle mesh.
 

Additional Inherited Members

- Static Public Member Functions inherited from GeometryData
static std::string toString (GeometryType type)
 format GeometryType to string More...
 

Detailed Description

A collection of Quadratic surface patches, that together form a shell.

Member Function Documentation

◆ getFace() [1/2]

virtual rw::core::Ptr<const QuadraticFace> getFace ( std::size_t  idx) const
pure virtual

Get a surface patch.

Parameters
idx[in] index of patch.
Returns
a copy of the surface patch.

Implemented in PlainQuadraticShell, and IndexedQuadraticFaceArray.

◆ getFace() [2/2]

virtual void getFace ( std::size_t  idx,
QuadraticFace dst 
) const
pure virtual

Get a surface patch.

Parameters
idx[in] index of the patch.
dst[out] an existing face to write data to.

Implemented in PlainQuadraticShell, and IndexedQuadraticFaceArray.

◆ getType()

virtual GeometryType getType ( ) const
inlinevirtual

the type of this primitive

Implements Shell.

◆ isConvex()

virtual bool isConvex ( )
pure virtual

test if this geometry data is convex

Returns
true if convex

Implements Shell.

Implemented in PlainQuadraticShell, and IndexedQuadraticFaceArray.

◆ setMeshResolution()

void setMeshResolution ( double  resolution)
inline

Set the resolution used for discretization in the getTriMesh and faceTriMesh functions.

The meaning of this parameter depends on the type of surface.

Parameters
resolution[in] the resolution parameter.

◆ size()

virtual std::size_t size ( ) const
pure virtual

Get the number of surface patches in this shell.

Returns
the number of surface patches.

Implements Shell.

Implemented in PlainQuadraticShell, and IndexedQuadraticFaceArray.


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