Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Static Public Member Functions
ApproxInt_KnotTools Class Reference

This class intended to build knots sequence on discrete set of points for further approximation into bspline curve. More...

#include <ApproxInt_KnotTools.hxx>

Static Public Member Functions

static void BuildKnots (const NCollection_Array1< gp_Pnt > &thePntsXYZ, const NCollection_Array1< gp_Pnt2d > &thePntsU1V1, const NCollection_Array1< gp_Pnt2d > &thePntsU2V2, const math_Vector &thePars, const bool theApproxXYZ, const bool theApproxU1V1, const bool theApproxU2V2, const int theMinNbPnts, NCollection_DynamicArray< int > &theKnots)
 Main function to build optimal knot sequence. At least one set from (thePntsXYZ, thePntsU1V1, thePntsU2V2) should exist.
 
static void BuildCurvature (const NCollection_LocalArray< double > &theCoords, const int theDim, const math_Vector &thePars, NCollection_Array1< double > &theCurv, double &theMaxCurv)
 Builds discrete curvature.
 
static Approx_ParametrizationType DefineParType (const occ::handle< IntPatch_WLine > &theWL, const int theFpar, const int theLpar, const bool theApproxXYZ, const bool theApproxU1V1, const bool theApproxU2V2)
 Defines preferable parametrization type for theWL.
 

Detailed Description

This class intended to build knots sequence on discrete set of points for further approximation into bspline curve.

Short description of algorithm: 1) Build discrete curvature on points set. 2) According to special rules build draft knots sequence. 3) Filter draft sequence to build output sequence.

For more details look at: Anshuman Razdan - Knot Placement for B-Spline curve Approximation.

Member Function Documentation

◆ BuildCurvature()

static void ApproxInt_KnotTools::BuildCurvature ( const NCollection_LocalArray< double > & theCoords,
const int theDim,
const math_Vector & thePars,
NCollection_Array1< double > & theCurv,
double & theMaxCurv )
static

Builds discrete curvature.

◆ BuildKnots()

static void ApproxInt_KnotTools::BuildKnots ( const NCollection_Array1< gp_Pnt > & thePntsXYZ,
const NCollection_Array1< gp_Pnt2d > & thePntsU1V1,
const NCollection_Array1< gp_Pnt2d > & thePntsU2V2,
const math_Vector & thePars,
const bool theApproxXYZ,
const bool theApproxU1V1,
const bool theApproxU2V2,
const int theMinNbPnts,
NCollection_DynamicArray< int > & theKnots )
static

Main function to build optimal knot sequence. At least one set from (thePntsXYZ, thePntsU1V1, thePntsU2V2) should exist.

Parameters
thePntsXYZ- Set of 3d points.
thePntsU1V1- Set of 2d points.
thePntsU2V2- Set of 2d points.
thePars- Expected parameters associated with set.
theApproxXYZ- Flag, existence of 3d set.
theApproxU1V1- Flag existence of first 2d set.
theApproxU2V2- Flag existence of second 2d set.
theMinNbPnts- Minimal number of points per knot interval.
theKnots- output knots sequence.

◆ DefineParType()

static Approx_ParametrizationType ApproxInt_KnotTools::DefineParType ( const occ::handle< IntPatch_WLine > & theWL,
const int theFpar,
const int theLpar,
const bool theApproxXYZ,
const bool theApproxU1V1,
const bool theApproxU2V2 )
static

Defines preferable parametrization type for theWL.


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