RobWorkProject
23.9.11-
|
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< IndexedQuadraticFaceArray > | Ptr |
Smart pointer type to IndexedQuadraticFaceArray. | |
typedef rw::core::Ptr< const IndexedQuadraticFaceArray > | CPtr |
Smart pointer type for a const IndexedQuadraticFaceArray. | |
Public Types inherited from QuadraticShell | |
typedef rw::core::Ptr< QuadraticShell > | Ptr |
Smart pointer type to QuadraticShell. | |
typedef rw::core::Ptr< const QuadraticShell > | CPtr |
Smart pointer type for a const QuadraticShell. | |
Public Types inherited from Shell | |
typedef rw::core::Ptr< Shell > | Ptr |
Smart pointer type to Shell. | |
typedef rw::core::Ptr< const Shell > | CPtr |
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< GeometryData > | Ptr |
smart pointer type to this class | |
typedef rw::core::Ptr< const GeometryData > | CPtr |
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 QuadraticFace > | getFace (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< TriMesh > | getTriMesh (bool forceCopy=true) |
gets a trimesh representation of this geometry data. More... | |
virtual rw::core::Ptr< TriMesh > | getTriMesh (bool forceCopy=true) const |
gets a trimesh representation of this geometry data. More... | |
rw::core::Ptr< const Face > | getFace (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. | |
Proxy class for a QuadraticShell, that allows sorting of faces without modifying the original object.
IndexedQuadraticFaceArray | ( | rw::core::Ptr< const QuadraticShell > | quadric | ) |
Construct new indexed face array.
quadric | [in] the underlying Shell. |
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.
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. |
|
virtual |
Get a surface patch.
idx | [in] index of patch. |
Implements QuadraticShell.
|
virtual |
Get a surface patch.
idx | [in] index of the patch. |
dst | [out] an existing face to write data to. |
Implements QuadraticShell.
|
inline |
Get the original face index.
idx | [in] the indexed face index. |
IndexedFace getIndexedFace | ( | std::size_t | idx | ) | const |
Get the indexed face.
idx | [in] index of indexed face. |
void getIndexedFace | ( | std::size_t | idx, |
IndexedFace & | dst | ||
) | const |
Get the indexed face.
idx | [in] index of indexed face. |
dst | [out] existing object to copy data into. |
IndexedQuadraticFaceArray getSubRange | ( | std::size_t | first, |
std::size_t | last | ||
) | const |
Take out a subrange of faces.
first | [in] first index. |
last | [in] last index. |
|
virtual |
|
virtual |
Get the number of surface patches in this shell.
Implements QuadraticShell.
void sortAxis | ( | int | axis, |
const rw::math::Transform3D<> & | t3d | ||
) |
Sort the faces according to their extent in the direction along axis.
axis | [in] axis to sort. |
t3d | [in] transform giving the position and axis directions. |