3.5.0-rc1
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
 Handle (Geom_BSplineSurface) Surface()
 returns the skinned surface
TIGL_EXPORT void SetMaxDegree (int degree)
 sets the maximum interpolation degree of the splines in skinning direction

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 )
private

◆ Handle() [2/2]

tigl::CTiglCurvesToSurface::Handle ( Geom_BSplineSurface )
inline

returns the skinned surface

◆ 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: