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

Type of Face, where the surface is an ImplicitSurface and the edges are of type ParametricCurve. More...

#include <ImplicitFace.hpp>

Inherits Face.

Public Types

typedef rw::core::Ptr< ImplicitFacePtr
 Smart pointer type to ImplicitFace.
 
typedef rw::core::Ptr< const ImplicitFaceCPtr
 Smart pointer type to const ImplicitFace.
 
- 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

 ImplicitFace ()
 Constructor.
 
 ImplicitFace (rw::core::Ptr< const rw::geometry::ImplicitSurface > surface, const std::vector< rw::math::Vector3D< double >> &vertices)
 Construct face with surface and vertices given initially. More...
 
virtual ~ImplicitFace ()
 Destructor.
 
virtual const rw::geometry::ImplicitSurfacesurface () 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 rw::geometry::ParametricCurvegetCurve (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...
 
const std::vector< rw::core::Ptr< const rw::geometry::ParametricCurve > > & getCurves () const
 Get the parametric curves. More...
 
void setSurface (rw::core::Ptr< const rw::geometry::ImplicitSurface > surface)
 Set implicit surface. More...
 
void setSurface (const rw::geometry::ImplicitSurface &surface)
 Set surface. More...
 
void setCurve (std::size_t vertex, rw::core::Ptr< const rw::geometry::ParametricCurve > curve)
 Set parametric curve (a curve has direction) More...
 
void setCurves (const std::vector< rw::core::Ptr< const rw::geometry::ParametricCurve >> &curves)
 Set the parametric 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

Type of Face, where the surface is an ImplicitSurface and the edges are of type ParametricCurve.

Constructor & Destructor Documentation

◆ ImplicitFace()

ImplicitFace ( rw::core::Ptr< const rw::geometry::ImplicitSurface surface,
const std::vector< rw::math::Vector3D< double >> &  vertices 
)

Construct face with surface and vertices given initially.

Curves must be set afterwards.

Parameters
surface[in] the surface data.
vertices[in] vector of vertices.

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 rw::geometry::ParametricCurve& 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.

◆ getCurves()

const std::vector<rw::core::Ptr<const rw::geometry::ParametricCurve> >& getCurves ( ) const
inline

Get the parametric curves.

Returns
vector with the curves.

◆ setCurve()

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

Set parametric 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 rw::geometry::ParametricCurve >> &  curves)

Set the parametric curves.

Parameters
curves[in] vector of directed curves.

◆ setSurface() [1/2]

void setSurface ( const rw::geometry::ImplicitSurface surface)

Set surface.

Parameters
surface[in] the surface.

◆ setSurface() [2/2]

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

Set implicit 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 rw::geometry::ImplicitSurface& 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: