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

Type of Shell where all surfaces are of type ImplicitSurface and all curves are of type ParametricCurve. More...

#include <ImplicitShell.hpp>

Inherits Shell.

Public Types

typedef rw::core::Ptr< ImplicitShellPtr
 Smart pointer type to ImplicitShell.
 
typedef rw::core::Ptr< const ImplicitShellCPtr
 Smart pointer type for a const ImplicitShell.
 
- 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

 ImplicitShell ()
 Constructor.
 
virtual ~ImplicitShell ()
 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 ImplicitFacegetFace (std::size_t idx) const =0
 Get a surface patch. More...
 
virtual void getFace (std::size_t idx, ImplicitFace &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

Type of Shell where all surfaces are of type ImplicitSurface and all curves are of type ParametricCurve.

Member Function Documentation

◆ getFace() [1/2]

virtual rw::core::Ptr<const ImplicitFace> 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.

◆ getFace() [2/2]

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

Get a surface patch.

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

◆ 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.

◆ 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.


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