3.4.0
tigl::CTiglCurvesToSurface Class Reference

#include <CTiglCurvesToSurface.h>

Public Member Functions

TIGL_EXPORT CTiglCurvesToSurface (const std::vector< Handle(Geom_Curve) > &splines_vector, bool continuousIfClosed=false)
 Surface skinning algorithm. More...
 
TIGL_EXPORT CTiglCurvesToSurface (const std::vector< Handle(Geom_Curve) > &splines_vector, const std::vector< double > &parameters, bool continuousIfClosed=false)
 Surface skinning algorithm. More...
 
TIGL_EXPORT std::vector< double > GetParameters () const
 returns the parameters at the profile curves More...
 
 Handle (Geom_BSplineSurface) Surface()
 returns the skinned surface More...
 
TIGL_EXPORT void SetMaxDegree (int degree)
 sets the maximum interpolation degree of the splines in skinning direction More...
 

Private Member Functions

TIGL_EXPORT void CalculateParameters (std::vector< Handle(Geom_BSplineCurve)> const &splines_vector)
 
 Handle (Geom_BSplineSurface) _skinnedSurface
 
TIGL_EXPORT void Invalidate ()
 
TIGL_EXPORT void Perform ()
 

Private Attributes

std::vector< Handle(Geom_BSplineCurve) > _compatibleSplines
 
bool _continuousIfClosed = false
 
bool _hasPerformed = false
 
std::vector< Handle(Geom_BSplineCurve) > _inputCurves
 
int _maxDegree = 3
 
std::vector< double > _parameters
 

Constructor & Destructor Documentation

◆ CTiglCurvesToSurface() [1/2]

TIGL_EXPORT tigl::CTiglCurvesToSurface::CTiglCurvesToSurface ( const std::vector< Handle(Geom_Curve) > &  splines_vector,
bool  continuousIfClosed = false 
)
explicit

Surface skinning algorithm.

Creates a surface by interpolation of B-spline curves. The direction of the input curves is treated as u direction. The skinning will be performed in v direction. The interpolation parameters will be determined automatically.

By default, the curves are skinned continuously. This can be changed by setting the maximum degree of the interpolation in v-direction using ::SetMaxDegree.

Parameters
splines_vectorCurves to be interpolated.
continuousIfClosedMake a C2 continuous surface at the start/end junction if the first and last curve are the same

◆ CTiglCurvesToSurface() [2/2]

TIGL_EXPORT tigl::CTiglCurvesToSurface::CTiglCurvesToSurface ( const std::vector< Handle(Geom_Curve) > &  splines_vector,
const std::vector< double > &  parameters,
bool  continuousIfClosed = false 
)
explicit

Surface skinning algorithm.

Creates a surface by interpolation of B-spline curves. The direction of the input curves is treated as u direction. The skinning will be performed in v direction.

Parameters
splines_vectorCurves to be interpolated.
parametersParameters of v-direction at which the resulting surface should interpolate the input curves.
continuousIfClosedMake a C2 continuous surface at the start/end junction if the first and last curve are the same

Member Function Documentation

◆ CalculateParameters()

TIGL_EXPORT void tigl::CTiglCurvesToSurface::CalculateParameters ( std::vector< Handle(Geom_BSplineCurve)> const &  splines_vector)
private

◆ GetParameters()

TIGL_EXPORT std::vector<double> tigl::CTiglCurvesToSurface::GetParameters ( ) const
inline

returns the parameters at the profile curves

◆ Handle() [1/2]

tigl::CTiglCurvesToSurface::Handle ( Geom_BSplineSurface  )
inline

returns the skinned surface

◆ Handle() [2/2]

tigl::CTiglCurvesToSurface::Handle ( Geom_BSplineSurface  )
private

◆ Invalidate()

TIGL_EXPORT void tigl::CTiglCurvesToSurface::Invalidate ( )
inlineprivate

◆ Perform()

TIGL_EXPORT void tigl::CTiglCurvesToSurface::Perform ( )
private

◆ SetMaxDegree()

TIGL_EXPORT void tigl::CTiglCurvesToSurface::SetMaxDegree ( int  degree)

sets the maximum interpolation degree of the splines in skinning direction

Parameters
maxDegreemaximum degree of the splines in skinning direction

Field Documentation

◆ _compatibleSplines

std::vector<Handle(Geom_BSplineCurve) > tigl::CTiglCurvesToSurface::_compatibleSplines
private

◆ _continuousIfClosed

bool tigl::CTiglCurvesToSurface::_continuousIfClosed = false
private

◆ _hasPerformed

bool tigl::CTiglCurvesToSurface::_hasPerformed = false
private

◆ _inputCurves

std::vector<Handle(Geom_BSplineCurve) > tigl::CTiglCurvesToSurface::_inputCurves
private

◆ _maxDegree

int tigl::CTiglCurvesToSurface::_maxDegree = 3
private

◆ _parameters

std::vector<double> tigl::CTiglCurvesToSurface::_parameters
private

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