RobWorkProject  23.9.11-
Classes | Public Types | Public Member Functions | List of all members
IndexedQuadraticFaceArray Class Reference

Proxy class for a QuadraticShell, that allows sorting of faces without modifying the original object. More...

#include <IndexedQuadraticFaceArray.hpp>

Inherits QuadraticShell.

Classes

struct  IndexedFace
 Structure that holds information for each face. More...
 

Public Types

typedef rw::core::Ptr< IndexedQuadraticFaceArrayPtr
 Smart pointer type to IndexedQuadraticFaceArray.
 
typedef rw::core::Ptr< const IndexedQuadraticFaceArrayCPtr
 Smart pointer type for a const IndexedQuadraticFaceArray.
 
- Public Types inherited from QuadraticShell
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

 IndexedQuadraticFaceArray (rw::core::Ptr< const QuadraticShell > quadric)
 Construct new indexed face array. More...
 
 IndexedQuadraticFaceArray (rw::core::Ptr< const QuadraticShell > quadric, const std::vector< IndexedFace > &faces, std::size_t first, std::size_t last)
 Construct new indexed face array. More...
 
virtual ~IndexedQuadraticFaceArray ()
 Destructor.
 
virtual bool isConvex ()
 test if this geometry data is convex More...
 
virtual std::size_t size () const
 Get the number of surface patches in this shell. More...
 
virtual rw::core::Ptr< const QuadraticFacegetFace (std::size_t idx) const
 Get a surface patch. More...
 
virtual void getFace (std::size_t idx, QuadraticFace &dst) const
 Get a surface patch. More...
 
IndexedFace getIndexedFace (std::size_t idx) const
 Get the indexed face. More...
 
void getIndexedFace (std::size_t idx, IndexedFace &dst) const
 Get the indexed face. More...
 
void sortAxis (int axis, const rw::math::Transform3D<> &t3d)
 Sort the faces according to their extent in the direction along axis. More...
 
IndexedQuadraticFaceArray getSubRange (std::size_t first, std::size_t last) const
 Take out a subrange of faces. More...
 
std::size_t getGlobalIndex (std::size_t idx) const
 Get the original face index. More...
 
- Public Member Functions inherited from QuadraticShell
 QuadraticShell ()
 Constructor.
 
virtual ~QuadraticShell ()
 Destructor.
 
virtual GeometryType getType () const
 the type of this primitive 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from GeometryData
static std::string toString (GeometryType type)
 format GeometryType to string More...
 
- Protected Attributes inherited from QuadraticShell
double _resolution
 Resolution to use for discretization into triangle mesh.
 

Detailed Description

Proxy class for a QuadraticShell, that allows sorting of faces without modifying the original object.

Constructor & Destructor Documentation

◆ IndexedQuadraticFaceArray() [1/2]

Construct new indexed face array.

Parameters
quadric[in] the underlying Shell.

◆ IndexedQuadraticFaceArray() [2/2]

IndexedQuadraticFaceArray ( rw::core::Ptr< const QuadraticShell quadric,
const std::vector< IndexedFace > &  faces,
std::size_t  first,
std::size_t  last 
)

Construct new indexed face array.

Parameters
quadric[in] the underlying Shell.
faces[in] the faces to include in the proxy.
first[in] skip the first faces.
last[in] last index of faces to include.

Member Function Documentation

◆ getFace() [1/2]

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

Get a surface patch.

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

Implements QuadraticShell.

◆ getFace() [2/2]

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

Get a surface patch.

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

Implements QuadraticShell.

◆ getGlobalIndex()

std::size_t getGlobalIndex ( std::size_t  idx) const
inline

Get the original face index.

Parameters
idx[in] the indexed face index.
Returns
the original index.

◆ getIndexedFace() [1/2]

IndexedFace getIndexedFace ( std::size_t  idx) const

Get the indexed face.

Parameters
idx[in] index of indexed face.
Returns
the indexed face.

◆ getIndexedFace() [2/2]

void getIndexedFace ( std::size_t  idx,
IndexedFace dst 
) const

Get the indexed face.

Parameters
idx[in] index of indexed face.
dst[out] existing object to copy data into.

◆ getSubRange()

IndexedQuadraticFaceArray getSubRange ( std::size_t  first,
std::size_t  last 
) const

Take out a subrange of faces.

Parameters
first[in] first index.
last[in] last index.
Returns
a new indexed face array.

◆ isConvex()

virtual bool isConvex ( )
virtual

test if this geometry data is convex

Returns
true if convex

Implements QuadraticShell.

◆ size()

virtual std::size_t size ( ) const
virtual

Get the number of surface patches in this shell.

Returns
the number of surface patches.

Implements QuadraticShell.

◆ sortAxis()

void sortAxis ( int  axis,
const rw::math::Transform3D<> &  t3d 
)

Sort the faces according to their extent in the direction along axis.

Parameters
axis[in] axis to sort.
t3d[in] transform giving the position and axis directions.

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