Part: Clean up XML bindings (Part 2)

This cleans up the XML bindings for Part in preparation for an upcoming
migration to Python bindings model.
This commit is contained in:
Joao Matos
2025-03-25 16:12:57 +00:00
committed by Benjamin Nauck
parent 40ace3241a
commit e825ebe99d
21 changed files with 374 additions and 385 deletions

View File

@@ -45,10 +45,10 @@ basis shape, or the edge to the prismed shape.
<Methode Name="perform" Keyword="true">
<Documentation>
<UserDocu>
Assigns one of the following semantics.
1. to a height Length
2. to a face Until
3. from a face From to a height Until. Reconstructs the feature topologically according to the semantic option chosen.
Assigns one of the following semantics.
1. to a height Length
2. to a face Until
3. from a face From to a height Until. Reconstructs the feature topologically according to the semantic option chosen.
</UserDocu>
</Documentation>
</Methode>

View File

@@ -24,11 +24,11 @@
<Attribute Name="Eccentricity" ReadOnly="true">
<Documentation>
<UserDocu>
returns the eccentricity value of the conic e.
e = 0 for a circle
0 &lt; e &lt; 1 for an ellipse (e = 0 if MajorRadius = MinorRadius)
e > 1 for a hyperbola
e = 1 for a parabola
returns the eccentricity value of the conic e.
e = 0 for a circle
0 &lt; e &lt; 1 for an ellipse (e = 0 if MajorRadius = MinorRadius)
e > 1 for a hyperbola
e = 1 for a parabola
</UserDocu>
</Documentation>
<Parameter Name="Eccentricity" Type="Float"/>

View File

@@ -77,8 +77,7 @@
<Methode Name="isRational">
<Documentation>
<UserDocu>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.</UserDocu>
A B-Spline curve is rational if, at the time of construction, the weight table has been initialized.</UserDocu>
</Documentation>
</Methode>
<Methode Name="isPeriodic">
@@ -89,86 +88,87 @@
<Methode Name="isClosed">
<Documentation>
<UserDocu>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().</UserDocu>
this B-Spline curve is less than or equal to gp::Resolution().</UserDocu>
</Documentation>
</Methode>
<Methode Name="increaseDegree">
<Documentation>
<UserDocu>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.</UserDocu>
<UserDocu>increaseDegree(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.</UserDocu>
</Documentation>
</Methode>
<Methode Name="increaseMultiplicity">
<Documentation>
<UserDocu>increaseMultiplicity(int index, int mult)
increaseMultiplicity(int start, int end, int mult)
Increases multiplicity of knots up to 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.</UserDocu>
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.</UserDocu>
</Documentation>
</Methode>
<Methode Name="incrementMultiplicity">
<Documentation>
<UserDocu>incrementMultiplicity(int start, int end, int mult)
Raises multiplicity of knots by mult.
Raises multiplicity of knots by mult.
start, end: index range of knots to modify.</UserDocu>
start, end: index range of knots to modify.</UserDocu>
</Documentation>
</Methode>
<Methode Name="insertKnot">
<Documentation>
<UserDocu>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.</UserDocu>
Inserts a knot value in the sequence of knots. If u is an existing knot the multiplicity is increased by mult.</UserDocu>
</Documentation>
</Methode>
<Methode Name="insertKnots">
<Documentation>
<UserDocu>insertKnots(list_of_floats, list_of_ints, tol = 0.0, bool_add = True)
Inserts a set of knots values in the sequence of knots.
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.</UserDocu>
The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance.</UserDocu>
</Documentation>
</Methode>
<Methode Name="removeKnot">
<Documentation>
<UserDocu>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.</UserDocu>
A low tolerance is used to prevent modification of the curve.
A high tolerance is used to 'smooth' the curve.</UserDocu>
</Documentation>
</Methode>
<Methode Name="segment">
<Documentation>
<UserDocu>segment(u1,u2)
Modifies this B-Spline curve by segmenting it.</UserDocu>
Modifies this B-Spline curve by segmenting it.</UserDocu>
</Documentation>
</Methode>
<Methode Name="setKnot">
@@ -193,8 +193,7 @@
</Methode>
<Methode Name="setPole">
<Documentation>
<UserDocu>Modifies this B-Spline curve by assigning P
to the pole of index Index in the poles table.</UserDocu>
<UserDocu>Modifies this B-Spline curve by assigning P to the pole of index Index in the poles table.</UserDocu>
</Documentation>
</Methode>
<Methode Name="getPole">
@@ -230,27 +229,27 @@
<Methode Name="getResolution" Const="true">
<Documentation>
<UserDocu>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| &lt; UTolerance =&quot;&quot;==&gt; |f(t1)-f(t0)| &lt; Tolerance3D</UserDocu>
for a given 3D tolerance (Tolerance3D).
If f(t) is the equation of this B-Spline curve, the parametric tolerance ensures that:
|t1-t0| &lt; UTolerance =&quot;&quot;==&gt; |f(t1)-f(t0)| &lt; Tolerance3D</UserDocu>
</Documentation>
</Methode>
<Methode Name="movePoint">
<Documentation>
<UserDocu>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.</UserDocu>
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.</UserDocu>
</Documentation>
</Methode>
<Methode Name="setNotPeriodic">
<Documentation>
<UserDocu>Changes this B-Spline curve into a non-periodic curve.
If this curve is already non-periodic, it is not modified.</UserDocu>
If this curve is already non-periodic, it is not modified.</UserDocu>
</Documentation>
</Methode>
<Methode Name="setPeriodic">
@@ -260,15 +259,13 @@
</Methode>
<Methode Name="setOrigin">
<Documentation>
<UserDocu>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.</UserDocu>
<UserDocu>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.</UserDocu>
</Documentation>
</Methode>
<Methode Name="getMultiplicity">
<Documentation>
<UserDocu>Returns the multiplicity of the knot of index
from the knots table of this B-Spline curve.</UserDocu>
<UserDocu>Returns the multiplicity of the knot of index from the knots table of this B-Spline curve.</UserDocu>
</Documentation>
</Methode>
<Methode Name="getMultiplicities">
@@ -279,33 +276,33 @@
<Methode Name="approximate" Keyword="true">
<Documentation>
<UserDocu>Replaces this B-Spline curve by approximating a set of points.
The function accepts keywords as arguments.
The function accepts keywords as arguments.
approximate2(Points = list_of_points)
approximate2(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
Continuity must be C0, C1 or C2, else defaults to C2.
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 or C2, else defaults to C2.
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 ).</UserDocu>
Note : Continuity of the spline defaults to C2. However, it may not be applied if
it conflicts with other parameters ( especially DegMax ).</UserDocu>
</Documentation>
</Methode>
<Methode Name="getCardinalSplineTangents" Keyword="true">
@@ -316,35 +313,35 @@
<Methode Name="interpolate" Keyword="true">
<Documentation>
<UserDocu>Replaces this B-Spline curve by interpolating a set of points.
The function accepts keywords as arguments.
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.</UserDocu>
Note : Continuity of the spline defaults to C2. However, if periodic, or tangents
are supplied, the continuity will drop to C1.</UserDocu>
</Documentation>
</Methode>
<Methode Name="buildFromPoles">
@@ -355,29 +352,29 @@
<Methode Name="buildFromPolesMultsKnots" Keyword="true">
<Documentation>
<UserDocu>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]
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())</UserDocu>
# 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())</UserDocu>
</Documentation>
</Methode>
<Methode Name="toBezier">
@@ -387,8 +384,9 @@
</Methode>
<Methode Name="toBiArcs">
<Documentation>
<UserDocu>Build a list of arcs and lines to approximate the B-spline.
toBiArcs(tolerance) -&gt; list.</UserDocu>
<UserDocu>toBiArcs(tolerance) -&gt; list.
Build a list of arcs and lines to approximate the B-spline.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="join">
@@ -399,12 +397,13 @@
<Methode Name="makeC1Continuous">
<Documentation>
<UserDocu>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.</UserDocu>
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.</UserDocu>
</Documentation>
</Methode>
</PythonExport>

View File

@@ -14,20 +14,18 @@
<Documentation>
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net"/>
<UserDocu>Describes a rational or non-rational Bezier curve in 2d space:
-- a non-rational Bezier curve is defined by a table of poles (also called control points)
-- a rational Bezier curve is defined by a table of poles with varying weights</UserDocu>
-- a non-rational Bezier curve is defined by a table of poles (also called control points)
-- a rational Bezier curve is defined by a table of poles with varying weights</UserDocu>
</Documentation>
<Attribute Name="Degree" ReadOnly="true">
<Documentation>
<UserDocu>Returns the polynomial degree of this Bezier curve,
which is equal to the number of poles minus 1.</UserDocu>
<UserDocu>Returns the polynomial degree of this Bezier curve, which is equal to the number of poles minus 1.</UserDocu>
</Documentation>
<Parameter Name="Degree" Type="Long"/>
</Attribute>
<Attribute Name="MaxDegree" ReadOnly="true">
<Documentation>
<UserDocu>Returns the value of the maximum polynomial degree of any
Bezier curve curve. This value is 25.</UserDocu>
<UserDocu>Returns the value of the maximum polynomial degree of any Bezier curve curve. This value is 25.</UserDocu>
</Documentation>
<Parameter Name="MaxDegree" Type="Long"/>
</Attribute>
@@ -61,15 +59,15 @@
</Methode>
<Methode Name="isClosed">
<Documentation>
<UserDocu>Returns true if the distance between the start point and end point of
this Bezier curve is less than or equal to gp::Resolution().</UserDocu>
<UserDocu>Returns true if the distance between the start point and end point of this Bezier curve
is less than or equal to gp::Resolution().</UserDocu>
</Documentation>
</Methode>
<Methode Name="increase">
<Documentation>
<UserDocu>increase(Int=Degree)
Increases the degree of this Bezier curve to Degree.
As a result, the poles and weights tables are modified.</UserDocu>
Increases the degree of this Bezier curve to Degree.
As a result, the poles and weights tables are modified.</UserDocu>
</Documentation>
</Methode>
<Methode Name="insertPoleAfter">
@@ -85,7 +83,7 @@
<Methode Name="removePole">
<Documentation>
<UserDocu>Removes the pole of index Index from the table of poles of this Bezier curve.
If this Bezier curve is rational, it can become non-rational.</UserDocu>
If this Bezier curve is rational, it can become non-rational.</UserDocu>
</Documentation>
</Methode>
<Methode Name="segment">
@@ -131,10 +129,10 @@
<Methode Name="getResolution" Const="true">
<Documentation>
<UserDocu>Computes for this Bezier curve the parametric tolerance (UTolerance)
for a given 3D tolerance (Tolerance3D).
If f(t) is the equation of this Bezier curve,
the parametric tolerance ensures that:
|t1-t0| &lt; UTolerance =&quot;&quot;==&gt; |f(t1)-f(t0)| &lt; Tolerance3D</UserDocu>
for a given 3D tolerance (Tolerance3D).
If f(t) is the equation of this Bezier curve,
the parametric tolerance ensures that:
|t1-t0| &lt; UTolerance =&quot;&quot;==&gt; |f(t1)-f(t0)| &lt; Tolerance3D</UserDocu>
</Documentation>
</Methode>
</PythonExport>

