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

The GenericFace implementation is a type of Face that consist of abstract Surfaces and Curves. More...

#include <GenericFace.hpp>

Inherits Face.

Public Types

typedef rw::core::Ptr< GenericFacePtr
 Smart pointer type to GenericFace.
 
- Public Types inherited from Face
typedef rw::core::Ptr< rw::geometry::FacePtr
 Smart pointer type to Face.
 
typedef rw::core::Ptr< const rw::geometry::FaceCPtr
 Smart pointer type to const Face.
 

Public Member Functions

 GenericFace ()
 Constructor.
 
 GenericFace (const Face &face)
 Copy constructor. More...
 
virtual ~GenericFace ()
 Destructor.
 
virtual const Surfacesurface () const
 Get the surface of the face. More...
 
virtual std::size_t curveCount () const
 Get the number of curves in the face. More...
 
virtual const CurvegetCurve (std::size_t i) const
 Get a curve of the face. More...
 
virtual const std::vector< rw::math::Vector3D< double > > & vertices () const
 Get the vertices of the face. More...
 
virtual void transform (const rw::math::Vector3D< double > &P)
 Translation of face. More...
 
virtual void transform (const rw::math::Transform3D<> &T)
 Transform the face. More...
 
void setSurface (rw::core::Ptr< const Surface > surface)
 Set surface. More...
 
void setSurface (const Surface &surface)
 Set surface. More...
 
void setCurve (std::size_t vertex, rw::core::Ptr< const Curve > curve)
 Set curve (a curve has direction) More...
 
void setCurves (const std::vector< rw::core::Ptr< const Curve >> &curves)
 Set the curves. More...
 
void setVertex (std::size_t index, const rw::math::Vector3D< double > &vertex)
 Set vertex. More...
 
void setVertices (const std::vector< rw::math::Vector3D< double >> &vertices)
 Set the vertices. More...
 
- Public Member Functions inherited from Face
 Face ()
 Constructor.
 
virtual ~Face ()
 Destructor.
 
virtual rw::core::Ptr< rw::geometry::TriMeshgetTriMesh (bool forceCopy=true) const
 Create a TriMesh representation of the face. More...
 
virtual std::pair< double, double > extremums (const rw::math::Vector3D< double > &dir) const
 Find the extent of the surface along a specific direction. More...
 
virtual rw::geometry::OBB< double > obb ()
 Create Oriented Bounding Box. More...
 
void setMeshResolution (double resolution)
 Set the resolution used for discretization in the getTriMesh and faceTriMesh functions. More...
 

Additional Inherited Members

- Protected Attributes inherited from Face
double _resolution
 Resolution used for discretization into triangle meshes.
 

Detailed Description

The GenericFace implementation is a type of Face that consist of abstract Surfaces and Curves.

Constructor & Destructor Documentation

◆ GenericFace()

GenericFace ( const Face face)

Copy constructor.

Parameters
face[in] other face to copy.

Member Function Documentation

◆ curveCount()

virtual std::size_t curveCount ( ) const
inlinevirtual

Get the number of curves in the face.

Returns
the number of curves.

Implements Face.

◆ getCurve()

virtual const Curve& getCurve ( std::size_t  i) const
virtual

Get a curve of the face.

Parameters
i[in] the curve index, which should be less than the number returned by curveCount().
Returns
a reference to the curve data.

Implements Face.

◆ setCurve()

void setCurve ( std::size_t  vertex,
rw::core::Ptr< const Curve curve 
)

Set curve (a curve has direction)

Parameters
vertex[in] the start vertex.
curve[in] the curve.

◆ setCurves()

void setCurves ( const std::vector< rw::core::Ptr< const Curve >> &  curves)

Set the curves.

Parameters
curves[in] vector of directed curves.

◆ setSurface() [1/2]

void setSurface ( const Surface surface)

Set surface.

Parameters
surface[in] the surface.

◆ setSurface() [2/2]

void setSurface ( rw::core::Ptr< const Surface surface)
inline

Set surface.

Parameters
surface[in] the surface.

◆ setVertex()

void setVertex ( std::size_t  index,
const rw::math::Vector3D< double > &  vertex 
)

Set vertex.

Parameters
index[in] vertex index to set.
vertex[in] the vertex point.

◆ setVertices()

void setVertices ( const std::vector< rw::math::Vector3D< double >> &  vertices)

Set the vertices.

Parameters
vertices[in] vector of vertices.

◆ surface()

virtual const Surface& surface ( ) const
virtual

Get the surface of the face.

Returns
a reference to the surface data.

Implements Face.

◆ transform() [1/2]

virtual void transform ( const rw::math::Transform3D<> &  T)
virtual

Transform the face.

Parameters
T[in] transform.

Implements Face.

◆ transform() [2/2]

virtual void transform ( const rw::math::Vector3D< double > &  P)
virtual

Translation of face.

Parameters
P[in] translation vector.

Implements Face.

◆ vertices()

virtual const std::vector<rw::math::Vector3D<double> >& vertices ( ) const
inlinevirtual

Get the vertices of the face.

Returns
a reference to the vertex vector.

Implements Face.


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