3.5.0-rc1
Loading...
Searching...
No Matches
tigl::CTiglInterpolatePointsWithKinks Class Reference

This algorithm allows to interpolate a list of points. More...

#include <CTiglInterpolatePointsWithKinks.h>

Data Structures

struct  Result

Public Types

enum class  Algo { InterpolateBasedOnParameters , InterpolateFirstThenReparametrize }

Public Member Functions

TIGL_EXPORT CTiglInterpolatePointsWithKinks (const Handle(TColgp_HArray1OfPnt) &points, const std::vector< unsigned int > &kinkIndices, const ParamMap &parameters, double alpha=0.5, unsigned int maxDegree=3, Algo algo=Algo::InterpolateBasedOnParameters, const double tolerance=1e-8)
TIGL_EXPORT Handle (Geom_BSplineCurve) Curve() const
TIGL_EXPORT std::vector< double > Parameters () const

Private Member Functions

void ComputeResult (Result &result) const
const Handle (TColgp_HArray1OfPnt) &m_pnts

Private Attributes

Algo m_algo
double m_alpha
std::vector< unsigned int > m_kinks
unsigned int m_maxDegree
ParamMap m_params
Cache< Result, CTiglInterpolatePointsWithKinksm_result
const double m_tolerance

Detailed Description

This algorithm allows to interpolate a list of points.

Compared to CTiglPointsToBSplineInterpolation, this algorithm allows to define kinks for points. Also, the interpolation parameter can be set for in a map.

Member Enumeration Documentation

◆ Algo

Enumerator
InterpolateBasedOnParameters 

generates an interpolating curve that matches the parameter map directly. The geometry of the curve is directly influenced by the parameter map

InterpolateFirstThenReparametrize 

interpolates first and then reparametrizes to match the parameter map. The geometry of the curve is independent of the parameter map

Constructor & Destructor Documentation

◆ CTiglInterpolatePointsWithKinks()

TIGL_EXPORT tigl::CTiglInterpolatePointsWithKinks::CTiglInterpolatePointsWithKinks ( const Handle(TColgp_HArray1OfPnt) & points,
const std::vector< unsigned int > & kinkIndices,
const ParamMap & parameters,
double alpha = 0.5,
unsigned int maxDegree = 3,
Algo algo = Algo::InterpolateBasedOnParameters,
const double tolerance = 1e-8 )

Member Function Documentation

◆ ComputeResult()

void tigl::CTiglInterpolatePointsWithKinks::ComputeResult ( Result & result) const
private

◆ Handle() [1/2]

TIGL_EXPORT tigl::CTiglInterpolatePointsWithKinks::Handle ( Geom_BSplineCurve ) const

◆ Handle() [2/2]

const tigl::CTiglInterpolatePointsWithKinks::Handle ( TColgp_HArray1OfPnt ) &
private

◆ Parameters()

TIGL_EXPORT std::vector< double > tigl::CTiglInterpolatePointsWithKinks::Parameters ( ) const

Field Documentation

◆ m_algo

Algo tigl::CTiglInterpolatePointsWithKinks::m_algo
private

◆ m_alpha

double tigl::CTiglInterpolatePointsWithKinks::m_alpha
private

◆ m_kinks

std::vector<unsigned int> tigl::CTiglInterpolatePointsWithKinks::m_kinks
private

◆ m_maxDegree

unsigned int tigl::CTiglInterpolatePointsWithKinks::m_maxDegree
private

◆ m_params

ParamMap tigl::CTiglInterpolatePointsWithKinks::m_params
private

◆ m_result

Cache<Result, CTiglInterpolatePointsWithKinks> tigl::CTiglInterpolatePointsWithKinks::m_result
private

◆ m_tolerance

const double tigl::CTiglInterpolatePointsWithKinks::m_tolerance
private

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