View File

@@ -24,11 +24,11 @@
<Attribute Name="Eccentricity" ReadOnly="true">
<Documentation>
<UserDocu>
returns the eccentricity value of the conic e.
e = 0 for a circle
0 &lt; e &lt; 1 for an ellipse (e = 0 if MajorRadius = MinorRadius)
e > 1 for a hyperbola
e = 1 for a parabola
returns the eccentricity value of the conic e.
e = 0 for a circle
0 &lt; e &lt; 1 for an ellipse (e = 0 if MajorRadius = MinorRadius)
e > 1 for a hyperbola
e = 1 for a parabola
</UserDocu>
</Documentation>
<Parameter Name="Eccentricity" Type="Float"/>

View File

@@ -65,17 +65,17 @@ Part.show(s)
<Methode Name="length">
<Documentation>
<UserDocu>
Computes the length of a curve
length([uMin,uMax,Tol]) -&gt; Float
Computes the length of a curve
length([uMin,uMax,Tol]) -&gt; Float
</UserDocu>
</Documentation>
</Methode>
<Methode Name="parameterAtDistance">
<Documentation>
<UserDocu>
Returns the parameter on the curve of a point at
the given distance from a starting parameter.
parameterAtDistance([abscissa, startingParameter]) -&gt; Float
Returns the parameter on the curve of a point at
the given distance from a starting parameter.
parameterAtDistance([abscissa, startingParameter]) -&gt; Float
</UserDocu>
</Documentation>
</Methode>
@@ -92,52 +92,52 @@ Part.show(s)
<Methode Name="parameter">
<Documentation>
<UserDocu>
Returns the parameter on the curve of the
nearest orthogonal projection of the point.
Returns the parameter on the curve of the
nearest orthogonal projection of the point.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="normal" Const="true">
<Documentation>
<UserDocu>
Vector = normal(pos) - Get the normal vector at the given parameter [First|Last] if defined.
Vector = normal(pos) - Get the normal vector at the given parameter [First|Last] if defined.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="curvature" Const="true">
<Documentation>
<UserDocu>
Float = curvature(pos) - Get the curvature at the given parameter [First|Last] if defined.
Float = curvature(pos) - Get the curvature at the given parameter [First|Last] if defined.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="centerOfCurvature" Const="true">
<Documentation>
<UserDocu>
Vector = centerOfCurvature(float pos) - Get the center of curvature at the given parameter [First|Last] if defined.
Vector = centerOfCurvature(float pos) - Get the center of curvature at the given parameter [First|Last] if defined.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="intersectCC" Const="true">
<Documentation>
<UserDocu>
Returns all intersection points between this curve and the given curve.
Returns all intersection points between this curve and the given curve.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="toBSpline">
<Documentation>
<UserDocu>
Converts a curve of any type (only part from First to Last)
toBSpline([Float=First, Float=Last]) -&gt; B-Spline curve
Converts a curve of any type (only part from First to Last)
toBSpline([Float=First, Float=Last]) -&gt; B-Spline curve
</UserDocu>
</Documentation>
</Methode>
<Methode Name="approximateBSpline">
<Documentation>
<UserDocu>
Approximates a curve of any type to a B-Spline curve
approximateBSpline(Tolerance, MaxSegments, MaxDegree, [Order='C2']) -&gt; B-Spline curve
Approximates a curve of any type to a B-Spline curve
approximateBSpline(Tolerance, MaxSegments, MaxDegree, [Order='C2']) -&gt; B-Spline curve
</UserDocu>
</Documentation>
</Methode>

View File

@@ -14,24 +14,24 @@
<Documentation>
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net"/>
<UserDocu>
Describes an ellipse in 2D space
To create an ellipse there are several ways:
Part.Geom2d.Ellipse2d()
Creates an ellipse with major radius 2 and minor radius 1 with the
center in (0,0)
Describes an ellipse in 2D space
To create an ellipse there are several ways:
Part.Geom2d.Ellipse2d()
Creates an ellipse with major radius 2 and minor radius 1 with the
center in (0,0)
Part.Geom2d.Ellipse2d(Ellipse)
Create a copy of the given ellipse
Part.Geom2d.Ellipse2d(Ellipse)
Create a copy of the given ellipse
Part.Geom2d.Ellipse2d(S1,S2,Center)
Creates an ellipse centered on the point Center,
its major axis is defined by Center and S1,
its major radius is the distance between Center and S1, and
its minor radius is the distance between S2 and the major axis.
Part.Geom2d.Ellipse2d(S1,S2,Center)
Creates an ellipse centered on the point Center,
its major axis is defined by Center and S1,
its major radius is the distance between Center and S1, and
its minor radius is the distance between S2 and the major axis.
Part.Geom2d.Ellipse2d(Center,MajorRadius,MinorRadius)
Creates an ellipse with major and minor radii MajorRadius and
MinorRadius</UserDocu>
Part.Geom2d.Ellipse2d(Center,MajorRadius,MinorRadius)
Creates an ellipse with major and minor radii MajorRadius and
MinorRadius</UserDocu>
</Documentation>
<Attribute Name="MajorRadius" ReadOnly="false">
<Documentation>

View File

@@ -15,9 +15,9 @@
<Documentation>
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
<UserDocu>The abstract class Geometry for 2D space is the root class of all geometric objects.
It describes the common behavior of these objects when:
- applying geometric transformations to objects, and
- constructing objects by geometric transformation (including copying).</UserDocu>
It describes the common behavior of these objects when:
- applying geometric transformations to objects, and
- constructing objects by geometric transformation (including copying).</UserDocu>
</Documentation>
<Methode Name="mirror">
<Documentation>

View File

@@ -14,23 +14,23 @@
<Documentation>
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net"/>
<UserDocu>Describes a hyperbola in 2D space
To create a hyperbola there are several ways:
Part.Geom2d.Hyperbola2d()
Creates a hyperbola with major radius 2 and minor radius 1 with the
center in (0,0)
To create a hyperbola there are several ways:
Part.Geom2d.Hyperbola2d()
Creates a hyperbola with major radius 2 and minor radius 1 with the
center in (0,0)
Part.Geom2d.Hyperbola2d(Hyperbola)
Create a copy of the given hyperbola
Part.Geom2d.Hyperbola2d(Hyperbola)
Create a copy of the given hyperbola
Part.Geom2d.Hyperbola2d(S1,S2,Center)
Creates a hyperbola centered on the point Center, S1 and S2,
its major axis is defined by Center and S1,
its major radius is the distance between Center and S1, and
its minor radius is the distance between S2 and the major axis.
Part.Geom2d.Hyperbola2d(S1,S2,Center)
Creates a hyperbola centered on the point Center, S1 and S2,
its major axis is defined by Center and S1,
its major radius is the distance between Center and S1, and
its minor radius is the distance between S2 and the major axis.
Part.Geom2d.Hyperbola2d(Center,MajorRadius,MinorRadius)
Creates a hyperbola with major and minor radii MajorRadius and
MinorRadius and located at Center</UserDocu>
Part.Geom2d.Hyperbola2d(Center,MajorRadius,MinorRadius)
Creates a hyperbola with major and minor radii MajorRadius and
MinorRadius and located at Center</UserDocu>
</Documentation>
<Attribute Name="MajorRadius" ReadOnly="false">
<Documentation>
@@ -53,16 +53,14 @@
<Attribute Name="Focus1" ReadOnly="true">
<Documentation>
<UserDocu>The first focus is on the positive side of the major axis of the hyperbola;
the second focus is on the negative side.</UserDocu>
the second focus is on the negative side.</UserDocu>
</Documentation>
<Parameter Name="Focus1" Type="Object"/>
</Attribute>
<Attribute Name="Focus2" ReadOnly="true">
<Documentation>
<Documentation>
<UserDocu>The first focus is on the positive side of the major axis of the hyperbola;
the second focus is on the negative side.</UserDocu>
</Documentation>
<UserDocu>The first focus is on the positive side of the major axis of the hyperbola;
the second focus is on the negative side.</UserDocu>
</Documentation>
<Parameter Name="Focus2" Type="Object"/>
</Attribute>

View File

@@ -14,15 +14,15 @@
<Documentation>
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
<UserDocu>Describes an infinite line in 2D space
To create a line there are several ways:
Part.Geom2d.Line2d()
Creates a default line.
To create a line there are several ways:
Part.Geom2d.Line2d()
Creates a default line.
Part.Geom2d.Line2d(Line)
Creates a copy of the given line.
Part.Geom2d.Line2d(Line)
Creates a copy of the given line.
Part.Geom2d.Line2d(Point,Dir)
Creates a line that goes through two given points.</UserDocu>
Part.Geom2d.Line2d(Point,Dir)
Creates a line that goes through two given points.</UserDocu>
</Documentation>
<Attribute Name="Location" ReadOnly="false">
<Documentation>

View File

@@ -15,15 +15,15 @@
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
<UserDocu>Describes a line segment in 2D space.
To create a line there are several ways:
Part.Geom2d.Line2dSegment()
Creates a default line
To create a line there are several ways:
Part.Geom2d.Line2dSegment()
Creates a default line
Part.Geom2d.Line2dSegment(Line)
Creates a copy of the given line
Part.Geom2d.Line2dSegment(Line)
Creates a copy of the given line
Part.Geom2d.Line2dSegment(Point1,Point2)
Creates a line that goes through two given points.</UserDocu>
Part.Geom2d.Line2dSegment(Point1,Point2)
Creates a line that goes through two given points.</UserDocu>
</Documentation>
<Methode Name="setParameterRange">
<Documentation>

View File

@@ -17,23 +17,21 @@
</Documentation>
<Attribute Name="Focal" ReadOnly="false">
<Documentation>
<UserDocu>The focal distance is the distance between
the apex and the focus of the parabola.</UserDocu>
<UserDocu>The focal distance is the distance between the apex and the focus of the parabola.</UserDocu>
</Documentation>
<Parameter Name="Focal" Type="Float"/>
</Attribute>
<Attribute Name="Focus" ReadOnly="true">
<Documentation>
<UserDocu>The focus is on the positive side of the
'X Axis' of the local coordinate system of the parabola.</UserDocu>
'X Axis' of the local coordinate system of the parabola.</UserDocu>
</Documentation>
<Parameter Name="Focus" Type="Object"/>
</Attribute>
<Attribute Name="Parameter" ReadOnly="true">
<Documentation>
<UserDocu>Compute the parameter of this parabola
which is the distance between its focus
and its directrix. This distance is twice the focal length.</UserDocu>
<UserDocu>Compute the parameter of this parabola which is the distance between its focus
and its directrix. This distance is twice the focal length.</UserDocu>
</Documentation>
<Parameter Name="Parameter" Type="Float"/>
</Attribute>

View File

