3.5.0
Loading...
Searching...
No Matches
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.
 
TIGL_EXPORT CTiglCurvesToSurface (const std::vector< Handle_Geom_Curve > &splines_vector, const std::vector< double > &parameters, bool continuousIfClosed=false)
 Surface skinning algorithm.
 
TIGL_EXPORT std::vector< double > GetParameters () const
 returns the parameters at the profile curves
 
TIGL_EXPORT void SetMaxDegree (int degree)
 sets the maximum interpolation degree of the splines in skinning direction
 
Handle_Geom_BSplineSurface Surface ()
 returns the skinned surface
 

Private Member Functions

TIGL_EXPORT void CalculateParameters (std::vector< Handle_Geom_BSplineCurve > const &splines_vector)
 
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
 
Handle_Geom_BSplineSurface _skinnedSurface = nullptr
 

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

◆ 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
degreemaximum degree of the splines in skinning direction

◆ Surface()

Handle_Geom_BSplineSurface tigl::CTiglCurvesToSurface::Surface ( )
inline

returns the skinned surface

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

◆ _skinnedSurface

Handle_Geom_BSplineSurface tigl::CTiglCurvesToSurface::_skinnedSurface = nullptr
private

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