DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Expand ModelsModels
Expand DG Kernel ComponentsDG Kernel Components
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Expand ModelModel
Expand ViewView
Expand General ComputingGeneral Computing
Expand Samples and TutorialsSamples and Tutorials
Expand GraphicsGraphics
Expand Math ObjectsMath Objects
Expand DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation LinksHome Page > API Reference > General Geometry > Curves > IBSplineCurveInterpolator_DG Search Documentation


IBSplineCurveInterpolator_DG Interface

Init
Init1
InitEx
InitEx1
Build

Creates a bspline curve interpolating an array of points


void Init(IPointArray_DG points, bool periodic, double tolerance)

Defines input point set for interpolation. Tangential vectors can be specified after this call using InitEx() method below.
The resulting BSpline curve will be "C2" continuous, except where a tangency constraint is defined using InitEx*(). In this case, it will be only "C1" continuous.
Once all the constraints are defined, use the Build() to create the curve.

points must contain at least two points at distance at least tolerance from each other.


void Init1(IPointArray_DG points, IArrayDouble_DG parameters, bool periodic, double tolerance)

Defines input point set and specifies the correspondent parameter values for interpolation. Tangential vectors can be specified after this call using InitEx() method below.

points must contain at least two points at distance at least tolerance from each other.
If periodic is false, points.GetCount() must be equal to parameters.GetCount().
If periodic is true, points.GetCount() must be equal to parameters.GetCount() + 1.


void InitEx(Vect_DG initialTangent, Vect_DG finalTangent, bool scale)

Init() or Init1() must be called prior this call. Specifies the required tangents at the first and the last ends. The lengthes must not be smaller than the tolerance specified in the Init*() call

if scale is true, only direction of tangents is important. The tangents will be scaled internally during a Build() call so that they have the length of the size of the derivative of the Lagrange interpolation used in the algorithm.


void InitEx1(IPointArray_DG tangents, IArrayInt_DG tangentFlags, bool scale)

Specifies the required tangents at some points of the array. tangents[k] is considered specified at point k if tangentFlags[k] is true.

if scale is true, only direction of tangents is important. The tangents will be scaled internally during a Build() call so that they have the length of the size of the derivative of the Lagrange interpolation used in the algorithm

IBSplineCurve_DG Build()

Call to create the curve. One of Init*() and possibly InitEx*() methods above must be called prior to this call