@@ -28,12 +28,12 @@
</Methode>
<Methode Name="loadInitSurface">
<Documentation>
<UserDocu> Loads the initial surface</UserDocu>
<UserDocu>Loads the initial surface</UserDocu>
</Documentation>
</Methode>
<Methode Name="surfInit" Const="true">
<Documentation>
<UserDocu> Returns the initial surface</UserDocu>
<UserDocu>Returns the initial surface</UserDocu>
</Documentation>
</Methode>
<Methode Name="surface" Const="true">
@@ -69,7 +69,7 @@
<Methode Name="curves2d" Const="true">
<Documentation>
<UserDocu>Extracts the array of curves on the plate surface which
correspond to the curve constraints set in add()
correspond to the curve constraints set in add()
</UserDocu>
</Documentation>
</Methode>

View File

@@ -18,8 +18,7 @@
</Documentation>
<Methode Name="setOrder">
<Documentation>
<UserDocu>Allows you to set the order of continuity required for
the constraints: G0, G1, and G2, controlled
<UserDocu>Allows you to set the order of continuity required for the constraints: G0, G1, and G2, controlled
respectively by G0Criterion G1Criterion and G2Criterion.
</UserDocu>
</Documentation>
@@ -31,27 +30,24 @@ respectively by G0Criterion G1Criterion and G2Criterion.
</Methode>
<Methode Name="G0Criterion">
<Documentation>
<UserDocu>Returns the G0 criterion at the parametric point U on
the curve. This is the greatest distance allowed between
the constraint and the target surface at U.
<UserDocu>Returns the G0 criterion at the parametric point U on the curve.
This is the greatest distance allowed between the constraint and the target surface at U.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="G1Criterion">
<Documentation>
<UserDocu>Returns the G1 criterion at the parametric point U on
the curve. This is the greatest angle allowed between
the constraint and the target surface at U.
Raises an exception if the curve is not on a surface.
<UserDocu>Returns the G1 criterion at the parametric point U on the curve.
This is the greatest angle allowed between the constraint and the target surface at U.
Raises an exception if the curve is not on a surface.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="G2Criterion">
<Documentation>
<UserDocu>Returns the G2 criterion at the parametric point U on
the curve. This is the greatest difference in curvature
allowed between the constraint and the target surface at U.
Raises an exception if the curve is not on a surface.
<UserDocu>Returns the G2 criterion at the parametric point U on the curve.
This is the greatest difference in curvature allowed between the constraint and the target surface at U.
Raises an exception if the curve is not on a surface.
</UserDocu>
</Documentation>
</Methode>
@@ -71,47 +67,47 @@ distance tolerance from the constructor, is used.
defining the greatest angle allowed between the
constraint and the target surface. If this criterion is not
set, TolAng, the angular tolerance from the constructor, is used.
Raises an exception if the curve is not on a surface
Raises an exception if the curve is not on a surface.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="setG2Criterion">
<Documentation>
<UserDocu> Allows you to set the G2 criterion. This is the law
defining the greatest difference in curvature allowed
between the constraint and the target surface. If this
criterion is not set, TolCurv, the curvature tolerance from
the constructor, is used.
Raises ConstructionError if the point is not on the surface
defining the greatest difference in curvature allowed
between the constraint and the target surface. If this
criterion is not set, TolCurv, the curvature tolerance from
the constructor, is used.
Raises ConstructionError if the point is not on the surface.
</UserDocu>
</Documentation>
</Methode>
<Methode Name="curve3d">
<Documentation>
<UserDocu> Returns a 3d curve associated the surface resulting of the constraints</UserDocu>
<UserDocu>Returns a 3d curve associated the surface resulting of the constraints</UserDocu>
</Documentation>
</Methode>
<Methode Name="setCurve2dOnSurf">
<Documentation>
<UserDocu> loads a 2d curve associated the surface resulting of the constraints
<UserDocu>Loads a 2d curve associated the surface resulting of the constraints
</UserDocu>
</Documentation>
</Methode>
<Methode Name="curve2dOnSurf">
<Documentation>
<UserDocu> Returns a 2d curve associated the surface resulting of the constraints</UserDocu>
<UserDocu>Returns a 2d curve associated the surface resulting of the constraints</UserDocu>
</Documentation>
</Methode>
<Methode Name="setProjectedCurve">
<Documentation>
<UserDocu> loads a 2d curve resulting from the normal projection of
the curve on the initial surface</UserDocu>
<UserDocu>Loads a 2d curve resulting from the normal projection of
the curve on the initial surface</UserDocu>
</Documentation>
</Methode>
<Methode Name="projectedCurve">
<Documentation>
<UserDocu> Returns the projected curve resulting from the normal projection of the
curve on the initial surface</UserDocu>
curve on the initial surface</UserDocu>
</Documentation>
</Methode>
<Attribute Name="NbPoints">
@@ -125,21 +121,21 @@ the number of points.</UserDocu>
</Attribute>
<Attribute Name="FirstParameter" ReadOnly="true">
<Documentation>
<UserDocu> This function returns the first parameter of the curve.
<UserDocu>This function returns the first parameter of the curve.
The first parameter is the lowest parametric value for the curve, which defines the starting point of the curve.</UserDocu>
</Documentation>
<Parameter Name="FirstParameter" Type="Float"/>
</Attribute>
<Attribute Name="LastParameter" ReadOnly="true">
<Documentation>
<UserDocu> This function returns the last parameter of the curve.
<UserDocu>This function returns the last parameter of the curve.
The last parameter is the highest parametric value for the curve, which defines the ending point of the curve.</UserDocu>
</Documentation>
<Parameter Name="LastParameter" Type="Float"/>
</Attribute>
<Attribute Name="Length" ReadOnly="true">
<Documentation>
<UserDocu> This function returns the length of the curve.
<UserDocu>This function returns the length of the curve.
The length of the curve is a geometric property that indicates how long the curve is in the space.</UserDocu>
</Documentation>
<Parameter Name="Length" Type="Float"/>

View File

@@ -78,10 +78,10 @@ Raises an exception if the curve is not on a surface
<Methode Name="setG2Criterion">
<Documentation>
<UserDocu>Allows you to set the G2 criterion. This is the law
defining the greatest difference in curvature allowed between the
constraint and the target surface. If this criterion is not
set, TolCurv, the curvature tolerance from the constructor, is used.
Raises ConstructionError if the curve is not on a surface</UserDocu>
defining the greatest difference in curvature allowed between the
constraint and the target surface. If this criterion is not
set, TolCurv, the curvature tolerance from the constructor, is used.
Raises ConstructionError if the curve is not on a surface</UserDocu>
</Documentation>
</Methode>
<Methode Name="hasPnt2dOnSurf">

View File

@@ -160,7 +160,7 @@ Select only the edges of the shape of index i.
<Methode Name="selectFace">
<Documentation>
<UserDocu>selectFace(i)
Select only the faces of the shape of index i.
</UserDocu>
</Documentation>
@@ -177,7 +177,7 @@ shell.
<Methode Name="update">
<Documentation>
<UserDocu>update()
Update the DataStructure.
</UserDocu>
</Documentation>
@@ -190,6 +190,6 @@ public:
Handle(HLRBRep_Algo) handle() {
return hAlgo;
}
</ClassDeclarations>
</ClassDeclarations>
</PythonExport>
</GenerateModel>

View File

@@ -178,6 +178,6 @@ public:
Handle(HLRBRep_PolyAlgo) handle() {
return hAlgo;
}
</ClassDeclarations>
</ClassDeclarations>
</PythonExport>
</GenerateModel>

View File

@@ -19,117 +19,117 @@
<Methode Name="fixRemovePCurve">
<Documentation>
<UserDocu> Removes the pcurve(s) of the edge if it does not match the
vertices
Check is done
Use : It is to be called when pcurve of an edge can be wrong
(e.g., after import from IGES)
Returns: True, if does not match, removed (status DONE)
False, (status OK) if matches or (status FAIL) if no pcurve,
nothing done.</UserDocu>
vertices
Check is done
Use : It is to be called when pcurve of an edge can be wrong
(e.g., after import from IGES)
Returns: True, if does not match, removed (status DONE)
False, (status OK) if matches or (status FAIL) if no pcurve,
nothing done.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixRemoveCurve3d">
<Documentation>
<UserDocu>Removes 3d curve of the edge if it does not match the vertices
Returns: True, if does not match, removed (status DONE)
False, (status OK) if matches or (status FAIL) if no 3d curve,
nothing done.</UserDocu>
Returns: True, if does not match, removed (status DONE)
False, (status OK) if matches or (status FAIL) if no 3d curve,
nothing done.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixAddPCurve">
<Documentation>
<UserDocu>Adds pcurve(s) of the edge if missing (by projecting 3d curve)
Parameter isSeam indicates if the edge is a seam.
The parameter 'prec' defines the precision for calculations.
If it is 0 (default), the tolerance of the edge is taken.
Remark : This method is rather for internal use since it accepts parameter
'surfana' for optimization of computations
Use : It is to be called after FixRemovePCurve (if removed) or in any
case when edge can have no pcurve
Returns: True if pcurve was added, else False
Status :
OK : Pcurve exists
FAIL1: No 3d curve
FAIL2: fail during projecting
DONE1: Pcurve was added
DONE2: specific case of pcurve going through degenerated point on
sphere encountered during projection (see class
ShapeConstruct_ProjectCurveOnSurface for more info).</UserDocu>
Parameter isSeam indicates if the edge is a seam.
The parameter 'prec' defines the precision for calculations.
If it is 0 (default), the tolerance of the edge is taken.
Remark : This method is rather for internal use since it accepts parameter
'surfana' for optimization of computations
Use : It is to be called after FixRemovePCurve (if removed) or in any
case when edge can have no pcurve
Returns: True if pcurve was added, else False
Status :
OK : Pcurve exists
FAIL1: No 3d curve
FAIL2: fail during projecting
DONE1: Pcurve was added
DONE2: specific case of pcurve going through degenerated point on
sphere encountered during projection (see class
ShapeConstruct_ProjectCurveOnSurface for more info).</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixAddCurve3d">
<Documentation>
<UserDocu>Tries to build 3d curve of the edge if missing
Use : It is to be called after FixRemoveCurve3d (if removed) or in any
case when edge can have no 3d curve
Returns: True if 3d curve was added, else False
Status :
OK : 3d curve exists
FAIL1: BRepLib::BuildCurve3d() has failed
DONE1: 3d curve was added.</UserDocu>
<UserDocu>Tries to build 3d curve of the edge if missing
Use : It is to be called after FixRemoveCurve3d (if removed) or in any
case when edge can have no 3d curve
Returns: True if 3d curve was added, else False
Status :
OK : 3d curve exists
FAIL1: BRepLib::BuildCurve3d() has failed
DONE1: 3d curve was added.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixVertexTolerance">
<Documentation>
<UserDocu>Increases the tolerances of the edge vertices to comprise
the ends of 3d curve and pcurve on the given face
(first method) or all pcurves stored in an edge (second one)
Returns: True, if tolerances have been increased, otherwise False
Status:
OK : the original tolerances have not been changed
DONE1: the tolerance of first vertex has been increased
DONE2: the tolerance of last vertex has been increased.</UserDocu>
<UserDocu>Increases the tolerances of the edge vertices to comprise
the ends of 3d curve and pcurve on the given face
(first method) or all pcurves stored in an edge (second one)
Returns: True, if tolerances have been increased, otherwise False
Status:
OK : the original tolerances have not been changed
DONE1: the tolerance of first vertex has been increased
DONE2: the tolerance of last vertex has been increased.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixReversed2d">
<Documentation>
<UserDocu>Fixes edge if pcurve is directed opposite to 3d curve
Check is done by call to the function
ShapeAnalysis_Edge::CheckCurve3dWithPCurve()
Warning: For seam edge this method will check and fix the pcurve in only
one direction. Hence, it should be called twice for seam edge:
once with edge orientation FORWARD and once with REVERSED.
Returns: False if nothing done, True if reversed (status DONE)
Status: OK - pcurve OK, nothing done
FAIL1 - no pcurve
FAIL2 - no 3d curve
DONE1 - pcurve was reversed.</UserDocu>
<UserDocu>Fixes edge if pcurve is directed opposite to 3d curve
Check is done by call to the function
ShapeAnalysis_Edge::CheckCurve3dWithPCurve()
Warning: For seam edge this method will check and fix the pcurve in only
one direction. Hence, it should be called twice for seam edge:
once with edge orientation FORWARD and once with REVERSED.
Returns: False if nothing done, True if reversed (status DONE)
Status: OK - pcurve OK, nothing done
FAIL1 - no pcurve
FAIL2 - no 3d curve
DONE1 - pcurve was reversed.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixSameParameter">
<Documentation>
<UserDocu>Tries to make edge SameParameter and sets corresponding
tolerance and SameParameter flag.
First, it makes edge same range if SameRange flag is not set.
If flag SameParameter is set, this method calls the
function ShapeAnalysis_Edge::CheckSameParameter() that
calculates the maximal deviation of pcurves of the edge from
its 3d curve. If deviation &gt; tolerance, the tolerance of edge
is increased to a value of deviation. If deviation &lt; tolerance
nothing happens.
tolerance and SameParameter flag.
First, it makes edge same range if SameRange flag is not set.
If flag SameParameter is set, this method calls the
function ShapeAnalysis_Edge::CheckSameParameter() that
calculates the maximal deviation of pcurves of the edge from
its 3d curve. If deviation &gt; tolerance, the tolerance of edge
is increased to a value of deviation. If deviation &lt; tolerance
nothing happens.
If flag SameParameter is not set, this method chooses the best
variant (one that has minimal tolerance), either
a. only after computing deviation (as above) or
b. after calling standard procedure BRepLib::SameParameter
and computing deviation (as above). If 'tolerance' &gt; 0, it is
used as parameter for BRepLib::SameParameter, otherwise,
tolerance of the edge is used.
If flag SameParameter is not set, this method chooses the best
variant (one that has minimal tolerance), either
a. only after computing deviation (as above) or
b. after calling standard procedure BRepLib::SameParameter
and computing deviation (as above). If 'tolerance' &gt; 0, it is
used as parameter for BRepLib::SameParameter, otherwise,
tolerance of the edge is used.
Use : Is to be called after all pcurves and 3d curve of the edge are
correctly computed
Remark : SameParameter flag is always set to True after this method
Returns: True, if something done, else False
Status : OK - edge was initially SameParameter, nothing is done
FAIL1 - computation of deviation of pcurves from 3d curve has failed
FAIL2 - BRepLib::SameParameter() has failed
DONE1 - tolerance of the edge was increased
DONE2 - flag SameParameter was set to True (only if
BRepLib::SameParameter() did not set it)
DONE3 - edge was modified by BRepLib::SameParameter() to SameParameter
DONE4 - not used anymore
DONE5 - if the edge resulting from BRepLib has been chosen, i.e. variant b. above
(only for edges with not set SameParameter).</UserDocu>
Use : Is to be called after all pcurves and 3d curve of the edge are
correctly computed
Remark : SameParameter flag is always set to True after this method
Returns: True, if something done, else False
Status : OK - edge was initially SameParameter, nothing is done
FAIL1 - computation of deviation of pcurves from 3d curve has failed
FAIL2 - BRepLib::SameParameter() has failed
DONE1 - tolerance of the edge was increased
DONE2 - flag SameParameter was set to True (only if
BRepLib::SameParameter() did not set it)
DONE3 - edge was modified by BRepLib::SameParameter() to SameParameter
DONE4 - not used anymore
DONE5 - if the edge resulting from BRepLib has been chosen, i.e. variant b. above
(only for edges with not set SameParameter).</UserDocu>
</Documentation>
</Methode>
<ClassDeclarations>
@@ -141,6 +141,6 @@ public:
setTwinPointer(handle.get());
hEdge = handle;
}
</ClassDeclarations>
</ClassDeclarations>
</PythonExport>
</GenerateModel>

View File

@@ -63,7 +63,7 @@
<Methode Name="fixSplitFace">
<Documentation>
<UserDocu>Fixes cases related to split faces within the given shape.
It may return a modified shape after fixing the issues.</UserDocu>
It may return a modified shape after fixing the issues.</UserDocu>
</Documentation>
</Methode>
<!--<Methode Name="splitOneFace">
@@ -79,7 +79,7 @@
<Methode Name="fixShape">
<Documentation>
<UserDocu>Fixes issues in the overall geometric shape.
This function likely encapsulates higher-level fixes that involve multiple faces or elements.</UserDocu>
This function likely encapsulates higher-level fixes that involve multiple faces or elements.</UserDocu>
</Documentation>
</Methode>
<Methode Name="shape">

View File

@@ -48,6 +48,6 @@ public:
setTwinPointer(handle.get());
hRoot = handle;
}
</ClassDeclarations>
</ClassDeclarations>
</PythonExport>
</GenerateModel>

View File

@@ -135,13 +135,13 @@ If prec is -1 then maxTolerance() is taken.</UserDocu>
<Methode Name="fixLacking">
<Documentation>
<UserDocu>Applies FixLacking(num) to all edges in the wire
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'force' is False (default), test for connectness is done with
precision of vertex between edges, else it is done with minimal
value of vertex tolerance and Analyzer.Precision().
Hence, 'force' will lead to inserting lacking edges in replacement
of vertices which have big tolerances.</UserDocu>
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'force' is False (default), test for connectness is done with
precision of vertex between edges, else it is done with minimal
value of vertex tolerance and Analyzer.Precision().
Hence, 'force' will lead to inserting lacking edges in replacement
of vertices which have big tolerances.</UserDocu>
</Documentation>
</Methode>
<Methode Name="fixClosed">
@@ -188,8 +188,8 @@ range on the closed surface</UserDocu>
<Methode Name="fixTails">
<Documentation>
<UserDocu>Fixes issues related to 'tails' in the geometry.
Tails are typically small, undesired protrusions or deviations in the curves or edges that need correction.
This method examines the geometry and applies corrective actions to eliminate or reduce the presence of tails.</UserDocu>
Tails are typically small, undesired protrusions or deviations in the curves or edges that need correction.
This method examines the geometry and applies corrective actions to eliminate or reduce the presence of tails.</UserDocu>
</Documentation>
</Methode>
<Attribute Name="ModifyTopologyMode" ReadOnly="false">
@@ -236,82 +236,82 @@ using intersection, extrema, projections) or not</UserDocu>
</Attribute>
<Attribute Name="FixReorderMode" ReadOnly="false">
<Documentation>
<UserDocu> Mode which performs an analysis and reorders edges in the wire using class WireOrder.
<UserDocu>Mode which performs an analysis and reorders edges in the wire using class WireOrder.
Flag 'theModeBoth' determines the use of miscible mode if necessary.</UserDocu>
</Documentation>
<Parameter Name="FixReorderMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixSmallMode" ReadOnly="false">
<Documentation>
<UserDocu> Mode which applies FixSmall(num) to all edges in the wire</UserDocu>
<UserDocu>Mode which applies FixSmall(num) to all edges in the wire</UserDocu>
</Documentation>
<Parameter Name="FixSmallMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixConnectedMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which applies FixConnected(num) to all edges in the wire
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'prec' is -1 then MaxTolerance() is taken.</UserDocu>
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'prec' is -1 then MaxTolerance() is taken.</UserDocu>
</Documentation>
<Parameter Name="FixConnectedMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixEdgeCurvesMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which groups the fixes dealing with 3d and pcurves of the edges.
The order of the fixes and the default behaviour are:
ShapeFix_Edge::FixReversed2d
ShapeFix_Edge::FixRemovePCurve (only if forced)
ShapeFix_Edge::FixAddPCurve
ShapeFix_Edge::FixRemoveCurve3d (only if forced)
ShapeFix_Edge::FixAddCurve3d
FixSeam,
FixShifted,
ShapeFix_Edge::FixSameParameter</UserDocu>
The order of the fixes and the default behaviour are:
ShapeFix_Edge::FixReversed2d
ShapeFix_Edge::FixRemovePCurve (only if forced)
ShapeFix_Edge::FixAddPCurve
ShapeFix_Edge::FixRemoveCurve3d (only if forced)
ShapeFix_Edge::FixAddCurve3d
FixSeam,
FixShifted,
ShapeFix_Edge::FixSameParameter</UserDocu>
</Documentation>
<Parameter Name="FixEdgeCurvesMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixDegeneratedMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which applies FixDegenerated(num) to all edges in the wire
Connection between first and last edges is treated only if
flag ClosedMode is True</UserDocu>
Connection between first and last edges is treated only if
flag ClosedMode is True</UserDocu>
</Documentation>
<Parameter Name="FixDegeneratedMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixSelfIntersectionMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which applies FixSelfIntersectingEdge(num) and
FixIntersectingEdges(num) to all edges in the wire and
FixIntersectingEdges(num1, num2) for all pairs num1 and num2
and removes wrong edges if any</UserDocu>
FixIntersectingEdges(num) to all edges in the wire and
FixIntersectingEdges(num1, num2) for all pairs num1 and num2
and removes wrong edges if any</UserDocu>
</Documentation>
<Parameter Name="FixSelfIntersectionMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixLackingMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which applies FixLacking(num) to all edges in the wire
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'force' is False (default), test for connectness is done with
precision of vertex between edges, else it is done with minimal
value of vertex tolerance and Analyzer.Precision().
Hence, 'force' will lead to inserting lacking edges in replacement
of vertices which have big tolerances.</UserDocu>
Connection between first and last edges is treated only if
flag ClosedMode is True
If 'force' is False (default), test for connectness is done with
precision of vertex between edges, else it is done with minimal
value of vertex tolerance and Analyzer.Precision().
Hence, 'force' will lead to inserting lacking edges in replacement
of vertices which have big tolerances.</UserDocu>
</Documentation>
<Parameter Name="FixLackingMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixGaps3dMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode which fixes gaps between ends of 3d curves on adjacent edges
myPrecision is used to detect the gaps.</UserDocu>
myPrecision is used to detect the gaps.</UserDocu>
</Documentation>
<Parameter Name="FixGaps3dMode" Type="Boolean"/>
</Attribute>
<Attribute Name="FixGaps2dMode" ReadOnly="false">
<Documentation>
<UserDocu>Mode whixh fixes gaps between ends of pcurves on adjacent edges
myPrecision is used to detect the gaps.</UserDocu>
myPrecision is used to detect the gaps.</UserDocu>
</Documentation>
<Parameter Name="FixGaps2dMode" Type="Boolean"/>
</Attribute>