diff --git a/src/Mod/Part/App/BSplineCurvePy.xml b/src/Mod/Part/App/BSplineCurvePy.xml
index f857240f31..a37377a614 100644
--- a/src/Mod/Part/App/BSplineCurvePy.xml
+++ b/src/Mod/Part/App/BSplineCurvePy.xml
@@ -1,20 +1,20 @@
-
-
-
- Describes a B-Spline curve in 3D space
-
+ FatherNamespace="Part"
+ Constructor="true">
+
+
+ Describes a B-Spline curve in 3D space
+
__reduce__()
@@ -23,456 +23,456 @@ Serialization of Part.BSplineCurve objects
-
- Returns the polynomial degree of this B-Spline curve.
-
-
-
-
-
- Returns the value of the maximum polynomial degree of any
+
+ Returns the polynomial degree of this B-Spline curve.
+
+
+
+
+
+ Returns the value of the maximum polynomial degree of any
B-Spline curve curve. This value is 25.
-
-
-
-
-
- Returns the number of poles of this B-Spline curve.
-
-
-
-
-
-
-
- Returns the number of knots of this B-Spline curve.
-
-
-
-
-
-
- Returns the start point of this B-Spline curve.
-
-
-
-
-
- Returns the end point of this B-Spline curve.
-
-
-
-
-
- Returns the index in the knot array of the knot
+
+
+
+
+
+ Returns the number of poles of this B-Spline curve.
+
+
+
+
+
+
+
+ Returns the number of knots of this B-Spline curve.
+
+
+
+
+
+
+ Returns the start point of this B-Spline curve.
+
+
+
+
+
+ Returns the end point of this B-Spline curve.
+
+
+
+
+
+ Returns the index in the knot array of the knot
corresponding to the first or last parameter
of this B-Spline curve.
-
-
-
-
-
- Returns the index in the knot array of the knot
+
+
+
+
+
+ Returns the index in the knot array of the knot
corresponding to the first or last parameter
of this B-Spline curve.
-
-
-
-
-
- Returns the knots sequence of this B-Spline curve.
-
-
-
+
+
+
+
+
+ Returns the knots sequence of this B-Spline curve.
+
+
+
-
-
- Returns true if this B-Spline curve is rational.
- A B-Spline curve is rational if, at the time of construction,
- the weight table has been initialized.
-
-
-
+
+
+ Returns true if this B-Spline curve is rational.
+ A B-Spline curve is rational if, at the time of construction,
+ the weight table has been initialized.
+
+
+
-
- Returns true if this BSpline curve is periodic.
-
-
+
+ Returns true if this BSpline curve is periodic.
+
+
-
-
- Returns true if the distance between the start point and end point of
- this B-Spline curve is less than or equal to gp::Resolution().
-
-
-
-
-
- increase(Int=Degree)
+
+
+ Returns true if the distance between the start point and end point of
+ this B-Spline curve is less than or equal to gp::Resolution().
+
+
+
+
+
+ increase(Int=Degree)
Increases the degree of this B-Spline curve to Degree.
As a result, the poles, weights and multiplicities tables
are modified; the knots table is not changed. Nothing is
done if Degree is less than or equal to the current degree.
-
-
-
-
-
- increaseMultiplicity(int index, int mult)
- increaseMultiplicity(int start, int end, int mult)
- Increases multiplicity of knots up to mult.
+
+
+
+
+
+ increaseMultiplicity(int index, int mult)
+ increaseMultiplicity(int start, int end, int mult)
+ Increases multiplicity of knots up to mult.
- index: the index of a knot to modify (1-based)
- start, end: index range of knots to modify.
- If mult is lower or equal to the current multiplicity nothing is done. If mult is higher than the degree the degree is used.
-
-
-
-
-
-
- incrementMultiplicity(int start, int end, int mult)
- Raises multiplicity of knots by mult.
+ index: the index of a knot to modify (1-based)
+ start, end: index range of knots to modify.
+ If mult is lower or equal to the current multiplicity nothing is done. If mult is higher than the degree the degree is used.
+
+
+
+
+
+
+ incrementMultiplicity(int start, int end, int mult)
+ Raises multiplicity of knots by mult.
- start, end: index range of knots to modify.
-
-
-
-
-
-
- insertKnot(u, mult = 1, tol = 0.0)
- Inserts a knot value in the sequence of knots. If u is an existing knot the
- multiplicity is increased by mult.
-
-
-
-
-
- insertKnots(list_of_floats, list_of_ints, tol = 0.0, bool_add = True)
- Inserts a set of knots values in the sequence of knots.
+ start, end: index range of knots to modify.
+
+
+
+
+
+
+ insertKnot(u, mult = 1, tol = 0.0)
+ Inserts a knot value in the sequence of knots. If u is an existing knot the
+ multiplicity is increased by mult.
+
+
+
+
+
+ insertKnots(list_of_floats, list_of_ints, tol = 0.0, bool_add = True)
+ Inserts a set of knots values in the sequence of knots.
- For each u = list_of_floats[i], mult = list_of_ints[i]
+ For each u = list_of_floats[i], mult = list_of_ints[i]
- If u is an existing knot the multiplicity is increased by mult if bool_add is
- True, otherwise increased to mult.
+ If u is an existing knot the multiplicity is increased by mult if bool_add is
+ True, otherwise increased to mult.
- If u is not on the parameter range nothing is done.
+ If u is not on the parameter range nothing is done.
- If the multiplicity is negative or null nothing is done. The new multiplicity
- is limited to the degree.
+ If the multiplicity is negative or null nothing is done. The new multiplicity
+ is limited to the degree.
- The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance.
-
-
-
-
-
-
- removeKnot(Index, M, tol)
+ The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance.
+
+
+
+
+
+
+ removeKnot(Index, M, tol)
- Reduces the multiplicity of the knot of index Index to M.
- If M is equal to 0, the knot is removed.
- With a modification of this type, the array of poles is also modified.
- Two different algorithms are systematically used to compute the new
- poles of the curve. If, for each pole, the distance between the pole
- calculated using the first algorithm and the same pole calculated using
- the second algorithm, is less than Tolerance, this ensures that the curve
- is not modified by more than Tolerance. Under these conditions, true is
- returned; otherwise, false is returned.
+ Reduces the multiplicity of the knot of index Index to M.
+ If M is equal to 0, the knot is removed.
+ With a modification of this type, the array of poles is also modified.
+ Two different algorithms are systematically used to compute the new
+ poles of the curve. If, for each pole, the distance between the pole
+ calculated using the first algorithm and the same pole calculated using
+ the second algorithm, is less than Tolerance, this ensures that the curve
+ is not modified by more than Tolerance. Under these conditions, true is
+ returned; otherwise, false is returned.
- A low tolerance is used to prevent modification of the curve.
- A high tolerance is used to 'smooth' the curve.
-
-
-
-
-
-
- segment(u1,u2)
- Modifies this B-Spline curve by segmenting it.
-
-
-
-
- Set a knot of the B-Spline curve.
-
-
+ A low tolerance is used to prevent modification of the curve.
+ A high tolerance is used to 'smooth' the curve.
+
+
+
+
+
+
+ segment(u1,u2)
+ Modifies this B-Spline curve by segmenting it.
+
+
+
+
+ Set a knot of the B-Spline curve.
+
+
-
- Get a knot of the B-Spline curve.
-
-
-
-
- Set knots of the B-Spline curve.
-
-
+
+ Get a knot of the B-Spline curve.
+
+
+
+
+ Set knots of the B-Spline curve.
+
+
-
- Get all knots of the B-Spline curve.
-
-
-
-
- Modifies this B-Spline curve by assigning P
+
+ Get all knots of the B-Spline curve.
+
+
+
+
+ Modifies this B-Spline curve by assigning P
to the pole of index Index in the poles table.
-
-
+
+
-
- Get a pole of the B-Spline curve.
-
-
+
+ Get a pole of the B-Spline curve.
+
+
-
- Get all poles of the B-Spline curve.
-
-
-
-
- Set a weight of the B-Spline curve.
-
-
+
+ Get all poles of the B-Spline curve.
+
+
+
+
+ Set a weight of the B-Spline curve.
+
+
-
- Get a weight of the B-Spline curve.
-
-
+
+ Get a weight of the B-Spline curve.
+
+
-
- Get all weights of the B-Spline curve.
-
-
+
+ Get all weights of the B-Spline curve.
+
+
-
- Returns the table of poles and weights in homogeneous coordinates.
-
-
-
-
- Computes for this B-Spline curve the parametric tolerance (UTolerance)
+
+ Returns the table of poles and weights in homogeneous coordinates.
+
+
+
+
+ Computes for this B-Spline curve the parametric tolerance (UTolerance)
for a given 3D tolerance (Tolerance3D).
If f(t) is the equation of this B-Spline curve, the parametric tolerance
ensures that:
|t1-t0| < UTolerance =""==> |f(t1)-f(t0)| < Tolerance3D
-
-
-
-
-
- movePoint(U, P, Index1, Index2)
- Moves the point of parameter U of this B-Spline curve to P.
+
+
+
+
+
+ movePoint(U, P, Index1, Index2)
+ Moves the point of parameter U of this B-Spline curve to P.
Index1 and Index2 are the indexes in the table of poles of this B-Spline curve
of the first and last poles designated to be moved.
Returns: (FirstModifiedPole, LastModifiedPole). They are the indexes of the
first and last poles which are effectively modified.
-
-
-
-
- Changes this B-Spline curve into a non-periodic curve.
+
+
+
+
+ Changes this B-Spline curve into a non-periodic curve.
If this curve is already non-periodic, it is not modified.
-
-
-
-
- Changes this B-Spline curve into a periodic curve.
-
-
-
-
- Assigns the knot of index Index in the knots table
+
+
+
+
+ Changes this B-Spline curve into a periodic curve.
+
+
+
+
+ Assigns the knot of index Index in the knots table
as the origin of this periodic B-Spline curve. As a consequence,
the knots and poles tables are modified.
-
-
+
+
-
- Returns the multiplicity of the knot of index
+
+ Returns the multiplicity of the knot of index
from the knots table of this B-Spline curve.
-
-
+
+
-
-
- Returns the multiplicities table M of the knots of this B-Spline curve.
-
-
-
-
-
-
- Replaces this B-Spline curve by approximating a set of points.
- The function accepts keywords as arguments.
+
+
+ Returns the multiplicities table M of the knots of this B-Spline curve.
+
+
+
+
+
+
+ Replaces this B-Spline curve by approximating a set of points.
+ The function accepts keywords as arguments.
- approximate(Points = list_of_points)
+ approximate(Points = list_of_points)
- Optional arguments :
+ Optional arguments :
- DegMin = integer (3) : Minimum degree of the curve.
- DegMax = integer (8) : Maximum degree of the curve.
- Tolerance = float (1e-3) : approximating tolerance.
- Continuity = string ('C2') : Desired continuity of the curve.
- Possible values : 'C0','G1','C1','G2','C2','C3','CN'
+ DegMin = integer (3) : Minimum degree of the curve.
+ DegMax = integer (8) : Maximum degree of the curve.
+ Tolerance = float (1e-3) : approximating tolerance.
+ Continuity = string ('C2') : Desired continuity of the curve.
+ Possible values : 'C0','G1','C1','G2','C2','C3','CN'
- LengthWeight = float, CurvatureWeight = float, TorsionWeight = float
- If one of these arguments is not null, the functions approximates the
- points using variational smoothing algorithm, which tries to minimize
- additional criterium:
- LengthWeight*CurveLength + CurvatureWeight*Curvature + TorsionWeight*Torsion
+ LengthWeight = float, CurvatureWeight = float, TorsionWeight = float
+ If one of these arguments is not null, the functions approximates the
+ points using variational smoothing algorithm, which tries to minimize
+ additional criterium:
+ LengthWeight*CurveLength + CurvatureWeight*Curvature + TorsionWeight*Torsion
Continuity must be C0, C1(with DegMax >= 3) or C2(with DegMax >= 5).
- Parameters = list of floats : knot sequence of the approximated points.
- This argument is only used if the weights above are all null.
+ Parameters = list of floats : knot sequence of the approximated points.
+ This argument is only used if the weights above are all null.
- ParamType = string ('Uniform','Centripetal' or 'ChordLength')
- Parameterization type. Only used if weights and Parameters above aren't specified.
+ ParamType = string ('Uniform','Centripetal' or 'ChordLength')
+ Parameterization type. Only used if weights and Parameters above aren't specified.
- Note : Continuity of the spline defaults to C2. However, it may not be applied if
- it conflicts with other parameters ( especially DegMax ).
-
-
-
+ Note : Continuity of the spline defaults to C2. However, it may not be applied if
+ it conflicts with other parameters ( especially DegMax ).
+
+
+
Compute the tangents for a Cardinal spline
-
-
- Replaces this B-Spline curve by interpolating a set of points.
- The function accepts keywords as arguments.
+
+
+ Replaces this B-Spline curve by interpolating a set of points.
+ The function accepts keywords as arguments.
- interpolate(Points = list_of_points)
+ interpolate(Points = list_of_points)
- Optional arguments :
+ Optional arguments :
- PeriodicFlag = bool (False) : Sets the curve closed or opened.
- Tolerance = float (1e-6) : interpolating tolerance
+ PeriodicFlag = bool (False) : Sets the curve closed or opened.
+ Tolerance = float (1e-6) : interpolating tolerance
- Parameters : knot sequence of the interpolated points.
- If not supplied, the function defaults to chord-length parameterization.
- If PeriodicFlag == True, one extra parameter must be appended.
+ Parameters : knot sequence of the interpolated points.
+ If not supplied, the function defaults to chord-length parameterization.
+ If PeriodicFlag == True, one extra parameter must be appended.
- EndPoint Tangent constraints :
+ EndPoint Tangent constraints :
- InitialTangent = vector, FinalTangent = vector
- specify tangent vectors for starting and ending points
- of the BSpline. Either none, or both must be specified.
+ InitialTangent = vector, FinalTangent = vector
+ specify tangent vectors for starting and ending points
+ of the BSpline. Either none, or both must be specified.
- Full Tangent constraints :
+ Full Tangent constraints :
- Tangents = list_of_vectors, TangentFlags = list_of_bools
- Both lists must have the same length as Points list.
- Tangents specifies the tangent vector of each point in Points list.
- TangentFlags (bool) activates or deactivates the corresponding tangent.
- These arguments will be ignored if EndPoint Tangents (above) are also defined.
+ Tangents = list_of_vectors, TangentFlags = list_of_bools
+ Both lists must have the same length as Points list.
+ Tangents specifies the tangent vector of each point in Points list.
+ TangentFlags (bool) activates or deactivates the corresponding tangent.
+ These arguments will be ignored if EndPoint Tangents (above) are also defined.
- Note : Continuity of the spline defaults to C2. However, if periodic, or tangents
- are supplied, the continuity will drop to C1.
-
-
-
-
-
-
- Builds a B-Spline by a list of poles.
- arguments: poles (sequence of Base.Vector), [periodic (default is False), degree (default is 3), interpolate (default is False)]
+ Note : Continuity of the spline defaults to C2. However, if periodic, or tangents
+ are supplied, the continuity will drop to C1.
+
+
+
+
+
+
+ Builds a B-Spline by a list of poles.
+ arguments: poles (sequence of Base.Vector), [periodic (default is False), degree (default is 3), interpolate (default is False)]
- Examples:
- from FreeCAD import Base
- import Part
- V = Base.Vector
- poles = [V(-2, 2, 0),V(0, 2, 1),V(2, 2, 0),V(2, -2, 0),V(0, -2, 1),V(-2, -2, 0)]
+ Examples:
+ from FreeCAD import Base
+ import Part
+ V = Base.Vector
+ poles = [V(-2, 2, 0),V(0, 2, 1),V(2, 2, 0),V(2, -2, 0),V(0, -2, 1),V(-2, -2, 0)]
- # non-periodic spline
- n=Part.BSplineCurve()
- n.buildFromPoles(poles)
- Part.show(n.toShape())
+ # non-periodic spline
+ n=Part.BSplineCurve()
+ n.buildFromPoles(poles)
+ Part.show(n.toShape())
- # periodic spline
- n=Part.BSplineCurve()
- n.buildFromPoles(poles, True)
- Part.show(n.toShape())
-
-
-
-
-
-
- Builds a B-Spline by a lists of Poles, Mults, Knots.
- arguments: poles (sequence of Base.Vector), [mults , knots, periodic, degree, weights (sequence of float), CheckRational]
+ # periodic spline
+ n=Part.BSplineCurve()
+ n.buildFromPoles(poles, True)
+ Part.show(n.toShape())
+
+
+
+
+
+
+ Builds a B-Spline by a lists of Poles, Mults, Knots.
+ arguments: poles (sequence of Base.Vector), [mults , knots, periodic, degree, weights (sequence of float), CheckRational]
- Examples:
- from FreeCAD import Base
- import Part
- V=Base.Vector
- poles=[V(-10,-10),V(10,-10),V(10,10),V(-10,10)]
+ Examples:
+ from FreeCAD import Base
+ import Part
+ V=Base.Vector
+ poles=[V(-10,-10),V(10,-10),V(10,10),V(-10,10)]
- # non-periodic spline
- n=Part.BSplineCurve()
- n.buildFromPolesMultsKnots(poles,(3,1,3),(0,0.5,1),False,2)
- Part.show(n.toShape())
+ # non-periodic spline
+ n=Part.BSplineCurve()
+ n.buildFromPolesMultsKnots(poles,(3,1,3),(0,0.5,1),False,2)
+ Part.show(n.toShape())
- # periodic spline
- p=Part.BSplineCurve()
- p.buildFromPolesMultsKnots(poles,(1,1,1,1,1),(0,0.25,0.5,0.75,1),True,2)
- Part.show(p.toShape())
+ # periodic spline
+ p=Part.BSplineCurve()
+ p.buildFromPolesMultsKnots(poles,(1,1,1,1,1),(0,0.25,0.5,0.75,1),True,2)
+ Part.show(p.toShape())
- # periodic and rational spline
- r=Part.BSplineCurve()
- r.buildFromPolesMultsKnots(poles,(1,1,1,1,1),(0,0.25,0.5,0.75,1),True,2,(1,0.8,0.7,0.2))
- Part.show(r.toShape())
-
-
-
+ # periodic and rational spline
+ r=Part.BSplineCurve()
+ r.buildFromPolesMultsKnots(poles,(1,1,1,1,1),(0,0.25,0.5,0.75,1),True,2,(1,0.8,0.7,0.2))
+ Part.show(r.toShape())
+
+
+
-
-
- Build a list of Bezier splines.
-
-
-
+
+
+ Build a list of Bezier splines.
+
+
+
-
-
- Build a list of arcs and lines to approximate the B-spline.
- toBiArcs(tolerance) -> list.
-
-
-
-
-
-
- Build a new spline by joining this and a second spline.
-
-
-
-
-
-
- makeC1Continuous(tol = 1e-6, ang_tol = 1e-7)
- Reduces as far as possible the multiplicities of the knots of this BSpline
- (keeping the geometry). It returns a new BSpline, which could still be C0.
- tol is a geometrical tolerance.
- The tol_ang is angular tolerance, in radians. It sets tolerable angle mismatch
- of the tangents on the left and on the right to decide if the curve is G1 or
- not at a given point.
-
-
-
-
-
-
- Scales the knots list to fit the specified bounds.
- The shape of the curve is not modified.
- bspline_curve.scaleKnotsToBounds(u0, u1)
- Default arguments are (0.0, 1.0)
-
-
-
-
+
+
+ Build a list of arcs and lines to approximate the B-spline.
+ toBiArcs(tolerance) -> list.
+
+
+
+
+
+
+ Build a new spline by joining this and a second spline.
+
+
+
+
+
+
+ makeC1Continuous(tol = 1e-6, ang_tol = 1e-7)
+ Reduces as far as possible the multiplicities of the knots of this BSpline
+ (keeping the geometry). It returns a new BSpline, which could still be C0.
+ tol is a geometrical tolerance.
+ The tol_ang is angular tolerance, in radians. It sets tolerable angle mismatch
+ of the tangents on the left and on the right to decide if the curve is G1 or
+ not at a given point.
+
+
+
+
+
+
+ Scales the knots list to fit the specified bounds.
+ The shape of the curve is not modified.
+ bspline_curve.scaleKnotsToBounds(u0, u1)
+ Default arguments are (0.0, 1.0)
+
+
+
+
diff --git a/src/Mod/Part/App/BSplineCurvePyImp.cpp b/src/Mod/Part/App/BSplineCurvePyImp.cpp
index bb4e8fb0d3..5bedfa679c 100644
--- a/src/Mod/Part/App/BSplineCurvePyImp.cpp
+++ b/src/Mod/Part/App/BSplineCurvePyImp.cpp
@@ -72,7 +72,7 @@ int BSplineCurvePy::PyInit(PyObject* args, PyObject* kwd)
PyObject* obj;
// poles, [ periodic, degree, interpolate ]
// {"poles", "mults", "knots", "periodic", "degree", "weights", "CheckRational", NULL};
- obj = buildFromPolesMultsKnots(args,kwd);
+ obj = buildFromPolesMultsKnots(args, kwd);
if (obj) {
Py_DECREF(obj);
@@ -154,7 +154,7 @@ PyObject* BSplineCurvePy::increaseDegree(PyObject * args)
(getGeometryPtr()->handle());
curve->IncreaseDegree(degree);
Py_Return;
- } PY_CATCH_OCC ;
+ } PY_CATCH_OCC;
}
PyObject* BSplineCurvePy::increaseMultiplicity(PyObject * args)
@@ -236,14 +236,14 @@ PyObject* BSplineCurvePy::insertKnots(PyObject * args)
try {
Py::Sequence knots(obj1);
- TColStd_Array1OfReal k(1,knots.size());
+ TColStd_Array1OfReal k(1, knots.size());
int index=1;
for (Py::Sequence::iterator it = knots.begin(); it != knots.end(); ++it) {
Py::Float val(*it);
k(index++) = (double)val;
}
Py::Sequence mults(obj2);
- TColStd_Array1OfInteger m(1,mults.size());
+ TColStd_Array1OfInteger m(1, mults.size());
index=1;
for (Py::Sequence::iterator it = mults.begin(); it != mults.end(); ++it) {
Py::Long val(*it);
@@ -266,14 +266,14 @@ PyObject* BSplineCurvePy::insertKnots(PyObject * args)
PyObject* BSplineCurvePy::removeKnot(PyObject * args)
{
double tol;
- int Index,M;
+ int Index, M;
if (!PyArg_ParseTuple(args, "iid", &Index, &M, &tol))
return nullptr;
try {
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
(getGeometryPtr()->handle());
- Standard_Boolean ok = curve->RemoveKnot(Index,M,tol);
+ Standard_Boolean ok = curve->RemoveKnot(Index, M, tol);
return PyBool_FromLong(ok ? 1 : 0);
}
catch (Standard_Failure& e) {
@@ -284,22 +284,22 @@ PyObject* BSplineCurvePy::removeKnot(PyObject * args)
PyObject* BSplineCurvePy::segment(PyObject * args)
{
- double u1,u2;
- if (!PyArg_ParseTuple(args, "dd", &u1,&u2))
+ double u1, u2;
+ if (!PyArg_ParseTuple(args, "dd", &u1, &u2))
return nullptr;
try {
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
(getGeometryPtr()->handle());
Handle(Geom_BSplineCurve) tempCurve = Handle(Geom_BSplineCurve)::DownCast
(curve->Copy());
- tempCurve->Segment(u1,u2);
+ tempCurve->Segment(u1, u2);
if (std::abs(tempCurve->FirstParameter()-u1) > Precision::Approximation() ||
std::abs(tempCurve->LastParameter()-u2) > Precision::Approximation()) {
Standard_Failure::Raise("Failed to segment BSpline curve");
return nullptr;
}
else {
- curve->Segment(u1,u2);
+ curve->Segment(u1, u2);
}
Py_Return;
}
@@ -1401,7 +1401,7 @@ PyObject* BSplineCurvePy::scaleKnotsToBounds(PyObject *args)
try {
if (u0 >= u1) {
Standard_Failure::Raise("Bad parameter range");
- return nullptr;;
+ return nullptr;
}
GeomBSplineCurve* curve = getGeomBSplineCurvePtr();
curve->scaleKnotsToBounds(u0, u1);
diff --git a/src/Mod/Part/App/BSplineSurfacePy.xml b/src/Mod/Part/App/BSplineSurfacePy.xml
index 9a29e0363a..421beb54b1 100644
--- a/src/Mod/Part/App/BSplineSurfacePy.xml
+++ b/src/Mod/Part/App/BSplineSurfacePy.xml
@@ -1,743 +1,743 @@
-
-
-
- Describes a B-Spline surface in 3D space
-
-
-
-
- Returns the degree of this B-Spline surface in the u parametric direction.
-
-
-
-
-
-
-
- Returns the degree of this B-Spline surface in the v parametric direction.
-
-
-
-
-
-
-
- Returns the value of the maximum polynomial degree of any
- B-Spline surface surface in either parametric directions.
- This value is 25.
-
-
-
-
-
-
-
- Returns the number of poles of this B-Spline surface in the u parametric direction.
-
-
-
-
-
-
-
- Returns the number of poles of this B-Spline surface in the v parametric direction.
-
-
-
-
-
-
-
- Returns the number of knots of this B-Spline surface in the u parametric direction.
-
-
-
-
-
-
-
- Returns the number of knots of this B-Spline surface in the v parametric direction.
-
-
-
-
-
-
-
- Returns the index in the knot array associated with the u parametric direction,
- which corresponds to the first parameter of this B-Spline surface in the specified
- parametric direction.
+ Twin="GeomBSplineSurface"
+ TwinPointer="GeomBSplineSurface"
+ Include="Mod/Part/App/Geometry.h"
+ Namespace="Part"
+ FatherInclude="Mod/Part/App/GeometrySurfacePy.h"
+ FatherNamespace="Part"
+ Constructor="true">
+
+
+ Describes a B-Spline surface in 3D space
+
+
+
+
+ Returns the degree of this B-Spline surface in the u parametric direction.
+
+
+
+
+
+
+
+ Returns the degree of this B-Spline surface in the v parametric direction.
+
+
+
+
+
+
+
+ Returns the value of the maximum polynomial degree of any
+ B-Spline surface surface in either parametric directions.
+ This value is 25.
+
+
+
+
+
+
+
+ Returns the number of poles of this B-Spline surface in the u parametric direction.
+
+
+
+
+
+
+
+ Returns the number of poles of this B-Spline surface in the v parametric direction.
+
+
+
+
+
+
+
+ Returns the number of knots of this B-Spline surface in the u parametric direction.
+
+
+
+
+
+
+
+ Returns the number of knots of this B-Spline surface in the v parametric direction.
+
+
+
+
+
+
+
+ Returns the index in the knot array associated with the u parametric direction,
+ which corresponds to the first parameter of this B-Spline surface in the specified
+ parametric direction.
- The isoparametric curves corresponding to these values are the boundary curves of
- this surface.
+ The isoparametric curves corresponding to these values are the boundary curves of
+ this surface.
- Note: The index does not correspond to the first knot of the surface in the specified
- parametric direction unless the multiplicity of the first knot is equal to Degree + 1,
- where Degree is the degree of this surface in the corresponding parametric direction.
-
-
-
-
-
-
-
- Returns the index in the knot array associated with the u parametric direction,
- which corresponds to the last parameter of this B-Spline surface in the specified
- parametric direction.
+ Note: The index does not correspond to the first knot of the surface in the specified
+ parametric direction unless the multiplicity of the first knot is equal to Degree + 1,
+ where Degree is the degree of this surface in the corresponding parametric direction.
+
+
+
+
+
+
+
+ Returns the index in the knot array associated with the u parametric direction,
+ which corresponds to the last parameter of this B-Spline surface in the specified
+ parametric direction.
- The isoparametric curves corresponding to these values are the boundary curves of
- this surface.
+ The isoparametric curves corresponding to these values are the boundary curves of
+ this surface.
- Note: The index does not correspond to the first knot of the surface in the specified
- parametric direction unless the multiplicity of the last knot is equal to Degree + 1,
- where Degree is the degree of this surface in the corresponding parametric direction.
-
-
-
-
-
-
-
- Returns the index in the knot array associated with the v parametric direction,
- which corresponds to the first parameter of this B-Spline surface in the specified
- parametric direction.
+ Note: The index does not correspond to the first knot of the surface in the specified
+ parametric direction unless the multiplicity of the last knot is equal to Degree + 1,
+ where Degree is the degree of this surface in the corresponding parametric direction.
+
+
+
+
+
+
+
+ Returns the index in the knot array associated with the v parametric direction,
+ which corresponds to the first parameter of this B-Spline surface in the specified
+ parametric direction.
- The isoparametric curves corresponding to these values are the boundary curves of
- this surface.
+ The isoparametric curves corresponding to these values are the boundary curves of
+ this surface.
- Note: The index does not correspond to the first knot of the surface in the specified
- parametric direction unless the multiplicity of the first knot is equal to Degree + 1,
- where Degree is the degree of this surface in the corresponding parametric direction.
-
-
-
-
-
-
-
- Returns the index in the knot array associated with the v parametric direction,
- which corresponds to the last parameter of this B-Spline surface in the specified
- parametric direction.
+ Note: The index does not correspond to the first knot of the surface in the specified
+ parametric direction unless the multiplicity of the first knot is equal to Degree + 1,
+ where Degree is the degree of this surface in the corresponding parametric direction.
+
+
+
+
+
+
+
+ Returns the index in the knot array associated with the v parametric direction,
+ which corresponds to the last parameter of this B-Spline surface in the specified
+ parametric direction.
- The isoparametric curves corresponding to these values are the boundary curves of
- this surface.
+ The isoparametric curves corresponding to these values are the boundary curves of
+ this surface.
- Note: The index does not correspond to the first knot of the surface in the specified
- parametric direction unless the multiplicity of the last knot is equal to Degree + 1,
- where Degree is the degree of this surface in the corresponding parametric direction.
-
-
-
-
-
-
-
- Returns the knots sequence of this B-Spline surface in
- the u direction.
-
-
-
-
-
-
-
- Returns the knots sequence of this B-Spline surface in
- the v direction.
-
-
-
-
+ Note: The index does not correspond to the first knot of the surface in the specified
+ parametric direction unless the multiplicity of the last knot is equal to Degree + 1,
+ where Degree is the degree of this surface in the corresponding parametric direction.
+
+
+
+
+
+
+
+ Returns the knots sequence of this B-Spline surface in
+ the u direction.
+
+
+
+
+
+
+
+ Returns the knots sequence of this B-Spline surface in
+ the v direction.
+
+
+
+
-
-
- Returns the parametric bounds (U1, U2, V1, V2) of this B-Spline surface.
-
-
-
+
+
+ Returns the parametric bounds (U1, U2, V1, V2) of this B-Spline surface.
+
+
+
-
-
- Returns false if the equation of this B-Spline surface is polynomial
- (e.g. non-rational) in the u or v parametric direction.
- In other words, returns false if for each row of poles, the associated
- weights are identical
-
-
-
+
+
+ Returns false if the equation of this B-Spline surface is polynomial
+ (e.g. non-rational) in the u or v parametric direction.
+ In other words, returns false if for each row of poles, the associated
+ weights are identical
+
+
+
-
-
- Returns false if the equation of this B-Spline surface is polynomial
- (e.g. non-rational) in the u or v parametric direction.
- In other words, returns false if for each column of poles, the associated
- weights are identical
-
-
-
+
+
+ Returns false if the equation of this B-Spline surface is polynomial
+ (e.g. non-rational) in the u or v parametric direction.
+ In other words, returns false if for each column of poles, the associated
+ weights are identical
+
+
+
-
- Returns true if this surface is periodic in the u parametric direction.
-
-
+
+ Returns true if this surface is periodic in the u parametric direction.
+
+
-
- Returns true if this surface is periodic in the v parametric direction.
-
-
+
+ Returns true if this surface is periodic in the v parametric direction.
+
+
-
-
- Checks if this surface is closed in the u parametric direction.
- Returns true if, in the table of poles the first row and the last
- row are identical.
-
-
-
+
+
+ Checks if this surface is closed in the u parametric direction.
+ Returns true if, in the table of poles the first row and the last
+ row are identical.
+
+
+
-
-
- Checks if this surface is closed in the v parametric direction.
- Returns true if, in the table of poles the first column and the
- last column are identical.
-
-
-
-
-
-
- increase(Int=UDegree, int=VDegree)
- Increases the degrees of this B-Spline surface to UDegree and VDegree
- in the u and v parametric directions respectively.
- As a result, the tables of poles, weights and multiplicities are modified.
- The tables of knots is not changed.
+
+
+ Checks if this surface is closed in the v parametric direction.
+ Returns true if, in the table of poles the first column and the
+ last column are identical.
+
+
+
+
+
+
+ increase(Int=UDegree, int=VDegree)
+ Increases the degrees of this B-Spline surface to UDegree and VDegree
+ in the u and v parametric directions respectively.
+ As a result, the tables of poles, weights and multiplicities are modified.
+ The tables of knots is not changed.
- Note: Nothing is done if the given degree is less than or equal to the
- current degree in the corresponding parametric direction.
-
-
-
-
-
- Increases the multiplicity in the u direction.
-
-
-
-
- Increases the multiplicity in the v direction.
-
-
-
-
- Increment the multiplicity in the u direction
-
-
-
-
- Increment the multiplicity in the v direction
-
-
-
-
- insertUKnote(float U, int Index, float Tolerance) - Insert or override a knot
-
-
-
-
- insertUKnote(List of float U, List of float Mult, float Tolerance) - Inserts knots.
-
-
-
-
- insertUKnote(float V, int Index, float Tolerance) - Insert or override a knot.
-
-
-
-
- insertUKnote(List of float V, List of float Mult, float Tolerance) - Inserts knots.
-
-
-
-
-
- Reduces to M the multiplicity of the knot of index Index in the given
- parametric direction. If M is 0, the knot is removed.
- With a modification of this type, the table of poles is also modified.
- Two different algorithms are used systematically to compute the new
- poles of the surface. For each pole, the distance between the pole
- calculated using the first algorithm and the same pole calculated using
- the second algorithm, is checked. If this distance is less than Tolerance
- it ensures that the surface is not modified by more than Tolerance.
- Under these conditions, the function returns true; otherwise, it returns
- false.
+ Note: Nothing is done if the given degree is less than or equal to the
+ current degree in the corresponding parametric direction.
+
+
+
+
+
+ Increases the multiplicity in the u direction.
+
+
+
+
+ Increases the multiplicity in the v direction.
+
+
+
+
+ Increment the multiplicity in the u direction
+
+
+
+
+ Increment the multiplicity in the v direction
+
+
+
+
+ insertUKnote(float U, int Index, float Tolerance) - Insert or override a knot
+
+
+
+
+ insertUKnote(List of float U, List of float Mult, float Tolerance) - Inserts knots.
+
+
+
+
+ insertUKnote(float V, int Index, float Tolerance) - Insert or override a knot.
+
+
+
+
+ insertUKnote(List of float V, List of float Mult, float Tolerance) - Inserts knots.
+
+
+
+
+
+ Reduces to M the multiplicity of the knot of index Index in the given
+ parametric direction. If M is 0, the knot is removed.
+ With a modification of this type, the table of poles is also modified.
+ Two different algorithms are used systematically to compute the new
+ poles of the surface. For each pole, the distance between the pole
+ calculated using the first algorithm and the same pole calculated using
+ the second algorithm, is checked. If this distance is less than Tolerance
+ it ensures that the surface is not modified by more than Tolerance.
+ Under these conditions, the function returns true; otherwise, it returns
+ false.
- A low tolerance prevents modification of the surface. A high tolerance
- 'smoothes' the surface.
-
-
-
-
-
-
- Reduces to M the multiplicity of the knot of index Index in the given
- parametric direction. If M is 0, the knot is removed.
- With a modification of this type, the table of poles is also modified.
- Two different algorithms are used systematically to compute the new
- poles of the surface. For each pole, the distance between the pole
- calculated using the first algorithm and the same pole calculated using
- the second algorithm, is checked. If this distance is less than Tolerance
- it ensures that the surface is not modified by more than Tolerance.
- Under these conditions, the function returns true; otherwise, it returns
- false.
+ A low tolerance prevents modification of the surface. A high tolerance
+ 'smoothes' the surface.
+
+
+
+
+
+
+ Reduces to M the multiplicity of the knot of index Index in the given
+ parametric direction. If M is 0, the knot is removed.
+ With a modification of this type, the table of poles is also modified.
+ Two different algorithms are used systematically to compute the new
+ poles of the surface. For each pole, the distance between the pole
+ calculated using the first algorithm and the same pole calculated using
+ the second algorithm, is checked. If this distance is less than Tolerance
+ it ensures that the surface is not modified by more than Tolerance.
+ Under these conditions, the function returns true; otherwise, it returns
+ false.
- A low tolerance prevents modification of the surface. A high tolerance
- 'smoothes' the surface.
-
-
-
-
-
-
- Modifies this B-Spline surface by segmenting it between U1 and U2 in the
- u parametric direction and between V1 and V2 in the v parametric direction.
- Any of these values can be outside the bounds of this surface, but U2 must
- be greater than U1 and V2 must be greater than V1.
+ A low tolerance prevents modification of the surface. A high tolerance
+ 'smoothes' the surface.
+
+
+
+
+
+
+ Modifies this B-Spline surface by segmenting it between U1 and U2 in the
+ u parametric direction and between V1 and V2 in the v parametric direction.
+ Any of these values can be outside the bounds of this surface, but U2 must
+ be greater than U1 and V2 must be greater than V1.
- All the data structure tables of this B-Spline surface are modified but the
- knots located between U1 and U2 in the u parametric direction, and between
- V1 and V2 in the v parametric direction are retained.
- The degree of the surface in each parametric direction is not modified.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning the value K to the knot of index
- UIndex of the knots table corresponding to the u parametric direction.
- This modification remains relatively local, since K must lie between the values
- of the knots which frame the modified knot.
+ All the data structure tables of this B-Spline surface are modified but the
+ knots located between U1 and U2 in the u parametric direction, and between
+ V1 and V2 in the v parametric direction are retained.
+ The degree of the surface in each parametric direction is not modified.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning the value K to the knot of index
+ UIndex of the knots table corresponding to the u parametric direction.
+ This modification remains relatively local, since K must lie between the values
+ of the knots which frame the modified knot.
- You can also increase the multiplicity of the modified knot to M. Note however
- that it is not possible to decrease the multiplicity of a knot with this function.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning the value K to the knot of index
- VIndex of the knots table corresponding to the v parametric direction.
- This modification remains relatively local, since K must lie between the values
- of the knots which frame the modified knot.
+ You can also increase the multiplicity of the modified knot to M. Note however
+ that it is not possible to decrease the multiplicity of a knot with this function.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning the value K to the knot of index
+ VIndex of the knots table corresponding to the v parametric direction.
+ This modification remains relatively local, since K must lie between the values
+ of the knots which frame the modified knot.
- You can also increase the multiplicity of the modified knot to M. Note however
- that it is not possible to decrease the multiplicity of a knot with this function.
-
-
-
+ You can also increase the multiplicity of the modified knot to M. Note however
+ that it is not possible to decrease the multiplicity of a knot with this function.
+
+
+
-
-
- Returns, for this B-Spline surface, in the u parametric direction
- the knot of index UIndex of the knots table.
-
-
-
+
+
+ Returns, for this B-Spline surface, in the u parametric direction
+ the knot of index UIndex of the knots table.
+
+
+
-
-
- Returns, for this B-Spline surface, in the v parametric direction
- the knot of index VIndex of the knots table.
-
-
-
-
-
-
- Changes all knots of this B-Spline surface in the u parametric
- direction. The multiplicity of the knots is not modified.
-
-
-
-
-
-
- Changes all knots of this B-Spline surface in the v parametric
- direction. The multiplicity of the knots is not modified.
-
-
-
+
+
+ Returns, for this B-Spline surface, in the v parametric direction
+ the knot of index VIndex of the knots table.
+
+
+
+
+
+
+ Changes all knots of this B-Spline surface in the u parametric
+ direction. The multiplicity of the knots is not modified.
+
+
+
+
+
+
+ Changes all knots of this B-Spline surface in the v parametric
+ direction. The multiplicity of the knots is not modified.
+
+
+
-
-
- Returns, for this B-Spline surface, the knots table
- in the u parametric direction
-
-
-
+
+
+ Returns, for this B-Spline surface, the knots table
+ in the u parametric direction
+
+
+
-
-
- Returns, for this B-Spline surface, the knots table
- in the v parametric direction
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning P to the pole of
- index (UIndex, VIndex) in the poles table.
- The second syntax allows you also to change the weight of the
- modified pole. The weight is set to Weight. This syntax must
- only be used for rational surfaces.
- Modifies this B-Spline curve by assigning P to the pole of
- index Index in the poles table.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning values to all or part
- of the column of poles of index VIndex, of this B-Spline surface.
- You can also change the weights of the modified poles. The weights
- are set to the corresponding values of CPoleWeights.
- These syntaxes must only be used for rational surfaces.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning values to all or part
- of the row of poles of index VIndex, of this B-Spline surface.
- You can also change the weights of the modified poles. The weights
- are set to the corresponding values of CPoleWeights.
- These syntaxes must only be used for rational surfaces.
-
-
-
+
+
+ Returns, for this B-Spline surface, the knots table
+ in the v parametric direction
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning P to the pole of
+ index (UIndex, VIndex) in the poles table.
+ The second syntax allows you also to change the weight of the
+ modified pole. The weight is set to Weight. This syntax must
+ only be used for rational surfaces.
+ Modifies this B-Spline curve by assigning P to the pole of
+ index Index in the poles table.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning values to all or part
+ of the column of poles of index VIndex, of this B-Spline surface.
+ You can also change the weights of the modified poles. The weights
+ are set to the corresponding values of CPoleWeights.
+ These syntaxes must only be used for rational surfaces.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning values to all or part
+ of the row of poles of index VIndex, of this B-Spline surface.
+ You can also change the weights of the modified poles. The weights
+ are set to the corresponding values of CPoleWeights.
+ These syntaxes must only be used for rational surfaces.
+
+
+
-
-
- Returns the pole of index (UIndex,VIndex) of this B-Spline surface.
-
-
-
+
+
+ Returns the pole of index (UIndex,VIndex) of this B-Spline surface.
+
+
+
-
- Returns the table of poles of this B-Spline surface.
-
-
-
-
-
- Modifies this B-Spline surface by assigning the value Weight to the weight
- of the pole of index (UIndex, VIndex) in the poles tables of this B-Spline
- surface.
+
+ Returns the table of poles of this B-Spline surface.
+
+
+
+
+
+ Modifies this B-Spline surface by assigning the value Weight to the weight
+ of the pole of index (UIndex, VIndex) in the poles tables of this B-Spline
+ surface.
- This function must only be used for rational surfaces.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning values to all or part of the
- weights of the column of poles of index VIndex of this B-Spline surface.
+ This function must only be used for rational surfaces.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning values to all or part of the
+ weights of the column of poles of index VIndex of this B-Spline surface.
- The modified part of the column of weights is defined by the bounds
- of the array CPoleWeights.
+ The modified part of the column of weights is defined by the bounds
+ of the array CPoleWeights.
- This function must only be used for rational surfaces.
-
-
-
-
-
-
- Modifies this B-Spline surface by assigning values to all or part of the
- weights of the row of poles of index UIndex of this B-Spline surface.
+ This function must only be used for rational surfaces.
+
+
+
+
+
+
+ Modifies this B-Spline surface by assigning values to all or part of the
+ weights of the row of poles of index UIndex of this B-Spline surface.
- The modified part of the row of weights is defined by the bounds of the
- array CPoleWeights.
+ The modified part of the row of weights is defined by the bounds of the
+ array CPoleWeights.
- This function must only be used for rational surfaces.
-
-
-
+ This function must only be used for rational surfaces.
+
+
+
-
-
- Return the weight of the pole of index (UIndex,VIndex)
- in the poles table for this B-Spline surface.
-
-
-
+
+
+ Return the weight of the pole of index (UIndex,VIndex)
+ in the poles table for this B-Spline surface.
+
+
+
-
- Returns the table of weights of the poles for this B-Spline surface.
-
-
+
+ Returns the table of weights of the poles for this B-Spline surface.
+
+
-
- Returns the table of poles and weights in homogeneous coordinates.
-
-
-
-
-
- Computes two tolerance values for this B-Spline surface, based on the
- given tolerance in 3D space Tolerance3D. The tolerances computed are:
- -- UTolerance in the u parametric direction and
- -- VTolerance in the v parametric direction.
+
+ Returns the table of poles and weights in homogeneous coordinates.
+
+
+
+
+
+ Computes two tolerance values for this B-Spline surface, based on the
+ given tolerance in 3D space Tolerance3D. The tolerances computed are:
+ -- UTolerance in the u parametric direction and
+ -- VTolerance in the v parametric direction.
- If f(u,v) is the equation of this B-Spline surface, UTolerance and
- VTolerance guarantee that:
- |u1 - u0| < UTolerance
- |v1 - v0| < VTolerance
- ====> ||f(u1, v1) - f(u2, v2)|| < Tolerance3D
-
-
-
-
-
-
- Moves the point of parameters (U, V) of this B-Spline surface to P.
- UIndex1, UIndex2, VIndex1 and VIndex2 are the indexes in the poles
- table of this B-Spline surface, of the first and last poles which
- can be moved in each parametric direction.
- The returned indexes UFirstIndex, ULastIndex, VFirstIndex and
- VLastIndex are the indexes of the first and last poles effectively
- modified in each parametric direction.
- In the event of incompatibility between UIndex1, UIndex2, VIndex1,
- VIndex2 and the values U and V:
- -- no change is made to this B-Spline surface, and
- -- UFirstIndex, ULastIndex, VFirstIndex and VLastIndex are set to
- null.
-
-
-
-
-
-
- Changes this B-Spline surface into a non-periodic one in the u parametric direction.
- If this B-Spline surface is already non-periodic in the given parametric direction,
- it is not modified.
- If this B-Spline surface is periodic in the given parametric direction, the boundaries
- of the surface are not given by the first and last rows (or columns) of poles (because
- the multiplicity of the first knot and of the last knot in the given parametric direction
- are not modified, nor are they equal to Degree+1, where Degree is the degree of this
- B-Spline surface in the given parametric direction). Only the function Segment ensures
- this property.
+ If f(u,v) is the equation of this B-Spline surface, UTolerance and
+ VTolerance guarantee that:
+ |u1 - u0| < UTolerance
+ |v1 - v0| < VTolerance
+ ====> ||f(u1, v1) - f(u2, v2)|| < Tolerance3D
+
+
+
+
+
+
+ Moves the point of parameters (U, V) of this B-Spline surface to P.
+ UIndex1, UIndex2, VIndex1 and VIndex2 are the indexes in the poles
+ table of this B-Spline surface, of the first and last poles which
+ can be moved in each parametric direction.
+ The returned indexes UFirstIndex, ULastIndex, VFirstIndex and
+ VLastIndex are the indexes of the first and last poles effectively
+ modified in each parametric direction.
+ In the event of incompatibility between UIndex1, UIndex2, VIndex1,
+ VIndex2 and the values U and V:
+ -- no change is made to this B-Spline surface, and
+ -- UFirstIndex, ULastIndex, VFirstIndex and VLastIndex are set to
+ null.
+
+
+
+
+
+
+ Changes this B-Spline surface into a non-periodic one in the u parametric direction.
+ If this B-Spline surface is already non-periodic in the given parametric direction,
+ it is not modified.
+ If this B-Spline surface is periodic in the given parametric direction, the boundaries
+ of the surface are not given by the first and last rows (or columns) of poles (because
+ the multiplicity of the first knot and of the last knot in the given parametric direction
+ are not modified, nor are they equal to Degree+1, where Degree is the degree of this
+ B-Spline surface in the given parametric direction). Only the function Segment ensures
+ this property.
- Note: the poles and knots tables are modified.
-
-
-
-
-
-
- Changes this B-Spline surface into a non-periodic one in the v parametric direction.
- If this B-Spline surface is already non-periodic in the given parametric direction,
- it is not modified.
- If this B-Spline surface is periodic in the given parametric direction, the boundaries
- of the surface are not given by the first and last rows (or columns) of poles (because
- the multiplicity of the first knot and of the last knot in the given parametric direction
- are not modified, nor are they equal to Degree+1, where Degree is the degree of this
- B-Spline surface in the given parametric direction). Only the function Segment ensures
- this property.
+ Note: the poles and knots tables are modified.
+
+
+
+
+
+
+ Changes this B-Spline surface into a non-periodic one in the v parametric direction.
+ If this B-Spline surface is already non-periodic in the given parametric direction,
+ it is not modified.
+ If this B-Spline surface is periodic in the given parametric direction, the boundaries
+ of the surface are not given by the first and last rows (or columns) of poles (because
+ the multiplicity of the first knot and of the last knot in the given parametric direction
+ are not modified, nor are they equal to Degree+1, where Degree is the degree of this
+ B-Spline surface in the given parametric direction). Only the function Segment ensures
+ this property.
- Note: the poles and knots tables are modified.
-
-
-
-
-
-
- Modifies this surface to be periodic in the u parametric direction.
- To become periodic in a given parametric direction a surface must
- be closed in that parametric direction, and the knot sequence relative
- to that direction must be periodic.
- To generate this periodic sequence of knots, the functions FirstUKnotIndex
- and LastUKnotIndex are used to compute I1 and I2. These are the indexes,
- in the knot array associated with the given parametric direction, of the
- knots that correspond to the first and last parameters of this B-Spline
- surface in the given parametric direction. Hence the period is:
+ Note: the poles and knots tables are modified.
+
+
+
+
+
+
+ Modifies this surface to be periodic in the u parametric direction.
+ To become periodic in a given parametric direction a surface must
+ be closed in that parametric direction, and the knot sequence relative
+ to that direction must be periodic.
+ To generate this periodic sequence of knots, the functions FirstUKnotIndex
+ and LastUKnotIndex are used to compute I1 and I2. These are the indexes,
+ in the knot array associated with the given parametric direction, of the
+ knots that correspond to the first and last parameters of this B-Spline
+ surface in the given parametric direction. Hence the period is:
- Knots(I1) - Knots(I2)
+ Knots(I1) - Knots(I2)
- As a result, the knots and poles tables are modified.
-
-
-
-
-
-
- Modifies this surface to be periodic in the v parametric direction.
- To become periodic in a given parametric direction a surface must
- be closed in that parametric direction, and the knot sequence relative
- to that direction must be periodic.
- To generate this periodic sequence of knots, the functions FirstUKnotIndex
- and LastUKnotIndex are used to compute I1 and I2. These are the indexes,
- in the knot array associated with the given parametric direction, of the
- knots that correspond to the first and last parameters of this B-Spline
- surface in the given parametric direction. Hence the period is:
+ As a result, the knots and poles tables are modified.
+
+
+
+
+
+
+ Modifies this surface to be periodic in the v parametric direction.
+ To become periodic in a given parametric direction a surface must
+ be closed in that parametric direction, and the knot sequence relative
+ to that direction must be periodic.
+ To generate this periodic sequence of knots, the functions FirstUKnotIndex
+ and LastUKnotIndex are used to compute I1 and I2. These are the indexes,
+ in the knot array associated with the given parametric direction, of the
+ knots that correspond to the first and last parameters of this B-Spline
+ surface in the given parametric direction. Hence the period is:
- Knots(I1) - Knots(I2)
+ Knots(I1) - Knots(I2)
- As a result, the knots and poles tables are modified.
-
-
-
-
-
-
- Assigns the knot of index Index in the knots table
- in the u parametric direction to be the origin of
- this periodic B-Spline surface. As a consequence,
- the knots and poles tables are modified.
-
-
-
-
-
-
- Assigns the knot of index Index in the knots table
- in the v parametric direction to be the origin of
- this periodic B-Spline surface. As a consequence,
- the knots and poles tables are modified.
-
-
-
+ As a result, the knots and poles tables are modified.
+
+
+
+
+
+
+ Assigns the knot of index Index in the knots table
+ in the u parametric direction to be the origin of
+ this periodic B-Spline surface. As a consequence,
+ the knots and poles tables are modified.
+
+
+
+
+
+
+ Assigns the knot of index Index in the knots table
+ in the v parametric direction to be the origin of
+ this periodic B-Spline surface. As a consequence,
+ the knots and poles tables are modified.
+
+
+
-
-
- Returns, for this B-Spline surface, the multiplicity of
- the knot of index UIndex in the u parametric direction.
-
-
-
+
+
+ Returns, for this B-Spline surface, the multiplicity of
+ the knot of index UIndex in the u parametric direction.
+
+
+
-
-
- Returns, for this B-Spline surface, the multiplicity of
- the knot of index VIndex in the v parametric direction.
-
-
-
+
+
+ Returns, for this B-Spline surface, the multiplicity of
+ the knot of index VIndex in the v parametric direction.
+
+
+
-
-
- Returns, for this B-Spline surface, the table of
- multiplicities in the u parametric direction
-
-
-
+
+
+ Returns, for this B-Spline surface, the table of
+ multiplicities in the u parametric direction
+
+
+
-
-
- Returns, for this B-Spline surface, the table of
- multiplicities in the v parametric direction
-
-
-
-
-
-
- Exchanges the u and v parametric directions on this B-Spline surface.
- As a consequence:
- -- the poles and weights tables are transposed,
- -- the knots and multiplicities tables are exchanged,
- -- degrees of continuity and rational, periodic and uniform
- characteristics are exchanged and
- -- the orientation of the surface is reversed.
-
-
-
-
-
- Returns a reparametrized copy of this surface
-
-
-
-
-
- Replaces this B-Spline surface by approximating a set of points.
- This method uses keywords :
- - Points = 2Darray of points (or floats, in combination with X0, dX, Y0, dY)
- - DegMin (int), DegMax (int)
- - Continuity = 0,1 or 2 (for C0, C1, C2)
- - Tolerance (float)
- - X0, dX, Y0, dY (floats) with Points = 2Darray of floats
- - ParamType = 'Uniform','Centripetal' or 'ChordLength'
- - LengthWeight, CurvatureWeight, TorsionWeight (floats)
- (with this smoothing algorithm, continuity C1 requires DegMax >= 3 and C2, DegMax >=5)
+
+
+ Returns, for this B-Spline surface, the table of
+ multiplicities in the v parametric direction
+
+
+
+
+
+
+ Exchanges the u and v parametric directions on this B-Spline surface.
+ As a consequence:
+ -- the poles and weights tables are transposed,
+ -- the knots and multiplicities tables are exchanged,
+ -- degrees of continuity and rational, periodic and uniform
+ characteristics are exchanged and
+ -- the orientation of the surface is reversed.
+
+
+
+
+
+ Returns a reparametrized copy of this surface
+
+
+
+
+
+ Replaces this B-Spline surface by approximating a set of points.
+ This method uses keywords :
+ - Points = 2Darray of points (or floats, in combination with X0, dX, Y0, dY)
+ - DegMin (int), DegMax (int)
+ - Continuity = 0,1 or 2 (for C0, C1, C2)
+ - Tolerance (float)
+ - X0, dX, Y0, dY (floats) with Points = 2Darray of floats
+ - ParamType = 'Uniform','Centripetal' or 'ChordLength'
+ - LengthWeight, CurvatureWeight, TorsionWeight (floats)
+ (with this smoothing algorithm, continuity C1 requires DegMax >= 3 and C2, DegMax >=5)
- Possible combinations :
- - approximate(Points, DegMin, DegMax, Continuity, Tolerance)
- - approximate(Points, DegMin, DegMax, Continuity, Tolerance, X0, dX, Y0, dY)
- With explicit keywords :
- - approximate(Points, DegMin, DegMax, Continuity, Tolerance, ParamType)
- - approximate(Points, DegMax, Continuity, Tolerance, LengthWeight, CurvatureWeight, TorsionWeight)
-
-
-
-
-
-
- interpolate(points)
- interpolate(zpoints, X0, dX, Y0, dY)
+ Possible combinations :
+ - approximate(Points, DegMin, DegMax, Continuity, Tolerance)
+ - approximate(Points, DegMin, DegMax, Continuity, Tolerance, X0, dX, Y0, dY)
+ With explicit keywords :
+ - approximate(Points, DegMin, DegMax, Continuity, Tolerance, ParamType)
+ - approximate(Points, DegMax, Continuity, Tolerance, LengthWeight, CurvatureWeight, TorsionWeight)
+
+
+
+
+
+
+ interpolate(points)
+ interpolate(zpoints, X0, dX, Y0, dY)
- Replaces this B-Spline surface by interpolating a set of points.
- The resulting surface is of degree 3 and continuity C2.
- Arguments:
- a 2 dimensional array of vectors, that the surface passes through
- or
- a 2 dimensional array of floats with the z values,
- the x starting point X0 (float),
- the x increment dX (float),
- the y starting point Y0 and increment dY
-
-
-
-
-
-
- Builds a B-Spline by a lists of Poles, Mults and Knots
- arguments: poles (sequence of sequence of Base.Vector), umults, vmults, [uknots, vknots, uperiodic, vperiodic, udegree, vdegree, weights (sequence of sequence of float)]
-
-
-
-
-
-
- Builds a B-Spline from a list of control curves
-
-
-
-
-
-
- Scales the U and V knots lists to fit the specified bounds.
- The shape of the surface is not modified.
- bspline_surf.scaleKnotsToBounds(u0, u1, v0, v1)
- Default arguments are 0.0, 1.0, 0.0, 1.0
-
-
-
-
+ Replaces this B-Spline surface by interpolating a set of points.
+ The resulting surface is of degree 3 and continuity C2.
+ Arguments:
+ a 2 dimensional array of vectors, that the surface passes through
+ or
+ a 2 dimensional array of floats with the z values,
+ the x starting point X0 (float),
+ the x increment dX (float),
+ the y starting point Y0 and increment dY
+
+
+
+
+
+
+ Builds a B-Spline by a lists of Poles, Mults and Knots
+ arguments: poles (sequence of sequence of Base.Vector), umults, vmults, [uknots, vknots, uperiodic, vperiodic, udegree, vdegree, weights (sequence of sequence of float)]
+
+
+
+
+
+
+ Builds a B-Spline from a list of control curves
+
+
+
+
+
+
+ Scales the U and V knots lists to fit the specified bounds.
+ The shape of the surface is not modified.
+ bspline_surf.scaleKnotsToBounds(u0, u1, v0, v1)
+ Default arguments are 0.0, 1.0, 0.0, 1.0
+
+
+
+