Extrema
OCCT package Extrema: Extrema_Curve2dTool, Extrema_CurveTool, Extrema_ElementType, Extrema_ExtAlgo, and 37 more bound classes.
Extrema_Curve2dTool
Constructors(1)
Static methods(28)
- FirstParameter(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- LastParameter(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- Continuity(theC: Adaptor2d_Curve2d): GeomAbs_ShapeParameters (1)
theC
- NbIntervals(theC: Adaptor2d_Curve2d, theS: GeomAbs_Shape): number
If necessary, breaks the curve in intervals of continuity . And returns the number of intervals.
Parameters (2)theCtheS
- Intervals(theC: Adaptor2d_Curve2d, theT: NCollection_Array1_double, theS: GeomAbs_Shape): void
Stores in <T> the parameters bounding the intervals of continuity .
Parameters (3)theCtheT—Mutated in place; read the updated value from this argument after the call.theS
Returns the parameters bounding the intervals of subdivision of curve according to Curvature deflection. Value of deflection is defined in method.
Parameters (1)theC
- IsClosed(theC: Adaptor2d_Curve2d): booleanParameters (1)
theC
- IsPeriodic(theC: Adaptor2d_Curve2d): booleanParameters (1)
theC
- Period(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- Value(theC: Adaptor2d_Curve2d, theU: number): gp_Pnt2d
Computes the point of parameter U on the curve.
Parameters (2)theCtheU
- D0(theC: Adaptor2d_Curve2d, theU: number, theP: gp_Pnt2d): void
Computes the point of parameter U on the curve.
Parameters (3)theCtheUtheP—Mutated in place; read the updated value from this argument after the call.
- D1(theC: Adaptor2d_Curve2d, theU: number, theP: gp_Pnt2d, theV: gp_Vec2d): void
Computes the point of parameter U on the curve with its first derivative.
Parameters (4)theCtheUtheP—Mutated in place; read the updated value from this argument after the call.theV—Mutated in place; read the updated value from this argument after the call.
- D2(theC: Adaptor2d_Curve2d, theU: number, theP: gp_Pnt2d, theV1: gp_Vec2d, theV2: gp_Vec2d): void
Returns the point P of parameter U, the first and second derivatives V1 and V2.
Parameters (5)theCtheUtheP—Mutated in place; read the updated value from this argument after the call.theV1—Mutated in place; read the updated value from this argument after the call.theV2—Mutated in place; read the updated value from this argument after the call.
- D3(theC: Adaptor2d_Curve2d, theU: number, theP: gp_Pnt2d, theV1: gp_Vec2d, theV2: gp_Vec2d, theV3: gp_Vec2d): void
Returns the point P of parameter U, the first, the second and the third derivative.
Parameters (6)theCtheUtheP—Mutated in place; read the updated value from this argument after the call.theV1—Mutated in place; read the updated value from this argument after the call.theV2—Mutated in place; read the updated value from this argument after the call.theV3—Mutated in place; read the updated value from this argument after the call.
- DN(theC: Adaptor2d_Curve2d, theU: number, theN: number): gp_Vec2d
The returned vector gives the value of the derivative for the order of derivation N.
Parameters (3)theCtheUtheN
- Resolution(theC: Adaptor2d_Curve2d, theR3d: number): number
Returns the parametric resolution corresponding to the real space resolution <R3d>.
Parameters (2)theCtheR3d
Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.
Parameters (1)theC
- Line(theC: Adaptor2d_Curve2d): gp_Lin2dParameters (1)
theC
- Circle(theC: Adaptor2d_Curve2d): gp_Circ2dParameters (1)
theC
- Ellipse(theC: Adaptor2d_Curve2d): gp_Elips2dParameters (1)
theC
- Hyperbola(theC: Adaptor2d_Curve2d): gp_Hypr2dParameters (1)
theC
- Parabola(theC: Adaptor2d_Curve2d): gp_Parab2dParameters (1)
theC
- Degree(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- IsRational(theC: Adaptor2d_Curve2d): booleanParameters (1)
theC
- NbPoles(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- NbKnots(theC: Adaptor2d_Curve2d): numberParameters (1)
theC
- Parameters (1)
theC
- Parameters (1)
theC
Extrema_CurveTool
Constructors(1)
Static methods(27)
- FirstParameter(theC: Adaptor3d_Curve): numberParameters (1)
theC
- LastParameter(theC: Adaptor3d_Curve): numberParameters (1)
theC
- Continuity(theC: Adaptor3d_Curve): GeomAbs_ShapeParameters (1)
theC
- NbIntervals(theC: Adaptor3d_Curve, theS: GeomAbs_Shape): number
Returns the number of intervals for continuity . May be one if Continuity(me) >= .
Parameters (2)theC—Mutated in place; read the updated value from this argument after the call.theS
- Intervals(theC: Adaptor3d_Curve, theT: NCollection_Array1_double, theS: GeomAbs_Shape): void
Stores in <T> the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() >
NbIntervals().Parameters (3)theC—Mutated in place; read the updated value from this argument after the call.theT—Mutated in place; read the updated value from this argument after the call.theS
Returns the parameters bounding the intervals of subdivision of curve according to Curvature deflection. Value of deflection is defined in method.
Parameters (1)theC
- IsPeriodic(theC: Adaptor3d_Curve): booleanParameters (1)
theC
- Period(theC: Adaptor3d_Curve): numberParameters (1)
theC
- Resolution(theC: Adaptor3d_Curve, theR3d: number): numberParameters (2)
theCtheR3d
- GetType(theC: Adaptor3d_Curve): GeomAbs_CurveTypeParameters (1)
theC
- Value(theC: Adaptor3d_Curve, theU: number): gp_PntParameters (2)
theCtheU
- D0(theC: Adaptor3d_Curve, theU: number, theP: gp_Pnt): voidParameters (3)
theCtheUtheP
- D1(theC: Adaptor3d_Curve, theU: number, theP: gp_Pnt, theV: gp_Vec): voidParameters (4)
theCtheUthePtheV
- D2(theC: Adaptor3d_Curve, theU: number, theP: gp_Pnt, theV1: gp_Vec, theV2: gp_Vec): voidParameters (5)
theCtheUthePtheV1theV2
- D3(theC: Adaptor3d_Curve, theU: number, theP: gp_Pnt, theV1: gp_Vec, theV2: gp_Vec, theV3: gp_Vec): voidParameters (6)
theCtheUthePtheV1theV2theV3
- DN(theC: Adaptor3d_Curve, theU: number, theN: number): gp_VecParameters (3)
theCtheUtheN
- Line(theC: Adaptor3d_Curve): gp_LinParameters (1)
theC
- Circle(theC: Adaptor3d_Curve): gp_CircParameters (1)
theC
- Ellipse(theC: Adaptor3d_Curve): gp_ElipsParameters (1)
theC
- Hyperbola(theC: Adaptor3d_Curve): gp_HyprParameters (1)
theC
- Parabola(theC: Adaptor3d_Curve): gp_ParabParameters (1)
theC
- Degree(theC: Adaptor3d_Curve): numberParameters (1)
theC
- IsRational(theC: Adaptor3d_Curve): booleanParameters (1)
theC
- NbPoles(theC: Adaptor3d_Curve): numberParameters (1)
theC
- NbKnots(theC: Adaptor3d_Curve): numberParameters (1)
theC
- Bezier(theC: Adaptor3d_Curve): Geom_BezierCurveParameters (1)
theC
- BSpline(theC: Adaptor3d_Curve): Geom_BSplineCurveParameters (1)
theC
Extrema_ElementType
Properties(4)
Extrema_ExtAlgo
Properties(2)
Extrema_ExtCC
It calculates all the distance between two curves. These distances can be maximum or minimum.
Constructors(3)
- constructor(TolC1?: number, TolC2?: number): Extrema_ExtCCParameters (2)
TolC1TolC2
- constructor(C1: Adaptor3d_Curve, C2: Adaptor3d_Curve, TolC1?: number, TolC2?: number): Extrema_ExtCC
It calculates all the distances.
Parameters (4)C1C2TolC1TolC2
- constructor(C1: Adaptor3d_Curve, C2: Adaptor3d_Curve, U1: number, U2: number, V1: number, V2: number, TolC1?: number, TolC2?: number): Extrema_ExtCC
It calculates all the distances.
Parameters (8)C1C2U1U2V1V2TolC1TolC2
Instance methods(15)
- Initialize(C1: Adaptor3d_Curve, C2: Adaptor3d_Curve, TolC1: number, TolC2: number): void
Initializes but does not perform algorithm.
Parameters (4)C1C2TolC1TolC2
- Initialize(C1: Adaptor3d_Curve, C2: Adaptor3d_Curve, U1: number, U2: number, V1: number, V2: number, TolC1: number, TolC2: number): void
Initializes but does not perform algorithm.
Parameters (8)C1C2U1U2V1V2TolC1TolC2
- SetCurve(theRank: number, C: Adaptor3d_Curve): voidParameters (2)
theRankC
- SetCurve(theRank: number, C: Adaptor3d_Curve, Uinf: number, Usup: number): voidParameters (4)
theRankCUinfUsup
- SetRange(theRank: number, Uinf: number, Usup: number): voidParameters (3)
theRankUinfUsup
- SetTolerance(theRank: number, Tol: number): voidParameters (2)
theRankTol
- Perform(): void
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- IsParallel(): boolean
Returns True if the two curves are parallel.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv, P2: Extrema_POnCurv): void
Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
- TrimmedSquareDistances(dist11: number, distP12: number, distP21: number, distP22: number, P11: gp_Pnt, P12: gp_Pnt, P21: gp_Pnt, P22: gp_Pnt): { dist11: number; distP12: number; distP21: number; distP22: number }
if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2.
Parameters (8)dist11distP12distP21distP22P11—Mutated in place; read the updated value from this argument after the call.P12—Mutated in place; read the updated value from this argument after the call.P21—Mutated in place; read the updated value from this argument after the call.P22—Mutated in place; read the updated value from this argument after the call.
ReturnsA result object with fields:
dist11: updated value from the call.distP12: updated value from the call.distP21: updated value from the call.distP22: updated value from the call.
- SetSingleSolutionFlag(theSingleSolutionFlag: boolean): void
Set flag for single extrema computation. Works on parametric solver only.
Parameters (1)theSingleSolutionFlag
- GetSingleSolutionFlag(): boolean
Get flag for single extrema computation. Works on parametric solver only.
Extrema_ExtCC2d
It calculates all the distance between two curves. These distances can be maximum or minimum.
Constructors(3)
- constructor(C1: Adaptor2d_Curve2d, C2: Adaptor2d_Curve2d, TolC1?: number, TolC2?: number): Extrema_ExtCC2d
It calculates all the distances.
Parameters (4)C1C2TolC1TolC2
- constructor(C1: Adaptor2d_Curve2d, C2: Adaptor2d_Curve2d, U1: number, U2: number, V1: number, V2: number, TolC1?: number, TolC2?: number): Extrema_ExtCC2d
It calculates all the distances.
Parameters (8)C1C2U1U2V1V2TolC1TolC2
Instance methods(10)
- Initialize(C2: Adaptor2d_Curve2d, V1: number, V2: number, TolC1?: number, TolC2?: number): void
initializes the fields.
Parameters (5)C2V1V2TolC1TolC2
- Perform(C1: Adaptor2d_Curve2d, U1: number, U2: number): voidParameters (3)
C1U1U2
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- IsParallel(): boolean
Returns True if the two curves are parallel.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv2d, P2: Extrema_POnCurv2d): void
Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
- TrimmedSquareDistances(dist11: number, distP12: number, distP21: number, distP22: number, P11: gp_Pnt2d, P12: gp_Pnt2d, P21: gp_Pnt2d, P22: gp_Pnt2d): { dist11: number; distP12: number; distP21: number; distP22: number }
if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2.
Parameters (8)dist11distP12distP21distP22P11—Mutated in place; read the updated value from this argument after the call.P12—Mutated in place; read the updated value from this argument after the call.P21—Mutated in place; read the updated value from this argument after the call.P22—Mutated in place; read the updated value from this argument after the call.
ReturnsA result object with fields:
dist11: updated value from the call.distP12: updated value from the call.distP21: updated value from the call.distP22: updated value from the call.
- SetSingleSolutionFlag(theSingleSolutionFlag: boolean): void
Set flag for single extrema computation. Works on parametric solver only.
Parameters (1)theSingleSolutionFlag
- GetSingleSolutionFlag(): boolean
Get flag for single extrema computation. Works on parametric solver only.
Extrema_ExtCS
It calculates all the extremum distances between a curve and a surface. These distances can be minimum or maximum.
Constructors(3)
- constructor(C: Adaptor3d_Curve, S: Adaptor3d_Surface, TolC: number, TolS: number): Extrema_ExtCS
It calculates all the distances between C and S.
Parameters (4)CSTolCTolS
- constructor(C: Adaptor3d_Curve, S: Adaptor3d_Surface, UCinf: number, UCsup: number, Uinf: number, Usup: number, Vinf: number, Vsup: number, TolC: number, TolS: number): Extrema_ExtCS
It calculates all the distances between C and S. UCinf and UCmax are the start and end parameters of the curve.
Parameters (10)CSUCinfUCsupUinfUsupVinfVsupTolCTolS
Instance methods(8)
- Initialize(S: Adaptor3d_Surface, TolC: number, TolS: number): void
Initializes the fields of the algorithm.
Parameters (3)STolCTolS
- Initialize(S: Adaptor3d_Surface, Uinf: number, Usup: number, Vinf: number, Vsup: number, TolC: number, TolS: number): void
Initializes the fields of the algorithm.
Parameters (7)SUinfUsupVinfVsupTolCTolS
- Perform(C: Adaptor3d_Curve, Uinf: number, Usup: number): void
Computes the distances. An exception is raised if the fields have not been initialized.
Parameters (3)CUinfUsup
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the curve is on a parallel surface.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv, P2: Extrema_POnSurf): void
Returns the point of the Nth resulting distance.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_ExtElC
It calculates all the distance between two elementary curves. These distances can be maximum or minimum.
Constructors(7)
- constructor(C1: gp_Lin, C2: gp_Elips): Extrema_ExtElC
Calculates the distance between a line and an ellipse.
Parameters (2)C1C2
- constructor(C1: gp_Lin, C2: gp_Hypr): Extrema_ExtElC
Calculates the distance between a line and a hyperbola.
Parameters (2)C1C2
- constructor(C1: gp_Lin, C2: gp_Parab): Extrema_ExtElC
Calculates the distance between a line and a parabola.
Parameters (2)C1C2
- constructor(C1: gp_Circ, C2: gp_Circ): Extrema_ExtElC
Calculates the distance between two circles. The circles can be parallel or identical.
Parameters (2)C1C2
- constructor(C1: gp_Lin, C2: gp_Lin, AngTol: number): Extrema_ExtElC
Calculates the distance between two lines. AngTol is used to test if the lines are parallel: Angle(C1,C2) < AngTol.
Parameters (3)C1C2AngTol
- constructor(C1: gp_Lin, C2: gp_Circ, Tol: number): Extrema_ExtElC
Calculates the distance between a line and a circle.
Parameters (3)C1C2Tol
Instance methods(5)
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the two curves are parallel.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv, P2: Extrema_POnCurv): void
Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_ExtElC2d
It calculates all the distance between two elementary curves. These distances can be maximum or minimum.
Constructors(10)
- constructor(C1: gp_Lin2d, C2: gp_Elips2d): Extrema_ExtElC2d
Calculates the distance between a line and an ellipse.
Parameters (2)C1C2
- constructor(C1: gp_Lin2d, C2: gp_Hypr2d): Extrema_ExtElC2d
Calculates the distance between a line and a hyperbola.
Parameters (2)C1C2
- constructor(C1: gp_Lin2d, C2: gp_Parab2d): Extrema_ExtElC2d
Calculates the distance between a line and a parabola.
Parameters (2)C1C2
- constructor(C1: gp_Circ2d, C2: gp_Circ2d): Extrema_ExtElC2d
Calculates the distance between two circles. The circles can be parallel or identical.
Parameters (2)C1C2
- constructor(C1: gp_Circ2d, C2: gp_Elips2d): Extrema_ExtElC2d
Calculates the distance between a circle and an ellipse.
Parameters (2)C1C2
- constructor(C1: gp_Circ2d, C2: gp_Hypr2d): Extrema_ExtElC2d
Calculates the distance between a circle and a hyperbola.
Parameters (2)C1C2
- constructor(C1: gp_Circ2d, C2: gp_Parab2d): Extrema_ExtElC2d
Calculates the distance between a circle and a parabola.
Parameters (2)C1C2
- constructor(C1: gp_Lin2d, C2: gp_Lin2d, AngTol: number): Extrema_ExtElC2d
Calculates the distance between two lines. AngTol is used to test if the lines are parallel: Angle(C1,C2) < AngTol.
Parameters (3)C1C2AngTol
- constructor(C1: gp_Lin2d, C2: gp_Circ2d, Tol: number): Extrema_ExtElC2d
Calculates the distance between a line and a circle.
Parameters (3)C1C2Tol
Instance methods(5)
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the two curves are parallel.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv2d, P2: Extrema_POnCurv2d): void
Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_ExtElCS
It calculates all the distances between a curve and a surface. These distances can be maximum or minimum.
Constructors(12)
- constructor(C: gp_Lin, S: gp_Pln): Extrema_ExtElCS
Calculates the distances between a line and a plane. The line can be on the plane or on a parallel plane.
Parameters (2)CS
- constructor(C: gp_Lin, S: gp_Cylinder): Extrema_ExtElCS
Calculates the distances between a line and a cylinder.
Parameters (2)CS
- constructor(C: gp_Lin, S: gp_Cone): Extrema_ExtElCS
Calculates the distances between a line and a cone.
Parameters (2)CS
- constructor(C: gp_Lin, S: gp_Sphere): Extrema_ExtElCS
Calculates the distances between a line and a sphere.
Parameters (2)CS
- constructor(C: gp_Lin, S: gp_Torus): Extrema_ExtElCS
Calculates the distances between a line and a torus.
Parameters (2)CS
- constructor(C: gp_Circ, S: gp_Pln): Extrema_ExtElCS
Calculates the distances between a circle and a plane.
Parameters (2)CS
- constructor(C: gp_Circ, S: gp_Cylinder): Extrema_ExtElCS
Calculates the distances between a circle and a cylinder.
Parameters (2)CS
- constructor(C: gp_Circ, S: gp_Cone): Extrema_ExtElCS
Calculates the distances between a circle and a cone.
Parameters (2)CS
- constructor(C: gp_Circ, S: gp_Sphere): Extrema_ExtElCS
Calculates the distances between a circle and a sphere.
Parameters (2)CS
- constructor(C: gp_Circ, S: gp_Torus): Extrema_ExtElCS
Calculates the distances between a circle and a torus.
Parameters (2)CS
- constructor(C: gp_Hypr, S: gp_Pln): Extrema_ExtElCS
Calculates the distances between a hyperbola and a plane.
Parameters (2)CS
Instance methods(16)
- Parameters (2)
CS
- Perform(C: gp_Lin, S: gp_Cylinder): voidParameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- Perform(C: gp_Circ, S: gp_Cylinder): voidParameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- Parameters (2)
CS
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the curve is on a parallel surface.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnCurv, P2: Extrema_POnSurf): void
Returns the points of the Nth extremum distance. P1 is on the curve, P2 on the surface.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_ExtElSS
It calculates all the distances between 2 elementary surfaces. These distances can be maximum or minimum.
Constructors(7)
- constructor(S1: gp_Pln, S2: gp_Pln): Extrema_ExtElSS
Calculates the distances between 2 planes. These planes can be parallel.
Parameters (2)S1S2
- constructor(S1: gp_Pln, S2: gp_Sphere): Extrema_ExtElSS
Calculates the distances between a plane and a sphere.
Parameters (2)S1S2
- constructor(S1: gp_Sphere, S2: gp_Sphere): Extrema_ExtElSS
Calculates the distances between 2 spheres. These spheres can be parallel.
Parameters (2)S1S2
- constructor(S1: gp_Sphere, S2: gp_Cylinder): Extrema_ExtElSS
Calculates the distances between a sphere and a cylinder.
Parameters (2)S1S2
- constructor(S1: gp_Sphere, S2: gp_Cone): Extrema_ExtElSS
Calculates the distances between a sphere and a cone.
Parameters (2)S1S2
- constructor(S1: gp_Sphere, S2: gp_Torus): Extrema_ExtElSS
Calculates the distances between a sphere and a torus.
Parameters (2)S1S2
Instance methods(11)
- Parameters (2)
S1S2
- Parameters (2)
S1S2
- Parameters (2)
S1S2
- Perform(S1: gp_Sphere, S2: gp_Cylinder): voidParameters (2)
S1S2
- Parameters (2)
S1S2
- Parameters (2)
S1S2
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the two surfaces are parallel.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N?: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnSurf, P2: Extrema_POnSurf): void
Returns the points for the Nth resulting distance. P1 is on the first surface, P2 on the second one.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_ExtFlag
Properties(3)
Extrema_ExtPElC
It calculates all the distances between a point and an elementary curve. These distances can be minimum or maximum.
Constructors(6)
- constructor(P: gp_Pnt, C: gp_Lin, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC
Calculates the extremum distance between the point P and the segment [Uinf,Usup] of the line C.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt, C: gp_Circ, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC
Calculates the 2 extremum distances between the point P and the segment [Uinf,Usup] of the circle C. Tol is used to determine if P is on the axis of the circle or if an extremum is on an endpoint of the segment. If P is on the axis of the circle, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are:<= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt, C: gp_Elips, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the ellipse C. Tol is used to determine if the point is on the axis of the ellipse and if the major radius is equal to the minor radius or if an extremum is on an endpoint of the segment. If P is on the axis of the ellipse, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are:<= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt, C: gp_Hypr, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC
Calculates the extremum distances between the point P and the segment [Uinf,Usup] of the hyperbola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt, C: gp_Parab, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the parabola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Parameters (5)PCTolUinfUsup
Instance methods(10)
- Parameters (5)
PCTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- IsDone(): boolean
True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- IsMin(N: number): boolean
Returns True if the Nth extremum distance is a minimum.
Parameters (1)N
- Point(N: number): Extrema_POnCurv
Returns the point of the Nth extremum distance.
Parameters (1)N
Extrema_ExtPElC2d
It calculates all the distances between a point and an elementary curve. These distances can be minimum or maximum.
Constructors(6)
- constructor(P: gp_Pnt2d, C: gp_Lin2d, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC2d
Calculates the extremum distance between the point P and the segment [Uinf,Usup] of the line L.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt2d, C: gp_Circ2d, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC2d
Calculates the 2 extremum distances between the point P and the segment [Uinf,Usup] of the circle C. Tol is used to determine if P is on the axis of the circle or if an extremum is on an endpoint of the segment. If P is on the axis of the circle, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are:<= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt2d, C: gp_Elips2d, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC2d
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the ellipse C. Tol is used to determine if the point is on the axis of the ellipse and if the major radius is equal to the minor radius or if an extremum is on an endpoint of the segment. If P is on the axis of the ellipse, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are:<= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt2d, C: gp_Hypr2d, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC2d
Calculates the extremum distances between the point P and the segment [Uinf,Usup] of the hyperbola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Parameters (5)PCTolUinfUsup
- constructor(P: gp_Pnt2d, C: gp_Parab2d, Tol: number, Uinf: number, Usup: number): Extrema_ExtPElC2d
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the parabola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Parameters (5)PCTolUinfUsup
Instance methods(10)
- Parameters (5)
PLTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- Perform(P: gp_Pnt2d, C: gp_Elips2d, Tol: number, Uinf: number, Usup: number): voidParameters (5)
PCTolUinfUsup
- Parameters (5)
PCTolUinfUsup
- Perform(P: gp_Pnt2d, C: gp_Parab2d, Tol: number, Uinf: number, Usup: number): voidParameters (5)
PCTolUinfUsup
- IsDone(): boolean
True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth extremum square distance.
Parameters (1)N
- IsMin(N: number): boolean
Returns True if the Nth extremum distance is a minimum.
Parameters (1)N
- Point(N: number): Extrema_POnCurv2d
Returns the point of the Nth extremum distance.
Parameters (1)N
Extrema_ExtPElS
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.
Constructors(6)
- constructor(P: gp_Pnt, S: gp_Cylinder, Tol: number): Extrema_ExtPElS
It calculates all the distances between a point and a cylinder from gp. Tol is used to test if the point is on the axis.
Parameters (3)PSTol
- constructor(P: gp_Pnt, S: gp_Pln, Tol: number): Extrema_ExtPElS
It calculates all the distances between a point and a plane from gp. Tol is used to test if the point is on the plane.
Parameters (3)PSTol
- constructor(P: gp_Pnt, S: gp_Cone, Tol: number): Extrema_ExtPElS
It calculates all the distances between a point and a cone from gp. Tol is used to test if the point is at the apex or on the axis.
Parameters (3)PSTol
- constructor(P: gp_Pnt, S: gp_Torus, Tol: number): Extrema_ExtPElS
It calculates all the distances between a point and a torus from gp. Tol is used to test if the point is on the axis.
Parameters (3)PSTol
- constructor(P: gp_Pnt, S: gp_Sphere, Tol: number): Extrema_ExtPElS
It calculates all the distances between a point and a sphere from gp. Tol is used to test if the point is at the center.
Parameters (3)PSTol
Instance methods(9)
- Perform(P: gp_Pnt, S: gp_Cylinder, Tol: number): voidParameters (3)
PSTol
- Parameters (3)
PSTol
- Parameters (3)
PSTol
- Parameters (3)
PSTol
- Parameters (3)
PSTol
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_ExtPExtS
It calculates all the extremum (minimum and maximum) distances between a point and a linear extrusion surface.
Constructors(3)
- constructor(P: gp_Pnt, S: GeomAdaptor_SurfaceOfLinearExtrusion, TolU: number, TolV: number): Extrema_ExtPExtS
It calculates all the distances between a point from gp and a Surface.
Parameters (4)PSTolUTolV
- constructor(P: gp_Pnt, S: GeomAdaptor_SurfaceOfLinearExtrusion, Umin: number, Usup: number, Vmin: number, Vsup: number, TolU: number, TolV: number): Extrema_ExtPExtS
It calculates all the distances between a point from gp and a Surface.
Parameters (8)PSUminUsupVminVsupTolUTolV
Static methods(2)
- get_type_name(): string
Instance methods(7)
- Initialize(S: GeomAdaptor_SurfaceOfLinearExtrusion, Uinf: number, Usup: number, Vinf: number, Vsup: number, TolU: number, TolV: number): void
Initializes the fields of the algorithm.
Parameters (7)SUinfUsupVinfVsupTolUTolV
- Parameters (1)
P
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_ExtPRevS
It calculates all the extremum (minimum and maximum) distances between a point and a surface of revolution.
Constructors(3)
- constructor(P: gp_Pnt, S: GeomAdaptor_SurfaceOfRevolution, TolU: number, TolV: number): Extrema_ExtPRevS
It calculates all the distances between a point from gp and a SurfacePtr from Adaptor3d.
Parameters (4)PSTolUTolV
- constructor(P: gp_Pnt, S: GeomAdaptor_SurfaceOfRevolution, Umin: number, Usup: number, Vmin: number, Vsup: number, TolU: number, TolV: number): Extrema_ExtPRevS
It calculates all the distances between a point from gp and a SurfacePtr from Adaptor3d.
Parameters (8)PSUminUsupVminVsupTolUTolV
Static methods(2)
- get_type_name(): string
Instance methods(7)
- Initialize(S: GeomAdaptor_SurfaceOfRevolution, Umin: number, Usup: number, Vmin: number, Vsup: number, TolU: number, TolV: number): voidParameters (7)
SUminUsupVminVsupTolUTolV
- Parameters (1)
P
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_ExtPS
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.
Constructors(3)
- constructor(P: gp_Pnt, S: Adaptor3d_Surface, TolU: number, TolV: number, F?: Extrema_ExtFlag, A?: Extrema_ExtAlgo): Extrema_ExtPS
It calculates all the distances. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
Parameters (6)PSTolUTolVFA
- constructor(P: gp_Pnt, S: Adaptor3d_Surface, Uinf: number, Usup: number, Vinf: number, Vsup: number, TolU: number, TolV: number, F?: Extrema_ExtFlag, A?: Extrema_ExtAlgo): Extrema_ExtPS
It calculates all the distances. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
Parameters (10)PSUinfUsupVinfVsupTolUTolVFA
Instance methods(9)
- Initialize(S: Adaptor3d_Surface, Uinf: number, Usup: number, Vinf: number, Vsup: number, TolU: number, TolV: number): void
Initializes the fields of the algorithm.
Parameters (7)SUinfUsupVinfVsupTolUTolV
Computes the distances. An exception is raised if the fields have not been initialized.
Parameters (1)P
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
- TrimmedSquareDistances(dUfVf: number, dUfVl: number, dUlVf: number, dUlVl: number, PUfVf: gp_Pnt, PUfVl: gp_Pnt, PUlVf: gp_Pnt, PUlVl: gp_Pnt): { dUfVf: number; dUfVl: number; dUlVf: number; dUlVl: number }
if the surface is a trimmed surface, dUfVf is a square distance between
and the point of parameter FirstUParameter and FirstVParameter <PUfVf>. dUfVl is a square distance between
and the point of parameter FirstUParameter and LastVParameter <PUfVl>. dUlVf is a square distance between
and the point of parameter LastUParameter and FirstVParameter <PUlVf>. dUlVl is a square distance between
and the point of parameter LastUParameter and LastVParameter <PUlVl>.Parameters (8)dUfVfdUfVldUlVfdUlVlPUfVf—Mutated in place; read the updated value from this argument after the call.PUfVl—Mutated in place; read the updated value from this argument after the call.PUlVf—Mutated in place; read the updated value from this argument after the call.PUlVl—Mutated in place; read the updated value from this argument after the call.
ReturnsA result object with fields:
dUfVf: updated value from the call.dUfVl: updated value from the call.dUlVf: updated value from the call.dUlVl: updated value from the call.
- SetFlag(F: Extrema_ExtFlag): voidParameters (1)
F
- SetAlgo(A: Extrema_ExtAlgo): voidParameters (1)
A
Extrema_ExtSS
It calculates all the extremum distances between two surfaces. These distances can be minimum or maximum.
Constructors(3)
- constructor(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, TolS1: number, TolS2: number): Extrema_ExtSS
It calculates all the distances between S1 and S2.
Parameters (4)S1S2TolS1TolS2
- constructor(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, Uinf1: number, Usup1: number, Vinf1: number, Vsup1: number, Uinf2: number, Usup2: number, Vinf2: number, Vsup2: number, TolS1: number, TolS2: number): Extrema_ExtSS
It calculates all the distances between S1 and S2.
Parameters (12)S1S2Uinf1Usup1Vinf1Vsup1Uinf2Usup2Vinf2Vsup2TolS1TolS2
Instance methods(7)
- Initialize(S2: Adaptor3d_Surface, Uinf2: number, Usup2: number, Vinf2: number, Vsup2: number, TolS1: number): void
Initializes the fields of the algorithm.
Parameters (6)S2Uinf2Usup2Vinf2Vsup2TolS1
- Perform(S1: Adaptor3d_Surface, Uinf1: number, Usup1: number, Vinf1: number, Vsup1: number, TolS1: number): void
Computes the distances. An exception is raised if the fields have not been initialized.
Parameters (6)S1Uinf1Usup1Vinf1Vsup1TolS1
- IsDone(): boolean
Returns True if the distances are found.
- IsParallel(): boolean
Returns True if the surfaces are parallel.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Points(N: number, P1: Extrema_POnSurf, P2: Extrema_POnSurf): void
Returns the point of the Nth resulting distance.
Parameters (3)NP1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_FuncExtCS
Function to find extrema of the distance between a curve and a surface.
Constructors(2)
- Parameters (2)
CS
Instance methods(14)
- Initialize(C: Adaptor3d_Curve, S: Adaptor3d_Surface): void
sets the field mysurf of the function.
Parameters (2)CS
- NbVariables(): number
Returns the number of variables of the function.
- NbEquations(): number
Returns the number of equations of the function.
- Value(X: math_Vector, F: math_Vector): boolean
Calculation of Fi(U,V).
Parameters (2)XF
- Derivatives(X: math_Vector, D: math_Matrix): boolean
Calculation of Fi'(U,V).
Parameters (2)XD
- Values(X: math_Vector, F: math_Vector, D: math_Matrix): boolean
Calculation of Fi(U,V) and Fi'(U,V).
Parameters (3)XFD
- GetStateNumber(): number
Save the found extremum.
- NbExt(): number
Return the number of found extrema.
- SquareDistance(N: number): number
Return the value of the Nth distance.
Parameters (1)N
- PointOnCurve(N: number): Extrema_POnCurv
Returns the Nth extremum on C.
Parameters (1)N
- PointOnSurface(N: number): Extrema_POnSurf
Return the Nth extremum on S.
Parameters (1)N
Change Sequence of SquareDistance.
Change Sequence of PointOnCurv.
Change Sequence of PointOnSurf.
Extrema_FuncExtSS
Function to find extrema of the distance between two surfaces.
Constructors(2)
- Parameters (2)
S1S2
Instance methods(11)
- Initialize(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface): void
sets the field mysurf of the function.
Parameters (2)S1S2
- NbVariables(): number
Returns the number of variables of the function.
- NbEquations(): number
Returns the number of equations of the function.
- Value(X: math_Vector, F: math_Vector): boolean
Calculate Fi(U,V).
Parameters (2)XF
- Derivatives(X: math_Vector, D: math_Matrix): boolean
Calculate Fi'(U,V).
Parameters (2)XD
- Values(X: math_Vector, F: math_Vector, D: math_Matrix): boolean
Calculate Fi(U,V) and Fi'(U,V).
Parameters (3)XFD
- GetStateNumber(): number
Save the found extremum.
- NbExt(): number
Return the number of found extrema.
- SquareDistance(N: number): number
Return the value of the Nth distance.
Parameters (1)N
- PointOnS1(N: number): Extrema_POnSurf
Return the Nth extremum on S1.
Parameters (1)N
- PointOnS2(N: number): Extrema_POnSurf
Renvoie le Nieme extremum sur S2.
Parameters (1)N
Extrema_FuncPSDist
Functional for search of extremum of the square Euclidean distance between point P and surface S, starting from approximate solution (u0, v0).
The class inherits math_MultipleVarFunctionWithGradient and thus is intended for use in math_BFGS algorithm.
The criteria is: F = SquareDist(P, S(u, v)) - > min
The first derivative are: F1(u,v) = (S(u,v) - P) * Su F2(u,v) = (S(u,v) - P) * Sv
Su and Sv are first derivatives of the surface, * symbol means dot product.
Constructors(1)
- constructor(theS: Adaptor3d_Surface, theP: gp_Pnt): Extrema_FuncPSDist
Constructor.
Parameters (2)theStheP
Instance methods(4)
- NbVariables(): number
Number of variables.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
Value.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Gradient(X: math_Vector, G: math_Vector): boolean
Gradient.
Parameters (2)XG
- Values(X: math_Vector, F: number, G: math_Vector): { returnValue: boolean; F: number }
Value and gradient.
Parameters (3)XFG
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
Extrema_FuncPSNorm
Functional for search of extremum of the distance between point P and surface S, starting from approximate solution (u0, v0).
The class inherits math_FunctionSetWithDerivatives and thus is intended for use in math_FunctionSetRoot algorithm .
Denoting derivatives of the surface S(u,v) by u and v, respectively, as Su and Sv, the two functions to be nullified are:
F1(u,v) = (S - P) * Su F2(u,v) = (S - P) * Sv
The derivatives of the functional are:
Duf1(u,v) = Su^2 + (S-P) * Suu; Dvf1(u,v) = Su * Sv + (S-P) * Suv Duf2(u,v) = Sv * Su + (S-P) * Suv = Dvf1 Dvf2(u,v) = Sv^2 + (S-P) * Svv
Here * denotes scalar product, and ^2 is square power.
Constructors(2)
- Parameters (2)
PS
Instance methods(11)
- Initialize(S: Adaptor3d_Surface): void
sets the field mysurf of the function.
Parameters (1)S
sets the field mysurf of the function.
Parameters (1)P
- NbVariables(): number
Returns the number of variables of the function.
- NbEquations(): number
Returns the number of equations of the function.
- Value(X: math_Vector, F: math_Vector): boolean
Calculate Fi(U,V).
Parameters (2)XF
- Derivatives(X: math_Vector, D: math_Matrix): boolean
Calculate Fi'(U,V).
Parameters (2)XD
- Values(X: math_Vector, F: math_Vector, D: math_Matrix): boolean
Calculate Fi(U,V) and Fi'(U,V).
Parameters (3)XFD
- GetStateNumber(): number
Save the found extremum.
- NbExt(): number
Return the number of found extrema.
- SquareDistance(N: number): number
Return the value of the Nth distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the Nth extremum.
Parameters (1)N
Extrema_GenExtCS
It calculates all the extremum distances between acurve and a surface. These distances can be minimum or maximum.
Constructors(3)
Empty constructor.
- constructor(C: Adaptor3d_Curve, S: Adaptor3d_Surface, NbT: number, NbU: number, NbV: number, Tol1: number, Tol2: number): Extrema_GenExtCS
It calculates all the distances. The function F(u,v)=distance(S1(u1,v1),S2(u2,v2)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surfaces. NbU and NbV are used to locate the close points on the surface and NbT on the curve to find the zeros.
Parameters (7)CSNbTNbUNbVTol1Tol2
- constructor(C: Adaptor3d_Curve, S: Adaptor3d_Surface, NbT: number, NbU: number, NbV: number, tmin: number, tsup: number, Umin: number, Usup: number, Vmin: number, Vsup: number, Tol1: number, Tol2: number): Extrema_GenExtCS
It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbT,NbU and NbV are used to locate the close points to find the zeros.
Parameters (13)CSNbTNbUNbVtmintsupUminUsupVminVsupTol1Tol2
Instance methods(9)
- Initialize(S: Adaptor3d_Surface, NbU: number, NbV: number, Tol2: number): voidParameters (4)
SNbUNbVTol2
- Initialize(S: Adaptor3d_Surface, NbU: number, NbV: number, Umin: number, Usup: number, Vmin: number, Vsup: number, Tol2: number): voidParameters (8)
SNbUNbVUminUsupVminVsupTol2
- Perform(C: Adaptor3d_Curve, NbT: number, Tol1: number): void
the algorithm is done with S An exception is raised if the fields have not been initialized.
Parameters (3)CNbTTol1
- Perform(C: Adaptor3d_Curve, NbT: number, tmin: number, tsup: number, Tol1: number): void
the algorithm is done with C An exception is raised if the fields have not been initialized.
Parameters (5)CNbTtmintsupTol1
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- PointOnCurve(N: number): Extrema_POnCurv
Returns the point of the Nth resulting distance.
Parameters (1)N
- PointOnSurface(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_GenExtPS
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.
Constructors(3)
Empty constructor.
- constructor(P: gp_Pnt, S: Adaptor3d_Surface, NbU: number, NbV: number, TolU: number, TolV: number, F?: Extrema_ExtFlag, A?: Extrema_ExtAlgo): Extrema_GenExtPS
It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
Parameters (8)PSNbUNbVTolUTolVFA
- constructor(P: gp_Pnt, S: Adaptor3d_Surface, NbU: number, NbV: number, Umin: number, Usup: number, Vmin: number, Vsup: number, TolU: number, TolV: number, F?: Extrema_ExtFlag, A?: Extrema_ExtAlgo): Extrema_GenExtPS
It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
Parameters (12)PSNbUNbVUminUsupVminVsupTolUTolVFA
Instance methods(9)
- Initialize(S: Adaptor3d_Surface, NbU: number, NbV: number, TolU: number, TolV: number): voidParameters (5)
SNbUNbVTolUTolV
- Initialize(S: Adaptor3d_Surface, NbU: number, NbV: number, Umin: number, Usup: number, Vmin: number, Vsup: number, TolU: number, TolV: number): voidParameters (9)
SNbUNbVUminUsupVminVsupTolUTolV
the algorithm is done with the point P. An exception is raised if the fields have not been initialized.
Parameters (1)P
- SetFlag(F: Extrema_ExtFlag): voidParameters (1)
F
- SetAlgo(A: Extrema_ExtAlgo): voidParameters (1)
A
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- Point(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_GenExtSS
It calculates all the extremum distances between two surfaces. These distances can be minimum or maximum.
Constructors(3)
Empty constructor.
- constructor(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, NbU: number, NbV: number, Tol1: number, Tol2: number): Extrema_GenExtSS
It calculates all the distances. The function F(u,v)=distance(S1(u1,v1),S2(u2,v2)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surfaces. NbU and NbV are used to locate the close points to find the zeros.
Parameters (6)S1S2NbUNbVTol1Tol2
- constructor(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, NbU: number, NbV: number, U1min: number, U1sup: number, V1min: number, V1sup: number, U2min: number, U2sup: number, V2min: number, V2sup: number, Tol1: number, Tol2: number): Extrema_GenExtSS
It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros.
Parameters (14)S1S2NbUNbVU1minU1supV1minV1supU2minU2supV2minV2supTol1Tol2
Instance methods(9)
- Initialize(S2: Adaptor3d_Surface, NbU: number, NbV: number, Tol2: number): voidParameters (4)
S2NbUNbVTol2
- Initialize(S2: Adaptor3d_Surface, NbU: number, NbV: number, U2min: number, U2sup: number, V2min: number, V2sup: number, Tol2: number): voidParameters (8)
S2NbUNbVU2minU2supV2minV2supTol2
- Perform(S1: Adaptor3d_Surface, Tol1: number): void
the algorithm is done with S1 An exception is raised if the fields have not been initialized.
Parameters (2)S1Tol1
- Perform(S1: Adaptor3d_Surface, U1min: number, U1sup: number, V1min: number, V1sup: number, Tol1: number): void
the algorithm is done withS1 An exception is raised if the fields have not been initialized.
Parameters (6)S1U1minU1supV1minV1supTol1
- IsDone(): boolean
Returns True if the distances are found.
- NbExt(): number
Returns the number of extremum distances.
- SquareDistance(N: number): number
Returns the value of the Nth resulting square distance.
Parameters (1)N
- PointOnS1(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
- PointOnS2(N: number): Extrema_POnSurf
Returns the point of the Nth resulting distance.
Parameters (1)N
Extrema_GenLocateExtCS
With two close points it calculates the distance between two surfaces. This distance can be a minimum or a maximum.
Constructors(2)
- constructor(C: Adaptor3d_Curve, S: Adaptor3d_Surface, T: number, U: number, V: number, Tol1: number, Tol2: number): Extrema_GenLocateExtCS
Calculates the distance with two close points. The close points are defined by the parameter values T for C and (U,V) for S. The function F(t,u,v)=distance(C(t),S(u,v)) has an extremun when gradient(F)=0. The algorithm searches a zero near the close points.
Parameters (7)CSTUVTol1Tol2
Instance methods(5)
- Perform(C: Adaptor3d_Curve, S: Adaptor3d_Surface, T: number, U: number, V: number, Tol1: number, Tol2: number): voidParameters (7)
CSTUVTol1Tol2
- IsDone(): boolean
Returns True if the distance is found.
- SquareDistance(): number
Returns the value of the extremum square distance.
Returns the point of the extremum distance on C.
Returns the point of the extremum distance on S.
Extrema_GenLocateExtPS
With a close point, it calculates the distance between a point and a surface. Criteria type is defined in "Perform" method.
Constructors(1)
- constructor(theS: Adaptor3d_Surface, theTolU?: number, theTolV?: number): Extrema_GenLocateExtPS
Constructor.
Parameters (3)theStheTolUtheTolV
Static methods(1)
- IsMinDist(theP: gp_Pnt, theS: Adaptor3d_Surface, theU0: number, theV0: number): boolean
Returns True if UV point theU0, theV0 is point of local minimum of square distance between point theP and points theS(U, V), U, V are in small area around theU0, theV0.
Parameters (4)thePtheStheU0theV0
Instance methods(4)
Calculates the extrema between the point and the surface using a close point. The close point is defined by the parameter values theU0 and theV0. Type of the algorithm depends on the isDistanceCriteria flag. If flag value is false - normal projection criteria will be used. If flag value is true - distance criteria will be used.
Parameters (4)thePtheU0theV0isDistanceCriteria
- IsDone(): boolean
Returns True if the distance is found.
- SquareDistance(): number
Returns the value of the extremum square distance.
Returns the point of the extremum distance.
Extrema_GenLocateExtSS
With two close points it calculates the distance between two surfaces. This distance can be a minimum or a maximum.
Constructors(2)
- constructor(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, U1: number, V1: number, U2: number, V2: number, Tol1: number, Tol2: number): Extrema_GenLocateExtSS
Calculates the distance with two close points. The close points are defined by the parameter values (U1,V1) for S1 and (U2,V2) for S2. The function F(u1,v1,u2,v2)=distance(S1(u1,v1),S2(u2,v2)) has an extremun when gradient(F)=0. The algorithm searches a zero near the close points.
Parameters (8)S1S2U1V1U2V2Tol1Tol2
Instance methods(5)
- Perform(S1: Adaptor3d_Surface, S2: Adaptor3d_Surface, U1: number, V1: number, U2: number, V2: number, Tol1: number, Tol2: number): voidParameters (8)
S1S2U1V1U2V2Tol1Tol2
- IsDone(): boolean
Returns True if the distance is found.
- SquareDistance(): number
Returns the value of the extremum square distance.
Returns the point of the extremum distance on S1.
Returns the point of the extremum distance on S2.
Extrema_GlobOptFuncCCC0
This class implements function which calculate Eucluidean distance between point on curve and point on other curve in case of C1 and C2 continuity is C0.
Constructors(2)
- Parameters (2)
C1C2
- Parameters (2)
C1C2
Instance methods(2)
- NbVariables(): number
Returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
Computes the values of the Functions <F> for the variable <X>. returns True if the computation was done successfully, otherwise false.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
Extrema_GlobOptFuncCCC1
This class implements function which calculate Eucluidean distance between point on curve and point on other curve in case of C1 and C2 continuity is C1.
Constructors(2)
- Parameters (2)
C1C2
- Parameters (2)
C1C2
Instance methods(4)
- NbVariables(): number
Returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
Computes the values of the Functions <F> for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Gradient(X: math_Vector, G: math_Vector): boolean
Computes the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XG
- Values(X: math_Vector, F: number, G: math_Vector): { returnValue: boolean; F: number }
computes the value <F> and the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (3)XFG
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
Extrema_GlobOptFuncCCC2
This class implements function which calculate Eucluidean distance between point on curve and point on other curve in case of C1 and C2 continuity is C2.
Constructors(2)
- Parameters (2)
C1C2
- Parameters (2)
C1C2
Instance methods(5)
- NbVariables(): number
returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
computes the values of the Functions <F> for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Gradient(X: math_Vector, G: math_Vector): boolean
computes the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XG
- Values(X: math_Vector, F: number, G: math_Vector): { returnValue: boolean; F: number }
computes the value <F> and the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (3)XFG
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Values(X: math_Vector, F: number, G: math_Vector, H: math_Matrix): { returnValue: boolean; F: number }
computes the value <F>, the gradient <G> and the hessian <H> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (4)XFGH
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
Extrema_GlobOptFuncConicS
This class implements function which calculate square Eucluidean distance between point on surface and nearest point on Conic.
Constructors(3)
- Parameters (1)
S
Curve and surface should exist during all the lifetime of
Extrema_GlobOptFuncConicS.Parameters (2)CS
- constructor(S: Adaptor3d_Surface, theUf: number, theUl: number, theVf: number, theVl: number): Extrema_GlobOptFuncConicSParameters (5)
StheUftheUltheVftheVl
Instance methods(4)
- LoadConic(S: Adaptor3d_Curve, theTf: number, theTl: number): voidParameters (3)
StheTftheTl
- NbVariables(): number
Returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
Computes the values of the Functions <F> for the variable <X>. returns True if the computation was done successfully, otherwise false.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- ConicParameter(theUV: math_Vector): number
Parameter of conic for point on surface defined by theUV.
Parameters (1)theUV
Extrema_GlobOptFuncCQuadric
This class implements function which calculate square Eucluidean distance between point on surface and nearest point on Conic.
Constructors(3)
Curve and surface should exist during all the lifetime of
Extrema_GlobOptFuncCQuadric.Parameters (1)C
- Parameters (2)
CS
- constructor(C: Adaptor3d_Curve, theTf: number, theTl: number): Extrema_GlobOptFuncCQuadricParameters (3)
CtheTftheTl
Instance methods(4)
- LoadQuad(S: Adaptor3d_Surface, theUf: number, theUl: number, theVf: number, theVl: number): voidParameters (5)
StheUftheUltheVftheVl
- NbVariables(): number
Returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
Computes the values of the Functions <F> for the variable <X>. returns True if the computation was done successfully, otherwise false.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- QuadricParameters(theCT: math_Vector, theUV: math_Vector): void
Parameters of quadric for point on curve defined by theCT.
Parameters (2)theCTtheUV
Extrema_GlobOptFuncCS
This class implements function which calculate square Eucluidean distance between point on curve and point on surface in case of continuity is C2.
Constructors(1)
Curve and surface should exist during all the lifetime of
Extrema_GlobOptFuncCS.Parameters (2)CS
Instance methods(5)
- NbVariables(): number
returns the number of variables of the function.
- Value(X: math_Vector, F: number): { returnValue: boolean; F: number }
computes the values of the Functions <F> for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XF
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Gradient(X: math_Vector, G: math_Vector): boolean
computes the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (2)XG
- Values(X: math_Vector, F: number, G: math_Vector): { returnValue: boolean; F: number }
computes the value <F> and the gradient <G> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (3)XFG
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
- Values(X: math_Vector, F: number, G: math_Vector, H: math_Matrix): { returnValue: boolean; F: number }
computes the value <F>, the gradient <G> and the hessian <H> of the functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Parameters (4)XFGH
ReturnsA result object with fields:
returnValue: the C++ return valueF: updated value from the call.
Extrema_LocateExtCC
It calculates the distance between two curves with a close point; these distances can be maximum or minimum.
Constructors(1)
- constructor(C1: Adaptor3d_Curve, C2: Adaptor3d_Curve, U0: number, V0: number): Extrema_LocateExtCC
Calculates the distance with a close point. The close point is defined by a parameter value on each curve. The function F(u,v)=distance(C1(u),C2(v)) has an extremun when gradient(f)=0. The algorithm searches the zero near the close point.
Parameters (4)C1C2U0V0
Instance methods(3)
- IsDone(): boolean
Returns True if the distance is found.
- SquareDistance(): number
Returns the value of the extremum square distance.
- Point(P1: Extrema_POnCurv, P2: Extrema_POnCurv): void
Returns the points of the extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (2)P1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_LocateExtCC2d
It calculates the distance between two curves with a close point; these distances can be maximum or minimum.
Constructors(1)
- constructor(C1: Adaptor2d_Curve2d, C2: Adaptor2d_Curve2d, U0: number, V0: number): Extrema_LocateExtCC2d
Calculates the distance with a close point. The close point is defined by a parameter value on each curve. The function F(u,v)=distance(C1(u),C2(v)) has an extremun when gradient(f)=0. The algorithm searches the zero near the close point.
Parameters (4)C1C2U0V0
Instance methods(3)
- IsDone(): boolean
Returns True if the distance is found.
- SquareDistance(): number
Returns the value of the extremum square distance.
- Point(P1: Extrema_POnCurv2d, P2: Extrema_POnCurv2d): void
Returns the points of the extremum distance. P1 is on the first curve, P2 on the second one.
Parameters (2)P1—Mutated in place; read the updated value from this argument after the call.P2—Mutated in place; read the updated value from this argument after the call.
Extrema_POnCurv
Definition of a point on curve.
Constructors(2)
Creation of an indefinite point on curve.
- constructor(theU: number, theP: gp_Pnt): Extrema_POnCurv
Creation of a point on curve with a parameter value on the curve and a Pnt from gp.
Parameters (2)theUtheP
Instance methods(3)
Sets the point and parameter values.
Parameters (2)theUtheP
Returns the point.
- Parameter(): number
Returns the parameter on the curve.
Extrema_POnCurv2d
Definition of a point on 2D curve.
Constructors(2)
Creation of an indefinite point on curve.
- constructor(theU: number, theP: gp_Pnt2d): Extrema_POnCurv2d
Creation of a point on curve with a parameter value on the curve and a Pnt from gp.
Parameters (2)theUtheP
Instance methods(3)
Sets the point and parameter values.
Parameters (2)theUtheP
Returns the point.
- Parameter(): number
Returns the parameter on the curve.
Extrema_POnSurf
Definition of a point on surface.
Constructors(2)
Creation of an indefinite point on surface.
- constructor(theU: number, theV: number, theP: gp_Pnt): Extrema_POnSurf
Creation of a point on surface with parameter values on the surface and a Pnt from gp.
Parameters (3)theUtheVtheP
Instance methods(3)
Returns the 3d point.
- SetParameters(theU: number, theV: number, thePnt: gp_Pnt): void
Sets the params of current POnSurf instance. (e.g. to the point to be projected).
Parameters (3)theUtheVthePnt
- Parameter(theU: number, theV: number): { theU: number; theV: number }
Returns the parameter values on the surface.
Parameters (2)theUtheV
ReturnsA result object with fields:
theU: updated value from the call.theV: updated value from the call.
Extrema_POnSurfParams
Data container for point on surface parameters. These parameters are required to compute an initial approximation for extrema computation.
Constructors(2)
empty constructor
- constructor(theU: number, theV: number, thePnt: gp_Pnt): Extrema_POnSurfParams
Creation of a point on surface with parameter values on the surface and a Pnt from gp.
Parameters (3)theUtheVthePnt
Instance methods(6)
- SetSqrDistance(theSqrDistance: number): void
Sets the square distance from this point to another one (e.g. to the point to be projected).
Parameters (1)theSqrDistance
- GetSqrDistance(): number
Query the square distance from this point to another one.
- SetElementType(theElementType: Extrema_ElementType): void
Sets the element type on which this point is situated.
Parameters (1)theElementType
Query the element type on which this point is situated.
- SetIndices(theIndexU: number, theIndexV: number): void
Sets the U and V indices of an element that contains this point.
Parameters (2)theIndexUtheIndexV
- GetIndices(theIndexU: number, theIndexV: number): { theIndexU: number; theIndexV: number }
Query the U and V indices of an element that contains this point.
Parameters (2)theIndexUtheIndexV
ReturnsA result object with fields:
theIndexU: updated value from the call.theIndexV: updated value from the call.