RobWorkProject  24.12.4-
Public Types | Public Member Functions | List of all members
QuadraticFace Class Reference

A Quadratic surface patch bounded by Quadratic curves. More...

#include <QuadraticFace.hpp>

Inherits Face.

Public Types

typedef rw::core::Ptr< QuadraticFacePtr
 Smart pointer type to QuadraticFace.
 
typedef rw::core::Ptr< const QuadraticFaceCPtr
 Smart pointer type to const QuadraticFace.
 
- 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

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

A Quadratic surface patch bounded by Quadratic curves.

Constructor & Destructor Documentation

◆ QuadraticFace()

QuadraticFace ( rw::core::Ptr< const rw::geometry::QuadraticSurface 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::QuadraticCurve& 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::QuadraticCurve> >& getCurves ( ) const
inline

Get the Quadratic curves.

Returns
vector with the curves.

◆ setCurve()

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

Set Quadratic 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::QuadraticCurve >> &  curves)

Set the Quadratic curves.

Parameters
curves[in] vector of directed curves.

◆ setSurface() [1/2]

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

Set surface.

Parameters
surface[in] the surface.

◆ setSurface() [2/2]

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

Set Quadratic 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::QuadraticSurface& 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: