export declare class Adaptor3d_Curve extends Standard_Transient { constructor(); static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; FirstParameter(): Standard_Real; LastParameter(): Standard_Real; Continuity(): GeomAbs_Shape; /** Returns the number of intervals for continuity . May be one if Continuity(me) >= */ NbIntervals(S: GeomAbs_Shape): Standard_Integer; /** Stores in the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() */ Intervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a curve equivalent of between parameters and . is used to test for 3d points confusion. If >= */ Trim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsClosed(): Standard_Boolean; IsPeriodic(): Standard_Boolean; Period(): Standard_Real; /** Computes the point of parameter U on the curve. */ Value(U: Standard_Real): gp_Pnt; /** Computes the point of parameter U on the curve. */ D0(U: Standard_Real, P: gp_Pnt): void; /** Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. */ D1(U: Standard_Real, P: gp_Pnt, V: gp_Vec): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. */ D2(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec): void; /** Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. */ D3(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec, V3: gp_Vec): void; /** The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Returns the parametric resolution corresponding to the real space resolution . */ Resolution(R3d: Standard_Real): Standard_Real; /** Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. */ GetType(): GeomAbs_CurveType; Line(): gp_Lin; Circle(): gp_Circ; Ellipse(): gp_Elips; Hyperbola(): gp_Hypr; Parabola(): gp_Parab; Degree(): Standard_Integer; IsRational(): Standard_Boolean; NbPoles(): Standard_Integer; NbKnots(): Standard_Integer; Bezier(): any; BSpline(): any; OffsetCurve(): any; /** Computes the point of parameter U on the curve. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt; /** Computes the point and first derivative at parameter U. Raises an exception on failure. */ EvalD1(U: Standard_Real): any; /** Computes the point and first two derivatives at parameter U. Raises an exception on failure. */ EvalD2(U: Standard_Real): any; /** Computes the point and first three derivatives at parameter U. Raises an exception on failure. */ EvalD3(U: Standard_Real): any; /** Computes the Nth derivative at parameter U. Raises an exception on failure. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec; delete(): void; [Symbol.dispose](): void; } export declare class Adaptor3d_Surface extends Standard_Transient { constructor(); static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; FirstUParameter(): Standard_Real; LastUParameter(): Standard_Real; FirstVParameter(): Standard_Real; LastVParameter(): Standard_Real; UContinuity(): GeomAbs_Shape; VContinuity(): GeomAbs_Shape; /** Returns the number of U intervals for continuity . May be one if UContinuity(me) >= */ NbUIntervals(S: GeomAbs_Shape): Standard_Integer; /** Returns the number of V intervals for continuity . May be one if VContinuity(me) >= */ NbVIntervals(S: GeomAbs_Shape): Standard_Integer; /** Returns the intervals with the requested continuity in the U direction. */ UIntervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns the intervals with the requested continuity in the V direction. */ VIntervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a surface trimmed in the U direction equivalent of between parameters and . is used to test for 3d points confusion. If >= */ UTrim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; /** Returns a surface trimmed in the V direction between parameters and . is used to test for 3d points confusion. If >= */ VTrim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsUClosed(): Standard_Boolean; IsVClosed(): Standard_Boolean; IsUPeriodic(): Standard_Boolean; UPeriod(): Standard_Real; IsVPeriodic(): Standard_Boolean; VPeriod(): Standard_Real; /** Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point. */ Value(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the point of parameters U,V on the surface. */ D0(U: Standard_Real, V: Standard_Real, P: gp_Pnt): void; /** Computes the point and the first derivatives on the surface. Raised if the continuity of the current intervals is not C1. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point. */ D1(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec): void; /** Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2. */ D2(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec): void; /** Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3. */ D3(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec, D3U: gp_Vec, D3V: gp_Vec, D3UUV: gp_Vec, D3UVV: gp_Vec): void; /** Computes the derivative of order Nu in the direction U and Nv in the direction V at the point P(U, V). Raised if the current U interval is not not CNu and the current V interval is not CNv. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0. */ DN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Returns the parametric U resolution corresponding to the real space resolution . */ UResolution(R3d: Standard_Real): Standard_Real; /** Returns the parametric V resolution corresponding to the real space resolution . */ VResolution(R3d: Standard_Real): Standard_Real; /** Returns the type of the surface: Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface */ GetType(): GeomAbs_SurfaceType; Plane(): gp_Pln; Cylinder(): gp_Cylinder; Cone(): gp_Cone; Sphere(): gp_Sphere; Torus(): gp_Torus; UDegree(): Standard_Integer; NbUPoles(): Standard_Integer; VDegree(): Standard_Integer; NbVPoles(): Standard_Integer; NbUKnots(): Standard_Integer; NbVKnots(): Standard_Integer; IsURational(): Standard_Boolean; IsVRational(): Standard_Boolean; Bezier(): any; BSpline(): any; AxeOfRevolution(): gp_Ax1; Direction(): gp_Dir; BasisCurve(): any; BasisSurface(): any; OffsetValue(): Standard_Real; /** Computes the point of parameters (U, V) on the surface. Raises an exception on failure. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the point and first partial derivatives at (U, V). Raises an exception on failure. */ EvalD1(U: Standard_Real, V: Standard_Real): any; /** Computes the point and partial derivatives up to 2nd order at (U, V). Raises an exception on failure. */ EvalD2(U: Standard_Real, V: Standard_Real): any; /** Computes the point and partial derivatives up to 3rd order at (U, V). Raises an exception on failure. */ EvalD3(U: Standard_Real, V: Standard_Real): any; /** Computes the derivative of order Nu in U and Nv in V at (U, V). Raises an exception on failure. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; delete(): void; [Symbol.dispose](): void; } export declare class Geom_CylindricalSurface extends Geom_ElementarySurface { /** Set so that has the same geometric properties as C. */ SetCylinder(C: gp_Cylinder): void; /** Changes the radius of the cylinder. Raised if R < 0.0 */ SetRadius(R: Standard_Real): void; /** returns a non transient cylinder with the same geometric properties as . */ Cylinder(): gp_Cylinder; /** Return the parameter on the Ureversed surface for the point of parameter U on . Return 2.PI - U. */ UReversedParameter(U: Standard_Real): Standard_Real; /** Return the parameter on the Vreversed surface for the point of parameter V on . Return -V */ VReversedParameter(V: Standard_Real): Standard_Real; /** Computes the parameters on the transformed surface for the transform of the point of parameters U,V on . me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are the new values of U,V after calling me->TransformParameters(U,V,T) This method multiplies V by T.ScaleFactor() */ TransformParameters(T: gp_Trsf): { U: number; V: number }; /** Returns a 2d transformation used to find the new parameters of a point on the transformed surface. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are obtained by transforming U,V with the 2d transformation returned by me->ParametricTransformation(T) This method returns a scale centered on the U axis with T.ScaleFactor */ ParametricTransformation(T: gp_Trsf): gp_GTrsf2d; /** The CylindricalSurface is infinite in the V direction so V1 = Realfirst, V2 = RealLast from package Standard. U1 = 0 and U2 = 2*PI. */ Bounds(): { U1: number; U2: number; V1: number; V2: number }; /** Returns the coefficients of the implicit equation of the quadric in the absolute cartesian coordinate system : These coefficients are normalized. A1.X**2+A2.Y**2+A3.Z**2+2.(B1.X.Y+B2.X.Z+B3.Y.Z)+2.(C1.X+C2.Y+C3.Z)+D=0.0 */ Coefficients(): { A1: number; A2: number; A3: number; B1: number; B2: number; B3: number; C1: number; C2: number; C3: number; D: number }; /** Returns the radius of this cylinder. */ Radius(): Standard_Real; /** Returns True. */ IsUClosed(): Standard_Boolean; /** Returns False. */ IsVClosed(): Standard_Boolean; /** Returns True. */ IsUPeriodic(): Standard_Boolean; /** Returns False. */ IsVPeriodic(): Standard_Boolean; /** The UIso curve is a Line. The location point of this line is on the placement plane (XAxis, YAxis) of the surface. This line is parallel to the axis of symmetry of the surface. */ UIso(U: Standard_Real): any; /** The VIso curve is a circle. The start point of this circle (U = 0) is defined with the "XAxis" of the surface. The center of the circle is on the symmetry axis. */ VIso(V: Standard_Real): any; /** Computes the point P (U, V) on the surface. P (U, V) = Loc + Radius * (cos (U) * XDir + sin (U) * YDir) + V * ZDir where Loc is the origin of the placement plane (XAxis, YAxis) XDir is the direction of the XAxis and YDir the direction of the YAxis. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the current point and the first derivatives in the directions U and V. */ EvalD1(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first and the second derivatives in the directions U and V. */ EvalD2(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first, the second and the third derivatives in the directions U and V. */ EvalD3(U: Standard_Real, V: Standard_Real): any; /** Computes the derivative of order Nu in the direction u and Nv in the direction v. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Applies the transformation T to this cylinder. */ Transform(T: gp_Trsf): void; /** Creates a new object which is a copy of this cylinder. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_CylindricalSurface_1 extends Geom_CylindricalSurface { constructor(A3: gp_Ax3, Radius: Standard_Real); } export declare class Geom_CylindricalSurface_2 extends Geom_CylindricalSurface { constructor(C: gp_Cylinder); } export declare class Geom_Geometry extends Standard_Transient { /** Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry. */ Mirror_1(P: gp_Pnt): void; /** Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry. */ Mirror_2(A1: gp_Ax1): void; /** Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry. */ Mirror_3(A2: gp_Ax2): void; /** Rotates a Geometry. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. */ Rotate(A1: gp_Ax1, Ang: Standard_Real): void; /** Scales a Geometry. S is the scaling value. */ Scale(P: gp_Pnt, S: Standard_Real): void; /** Translates a Geometry. V is the vector of the translation. */ Translate_1(V: gp_Vec): void; /** Translates a Geometry. V is the vector of the translation. */ Translate_2(P1: gp_Pnt, P2: gp_Pnt): void; /** Transformation of a geometric object. This transformation can be a translation, a rotation, a symmetry, a scaling or a complex transformation obtained by combination of the previous elementaries transformations. (see class Transformation of the package Geom). */ Transform(T: gp_Trsf): void; Mirrored_1(P: gp_Pnt): any; Mirrored_2(A1: gp_Ax1): any; Mirrored_3(A2: gp_Ax2): any; Rotated(A1: gp_Ax1, Ang: Standard_Real): any; Scaled(P: gp_Pnt, S: Standard_Real): any; Transformed(T: gp_Trsf): any; Translated_1(V: gp_Vec): any; Translated_2(P1: gp_Pnt, P2: gp_Pnt): any; /** Creates a new object which is a copy of this geometric object. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_ConicalSurface extends Geom_ElementarySurface { /** Set so that has the same geometric properties as C. */ SetCone(C: gp_Cone): void; /** Changes the radius of the conical surface in the placement plane (Z = 0, V = 0). The local coordinate system is not modified. Raised if R < 0.0 */ SetRadius(R: Standard_Real): void; /** Changes the semi angle of the conical surface. Semi-angle can be negative. Its absolute value std::abs(Ang) is in range ]0,PI/2[. Raises ConstructionError if std::abs(Ang) < Resolution from gp or std::abs(Ang) >= PI/2 - Resolution */ SetSemiAngle(Ang: Standard_Real): void; /** Returns a non transient cone with the same geometric properties as . */ Cone(): gp_Cone; /** Eeturn 2.PI - U. */ UReversedParameter(U: Standard_Real): Standard_Real; /** Computes the u (or v) parameter on the modified surface, when reversing its u (or v) parametric direction, for any point of u parameter U (or of v parameter V) on this cone. In the case of a cone, these functions return respectively: 2.*Pi - U, -V. */ VReversedParameter(V: Standard_Real): Standard_Real; /** Changes the orientation of this cone in the v parametric direction. The bounds of the surface are not changed but the v parametric direction is reversed. As a consequence, for a cone: the "main Direction" of the local coordinate system is reversed, and the half-angle at the apex is inverted. */ VReverse(): void; /** Computes the parameters on the transformed surface for the transform of the point of parameters U,V on . me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are the new values of U,V after calling me->TransformParameters(U,V,T) This method multiplies V by T.ScaleFactor() */ TransformParameters(T: gp_Trsf): { U: number; V: number }; /** Returns a 2d transformation used to find the new parameters of a point on the transformed surface. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are obtained by transforming U,V with the 2d transformation returned by me->ParametricTransformation(T) This method returns a scale centered on the U axis with T.ScaleFactor */ ParametricTransformation(T: gp_Trsf): gp_GTrsf2d; /** Computes the apex of this cone. It is on the negative side of the axis of revolution of this cone if the half-angle at the apex is positive, and on the positive side of the "main Axis" if the half-angle is negative. */ Apex(): gp_Pnt; /** The conical surface is infinite in the V direction so V1 = Realfirst from Standard and V2 = RealLast. U1 = 0 and U2 = 2*PI. */ Bounds(): { U1: number; U2: number; V1: number; V2: number }; /** Returns the coefficients of the implicit equation of the quadric in the absolute cartesian coordinate system : These coefficients are normalized. A1.X**2+A2.Y**2+A3.Z**2+2.(B1.X.Y+B2.X.Z+B3.Y.Z)+2.(C1.X+C2.Y+C3.Z)+D= 0.0 */ Coefficients(): { A1: number; A2: number; A3: number; B1: number; B2: number; B3: number; C1: number; C2: number; C3: number; D: number }; /** Returns the reference radius of this cone. The reference radius is the radius of the circle formed by the intersection of this cone and its reference plane (i.e. the plane defined by the origin, "X Direction" and "Y Direction" of the local coordinate system of this cone). If the apex of this cone is on the origin of the local coordinate system of this cone, the returned value is 0. */ RefRadius(): Standard_Real; /** Returns the semi-angle at the apex of this cone. Attention! Semi-angle can be negative. */ SemiAngle(): Standard_Real; /** returns True. */ IsUClosed(): Standard_Boolean; /** returns False. */ IsVClosed(): Standard_Boolean; /** Returns True. */ IsUPeriodic(): Standard_Boolean; /** Returns False. */ IsVPeriodic(): Standard_Boolean; /** Builds the U isoparametric line of this cone. The origin of this line is on the reference plane of this cone (i.e. the plane defined by the origin, "X Direction" and "Y Direction" of the local coordinate system of this cone). */ UIso(U: Standard_Real): any; /** Builds the V isoparametric circle of this cone. It is the circle on this cone, located in the plane of Z coordinate V*cos(Semi-Angle) in the local coordinate system of this cone. The "Axis" of this circle is the axis of revolution of this cone. Its starting point is defined by the "X Direction" of this cone. Warning If the V isoparametric circle is close to the apex of this cone, the radius of the circle becomes very small. It is possible to have a circle with radius equal to 0.0. */ VIso(V: Standard_Real): any; /** Computes the point P (U, V) on the surface. P(U,V)=Loc+ (RefRadius+V*sin(Semi-Angle))*(cos(U)*XDir+sin(U)*YDir)+ V*cos(Semi-Angle)*ZDir where Loc is the origin of the placement plane (XAxis, YAxis) XDir is the direction of the XAxis and YDir the direction of the YAxis. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the current point and the first derivatives in the directions U and V. */ EvalD1(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first and the second derivatives in the directions U and V. */ EvalD2(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first,the second and the third derivatives in the directions U and V. */ EvalD3(U: Standard_Real, V: Standard_Real): any; /** Computes the derivative of order Nu in the u parametric direction, and Nv in the v parametric direction at the point of parameters (U, V) of this cone. Exceptions Standard_RangeError if: Nu + Nv is less than 1, Nu or Nv is negative. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Applies the transformation T to this cone. */ Transform(T: gp_Trsf): void; /** Creates a new object which is a copy of this cone. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_ConicalSurface_1 extends Geom_ConicalSurface { constructor(A3: gp_Ax3, Ang: Standard_Real, Radius: Standard_Real); } export declare class Geom_ConicalSurface_2 extends Geom_ConicalSurface { constructor(C: gp_Cone); } export declare class Geom_BezierCurve extends Geom_BoundedCurve { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Increases the degree of a bezier curve. Degree is the new degree of . Raises ConstructionError if Degree is greater than MaxDegree or lower than 2 or lower than the initial degree of . */ Increase(Degree: Standard_Integer): void; /** Inserts a pole P after the pole of range Index. If the curve is rational the weight value for the new pole of range Index is 1.0. raised if Index is not in the range [1, NbPoles] raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleAfter_1(Index: Standard_Integer, P: gp_Pnt): void; /** Inserts a pole P after the pole of range Index. If the curve is rational the weight value for the new pole of range Index is 1.0. raised if Index is not in the range [1, NbPoles] raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleAfter_2(Index: Standard_Integer, P: gp_Pnt, Weight: Standard_Real): void; /** Inserts a pole P before the pole of range Index. If the curve is rational the weight value for the new pole of range Index is 1.0. Raised if Index is not in the range [1, NbPoles] Raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleBefore_1(Index: Standard_Integer, P: gp_Pnt): void; /** Inserts a pole P before the pole of range Index. If the curve is rational the weight value for the new pole of range Index is 1.0. Raised if Index is not in the range [1, NbPoles] Raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleBefore_2(Index: Standard_Integer, P: gp_Pnt, Weight: Standard_Real): void; /** Removes the pole of range Index. If the curve was rational it can become non rational. Raised if Index is not in the range [1, NbPoles] Raised if Degree is lower than 2. */ RemovePole(Index: Standard_Integer): void; /** Reverses the direction of parametrization of Value (NewU) = Value (1 - OldU) */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . returns 1-U */ ReversedParameter(U: Standard_Real): Standard_Real; /** Segments the curve between U1 and U2 which can be out of the bounds of the curve. The curve is oriented from U1 to U2. The control points are modified, the first and the last point are not the same but the parametrization range is [0, 1] else it could not be a Bezier curve. Warnings : Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the curve or if the curve makes loop. After the segmentation the length of a curve can be null. */ Segment(U1: Standard_Real, U2: Standard_Real): void; /** Substitutes the pole of range index with P. If the curve is rational the weight of range Index is not modified. raiseD if Index is not in the range [1, NbPoles] */ SetPole_1(Index: Standard_Integer, P: gp_Pnt): void; /** Substitutes the pole of range index with P. If the curve is rational the weight of range Index is not modified. raiseD if Index is not in the range [1, NbPoles] */ SetPole_2(Index: Standard_Integer, P: gp_Pnt, Weight: Standard_Real): void; /** Changes the weight of the pole of range Index. If the curve is not rational it can become rational if all the weights are not identical. If the curve was rational it can become non rational if all the weights are identical. Raised if Index is not in the range [1, NbPoles] Raised if Weight <= Resolution from package gp */ SetWeight(Index: Standard_Integer, Weight: Standard_Real): void; /** Returns True if the distance between the first point and the last point of the curve is lower or equal to the Resolution from package gp. */ IsClosed(): Standard_Boolean; /** Continuity of the curve, returns True. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Returns True if the parametrization of a curve is periodic. (P(u) = P(u + T) T = constante) */ IsPeriodic(): Standard_Boolean; /** Returns false if all the weights are identical. The tolerance criterion is Resolution from package gp. */ IsRational(): Standard_Boolean; /** a Bezier curve is CN */ Continuity(): GeomAbs_Shape; /** Returns the polynomial degree of the curve. it is the number of poles - 1 point P and derivatives (V1, V2, V3) computation The Bezier Curve has a Polynomial representation so the parameter U can be out of the bounds of the curve. */ Degree(): Standard_Integer; /** Computes the point of parameter U. Raises an exception on failure (e.g. OffsetCurve at singular point). */ EvalD0(U: Standard_Real): gp_Pnt; /** Computes the point and first derivative at parameter U. Raises an exception if the curve continuity is not C1. */ EvalD1(U: Standard_Real): any; /** Computes the point and first two derivatives at parameter U. Raises an exception if the curve continuity is not C2. */ EvalD2(U: Standard_Real): any; /** For this Bezier curve, computes the point P of parameter U, or the point P and one or more of the following values: V1, the first derivative vector, V2, the second derivative vector, V3, the third derivative vector. Note: the parameter U can be outside the bounds of the curve. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this Bezier curve, computes the vector corresponding to the Nth derivative. Note: the parameter U can be outside the bounds of the curve. Exceptions Standard_RangeError if N is less than 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Returns Value (U=0.), it is the first control point of the curve. */ StartPoint(): gp_Pnt; /** Returns Value (U=1.), it is the last control point of the Bezier curve. */ EndPoint(): gp_Pnt; /** Returns the value of the first parameter of this Bezier curve. This is 0.0, which gives the start point of this Bezier curve */ FirstParameter(): Standard_Real; /** Returns the value of the last parameter of this Bezier curve. This is 1.0, which gives the end point of this Bezier curve. */ LastParameter(): Standard_Real; /** Returns the number of poles of this Bezier curve. */ NbPoles(): Standard_Integer; /** Returns the pole of range Index. Raised if Index is not in the range [1, NbPoles] */ Pole(Index: Standard_Integer): gp_Pnt; /** Returns all the poles of the curve. */ Poles_1(P: TColgp_Array1OfPnt): void; /** Returns all the poles of the curve. */ Poles_2(): TColgp_Array1OfPnt; /** Returns the weight of range Index. Raised if Index is not in the range [1, NbPoles] */ Weight(Index: Standard_Integer): Standard_Real; /** Returns all the weights of the curve. */ Weights_1(W: TColStd_Array1OfReal): void; /** Returns all the weights of the curve. */ Weights_2(): TColStd_Array1OfReal; /** Returns a const reference to the weights array. For rational curves: the internal owning weights array. For non-rational curves: a non-owning view of unit weights from BSplCLib. The array is always sized to match NbPoles(). Do NOT modify elements through the returned reference. */ WeightsArray(): TColStd_Array1OfReal; /** Applies the transformation T to this Bezier curve. */ Transform(T: gp_Trsf): void; /** Returns the value of the maximum polynomial degree of any Geom_BezierCurve curve. This value is 25. */ static MaxDegree(): Standard_Integer; /** 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, UTolerance ensures that: |t1-t0| < UTolerance ===> |f(t1)-f(t0)| < Tolerance3D */ Resolution(Tolerance3D: Standard_Real): { UTolerance: number }; /** Creates a new object which is a copy of this Bezier curve. */ Copy(): any; /** Returns Bezier knots {0.0, 1.0} as a static array. */ Knots(): TColStd_Array1OfReal; /** Returns Bezier multiplicities for the current degree. */ Multiplicities(): TColStd_Array1OfInteger; /** Returns Bezier flat knots for the current degree. */ KnotSequence(): TColStd_Array1OfReal; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_BezierCurve_1 extends Geom_BezierCurve { constructor(CurvePoles: TColgp_Array1OfPnt); } export declare class Geom_BezierCurve_2 extends Geom_BezierCurve { constructor(CurvePoles: TColgp_Array1OfPnt, PoleWeights: TColStd_Array1OfReal); } export declare class Geom_BezierCurve_3 extends Geom_BezierCurve { constructor(theOther: Geom_BezierCurve); } export declare class Geom_TrimmedCurve extends Geom_BoundedCurve { /** Constructs a trimmed curve from the basis curve C which is limited between parameter values U1 and U2. Note: - U1 can be greater or less than U2; in both cases, the returned curve is oriented from U1 to U2. If the basis curve C is periodic, there is an ambiguity because two parts are available. In this case, the trimmed curve has the same orientation as the basis curve if Sense is true (default value) or the opposite orientation if Sense is false. If the curve is closed but not periodic, it is not possible to keep the part of the curve which includes the junction point (except if the junction point is at the beginning or at the end of the trimmed curve). If you tried to do this, you could alter the fundamental characteristics of the basis curve, which are used, for example, to compute the derivatives of the trimmed curve. The rules for a closed curve are therefore the same as those for an open curve. Warning: The trimmed curve is built from a copy of curve C. Therefore, when C is modified, the trimmed curve is not modified. If the basis curve is periodic and theAdjustPeriodic is True, the bounds of the trimmed curve may be different from U1 and U2 if the parametric origin of the basis curve is within the arc of the trimmed curve. In this case, the modified parameter will be equal to U1 or U2 plus or minus the period. When theAdjustPeriodic is False, parameters U1 and U2 will be the same, without adjustment into the first period. Exceptions Standard_ConstructionError if: C is not periodic and U1 or U2 is outside the bounds of C, or U1 is equal to U2. */ constructor(C: any, U1: Standard_Real, U2: Standard_Real, Sense: Standard_Boolean, theAdjustPeriodic: Standard_Boolean) /** Changes the orientation of this trimmed curve. As a result: the basis curve is reversed, the start point of the initial curve becomes the end point of the reversed curve, the end point of the initial curve becomes the start point of the reversed curve, the first and last parameters are recomputed. If the trimmed curve was defined by: a basis curve whose parameter range is [ 0., 1. ], the two trim values U1 (first parameter) and U2 (last parameter), the reversed trimmed curve is defined by: the reversed basis curve, whose parameter range is still [ 0., 1. ], the two trim values 1. - U2 (first parameter) and 1. - U1 (last parameter). */ Reverse(): void; /** Computes the parameter on the reversed curve for the point of parameter U on this trimmed curve. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Changes this trimmed curve, by redefining the parameter values U1 and U2 which limit its basis curve. Note: If the basis curve is periodic, the trimmed curve has the same orientation as the basis curve if Sense is true (default value) or the opposite orientation if Sense is false. Warning If the basis curve is periodic and theAdjustPeriodic is True, the bounds of the trimmed curve may be different from U1 and U2 if the parametric origin of the basis curve is within the arc of the trimmed curve. In this case, the modified parameter will be equal to U1 or U2 plus or minus the period. When theAdjustPeriodic is False, parameters U1 and U2 will be the same, without adjustment into the first period. Exceptions Standard_ConstructionError if: the basis curve is not periodic, and either U1 or U2 are outside the bounds of the basis curve, or U1 is equal to U2. */ SetTrim(U1: Standard_Real, U2: Standard_Real, Sense: Standard_Boolean, theAdjustPeriodic: Standard_Boolean): void; /** Returns the basis curve. Warning This function does not return a constant reference. Consequently, any modification of the returned value directly modifies the trimmed curve. */ BasisCurve(): any; /** Returns the continuity of the curve : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, CN : the order of continuity is infinite. */ Continuity(): GeomAbs_Shape; /** Returns true if the degree of continuity of the basis curve of this trimmed curve is at least N. A trimmed curve is at least "C0" continuous. Warnings : The continuity of the trimmed curve can be greater than the continuity of the basis curve because you consider only a part of the basis curve. Raised if N < 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Returns the end point of . This point is the evaluation of the curve for the "LastParameter". */ EndPoint(): gp_Pnt; /** Returns the value of the first parameter of . The first parameter is the parameter of the "StartPoint" of the trimmed curve. */ FirstParameter(): Standard_Real; /** Returns True if the distance between the StartPoint and the EndPoint is lower or equal to Resolution from package gp. */ IsClosed(): Standard_Boolean; /** Always returns FALSE (independently of the type of basis curve). */ IsPeriodic(): Standard_Boolean; /** Returns the period of the basis curve of this trimmed curve. Exceptions Standard_NoSuchObject if the basis curve is not periodic. */ Period(): Standard_Real; /** Returns the value of the last parameter of . The last parameter is the parameter of the "EndPoint" of the trimmed curve. */ LastParameter(): Standard_Real; /** Returns the start point of . This point is the evaluation of the curve from the "FirstParameter". value and derivatives Warnings : The returned derivatives have the same orientation as the derivatives of the basis curve even if the trimmed curve has not the same orientation as the basis curve. */ StartPoint(): gp_Pnt; /** Returns the point of parameter U. If the basis curve is an OffsetCurve sometimes it is not possible to do the evaluation of the curve at the parameter U (see class OffsetCurve). */ EvalD0(U: Standard_Real): gp_Pnt; /** Raised if the continuity of the curve is not C1. */ EvalD1(U: Standard_Real): any; /** Raised if the continuity of the curve is not C2. */ EvalD2(U: Standard_Real): any; /** Raised if the continuity of the curve is not C3. */ EvalD3(U: Standard_Real): any; /** N is the order of derivation. Raised if the continuity of the curve is not CN. Raised if N < 1. geometric transformations */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Applies the transformation T to this trimmed curve. Warning The basis curve is also modified. */ Transform(T: gp_Trsf): void; /** Returns the parameter on the transformed curve for the transform of the point of parameter U on . me->Transformed(T)->Value(me->TransformedParameter(U,T)) is the same point as me->Value(U).Transformed(T) This methods calls the basis curve method. */ TransformedParameter(U: Standard_Real, T: gp_Trsf): Standard_Real; /** Returns a coefficient to compute the parameter on the transformed curve for the transform of the point on . Transformed(T)->Value(U * ParametricTransformation(T)) is the same point as Value(U).Transformed(T) This methods calls the basis curve method. */ ParametricTransformation(T: gp_Trsf): Standard_Real; /** Creates a new object which is a copy of this trimmed curve. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_ElementarySurface extends Geom_Surface { /** Changes the main axis (ZAxis) of the elementary surface. Raised if the direction of A1 is parallel to the XAxis of the coordinate system of the surface. */ SetAxis(theA1: gp_Ax1): void; /** Changes the location of the local coordinates system of the surface. */ SetLocation(theLoc: gp_Pnt): void; /** Changes the local coordinates system of the surface. */ SetPosition(theAx3: gp_Ax3): void; /** Returns the main axis of the surface (ZAxis). */ Axis(): gp_Ax1; /** Returns the location point of the local coordinate system of the surface. */ Location(): gp_Pnt; /** Returns the local coordinates system of the surface. */ Position(): gp_Ax3; /** Reverses the U parametric direction of the surface. */ UReverse(): void; /** Return the parameter on the Ureversed surface for the point of parameter U on . me->UReversed()->Value(me->UReversedParameter(U),V) is the same point as me->Value(U,V) */ UReversedParameter(U: Standard_Real): Standard_Real; /** Reverses the V parametric direction of the surface. */ VReverse(): void; /** Return the parameter on the Vreversed surface for the point of parameter V on . me->VReversed()->Value(U,me->VReversedParameter(V)) is the same point as me->Value(U,V) */ VReversedParameter(V: Standard_Real): Standard_Real; /** Returns GeomAbs_CN, the global continuity of any elementary surface. */ Continuity(): GeomAbs_Shape; /** Returns True. */ IsCNu(N: Standard_Integer): Standard_Boolean; /** Returns True. */ IsCNv(N: Standard_Integer): Standard_Boolean; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_BoundedSurface extends Geom_Surface { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_Curve extends Geom_Geometry { /** Changes the direction of parametrization of . The "FirstParameter" and the "LastParameter" are not changed but the orientation of the curve is modified. If the curve is bounded the StartPoint of the initial curve becomes the EndPoint of the reversed curve and the EndPoint of the initial curve becomes the StartPoint of the reversed curve. */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . me->Reversed()->Value(me->ReversedParameter(U)) is the same point as me->Value(U) */ ReversedParameter(U: Standard_Real): Standard_Real; /** Returns the parameter on the transformed curve for the transform of the point of parameter U on . me->Transformed(T)->Value(me->TransformedParameter(U,T)) is the same point as me->Value(U).Transformed(T) This methods returns It can be redefined. For example on the Line. */ TransformedParameter(U: Standard_Real, T: gp_Trsf): Standard_Real; /** Returns a coefficient to compute the parameter on the transformed curve for the transform of the point on . Transformed(T)->Value(U * ParametricTransformation(T)) is the same point as Value(U).Transformed(T) This methods returns 1. It can be redefined. For example on the Line. */ ParametricTransformation(T: gp_Trsf): Standard_Real; /** Returns a copy of reversed. */ Reversed(): any; /** Returns the value of the first parameter. Warnings : It can be RealFirst from package Standard if the curve is infinite */ FirstParameter(): Standard_Real; /** Returns the value of the last parameter. Warnings : It can be RealLast from package Standard if the curve is infinite */ LastParameter(): Standard_Real; /** Returns true if the curve is closed. Some curves such as circle are always closed, others such as line are never closed (by definition). Some Curves such as OffsetCurve can be closed or not. These curves are considered as closed if the distance between the first point and the last point of the curve is lower or equal to the Resolution from package gp which is a fixed criterion independent of the application. */ IsClosed(): Standard_Boolean; /** Is the parametrization of the curve periodic ? It is possible only if the curve is closed and if the following relation is satisfied : for each parametric value U the distance between the point P(u) and the point P (u + T) is lower or equal to Resolution from package gp, T is the period and must be a constant. There are three possibilities : . the curve is never periodic by definition (SegmentLine) . the curve is always periodic by definition (Circle) . the curve can be defined as periodic (BSpline). In this case a function SetPeriodic allows you to give the shape of the curve. The general rule for this case is : if a curve can be periodic or not the default periodicity set is non periodic and you have to turn (explicitly) the curve into a periodic curve if you want the curve to be periodic. */ IsPeriodic(): Standard_Boolean; /** Returns the period of this curve. Exceptions Standard_NoSuchObject if this curve is not periodic. */ Period(): Standard_Real; /** It is the global continuity of the curve C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, G1 : tangency continuity all along the Curve, G2 : curvature continuity all along the Curve, CN : the order of continuity is infinite. */ Continuity(): GeomAbs_Shape; /** Returns true if the degree of continuity of this curve is at least N. Exceptions - Standard_RangeError if N is less than 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Computes the point of parameter U. Raises an exception on failure (e.g. OffsetCurve at singular point). */ EvalD0(U: Standard_Real): gp_Pnt; /** Computes the point and first derivative at parameter U. Raises an exception if the curve continuity is not C1. */ EvalD1(U: Standard_Real): ResD1; /** Computes the point and first two derivatives at parameter U. Raises an exception if the curve continuity is not C2. */ EvalD2(U: Standard_Real): ResD2; /** Computes the point and first three derivatives at parameter U. Raises an exception if the curve continuity is not C3. */ EvalD3(U: Standard_Real): ResD3; /** Computes the Nth derivative at parameter U. Raises an exception if the curve continuity is not CN, or N < 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Returns in P the point of parameter U. */ D0(U: Standard_Real, P: gp_Pnt): void; /** Returns the point P of parameter U and the first derivative V1. */ D1(U: Standard_Real, P: gp_Pnt, V1: gp_Vec): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. */ D2(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec): void; /** Returns the point P of parameter U, the first, the second and the third derivative. */ D3(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec, V3: gp_Vec): void; /** The returned vector gives the value of the derivative for the order of derivation N. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Computes the point of parameter U on . It is implemented with D0. */ Value(U: Standard_Real): gp_Pnt; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_Surface extends Geom_Geometry { /** Reverses the U direction of parametrization of . The bounds of the surface are not modified. */ UReverse(): void; /** Reverses the U direction of parametrization of . The bounds of the surface are not modified. A copy of is returned. */ UReversed(): any; /** Returns the parameter on the Ureversed surface for the point of parameter U on . me->UReversed()->Value(me->UReversedParameter(U),V) is the same point as me->Value(U,V) */ UReversedParameter(U: Standard_Real): Standard_Real; /** Reverses the V direction of parametrization of . The bounds of the surface are not modified. */ VReverse(): void; /** Reverses the V direction of parametrization of . The bounds of the surface are not modified. A copy of is returned. */ VReversed(): any; /** Returns the parameter on the Vreversed surface for the point of parameter V on . me->VReversed()->Value(U,me->VReversedParameter(V)) is the same point as me->Value(U,V) */ VReversedParameter(V: Standard_Real): Standard_Real; /** Computes the parameters on the transformed surface for the transform of the point of parameters U,V on . me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are the new values of U,V after calling me->TransformParameters(U,V,T) This method does not change and It can be redefined. For example on the Plane, Cylinder, Cone, Revolved and Extruded surfaces. */ TransformParameters(T: gp_Trsf): { U: number; V: number }; /** Returns a 2d transformation used to find the new parameters of a point on the transformed surface. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are obtained by transforming U,V with the 2d transformation returned by me->ParametricTransformation(T) This method returns an identity transformation It can be redefined. For example on the Plane, Cylinder, Cone, Revolved and Extruded surfaces. */ ParametricTransformation(T: gp_Trsf): gp_GTrsf2d; /** Returns the parametric bounds U1, U2, V1 and V2 of this surface. If the surface is infinite, this function can return a value equal to Precision::Infinite: instead of double::LastReal. */ Bounds(): { U1: number; U2: number; V1: number; V2: number }; /** Checks whether this surface is closed in the u parametric direction. Returns true if, in the u parametric direction: taking uFirst and uLast as the parametric bounds in the u parametric direction, for each parameter v, the distance between the points P(uFirst, v) and P(uLast, v) is less than or equal to gp::Resolution(). */ IsUClosed(): Standard_Boolean; /** Checks whether this surface is closed in the u parametric direction. Returns true if, in the v parametric direction: taking vFirst and vLast as the parametric bounds in the v parametric direction, for each parameter u, the distance between the points P(u, vFirst) and P(u, vLast) is less than or equal to gp::Resolution(). */ IsVClosed(): Standard_Boolean; /** Checks if this surface is periodic in the u parametric direction. Returns true if: this surface is closed in the u parametric direction, and there is a constant T such that the distance between the points P (u, v) and P (u + T, v) (or the points P (u, v) and P (u, v + T)) is less than or equal to gp::Resolution(). Note: T is the parametric period in the u parametric direction. */ IsUPeriodic(): Standard_Boolean; /** Returns the period of this surface in the u parametric direction. Raises if the surface is not uperiodic. */ UPeriod(): Standard_Real; /** Checks if this surface is periodic in the v parametric direction. Returns true if: this surface is closed in the v parametric direction, and there is a constant T such that the distance between the points P (u, v) and P (u + T, v) (or the points P (u, v) and P (u, v + T)) is less than or equal to gp::Resolution(). Note: T is the parametric period in the v parametric direction. */ IsVPeriodic(): Standard_Boolean; /** Returns the period of this surface in the v parametric direction. raises if the surface is not vperiodic. */ VPeriod(): Standard_Real; /** Computes the U isoparametric curve. */ UIso(U: Standard_Real): any; /** Computes the V isoparametric curve. */ VIso(V: Standard_Real): any; /** Returns the Global Continuity of the surface in direction U and V : C0: only geometric continuity, C1: continuity of the first derivative all along the surface, C2: continuity of the second derivative all along the surface, C3: continuity of the third derivative all along the surface, G1: tangency continuity all along the surface, G2: curvature continuity all along the surface, CN: the order of continuity is infinite. Example: If the surface is C1 in the V parametric direction and C2 in the U parametric direction Shape = C1. */ Continuity(): GeomAbs_Shape; /** Returns the order of continuity of the surface in the U parametric direction. Raised if N < 0. */ IsCNu(N: Standard_Integer): Standard_Boolean; /** Returns the order of continuity of the surface in the V parametric direction. Raised if N < 0. */ IsCNv(N: Standard_Integer): Standard_Boolean; /** Computes the point of parameter (U, V) on the surface. Raises an exception on failure. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the point and first partial derivatives at (U, V). Raises an exception if the surface continuity is not C1. */ EvalD1(U: Standard_Real, V: Standard_Real): ResD1; /** Computes the point and partial derivatives up to 2nd order at (U, V). Raises an exception if the surface continuity is not C2. */ EvalD2(U: Standard_Real, V: Standard_Real): ResD2; /** Computes the point and partial derivatives up to 3rd order at (U, V). Raises an exception if the surface continuity is not C3. */ EvalD3(U: Standard_Real, V: Standard_Real): ResD3; /** Computes the derivative of order Nu in U and Nv in V at the point (U, V). Raises an exception on failure. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Computes the point of parameter (U, V). */ D0(U: Standard_Real, V: Standard_Real, P: gp_Pnt): void; /** Computes the point and first partial derivatives. */ D1(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec): void; /** Computes the point and partial derivatives up to 2nd order. */ D2(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec): void; /** Computes the point and partial derivatives up to 3rd order. */ D3(U: Standard_Real, V: Standard_Real, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec, D3U: gp_Vec, D3V: gp_Vec, D3UUV: gp_Vec, D3UVV: gp_Vec): void; /** Computes the derivative of order Nu in U and Nv in V. */ DN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Computes the point of parameter (U, V) on the surface. Implemented with D0. */ Value(U: Standard_Real, V: Standard_Real): gp_Pnt; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_SphericalSurface extends Geom_ElementarySurface { /** Assigns the value R to the radius of this sphere. Exceptions Standard_ConstructionError if R is less than 0.0. */ SetRadius(R: Standard_Real): void; /** Converts the gp_Sphere S into this sphere. */ SetSphere(S: gp_Sphere): void; /** Returns a non persistent sphere with the same geometric properties as . */ Sphere(): gp_Sphere; /** Computes the u parameter on the modified surface, when reversing its u parametric direction, for any point of u parameter U on this sphere. In the case of a sphere, these functions returns 2.PI - U. */ UReversedParameter(U: Standard_Real): Standard_Real; /** Computes the v parameter on the modified surface, when reversing its v parametric direction, for any point of v parameter V on this sphere. In the case of a sphere, these functions returns -U. */ VReversedParameter(V: Standard_Real): Standard_Real; /** Computes the area of the spherical surface. */ Area(): Standard_Real; /** Returns the parametric bounds U1, U2, V1 and V2 of this sphere. For a sphere: U1 = 0, U2 = 2*PI, V1 = -PI/2, V2 = PI/2. */ Bounds(): { U1: number; U2: number; V1: number; V2: number }; /** Returns the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : These coefficients are normalized. A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) + 2.(C1.X + C2.Y + C3.Z) + D = 0.0 */ Coefficients(): { A1: number; A2: number; A3: number; B1: number; B2: number; B3: number; C1: number; C2: number; C3: number; D: number }; /** Computes the coefficients of the implicit equation of this quadric in the absolute Cartesian coordinate system: A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) + 2.(C1.X + C2.Y + C3.Z) + D = 0.0 An implicit normalization is applied (i.e. A1 = A2 = 1. in the local coordinate system of this sphere). */ Radius(): Standard_Real; /** Computes the volume of the spherical surface. */ Volume(): Standard_Real; /** Returns True. */ IsUClosed(): Standard_Boolean; /** Returns False. */ IsVClosed(): Standard_Boolean; /** Returns True. */ IsUPeriodic(): Standard_Boolean; /** Returns False. */ IsVPeriodic(): Standard_Boolean; /** Computes the U isoparametric curve. The U isoparametric curves of the surface are defined by the section of the spherical surface with plane obtained by rotation of the plane (Location, XAxis, ZAxis) around ZAxis. This plane defines the origin of parametrization u. For a SphericalSurface the UIso curve is a Circle. Warnings : The radius of this circle can be zero. */ UIso(U: Standard_Real): any; /** Computes the V isoparametric curve. The V isoparametric curves of the surface are defined by the section of the spherical surface with plane parallel to the plane (Location, XAxis, YAxis). This plane defines the origin of parametrization V. Be careful if V is close to PI/2 or 3*PI/2 the radius of the circle becomes tiny. It is not forbidden in this toolkit to create circle with radius = 0.0 For a SphericalSurface the VIso curve is a Circle. Warnings : The radius of this circle can be zero. */ VIso(V: Standard_Real): any; /** Computes the point P (U, V) on the surface. P (U, V) = Loc + Radius * Sin (V) * Zdir + Radius * Cos (V) * (cos (U) * XDir + sin (U) * YDir) where Loc is the origin of the placement plane (XAxis, YAxis) XDir is the direction of the XAxis and YDir the direction of the YAxis and ZDir the direction of the ZAxis. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the current point and the first derivatives in the directions U and V. */ EvalD1(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first and the second derivatives in the directions U and V. */ EvalD2(U: Standard_Real, V: Standard_Real): any; /** Computes the current point, the first,the second and the third derivatives in the directions U and V. */ EvalD3(U: Standard_Real, V: Standard_Real): any; /** Computes the derivative of order Nu in the direction u and Nv in the direction v. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Applies the transformation T to this sphere. */ Transform(T: gp_Trsf): void; /** Creates a new object which is a copy of this sphere. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_SphericalSurface_1 extends Geom_SphericalSurface { constructor(A3: gp_Ax3, Radius: Standard_Real); } export declare class Geom_SphericalSurface_2 extends Geom_SphericalSurface { constructor(S: gp_Sphere); } export declare class Geom_BoundedCurve extends Geom_Curve { /** Returns the end point of the curve. */ EndPoint(): gp_Pnt; /** Returns the start point of the curve. */ StartPoint(): gp_Pnt; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_BSplineSurface extends Geom_BoundedSurface { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Exchanges the u and v parametric directions on this BSpline surface. As a consequence: the poles and weights tables are transposed, the knots and multiplicities tables are exchanged, degrees of continuity, and rational, periodic and uniform characteristics are exchanged, and the orientation of the surface is inverted. */ ExchangeUV(): void; /** Sets the surface U periodic. Modifies this surface to be periodic in the U parametric direction. To become periodic in a given parametric direction a surface must be closed in that parametric direction, and the knot sequence relative to that direction must be periodic. To generate this periodic sequence of knots, the functions FirstUKnotIndex and LastUKnotIndex are used to compute I1 and I2. These are the indexes, in the knot array associated with the given parametric direction, of the knots that correspond to the first and last parameters of this BSpline surface in the given parametric direction. Hence the period is: Knots(I1) - Knots(I2) As a result, the knots and poles tables are modified. Exceptions Standard_ConstructionError if the surface is not closed in the given parametric direction. */ SetUPeriodic(): void; /** Sets the surface V periodic. Modifies this surface to be periodic in the V parametric direction. To become periodic in a given parametric direction a surface must be closed in that parametric direction, and the knot sequence relative to that direction must be periodic. To generate this periodic sequence of knots, the functions FirstVKnotIndex and LastVKnotIndex are used to compute I1 and I2. These are the indexes, in the knot array associated with the given parametric direction, of the knots that correspond to the first and last parameters of this BSpline surface in the given parametric direction. Hence the period is: Knots(I1) - Knots(I2) As a result, the knots and poles tables are modified. Exceptions Standard_ConstructionError if the surface is not closed in the given parametric direction. */ SetVPeriodic(): void; /** returns the parameter normalized within the period if the surface is periodic : otherwise does not do anything */ PeriodicNormalization(): { U: number; V: number }; /** Assigns the knot of index Index in the knots table in the corresponding parametric direction to be the origin of this periodic BSpline surface. As a consequence, the knots and poles tables are modified. Exceptions Standard_NoSuchObject if this BSpline surface is not periodic in the given parametric direction. Standard_DomainError if Index is outside the bounds of the knots table in the given parametric direction. */ SetUOrigin(Index: Standard_Integer): void; /** Assigns the knot of index Index in the knots table in the corresponding parametric direction to be the origin of this periodic BSpline surface. As a consequence, the knots and poles tables are modified. Exceptions Standard_NoSuchObject if this BSpline surface is not periodic in the given parametric direction. Standard_DomainError if Index is outside the bounds of the knots table in the given parametric direction. */ SetVOrigin(Index: Standard_Integer): void; /** Sets the surface U not periodic. Changes this BSpline surface into a non-periodic surface along U direction. If this surface is already non-periodic, it is not modified. Note: the poles and knots tables are modified. */ SetUNotPeriodic(): void; /** Sets the surface V not periodic. Changes this BSpline surface into a non-periodic surface along V direction. If this surface is already non-periodic, it is not modified. Note: the poles and knots tables are modified. */ SetVNotPeriodic(): void; /** Changes the orientation of this BSpline surface in the U parametric direction. The bounds of the surface are not changed but the given parametric direction is reversed. Hence the orientation of the surface is reversed. The knots and poles tables are modified. */ UReverse(): void; /** Changes the orientation of this BSpline surface in the V parametric direction. The bounds of the surface are not changed but the given parametric direction is reversed. Hence the orientation of the surface is reversed. The knots and poles tables are modified. */ VReverse(): void; /** Computes the u parameter on the modified surface, produced by reversing its U parametric direction, for the point of u parameter U, on this BSpline surface. For a BSpline surface, these functions return respectively: UFirst + ULast - U, where UFirst, ULast are the values of the first and last parameters of this BSpline surface, in the u parametric directions. */ UReversedParameter(U: Standard_Real): Standard_Real; /** Computes the v parameter on the modified surface, produced by reversing its V parametric direction, for the point of v parameter V on this BSpline surface. For a BSpline surface, these functions return respectively: VFirst + VLast - V, VFirst and VLast are the values of the first and last parameters of this BSpline surface, in the v pametric directions. */ VReversedParameter(V: Standard_Real): Standard_Real; /** Increases the degrees of this BSpline surface to UDegree and VDegree in the u and v parametric directions respectively. As a result, the tables of poles, weights and multiplicities are modified. The tables of knots is not changed. Note: Nothing is done if the given degree is less than or equal to the current degree in the corresponding parametric direction. Exceptions Standard_ConstructionError if UDegree or VDegree is greater than Geom_BSplineSurface::MaxDegree(). */ IncreaseDegree(UDegree: Standard_Integer, VDegree: Standard_Integer): void; /** Inserts into the knots table for the U parametric direction of this BSpline surface: the values of the array Knots, with their respective multiplicities, Mults. If the knot value to insert already exists in the table, its multiplicity is: increased by M, if Add is true (the default), or increased to M, if Add is false. The tolerance criterion used to check the equality of the knots is the larger of the values ParametricTolerance and double::Epsilon(val), where val is the knot value to be inserted. Warning If a given multiplicity coefficient is null, or negative, nothing is done. The new multiplicity of a knot is limited to the degree of this BSpline surface in the corresponding parametric direction. Exceptions Standard_ConstructionError if a knot value to insert is outside the bounds of this BSpline surface in the specified parametric direction. The comparison uses the precision criterion ParametricTolerance. */ InsertUKnots(Knots: TColStd_Array1OfReal, Mults: TColStd_Array1OfInteger, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** Inserts into the knots table for the V parametric direction of this BSpline surface: the values of the array Knots, with their respective multiplicities, Mults. If the knot value to insert already exists in the table, its multiplicity is: increased by M, if Add is true (the default), or increased to M, if Add is false. The tolerance criterion used to check the equality of the knots is the larger of the values ParametricTolerance and double::Epsilon(val), where val is the knot value to be inserted. Warning If a given multiplicity coefficient is null, or negative, nothing is done. The new multiplicity of a knot is limited to the degree of this BSpline surface in the corresponding parametric direction. Exceptions Standard_ConstructionError if a knot value to insert is outside the bounds of this BSpline surface in the specified parametric direction. The comparison uses the precision criterion ParametricTolerance. */ InsertVKnots(Knots: TColStd_Array1OfReal, Mults: TColStd_Array1OfInteger, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** Reduces to M the multiplicity of the knot of index Index in the U parametric direction. If M is 0, the knot is removed. With a modification of this type, the table of poles is also modified. Two different algorithms are used systematically to compute the new poles of the surface. For each pole, the distance between the pole calculated using the first algorithm and the same pole calculated using the second algorithm, is checked. If this distance is less than Tolerance it ensures that the surface is not modified by more than Tolerance. Under these conditions, the function returns true; otherwise, it returns false. A low tolerance prevents modification of the surface. A high tolerance "smoothes" the surface. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of this BSpline surface. */ RemoveUKnot(Index: Standard_Integer, M: Standard_Integer, Tolerance: Standard_Real): Standard_Boolean; /** Reduces to M the multiplicity of the knot of index Index in the V parametric direction. If M is 0, the knot is removed. With a modification of this type, the table of poles is also modified. Two different algorithms are used systematically to compute the new poles of the surface. For each pole, the distance between the pole calculated using the first algorithm and the same pole calculated using the second algorithm, is checked. If this distance is less than Tolerance it ensures that the surface is not modified by more than Tolerance. Under these conditions, the function returns true; otherwise, it returns false. A low tolerance prevents modification of the surface. A high tolerance "smoothes" the surface. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of this BSpline surface. */ RemoveVKnot(Index: Standard_Integer, M: Standard_Integer, Tolerance: Standard_Real): Standard_Boolean; /** Increases the multiplicity of the knot of range UIndex in the UKnots sequence. M is the new multiplicity. M must be greater than the previous multiplicity and lower or equal to the degree of the surface in the U parametric direction. Raised if M is not in the range [1, UDegree] Raised if UIndex is not in the range [FirstUKnotIndex, LastUKnotIndex] given by the methods with the same name. */ IncreaseUMultiplicity_1(UIndex: Standard_Integer, M: Standard_Integer): void; /** Increases the multiplicity of the knot of range UIndex in the UKnots sequence. M is the new multiplicity. M must be greater than the previous multiplicity and lower or equal to the degree of the surface in the U parametric direction. Raised if M is not in the range [1, UDegree] Raised if UIndex is not in the range [FirstUKnotIndex, LastUKnotIndex] given by the methods with the same name. */ IncreaseUMultiplicity_2(FromI1: Standard_Integer, ToI2: Standard_Integer, M: Standard_Integer): void; /** Increments the multiplicity of the consecutives uknots FromI1..ToI2 by step. The multiplicity of each knot FromI1,.....,ToI2 must be lower or equal to the UDegree of the B_spline. Raised if FromI1 or ToI2 is not in the range [FirstUKnotIndex, LastUKnotIndex] Raised if one knot has a multiplicity greater than UDegree. */ IncrementUMultiplicity(FromI1: Standard_Integer, ToI2: Standard_Integer, Step: Standard_Integer): void; /** Increases the multiplicity of a knot in the V direction. M is the new multiplicity. M should be greater than the previous multiplicity and lower than the degree of the surface in the V parametric direction. Raised if VIndex is not in the range [FirstVKnotIndex, LastVKnotIndex] given by the methods with the same name. */ IncreaseVMultiplicity_1(VIndex: Standard_Integer, M: Standard_Integer): void; /** Increases the multiplicity of a knot in the V direction. M is the new multiplicity. M should be greater than the previous multiplicity and lower than the degree of the surface in the V parametric direction. Raised if VIndex is not in the range [FirstVKnotIndex, LastVKnotIndex] given by the methods with the same name. */ IncreaseVMultiplicity_2(FromI1: Standard_Integer, ToI2: Standard_Integer, M: Standard_Integer): void; /** Increments the multiplicity of the consecutives vknots FromI1..ToI2 by step. The multiplicity of each knot FromI1,.....,ToI2 must be lower or equal to the VDegree of the B_spline. Raised if FromI1 or ToI2 is not in the range [FirstVKnotIndex, LastVKnotIndex] Raised if one knot has a multiplicity greater than VDegree. */ IncrementVMultiplicity(FromI1: Standard_Integer, ToI2: Standard_Integer, Step: Standard_Integer): void; /** Inserts a knot value in the sequence of UKnots. If U is a knot value this method increases the multiplicity of the knot if the previous multiplicity was lower than M else it does nothing. The tolerance criterion is ParametricTolerance. ParametricTolerance should be greater or equal than Resolution from package gp. Raised if U is out of the bounds [U1, U2] given by the methods Bounds, the criterion ParametricTolerance is used. Raised if M is not in the range [1, UDegree]. */ InsertUKnot(U: Standard_Real, M: Standard_Integer, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** Inserts a knot value in the sequence of VKnots. If V is a knot value this method increases the multiplicity of the knot if the previous multiplicity was lower than M otherwise it does nothing. The tolerance criterion is ParametricTolerance. ParametricTolerance should be greater or equal than Resolution from package gp. raises if V is out of the Bounds [V1, V2] given by the methods Bounds, the criterion ParametricTolerance is used. raises if M is not in the range [1, VDegree]. */ InsertVKnot(V: Standard_Real, M: Standard_Integer, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** Segments the surface between U1 and U2 in the U-Direction. between V1 and V2 in the V-Direction. The control points are modified, the first and the last point are not the same. Parameters theUTolerance, theVTolerance define the possible proximity along the corresponding direction of the segment boundaries and B-spline knots to treat them as equal. Warnings : Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the surface or if the surface makes loop. raises if U2 < U1 or V2 < V1. Standard_DomainError if U2 - U1 exceeds the uperiod for uperiodic surfaces. i.e. ((U2 - U1) - UPeriod) > Precision::PConfusion(). Standard_DomainError if V2 - V1 exceeds the vperiod for vperiodic surfaces. i.e. ((V2 - V1) - VPeriod) > Precision::PConfusion()). */ Segment(U1: Standard_Real, U2: Standard_Real, V1: Standard_Real, V2: Standard_Real, theUTolerance: Standard_Real, theVTolerance: Standard_Real): void; /** Segments the surface between U1 and U2 in the U-Direction. between V1 and V2 in the V-Direction. same as Segment but do nothing if U1 and U2 (resp. V1 and V2) are equal to the bounds in U (resp. in V) of . For example, if is periodic in V, it will be always periodic in V after the segmentation if the bounds in V are unchanged Parameters theUTolerance, theVTolerance define the possible proximity along the corresponding direction of the segment boundaries and B-spline knots to treat them as equal. Warnings : Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the surface or if the surface makes loop. raises if U2 < U1 or V2 < V1. Standard_DomainError if U2 - U1 exceeds the uperiod for uperiodic surfaces. i.e. ((U2 - U1) - UPeriod) > Precision::PConfusion(). Standard_DomainError if V2 - V1 exceeds the vperiod for vperiodic surfaces. i.e. ((V2 - V1) - VPeriod) > Precision::PConfusion()). */ CheckAndSegment(U1: Standard_Real, U2: Standard_Real, V1: Standard_Real, V2: Standard_Real, theUTolerance: Standard_Real, theVTolerance: Standard_Real): void; /** Substitutes the UKnots of range UIndex with K. Raised if UIndex < 1 or UIndex > NbUKnots Raised if K >= UKnots(UIndex+1) or K <= UKnots(UIndex-1) */ SetUKnot_1(UIndex: Standard_Integer, K: Standard_Real): void; /** Changes all the U-knots of the surface. The multiplicity of the knots are not modified. Raised if there is an index such that UK (Index+1) <= UK (Index). Raised if UK.Lower() < 1 or UK.Upper() > NbUKnots */ SetUKnots(UK: TColStd_Array1OfReal): void; /** Substitutes the UKnots of range UIndex with K. Raised if UIndex < 1 or UIndex > NbUKnots Raised if K >= UKnots(UIndex+1) or K <= UKnots(UIndex-1) */ SetUKnot_2(UIndex: Standard_Integer, K: Standard_Real, M: Standard_Integer): void; /** Substitutes the VKnots of range VIndex with K. Raised if VIndex < 1 or VIndex > NbVKnots Raised if K >= VKnots(VIndex+1) or K <= VKnots(VIndex-1) */ SetVKnot_1(VIndex: Standard_Integer, K: Standard_Real): void; /** Changes all the V-knots of the surface. The multiplicity of the knots are not modified. Raised if there is an index such that VK (Index+1) <= VK (Index). Raised if VK.Lower() < 1 or VK.Upper() > NbVKnots */ SetVKnots(VK: TColStd_Array1OfReal): void; /** Substitutes the VKnots of range VIndex with K. Raised if VIndex < 1 or VIndex > NbVKnots Raised if K >= VKnots(VIndex+1) or K <= VKnots(VIndex-1) */ SetVKnot_2(VIndex: Standard_Integer, K: Standard_Real, M: Standard_Integer): void; /** Locates the parametric value U in the sequence of UKnots. If "WithKnotRepetition" is True we consider the knot's representation with repetition of multiple knot value, otherwise we consider the knot's representation with no repetition of multiple knot values. UKnots (I1) <= U <= UKnots (I2) . if I1 = I2 U is a knot value (the tolerance criterion ParametricTolerance is used). . if I1 < 1 => U < UKnots(1) - std::abs(ParametricTolerance) . if I2 > NbUKnots => U > UKnots(NbUKnots)+std::abs(ParametricTolerance) */ LocateU(U: Standard_Real, ParametricTolerance: Standard_Real, WithKnotRepetition: Standard_Boolean): { I1: number; I2: number }; /** Locates the parametric value V in the sequence of knots. If "WithKnotRepetition" is True we consider the knot's representation with repetition of multiple knot value, otherwise we consider the knot's representation with no repetition of multiple knot values. VKnots (I1) <= V <= VKnots (I2) . if I1 = I2 V is a knot value (the tolerance criterion ParametricTolerance is used). . if I1 < 1 => V < VKnots(1) - std::abs(ParametricTolerance) . if I2 > NbVKnots => V > VKnots(NbVKnots)+std::abs(ParametricTolerance) poles insertion and removing The following methods are available only if the surface is Uniform or QuasiUniform in the considered direction The knot repartition is modified. */ LocateV(V: Standard_Real, ParametricTolerance: Standard_Real, WithKnotRepetition: Standard_Boolean): { I1: number; I2: number }; /** Substitutes the pole of range (UIndex, VIndex) with P. If the surface is rational the weight of range (UIndex, VIndex) is not modified. Raised if UIndex < 1 or UIndex > NbUPoles or VIndex < 1 or VIndex > NbVPoles. */ SetPole_1(UIndex: Standard_Integer, VIndex: Standard_Integer, P: gp_Pnt): void; /** Substitutes the pole of range (UIndex, VIndex) with P. If the surface is rational the weight of range (UIndex, VIndex) is not modified. Raised if UIndex < 1 or UIndex > NbUPoles or VIndex < 1 or VIndex > NbVPoles. */ SetPole_2(UIndex: Standard_Integer, VIndex: Standard_Integer, P: gp_Pnt, Weight: Standard_Real): void; /** Changes a column of poles or a part of this column. Raised if Vindex < 1 or VIndex > NbVPoles. Raised if CPoles.Lower() < 1 or CPoles.Upper() > NbUPoles. */ SetPoleCol_1(VIndex: Standard_Integer, CPoles: TColgp_Array1OfPnt): void; /** Changes a column of poles or a part of this column. Raised if Vindex < 1 or VIndex > NbVPoles. Raised if CPoles.Lower() < 1 or CPoles.Upper() > NbUPoles. */ SetPoleCol_2(VIndex: Standard_Integer, CPoles: TColgp_Array1OfPnt, CPoleWeights: TColStd_Array1OfReal): void; /** Changes a row of poles or a part of this row with the corresponding weights. If the surface was rational it can become non rational. If the surface was non rational it can become rational. Raised if Uindex < 1 or UIndex > NbUPoles. Raised if CPoles.Lower() < 1 or CPoles.Upper() > NbVPoles raises if the bounds of CPoleWeights are not the same as the bounds of CPoles. Raised if one of the weight value of CPoleWeights is lower or equal to Resolution from package gp. */ SetPoleRow_1(UIndex: Standard_Integer, CPoles: TColgp_Array1OfPnt, CPoleWeights: TColStd_Array1OfReal): void; /** Changes a row of poles or a part of this row with the corresponding weights. If the surface was rational it can become non rational. If the surface was non rational it can become rational. Raised if Uindex < 1 or UIndex > NbUPoles. Raised if CPoles.Lower() < 1 or CPoles.Upper() > NbVPoles raises if the bounds of CPoleWeights are not the same as the bounds of CPoles. Raised if one of the weight value of CPoleWeights is lower or equal to Resolution from package gp. */ SetPoleRow_2(UIndex: Standard_Integer, CPoles: TColgp_Array1OfPnt): void; /** Changes the weight of the pole of range UIndex, VIndex. If the surface was non rational it can become rational. If the surface was rational it can become non rational. Raised if UIndex < 1 or UIndex > NbUPoles or VIndex < 1 or VIndex > NbVPoles Raised if weight is lower or equal to Resolution from package gp */ SetWeight(UIndex: Standard_Integer, VIndex: Standard_Integer, Weight: Standard_Real): void; /** Changes a column of weights of a part of this column. Raised if VIndex < 1 or VIndex > NbVPoles Raised if CPoleWeights.Lower() < 1 or CPoleWeights.Upper() > NbUPoles. Raised if a weight value is lower or equal to Resolution from package gp. */ SetWeightCol(VIndex: Standard_Integer, CPoleWeights: TColStd_Array1OfReal): void; /** Changes a row of weights or a part of this row. Raised if UIndex < 1 or UIndex > NbUPoles Raised if CPoleWeights.Lower() < 1 or CPoleWeights.Upper() > NbVPoles. Raised if a weight value is lower or equal to Resolution from package gp. */ SetWeightRow(UIndex: Standard_Integer, CPoleWeights: TColStd_Array1OfReal): void; /** Move a point with parameter U and V to P. given u,v as parameters) to reach a new position UIndex1, UIndex2, VIndex1, VIndex2: indicates the poles which can be moved if Problem in BSplineBasis calculation, no change for the curve and UFirstIndex, VLastIndex = 0 VFirstIndex, VLastIndex = 0 Raised if UIndex1 < UIndex2 or VIndex1 < VIndex2 or UIndex1 < 1 || UIndex1 > NbUPoles or UIndex2 < 1 || UIndex2 > NbUPoles VIndex1 < 1 || VIndex1 > NbVPoles or VIndex2 < 1 || VIndex2 > NbVPoles characteristics of the surface */ MovePoint(U: Standard_Real, V: Standard_Real, P: gp_Pnt, UIndex1: Standard_Integer, UIndex2: Standard_Integer, VIndex1: Standard_Integer, VIndex2: Standard_Integer): { UFirstIndex: number; ULastIndex: number; VFirstIndex: number; VLastIndex: number }; /** Returns true if the first control points row and the last control points row are identical. The tolerance criterion is Resolution from package gp. */ IsUClosed(): Standard_Boolean; /** Returns true if the first control points column and the last last control points column are identical. The tolerance criterion is Resolution from package gp. */ IsVClosed(): Standard_Boolean; /** Returns True if the order of continuity of the surface in the U direction is N. Raised if N < 0. */ IsCNu(N: Standard_Integer): Standard_Boolean; /** Returns True if the order of continuity of the surface in the V direction is N. Raised if N < 0. */ IsCNv(N: Standard_Integer): Standard_Boolean; /** Returns True if the surface is closed in the U direction and if the B-spline has been turned into a periodic surface using the function SetUPeriodic. */ IsUPeriodic(): Standard_Boolean; /** Returns False if for each row of weights all the weights are identical. The tolerance criterion is resolution from package gp. Example : |1.0, 1.0, 1.0| if Weights = |0.5, 0.5, 0.5| returns False |2.0, 2.0, 2.0| */ IsURational(): Standard_Boolean; /** Returns True if the surface is closed in the V direction and if the B-spline has been turned into a periodic surface using the function SetVPeriodic. */ IsVPeriodic(): Standard_Boolean; /** Returns False if for each column of weights all the weights are identical. The tolerance criterion is resolution from package gp. Examples : |1.0, 2.0, 0.5| if Weights = |1.0, 2.0, 0.5| returns False |1.0, 2.0, 0.5| */ IsVRational(): Standard_Boolean; /** Returns the parametric bounds of the surface. Warnings : These parametric values are the bounds of the array of knots UKnots and VKnots only if the first knots and the last knots have a multiplicity equal to UDegree + 1 or VDegree + 1 */ Bounds(): { U1: number; U2: number; V1: number; V2: number }; /** Returns the continuity of the surface : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Surface, C2 : continuity of the second derivative all along the Surface, C3 : continuity of the third derivative all along the Surface, CN : the order of continuity is infinite. A B-spline surface is infinitely continuously differentiable for the couple of parameters U, V such that U != UKnots(i) and V != VKnots(i). The continuity of the surface at a knot value depends on the multiplicity of this knot. Example : If the surface is C1 in the V direction and C2 in the U direction this function returns Shape = C1. */ Continuity(): GeomAbs_Shape; /** Computes the Index of the UKnots which gives the first parametric value of the surface in the U direction. The UIso curve corresponding to this value is a boundary curve of the surface. */ FirstUKnotIndex(): Standard_Integer; /** Computes the Index of the VKnots which gives the first parametric value of the surface in the V direction. The VIso curve corresponding to this knot is a boundary curve of the surface. */ FirstVKnotIndex(): Standard_Integer; /** Computes the Index of the UKnots which gives the last parametric value of the surface in the U direction. The UIso curve corresponding to this knot is a boundary curve of the surface. */ LastUKnotIndex(): Standard_Integer; /** Computes the Index of the VKnots which gives the last parametric value of the surface in the V direction. The VIso curve corresponding to this knot is a boundary curve of the surface. */ LastVKnotIndex(): Standard_Integer; /** Returns the number of knots in the U direction. */ NbUKnots(): Standard_Integer; /** Returns number of poles in the U direction. */ NbUPoles(): Standard_Integer; /** Returns the number of knots in the V direction. */ NbVKnots(): Standard_Integer; /** Returns the number of poles in the V direction. */ NbVPoles(): Standard_Integer; /** Returns the pole of range (UIndex, VIndex). Raised if UIndex < 1 or UIndex > NbUPoles or VIndex < 1 or VIndex > NbVPoles. */ Pole(UIndex: Standard_Integer, VIndex: Standard_Integer): gp_Pnt; /** Returns the poles of the B-spline surface. */ Poles_1(P: TColgp_Array2OfPnt): void; /** Returns the poles of the B-spline surface. */ Poles_2(): TColgp_Array2OfPnt; /** Returns the degree of the normalized B-splines Ni,n in the U direction. */ UDegree(): Standard_Integer; /** Returns the Knot value of range UIndex. Raised if UIndex < 1 or UIndex > NbUKnots */ UKnot(UIndex: Standard_Integer): Standard_Real; /** Returns NonUniform or Uniform or QuasiUniform or PiecewiseBezier. If all the knots differ by a positive constant from the preceding knot in the U direction the B-spline surface can be : Uniform if all the knots are of multiplicity 1, QuasiUniform if all the knots are of multiplicity 1 except for the first and last knot which are of multiplicity Degree + 1, PiecewiseBezier if the first and last knots have multiplicity Degree + 1 and if interior knots have multiplicity Degree otherwise the surface is non uniform in the U direction The tolerance criterion is Resolution from package gp. */ UKnotDistribution(): GeomAbs_BSplKnotDistribution; /** Returns the knots in the U direction. */ UKnots_1(Ku: TColStd_Array1OfReal): void; /** Returns the knots in the U direction. */ UKnots_2(): TColStd_Array1OfReal; /** Returns the uknots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : Ku = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ UKnotSequence_1(Ku: TColStd_Array1OfReal): void; /** Returns the uknots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : Ku = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ UKnotSequence_2(): TColStd_Array1OfReal; /** Returns the multiplicity value of knot of range UIndex in the u direction. Raised if UIndex < 1 or UIndex > NbUKnots. */ UMultiplicity(UIndex: Standard_Integer): Standard_Integer; /** Returns the multiplicities of the knots in the U direction. */ UMultiplicities_1(Mu: TColStd_Array1OfInteger): void; /** Returns the multiplicities of the knots in the U direction. */ UMultiplicities_2(): TColStd_Array1OfInteger; /** Returns the degree of the normalized B-splines Ni,d in the V direction. */ VDegree(): Standard_Integer; /** Returns the Knot value of range VIndex. Raised if VIndex < 1 or VIndex > NbVKnots */ VKnot(VIndex: Standard_Integer): Standard_Real; /** Returns NonUniform or Uniform or QuasiUniform or PiecewiseBezier. If all the knots differ by a positive constant from the preceding knot in the V direction the B-spline surface can be : Uniform if all the knots are of multiplicity 1, QuasiUniform if all the knots are of multiplicity 1 except for the first and last knot which are of multiplicity Degree + 1, PiecewiseBezier if the first and last knots have multiplicity Degree + 1 and if interior knots have multiplicity Degree otherwise the surface is non uniform in the V direction. The tolerance criterion is Resolution from package gp. */ VKnotDistribution(): GeomAbs_BSplKnotDistribution; /** Returns the knots in the V direction. */ VKnots_1(Kv: TColStd_Array1OfReal): void; /** Returns the knots in the V direction. */ VKnots_2(): TColStd_Array1OfReal; /** Returns the vknots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : Ku = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ VKnotSequence_1(Kv: TColStd_Array1OfReal): void; /** Returns the vknots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : Ku = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ VKnotSequence_2(): TColStd_Array1OfReal; /** Returns the multiplicity value of knot of range VIndex in the v direction. Raised if VIndex < 1 or VIndex > NbVKnots */ VMultiplicity(VIndex: Standard_Integer): Standard_Integer; /** Returns the multiplicities of the knots in the V direction. */ VMultiplicities_1(Mv: TColStd_Array1OfInteger): void; /** Returns the multiplicities of the knots in the V direction. */ VMultiplicities_2(): TColStd_Array1OfInteger; /** Returns the weight value of range UIndex, VIndex. Raised if UIndex < 1 or UIndex > NbUPoles or VIndex < 1 or VIndex > NbVPoles. */ Weight(UIndex: Standard_Integer, VIndex: Standard_Integer): Standard_Real; /** Returns the weights of the B-spline surface. value and derivatives computation */ Weights_1(W: TColStd_Array2OfReal): void; /** Returns a const reference to the weights array. For rational surfaces: the internal owning weights array. For non-rational surfaces: a non-owning view of unit weights from BSplSLib. The array is always sized to match NbUPoles() x NbVPoles(). Do NOT modify elements through the returned reference. */ WeightsArray(): TColStd_Array2OfReal; /** Returns the weights of the B-spline surface. value and derivatives computation */ Weights_2(): TColStd_Array2OfReal; /** Computes the point of parameter (U, V) on the surface. Raises an exception on failure. */ EvalD0(U: Standard_Real, V: Standard_Real): gp_Pnt; /** Computes the point and first partial derivatives at (U, V). Raises an exception if the surface continuity is not C1. */ EvalD1(U: Standard_Real, V: Standard_Real): any; /** Computes the point and partial derivatives up to 2nd order at (U, V). Raises an exception if the surface continuity is not C2. */ EvalD2(U: Standard_Real, V: Standard_Real): any; /** Computes the point and partial derivatives up to 3rd order at (U, V). Raises an exception if the surface continuity is not C3. */ EvalD3(U: Standard_Real, V: Standard_Real): any; /** Computes the derivative of order Nu in U and Nv in V at (U, V). Raises an exception on failure. Raised if the continuity of the surface is not CNu in the U direction and CNv in the V direction. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0. The following functions computes the point for the parametric values (U, V) and the derivatives at this point on the B-spline surface patch delimited with the knots FromUK1, FromVK1 and the knots ToUK2, ToVK2. (U, V) can be out of these parametric bounds but for the computation we only use the definition of the surface between these knots. This method is useful to compute local derivative, if the order of continuity of the whole surface is not greater enough. Inside the parametric knot's domain previously defined the evaluations are the same as if we consider the whole definition of the surface. Of course the evaluations are different outside this parametric domain. */ EvalDN(U: Standard_Real, V: Standard_Real, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalD0(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, P: gp_Pnt): void; /** Raised if the local continuity of the surface is not C1 between the knots FromUK1, ToUK2 and FromVK1, ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalD1(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec): void; /** Raised if the local continuity of the surface is not C2 between the knots FromUK1, ToUK2 and FromVK1, ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalD2(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec): void; /** Raised if the local continuity of the surface is not C3 between the knots FromUK1, ToUK2 and FromVK1, ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalD3(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, P: gp_Pnt, D1U: gp_Vec, D1V: gp_Vec, D2U: gp_Vec, D2V: gp_Vec, D2UV: gp_Vec, D3U: gp_Vec, D3V: gp_Vec, D3UUV: gp_Vec, D3UVV: gp_Vec): void; /** Raised if the local continuity of the surface is not CNu between the knots FromUK1, ToUK2 and CNv between the knots FromVK1, ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalDN(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, Nu: Standard_Integer, Nv: Standard_Integer): gp_Vec; /** Computes the point of parameter U, V on the BSpline surface patch defines between the knots UK1 UK2, VK1, VK2. U can be out of the bounds [Knot UK1, Knot UK2] and V can be outof the bounds [Knot VK1, Knot VK2] but for the computation we only use the definition of the surface between these knot values. Raises if FromUK1 = ToUK2 or FromVK1 = ToVK2. */ LocalValue(U: Standard_Real, V: Standard_Real, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer): gp_Pnt; /** Computes the U isoparametric curve. A B-spline curve is returned. */ UIso_1(U: Standard_Real): any; /** Computes the V isoparametric curve. A B-spline curve is returned. */ VIso_1(V: Standard_Real): any; /** Computes the U isoparametric curve. A B-spline curve is returned. */ UIso_2(U: Standard_Real, CheckRational: Standard_Boolean): any; /** Computes the V isoparametric curve. A B-spline curve is returned. */ VIso_2(V: Standard_Real, CheckRational: Standard_Boolean): any; /** Applies the transformation T to this BSpline surface. */ Transform(T: gp_Trsf): void; /** Returns the value of the maximum degree of the normalized B-spline basis functions in the u and v directions. */ static MaxDegree(): Standard_Integer; /** Computes two tolerance values for this BSpline surface, based on the given tolerance in 3D space Tolerance3D. The tolerances computed are: UTolerance in the u parametric direction, and VTolerance in the v parametric direction. If f(u,v) is the equation of this BSpline surface, UTolerance and VTolerance guarantee that : | u1 - u0 | < UTolerance and | v1 - v0 | < VTolerance ====> |f (u1,v1) - f (u0,v0)| < Tolerance3D */ Resolution(Tolerance3D: Standard_Real): { UTolerance: number; VTolerance: number }; /** Creates a new object which is a copy of this BSpline surface. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_BSplineSurface_1 extends Geom_BSplineSurface { constructor(Poles: TColgp_Array2OfPnt, UKnots: TColStd_Array1OfReal, VKnots: TColStd_Array1OfReal, UMults: TColStd_Array1OfInteger, VMults: TColStd_Array1OfInteger, UDegree: Standard_Integer, VDegree: Standard_Integer, UPeriodic: Standard_Boolean, VPeriodic: Standard_Boolean); } export declare class Geom_BSplineSurface_2 extends Geom_BSplineSurface { constructor(Poles: TColgp_Array2OfPnt, Weights: TColStd_Array2OfReal, UKnots: TColStd_Array1OfReal, VKnots: TColStd_Array1OfReal, UMults: TColStd_Array1OfInteger, VMults: TColStd_Array1OfInteger, UDegree: Standard_Integer, VDegree: Standard_Integer, UPeriodic: Standard_Boolean, VPeriodic: Standard_Boolean); } export declare class Geom_BSplineSurface_3 extends Geom_BSplineSurface { constructor(theOther: Geom_BSplineSurface); } export declare class Geom_BSplineCurve extends Geom_BoundedCurve { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Increases the degree of this BSpline 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. Exceptions Standard_ConstructionError if Degree is greater than Geom_BSplineCurve::MaxDegree(). */ IncreaseDegree(Degree: Standard_Integer): void; /** Increases the multiplicity of the knot to . If is lower or equal to the current multiplicity nothing is done. If is higher than the degree, the degree is used. If is not in [FirstUKnotIndex, LastUKnotIndex] */ IncreaseMultiplicity_1(Index: Standard_Integer, M: Standard_Integer): void; /** Increases the multiplicity of the knot to . If is lower or equal to the current multiplicity nothing is done. If is higher than the degree, the degree is used. If is not in [FirstUKnotIndex, LastUKnotIndex] */ IncreaseMultiplicity_2(I1: Standard_Integer, I2: Standard_Integer, M: Standard_Integer): void; /** Increment the multiplicities of the knots in [I1,I2] by . If is not positive nothing is done. For each knot the resulting multiplicity is limited to the Degree. If are not in [FirstUKnotIndex, LastUKnotIndex] */ IncrementMultiplicity(I1: Standard_Integer, I2: Standard_Integer, M: Standard_Integer): void; /** Inserts a knot value in the sequence of knots. If is an existing knot the multiplicity is increased by . 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. The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance. */ InsertKnot(U: Standard_Real, M: Standard_Integer, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** Inserts a set of knots values in the sequence of knots. For each U = Knots(i), M = Mults(i) If is an existing knot the multiplicity is increased by if is True, increased to if is False. 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. The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance. */ InsertKnots(Knots: TColStd_Array1OfReal, Mults: TColStd_Array1OfInteger, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** 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. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table. pole insertion and pole removing this operation is limited to the Uniform or QuasiUniform BSplineCurve. The knot values are modified. If the BSpline is NonUniform or Piecewise Bezier an exception Construction error is raised. */ RemoveKnot(Index: Standard_Integer, M: Standard_Integer, Tolerance: Standard_Real): Standard_Boolean; /** Changes the direction of parametrization of . The Knot sequence is modified, the FirstParameter and the LastParameter are not modified. The StartPoint of the initial curve becomes the EndPoint of the reversed curve and the EndPoint of the initial curve becomes the StartPoint of the reversed curve. */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . returns UFirst + ULast - U */ ReversedParameter(U: Standard_Real): Standard_Real; /** Modifies this BSpline curve by segmenting it between U1 and U2. Either of these values can be outside the bounds of the curve, but U2 must be greater than U1. All data structure tables of this BSpline curve are modified, but the knots located between U1 and U2 are retained. The degree of the curve is not modified. Parameter theTolerance defines the possible proximity of the segment boundaries and B-spline knots to treat them as equal. Warnings : Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the curve or if the curve makes loop. After the segmentation the length of a curve can be null. raises if U2 < U1. Standard_DomainError if U2 - U1 exceeds the period for periodic curves. i.e. ((U2 - U1) - Period) > Precision::PConfusion(). */ Segment(U1: Standard_Real, U2: Standard_Real, theTolerance: Standard_Real): void; /** Modifies this BSpline curve by assigning the value K to the knot of index Index in the knots table. This is a relatively local modification because K must be such that: Knots(Index - 1) < K < Knots(Index + 1) The second syntax allows you also to increase the multiplicity of the knot to M (but it is not possible to decrease the multiplicity of the knot with this function). Standard_ConstructionError if: K is not such that: Knots(Index - 1) < K < Knots(Index + 1) M is greater than the degree of this BSpline curve or lower than the previous multiplicity of knot of index Index in the knots table. Standard_OutOfRange if Index is outside the bounds of the knots table. */ SetKnot_1(Index: Standard_Integer, K: Standard_Real): void; /** Modifies this BSpline curve by assigning the array K to its knots table. The multiplicity of the knots is not modified. Exceptions Standard_ConstructionError if the values in the array K are not in ascending order. Standard_OutOfRange if the bounds of the array K are not respectively 1 and the number of knots of this BSpline curve. */ SetKnots(K: TColStd_Array1OfReal): void; /** Modifies this BSpline curve by assigning the value K to the knot of index Index in the knots table. This is a relatively local modification because K must be such that: Knots(Index - 1) < K < Knots(Index + 1) The second syntax allows you also to increase the multiplicity of the knot to M (but it is not possible to decrease the multiplicity of the knot with this function). Standard_ConstructionError if: K is not such that: Knots(Index - 1) < K < Knots(Index + 1) M is greater than the degree of this BSpline curve or lower than the previous multiplicity of knot of index Index in the knots table. Standard_OutOfRange if Index is outside the bounds of the knots table. */ SetKnot_2(Index: Standard_Integer, K: Standard_Real, M: Standard_Integer): void; /** returns the parameter normalized within the period if the curve is periodic : otherwise does not do anything */ PeriodicNormalization(): { U: number }; /** Changes this BSpline curve into a periodic curve. To become periodic, the curve must first be closed. Next, the knot sequence must be periodic. For this, FirstUKnotIndex and LastUKnotIndex are used to compute I1 and I2, the indexes in the knots array of the knots corresponding to the first and last parameters of this BSpline curve. The period is therefore: Knots(I2) - Knots(I1). Consequently, the knots and poles tables are modified. Exceptions Standard_ConstructionError if this BSpline curve is not closed. */ SetPeriodic(): void; /** Assigns the knot of index Index in the knots table as the origin of this periodic BSpline curve. As a consequence, the knots and poles tables are modified. Exceptions Standard_NoSuchObject if this curve is not periodic. Standard_DomainError if Index is outside the bounds of the knots table. */ SetOrigin_1(Index: Standard_Integer): void; /** Assigns the knot of index Index in the knots table as the origin of this periodic BSpline curve. As a consequence, the knots and poles tables are modified. Exceptions Standard_NoSuchObject if this curve is not periodic. Standard_DomainError if Index is outside the bounds of the knots table. */ SetOrigin_2(U: Standard_Real, Tol: Standard_Real): void; /** Changes this BSpline curve into a non-periodic curve. If this curve is already non-periodic, it is not modified. Note: the poles and knots tables are modified. Warning If this curve is periodic, as the multiplicity of the first and last knots is not modified, and is not equal to Degree + 1, where Degree is the degree of this BSpline curve, the start and end points of the curve are not its first and last poles. */ SetNotPeriodic(): void; /** Modifies this BSpline curve by assigning P to the pole of index Index in the poles table. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table. Standard_ConstructionError if Weight is negative or null. */ SetPole_1(Index: Standard_Integer, P: gp_Pnt): void; /** Modifies this BSpline curve by assigning P to the pole of index Index in the poles table. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table. Standard_ConstructionError if Weight is negative or null. */ SetPole_2(Index: Standard_Integer, P: gp_Pnt, Weight: Standard_Real): void; /** Changes the weight for the pole of range Index. If the curve was non rational it can become rational. If the curve was rational it can become non rational. Raised if Index < 1 || Index > NbPoles Raised if Weight <= 0.0 */ SetWeight(Index: Standard_Integer, Weight: Standard_Real): void; /** Moves the point of parameter U of this BSpline curve to P. Index1 and Index2 are the indexes in the table of poles of this BSpline curve of the first and last poles designated to be moved. FirstModifiedPole and LastModifiedPole are the indexes of the first and last poles which are effectively modified. In the event of incompatibility between Index1, Index2 and the value U: no change is made to this BSpline curve, and the FirstModifiedPole and LastModifiedPole are returned null. Exceptions Standard_OutOfRange if: Index1 is greater than or equal to Index2, or Index1 or Index2 is less than 1 or greater than the number of poles of this BSpline curve. */ MovePoint(U: Standard_Real, P: gp_Pnt, Index1: Standard_Integer, Index2: Standard_Integer): { FirstModifiedPole: number; LastModifiedPole: number }; /** Move a point with parameter U to P. and makes it tangent at U be Tangent. StartingCondition = -1 means first can move EndingCondition = -1 means last point can move StartingCondition = 0 means the first point cannot move EndingCondition = 0 means the last point cannot move StartingCondition = 1 means the first point and tangent cannot move EndingCondition = 1 means the last point and tangent cannot move and so forth ErrorStatus != 0 means that there are not enough degree of freedom with the constrain to deform the curve accordingly */ MovePointAndTangent(U: Standard_Real, P: gp_Pnt, Tangent: gp_Vec, Tolerance: Standard_Real, StartingCondition: Standard_Integer, EndingCondition: Standard_Integer): { ErrorStatus: number }; /** Returns the continuity of the curve, the curve is at least C0. Raised if N < 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Check if curve has at least G1 continuity in interval [theTf, theTl] Returns true if IsCN(1) or angle between "left" and "right" first derivatives at knots with C0 continuity is less then theAngTol only knots in interval [theTf, theTl] is checked */ IsG1(theTf: Standard_Real, theTl: Standard_Real, theAngTol: Standard_Real): Standard_Boolean; /** Returns true if the distance between the first point and the last point of the curve is lower or equal to Resolution from package gp. Warnings : The first and the last point can be different from the first pole and the last pole of the curve. */ IsClosed(): Standard_Boolean; /** Returns True if the curve is periodic. */ IsPeriodic(): Standard_Boolean; /** Returns True if the weights are not identical. The tolerance criterion is Epsilon of the class Real. */ IsRational(): Standard_Boolean; /** Returns the global continuity of the curve : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, CN : the order of continuity is infinite. For a B-spline curve of degree d if a knot Ui has a multiplicity p the B-spline curve is only Cd-p continuous at Ui. So the global continuity of the curve can't be greater than Cd-p where p is the maximum multiplicity of the interior Knots. In the interior of a knot span the curve is infinitely continuously differentiable. */ Continuity(): GeomAbs_Shape; /** Returns the degree of this BSpline curve. The degree of a Geom_BSplineCurve curve cannot be greater than Geom_BSplineCurve::MaxDegree(). Computation of value and derivatives */ Degree(): Standard_Integer; /** Returns the point of parameter U. */ EvalD0(U: Standard_Real): gp_Pnt; /** Raised if the continuity of the curve is not C1. */ EvalD1(U: Standard_Real): any; /** Raised if the continuity of the curve is not C2. */ EvalD2(U: Standard_Real): any; /** Raised if the continuity of the curve is not C3. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this BSpline curve, computes the vector corresponding to the Nth derivative. Warning On a point where the continuity of the curve is not the one requested, this function impacts the part defined by the parameter with a value greater than U, i.e. the part of the curve to the "right" of the singularity. Exceptions Standard_RangeError if N is less than 1. The following functions compute the point of parameter U and the derivatives at this point on the B-spline curve arc defined between the knot FromK1 and the knot ToK2. U can be out of bounds [Knot (FromK1), Knot (ToK2)] but for the computation we only use the definition of the curve between these two knots. This method is useful to compute local derivative, if the order of continuity of the whole curve is not greater enough. Inside the parametric domain Knot (FromK1), Knot (ToK2) the evaluations are the same as if we consider the whole definition of the curve. Of course the evaluations are different outside this parametric domain. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** Raised if FromK1 = ToK2. */ LocalValue(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer): gp_Pnt; /** Raised if FromK1 = ToK2. */ LocalD0(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt): void; /** Raised if the local continuity of the curve is not C1 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD1(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt, V1: gp_Vec): void; /** Raised if the local continuity of the curve is not C2 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD2(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec): void; /** Raised if the local continuity of the curve is not C3 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD3(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec, V3: gp_Vec): void; /** Raised if the local continuity of the curve is not CN between the knot K1 and the knot K2. Raised if FromK1 = ToK2. Raised if N < 1. */ LocalDN(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, N: Standard_Integer): gp_Vec; /** Returns the last point of the curve. Warnings : The last point of the curve is different from the last pole of the curve if the multiplicity of the last knot is lower than Degree. */ EndPoint(): gp_Pnt; /** Returns the index in the knot array of the knot corresponding to the first or last parameter of this BSpline curve. For a BSpline curve, the first (or last) parameter (which gives the start (or end) point of the curve) is a knot value. However, if the multiplicity of the first (or last) knot is less than Degree + 1, where Degree is the degree of the curve, it is not the first (or last) knot of the curve. */ FirstUKnotIndex(): Standard_Integer; /** Returns the value of the first parameter of this BSpline curve. This is a knot value. The first parameter is the one of the start point of the BSpline curve. */ FirstParameter(): Standard_Real; /** Returns the knot of range Index. When there is a knot with a multiplicity greater than 1 the knot is not repeated. The method Multiplicity can be used to get the multiplicity of the Knot. Raised if Index < 1 or Index > NbKnots */ Knot(Index: Standard_Integer): Standard_Real; /** returns the knot values of the B-spline curve; Warning A knot with a multiplicity greater than 1 is not repeated in the knot table. The Multiplicity function can be used to obtain the multiplicity of each knot. */ Knots_1(K: TColStd_Array1OfReal): void; /** returns the knot values of the B-spline curve; Warning A knot with a multiplicity greater than 1 is not repeated in the knot table. The Multiplicity function can be used to obtain the multiplicity of each knot. */ Knots_2(): TColStd_Array1OfReal; /** returns the knots of the B-spline curve. Knots with multiplicit greater than 1 are repeated */ KnotSequence_1(K: TColStd_Array1OfReal): void; /** returns the knots of the B-spline curve. Knots with multiplicit greater than 1 are repeated */ KnotSequence_2(): TColStd_Array1OfReal; /** Returns NonUniform or Uniform or QuasiUniform or PiecewiseBezier. If all the knots differ by a positive constant from the preceding knot the BSpline Curve can be : Uniform if all the knots are of multiplicity 1, QuasiUniform if all the knots are of multiplicity 1 except for the first and last knot which are of multiplicity Degree + 1, PiecewiseBezier if the first and last knots have multiplicity Degree + 1 and if interior knots have multiplicity Degree A piecewise Bezier with only two knots is a BezierCurve. else the curve is non uniform. The tolerance criterion is Epsilon from class Real. */ KnotDistribution(): GeomAbs_BSplKnotDistribution; /** For a BSpline curve the last parameter (which gives the end point of the curve) is a knot value but if the multiplicity of the last knot index is lower than Degree + 1 it is not the last knot of the curve. This method computes the index of the knot corresponding to the last parameter. */ LastUKnotIndex(): Standard_Integer; /** Computes the parametric value of the end point of the curve. It is a knot value. */ LastParameter(): Standard_Real; /** Locates the parametric value U in the sequence of knots. If "WithKnotRepetition" is True we consider the knot's representation with repetition of multiple knot value, otherwise we consider the knot's representation with no repetition of multiple knot values. Knots (I1) <= U <= Knots (I2) . if I1 = I2 U is a knot value (the tolerance criterion ParametricTolerance is used). . if I1 < 1 => U < Knots (1) - std::abs(ParametricTolerance) . if I2 > NbKnots => U > Knots (NbKnots) + std::abs(ParametricTolerance) */ LocateU(U: Standard_Real, ParametricTolerance: Standard_Real, WithKnotRepetition: Standard_Boolean): { I1: number; I2: number }; /** Returns the multiplicity of the knots of range Index. Raised if Index < 1 or Index > NbKnots */ Multiplicity(Index: Standard_Integer): Standard_Integer; /** returns the multiplicity of the knots of the curve. */ Multiplicities_1(M: TColStd_Array1OfInteger): void; /** returns the multiplicity of the knots of the curve. */ Multiplicities_2(): TColStd_Array1OfInteger; /** Returns the number of knots. This method returns the number of knot without repetition of multiple knots. */ NbKnots(): Standard_Integer; /** Returns the number of poles. */ NbPoles(): Standard_Integer; /** Returns the pole of range Index. Raised if Index < 1 or Index > NbPoles. */ Pole(Index: Standard_Integer): gp_Pnt; /** Returns the poles of the B-spline curve;. */ Poles_1(P: TColgp_Array1OfPnt): void; /** Returns the poles of the B-spline curve;. */ Poles_2(): TColgp_Array1OfPnt; /** Returns the start point of the curve. Warnings : This point is different from the first pole of the curve if the multiplicity of the first knot is lower than Degree. */ StartPoint(): gp_Pnt; /** Returns the weight of the pole of range Index . Raised if Index < 1 or Index > NbPoles. */ Weight(Index: Standard_Integer): Standard_Real; /** Returns the weights of the B-spline curve;. */ Weights_1(W: TColStd_Array1OfReal): void; /** Returns the weights of the B-spline curve;. */ Weights_2(): TColStd_Array1OfReal; /** Returns a const reference to the weights array. For rational curves: the internal owning weights array. For non-rational curves: a non-owning view of unit weights from BSplCLib. The array is always sized to match NbPoles(). Do NOT modify elements through the returned reference. */ WeightsArray(): TColStd_Array1OfReal; /** Applies the transformation T to this BSpline curve. */ Transform(T: gp_Trsf): void; /** Returns the value of the maximum degree of the normalized B-spline basis functions in this package. */ static MaxDegree(): Standard_Integer; /** Computes for this BSpline curve the parametric tolerance UTolerance for a given 3D tolerance Tolerance3D. If f(t) is the equation of this BSpline curve, UTolerance ensures that: | t1 - t0| < Utolerance ===> |f(t1) - f(t0)| < Tolerance3D */ Resolution(Tolerance3D: Standard_Real): { UTolerance: number }; /** Creates a new object which is a copy of this BSpline curve. */ Copy(): any; /** Compare two Bspline curve on identity;. */ IsEqual(theOther: any, thePreci: Standard_Real): Standard_Boolean; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom_BSplineCurve_1 extends Geom_BSplineCurve { constructor(Poles: TColgp_Array1OfPnt, Knots: TColStd_Array1OfReal, Multiplicities: TColStd_Array1OfInteger, Degree: Standard_Integer, Periodic: Standard_Boolean); } export declare class Geom_BSplineCurve_2 extends Geom_BSplineCurve { constructor(Poles: TColgp_Array1OfPnt, Weights: TColStd_Array1OfReal, Knots: TColStd_Array1OfReal, Multiplicities: TColStd_Array1OfInteger, Degree: Standard_Integer, Periodic: Standard_Boolean, CheckRational: Standard_Boolean); } export declare class Geom_BSplineCurve_3 extends Geom_BSplineCurve { constructor(theOther: Geom_BSplineCurve); } export declare class GeomAdaptor_TransformedSurface extends Adaptor3d_Surface { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Loads the surface geometry. theSurface underlying geometry */ Load_1(theSurface: any): void; /** Loads the surface geometry. theSurface underlying geometry */ Load_2(theSurface: any, theUFirst: Standard_Real, theULast: Standard_Real, theVFirst: Standard_Real, theVLast: Standard_Real, theTolU: Standard_Real, theTolV: Standard_Real): void; /** Sets the transformation. theTrsf transformation to apply */ SetTrsf(theTrsf: gp_Trsf): void; /** Returns the transformation. */ Trsf(): gp_Trsf; /** Returns the underlying GeomAdaptor_Surface. */ Surface(): GeomAdaptor_Surface; /** Returns the underlying GeomAdaptor_Surface for modification. */ ChangeSurface(): GeomAdaptor_Surface; /** Returns the underlying Geom_Surface. */ GeomSurface(): any; FirstUParameter(): Standard_Real; LastUParameter(): Standard_Real; FirstVParameter(): Standard_Real; LastVParameter(): Standard_Real; UContinuity(): GeomAbs_Shape; VContinuity(): GeomAbs_Shape; /** Returns the number of U intervals for continuity . May be one if UContinuity(me) >= */ NbUIntervals(theS: GeomAbs_Shape): Standard_Integer; /** Returns the number of V intervals for continuity . May be one if VContinuity(me) >= */ NbVIntervals(theS: GeomAbs_Shape): Standard_Integer; /** Returns the intervals with the requested continuity in the U direction. */ UIntervals(theT: TColStd_Array1OfReal, theS: GeomAbs_Shape): void; /** Returns the intervals with the requested continuity in the V direction. */ VIntervals(theT: TColStd_Array1OfReal, theS: GeomAbs_Shape): void; /** Returns a surface trimmed in the U direction equivalent of between parameters and . is used to test for 3d points confusion. If >= */ UTrim(theFirst: Standard_Real, theLast: Standard_Real, theTol: Standard_Real): any; /** Returns a surface trimmed in the V direction between parameters and . is used to test for 3d points confusion. If >= */ VTrim(theFirst: Standard_Real, theLast: Standard_Real, theTol: Standard_Real): any; IsUClosed(): Standard_Boolean; IsVClosed(): Standard_Boolean; IsUPeriodic(): Standard_Boolean; UPeriod(): Standard_Real; IsVPeriodic(): Standard_Boolean; VPeriod(): Standard_Real; /** Computes the point of parameters U,V on the surface. Applies transformation after evaluation. */ Value(theU: Standard_Real, theV: Standard_Real): gp_Pnt; /** Computes the point of parameters U,V on the surface. Applies transformation after evaluation. */ D0(theU: Standard_Real, theV: Standard_Real, theP: gp_Pnt): void; /** Computes the point and the first derivatives on the surface. Applies transformation after evaluation. */ D1(theU: Standard_Real, theV: Standard_Real, theP: gp_Pnt, theD1U: gp_Vec, theD1V: gp_Vec): void; /** Computes the point, the first and second derivatives on the surface. Applies transformation after evaluation. */ D2(theU: Standard_Real, theV: Standard_Real, theP: gp_Pnt, theD1U: gp_Vec, theD1V: gp_Vec, theD2U: gp_Vec, theD2V: gp_Vec, theD2UV: gp_Vec): void; /** Computes the point, the first, second and third derivatives on the surface. Applies transformation after evaluation. */ D3(theU: Standard_Real, theV: Standard_Real, theP: gp_Pnt, theD1U: gp_Vec, theD1V: gp_Vec, theD2U: gp_Vec, theD2V: gp_Vec, theD2UV: gp_Vec, theD3U: gp_Vec, theD3V: gp_Vec, theD3UUV: gp_Vec, theD3UVV: gp_Vec): void; /** Computes the derivative of order Nu in the direction U and Nv in the direction V. Applies transformation after evaluation. */ DN(theU: Standard_Real, theV: Standard_Real, theNu: Standard_Integer, theNv: Standard_Integer): gp_Vec; /** Returns the parametric U resolution corresponding to the real space resolution . */ UResolution(theR3d: Standard_Real): Standard_Real; /** Returns the parametric V resolution corresponding to the real space resolution . */ VResolution(theR3d: Standard_Real): Standard_Real; /** Returns the type of the surface: Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface */ GetType(): GeomAbs_SurfaceType; Plane(): gp_Pln; Cylinder(): gp_Cylinder; Cone(): gp_Cone; Sphere(): gp_Sphere; Torus(): gp_Torus; UDegree(): Standard_Integer; NbUPoles(): Standard_Integer; VDegree(): Standard_Integer; NbVPoles(): Standard_Integer; NbUKnots(): Standard_Integer; NbVKnots(): Standard_Integer; IsURational(): Standard_Boolean; IsVRational(): Standard_Boolean; Bezier(): any; BSpline(): any; AxeOfRevolution(): gp_Ax1; Direction(): gp_Dir; BasisCurve(): any; BasisSurface(): any; OffsetValue(): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class GeomAdaptor_TransformedSurface_1 extends GeomAdaptor_TransformedSurface { constructor(); } export declare class GeomAdaptor_TransformedSurface_2 extends GeomAdaptor_TransformedSurface { constructor(theSurface: any, theTrsf: gp_Trsf); } export declare class GeomAdaptor_TransformedSurface_3 extends GeomAdaptor_TransformedSurface { constructor(theSurface: any, theUFirst: Standard_Real, theULast: Standard_Real, theVFirst: Standard_Real, theVLast: Standard_Real, theTrsf: gp_Trsf, theTolU: Standard_Real, theTolV: Standard_Real); } export declare type TopAbs_ShapeEnum = { TopAbs_COMPOUND: TopAbs_ShapeEnumValue; TopAbs_COMPSOLID: TopAbs_ShapeEnumValue; TopAbs_SOLID: TopAbs_ShapeEnumValue; TopAbs_SHELL: TopAbs_ShapeEnumValue; TopAbs_FACE: TopAbs_ShapeEnumValue; TopAbs_WIRE: TopAbs_ShapeEnumValue; TopAbs_EDGE: TopAbs_ShapeEnumValue; TopAbs_VERTEX: TopAbs_ShapeEnumValue; TopAbs_SHAPE: TopAbs_ShapeEnumValue; } export declare type TopAbs_ShapeEnumValue = 'TopAbs_COMPOUND' | 'TopAbs_COMPSOLID' | 'TopAbs_SOLID' | 'TopAbs_SHELL' | 'TopAbs_FACE' | 'TopAbs_WIRE' | 'TopAbs_EDGE' | 'TopAbs_VERTEX' | 'TopAbs_SHAPE'; export declare type TopAbs_Orientation = { TopAbs_FORWARD: TopAbs_OrientationValue; TopAbs_REVERSED: TopAbs_OrientationValue; TopAbs_INTERNAL: TopAbs_OrientationValue; TopAbs_EXTERNAL: TopAbs_OrientationValue; } export declare type TopAbs_OrientationValue = 'TopAbs_FORWARD' | 'TopAbs_REVERSED' | 'TopAbs_INTERNAL' | 'TopAbs_EXTERNAL'; export declare class GProp_GProps { /** Either initializes the global properties retained by this framework from those retained by the framework Item, or brings together the global properties still retained by this framework with those retained by the framework Item. The value Density, which is 1.0 by default, is used as the density of the system analysed by Item. Sometimes the density will have already been given at the time of construction of the framework Item. This may be the case for example, if Item is a GProp_PGProps framework built to compute the global properties of a set of points ; or another GProp_GProps object which already retains composite global properties. In these cases the real density was perhaps already taken into account at the time of construction of Item. Note that this is not checked: if the density of parts of the system is taken into account two or more times, results of the computation will be false. Notes : The point relative to which the inertia of Item is computed (i.e. the reference point of Item) may be different from the reference point in this framework. Huygens' theorem is applied automatically to transfer inertia values to the reference point in this framework. The function Add is used once per component of the system. After that, you use the interrogation functions available to access values computed for the system. The system whose global properties are already brought together by this framework is referred to as the current system. However, the current system is not retained by this framework, which maintains only its global properties. Exceptions Standard_DomainError if Density is less than or equal to gp::Resolution(). */ Add(Item: GProp_GProps, Density: Standard_Real): void; /** Returns the mass of the current system. If no density is attached to the components of the current system the returned value corresponds to : the total length of the edges of the current system if this framework retains only linear properties, as is the case for example, when using only the LinearProperties function to combine properties of lines from shapes, or the total area of the faces of the current system if this framework retains only surface properties, as is the case for example, when using only the SurfaceProperties function to combine properties of surfaces from shapes, or the total volume of the solids of the current system if this framework retains only volume properties, as is the case for example, when using only the VolumeProperties function to combine properties of volumes from solids. Warning A length, an area, or a volume is computed in the current data unit system. The mass of a single object is obtained by multiplying its length, its area or its volume by the given density. You must be consistent with respect to the units used. */ Mass(): Standard_Real; /** Returns the center of mass of the current system. If the gravitational field is uniform, it is the center of gravity. The coordinates returned for the center of mass are expressed in the absolute Cartesian coordinate system. */ CentreOfMass(): gp_Pnt; /** returns the matrix of inertia. It is a symmetrical matrix. The coefficients of the matrix are the quadratic moments of inertia. | Ixx Ixy Ixz | matrix = | Ixy Iyy Iyz | | Ixz Iyz Izz | The moments of inertia are denoted by Ixx, Iyy, Izz. The products of inertia are denoted by Ixy, Ixz, Iyz. The matrix of inertia is returned in the central coordinate system (G, Gx, Gy, Gz) where G is the centre of mass of the system and Gx, Gy, Gz the directions parallel to the X(1,0,0) Y(0,1,0) Z(0,0,1) directions of the absolute cartesian coordinate system. It is possible to compute the matrix of inertia at another location point using the Huyghens theorem (you can use the method of package GProp : HOperator). */ MatrixOfInertia(): gp_Mat; /** Returns Ix, Iy, Iz, the static moments of inertia of the current system; i.e. the moments of inertia about the three axes of the Cartesian coordinate system. */ StaticMoments(): { Ix: number; Iy: number; Iz: number }; /** computes the moment of inertia of the material system about the axis A. */ MomentOfInertia(A: gp_Ax1): Standard_Real; /** Computes the principal properties of inertia of the current system. There is always a set of axes for which the products of inertia of a geometric system are equal to 0; i.e. the matrix of inertia of the system is diagonal. These axes are the principal axes of inertia. Their origin is coincident with the center of mass of the system. The associated moments are called the principal moments of inertia. This function computes the eigen values and the eigen vectors of the matrix of inertia of the system. Results are stored by using a presentation framework of principal properties of inertia (GProp_PrincipalProps object) which may be queried to access the value sought. */ PrincipalProperties(): GProp_PrincipalProps; /** Returns the radius of gyration of the current system about the axis A. */ RadiusOfGyration(A: gp_Ax1): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class GProp_GProps_1 extends GProp_GProps { constructor(); } export declare class GProp_GProps_2 extends GProp_GProps { constructor(SystemLocation: gp_Pnt); } export declare class Geom2d_Conic extends Geom2d_Curve { /** Modifies this conic, redefining its local coordinate system partially, by assigning theA as its axis */ SetAxis(theA: gp_Ax22d): void; /** Assigns the origin and unit vector of axis theA to the origin of the local coordinate system of this conic and X Direction. The other unit vector of the local coordinate system of this conic is recomputed normal to theA, without changing the orientation of the local coordinate system (right-handed or left-handed). */ SetXAxis(theAX: gp_Ax2d): void; /** Assigns the origin and unit vector of axis theA to the origin of the local coordinate system of this conic and Y Direction. The other unit vector of the local coordinate system of this conic is recomputed normal to theA, without changing the orientation of the local coordinate system (right-handed or left-handed). */ SetYAxis(theAY: gp_Ax2d): void; /** Modifies this conic, redefining its local coordinate system partially, by assigning theP as its origin. */ SetLocation(theP: gp_Pnt2d): void; /** Returns the "XAxis" of the conic. This axis defines the origin of parametrization of the conic. This axis and the "Yaxis" define the local coordinate system of the conic. -C++: return const& */ XAxis(): gp_Ax2d; /** Returns the "YAxis" of the conic. The "YAxis" is perpendicular to the "Xaxis". */ YAxis(): gp_Ax2d; /** returns the eccentricity value of the conic e. e = 0 for a circle 0 < e < 1 for an ellipse (e = 0 if MajorRadius = MinorRadius) e > 1 for a hyperbola e = 1 for a parabola */ Eccentricity(): Standard_Real; /** Returns the location point of the conic. For the circle, the ellipse and the hyperbola it is the center of the conic. For the parabola it is the vertex of the parabola. */ Location(): gp_Pnt2d; /** Returns the local coordinates system of the conic. */ Position(): gp_Ax22d; /** Reverses the direction of parameterization of . The local coordinate system of the conic is modified. */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . */ ReversedParameter(U: Standard_Real): Standard_Real; /** Returns GeomAbs_CN which is the global continuity of any conic. */ Continuity(): GeomAbs_Shape; /** Returns True, the order of continuity of a conic is infinite. */ IsCN(N: Standard_Integer): Standard_Boolean; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_OffsetCurve extends Geom2d_Curve { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Changes the direction of parametrization of . As a result: the basis curve is reversed, the start point of the initial curve becomes the end point of the reversed curve, the end point of the initial curve becomes the start point of the reversed curve, and the first and last parameters are recomputed. */ Reverse(): void; /** Computes the parameter on the reversed curve for the point of parameter U on this offset curve. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Changes this offset curve by assigning C as the basis curve from which it is built. If isNotCheckC0 = TRUE checking if basis curve has C0-continuity is not made. Exceptions if isNotCheckC0 = false, Standard_ConstructionError if the curve C is not at least "C1" continuous. */ SetBasisCurve(C: any, isNotCheckC0: Standard_Boolean): void; /** Changes this offset curve by assigning D as the offset value. */ SetOffsetValue(D: Standard_Real): void; /** Returns the basis curve of this offset curve. The basis curve can be an offset curve. */ BasisCurve(): any; /** Continuity of the Offset curve : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, G1 : tangency continuity all along the Curve, G2 : curvature continuity all along the Curve, CN : the order of continuity is infinite. Warnings : Returns the continuity of the basis curve - 1. The offset curve must have a unique normal direction defined at any point. Value and derivatives Warnings : The exception UndefinedValue or UndefinedDerivative is raised if it is not possible to compute a unique offset direction. If T is the first derivative with not null length and Z the direction normal to the plane of the curve, the relation ||T(U) ^ Z|| != 0 must be satisfied to evaluate the offset curve. No check is done at the creation time and we suppose in this package that the offset curve is well defined. */ Continuity(): GeomAbs_Shape; /** Warning! this should not be called if the basis curve is not at least C1. Nevertheless if used on portion where the curve is C1, it is OK */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Warning! this should not be called if the continuity of the basis curve is not C2. Nevertheless, it's OK to use it on portion where the curve is C2 */ EvalD1(U: Standard_Real): any; /** Warning! This should not be called if the continuity of the basis curve is not C3. Nevertheless, it's OK to use it on portion where the curve is C3 */ EvalD2(U: Standard_Real): any; /** Warning! This should not be called if the continuity of the basis curve is not C4. Nevertheless, it's OK to use it on portion where the curve is C4 */ EvalD3(U: Standard_Real): any; /** The returned vector gives the value of the derivative for the order of derivation N. Warning! this should not be called raises UndefunedDerivative if the continuity of the basis curve is not CN+1. Nevertheless, it's OK to use it on portion where the curve is CN+1 raises RangeError if N < 1. raises NotImplemented if N > 3. The following functions compute the value and derivatives on the offset curve and returns the derivatives on the basis curve too. The computation of the value and derivatives on the basis curve are used to evaluate the offset curve Warnings : The exception UndefinedValue or UndefinedDerivative is raised if it is not possible to compute a unique offset direction. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Returns the value of the first parameter of this offset curve. The first parameter corresponds to the start point of the curve. Note: the first and last parameters of this offset curve are also the ones of its basis curve. */ FirstParameter(): Standard_Real; /** Returns the value of the last parameter of this offset curve. The last parameter corresponds to the end point. Note: the first and last parameters of this offset curve are also the ones of its basis curve. */ LastParameter(): Standard_Real; /** Returns the offset value of this offset curve. */ Offset(): Standard_Real; /** Returns True if the distance between the start point and the end point of the curve is lower or equal to Resolution from package gp. */ IsClosed(): Standard_Boolean; /** Is the order of continuity of the curve N ? Warnings : This method answer True if the continuity of the basis curve is N + 1. We suppose in this class that a normal direction to the basis curve (used to compute the offset curve) is defined at any point on the basis curve. Raised if N < 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Is the parametrization of a curve is periodic ? If the basis curve is a circle or an ellipse the corresponding OffsetCurve is periodic. If the basis curve can't be periodic (for example BezierCurve) the OffsetCurve can't be periodic. */ IsPeriodic(): Standard_Boolean; /** Returns the period of this offset curve, i.e. the period of the basis curve of this offset curve. Exceptions Standard_NoSuchObject if the basis curve is not periodic. */ Period(): Standard_Real; /** Applies the transformation T to this offset curve. Note: the basis curve is also modified. */ Transform(T: gp_Trsf2d): void; /** Returns the parameter on the transformed curve for the transform of the point of parameter U on . me->Transformed(T)->Value(me->TransformedParameter(U,T)) is the same point as me->Value(U).Transformed(T) This methods calls the basis curve method. */ TransformedParameter(U: Standard_Real, T: gp_Trsf2d): Standard_Real; /** Returns a coefficient to compute the parameter on the transformed curve for the transform of the point on . Transformed(T)->Value(U * ParametricTransformation(T)) is the same point as Value(U).Transformed(T) This methods calls the basis curve method. */ ParametricTransformation(T: gp_Trsf2d): Standard_Real; /** Creates a new object, which is a copy of this offset curve. */ Copy(): any; /** Returns continuity of the basis curve. */ GetBasisCurveContinuity(): GeomAbs_Shape; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_OffsetCurve_1 extends Geom2d_OffsetCurve { constructor(C: any, Offset: Standard_Real, isNotCheckC0: Standard_Boolean); } export declare class Geom2d_OffsetCurve_2 extends Geom2d_OffsetCurve { constructor(theOther: Geom2d_OffsetCurve); } export declare class Geom2d_Curve extends Geom2d_Geometry { /** Changes the direction of parametrization of . The "FirstParameter" and the "LastParameter" are not changed but the orientation of the curve is modified. If the curve is bounded the StartPoint of the initial curve becomes the EndPoint of the reversed curve and the EndPoint of the initial curve becomes the StartPoint of the reversed curve. */ Reverse(): void; /** Computes the parameter on the reversed curve for the point of parameter U on this curve. Note: The point of parameter U on this curve is identical to the point of parameter ReversedParameter(U) on the reversed curve. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Computes the parameter on the curve transformed by T for the point of parameter U on this curve. Note: this function generally returns U but it can be redefined (for example, on a line). */ TransformedParameter(U: Standard_Real, T: gp_Trsf2d): Standard_Real; /** Returns the coefficient required to compute the parametric transformation of this curve when transformation T is applied. This coefficient is the ratio between the parameter of a point on this curve and the parameter of the transformed point on the new curve transformed by T. Note: this function generally returns 1. but it can be redefined (for example, on a line). */ ParametricTransformation(T: gp_Trsf2d): Standard_Real; /** Creates a reversed duplicate Changes the orientation of this curve. The first and last parameters are not changed, but the parametric direction of the curve is reversed. If the curve is bounded: the start point of the initial curve becomes the end point of the reversed curve, and the end point of the initial curve becomes the start point of the reversed curve. Reversed creates a new curve. */ Reversed(): any; /** Returns the value of the first parameter. Warnings : It can be RealFirst or RealLast from package Standard if the curve is infinite */ FirstParameter(): Standard_Real; /** Value of the last parameter. Warnings : It can be RealFirst or RealLast from package Standard if the curve is infinite */ LastParameter(): Standard_Real; /** Returns true if the curve is closed. Examples : Some curves such as circle are always closed, others such as line are never closed (by definition). Some Curves such as OffsetCurve can be closed or not. These curves are considered as closed if the distance between the first point and the last point of the curve is lower or equal to the Resolution from package gp which is a fixed criterion independent of the application. */ IsClosed(): Standard_Boolean; /** Returns true if the parameter of the curve is periodic. It is possible only if the curve is closed and if the following relation is satisfied : for each parametric value U the distance between the point P(u) and the point P (u + T) is lower or equal to Resolution from package gp, T is the period and must be a constant. There are three possibilities : . the curve is never periodic by definition (SegmentLine) . the curve is always periodic by definition (Circle) . the curve can be defined as periodic (BSpline). In this case a function SetPeriodic allows you to give the shape of the curve. The general rule for this case is : if a curve can be periodic or not the default periodicity set is non periodic and you have to turn (explicitly) the curve into a periodic curve if you want the curve to be periodic. */ IsPeriodic(): Standard_Boolean; /** Returns the period of this curve. raises if the curve is not periodic */ Period(): Standard_Real; /** It is the global continuity of the curve : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, G1 : tangency continuity all along the Curve, G2 : curvature continuity all along the Curve, CN : the order of continuity is infinite. */ Continuity(): GeomAbs_Shape; /** Returns true if the degree of continuity of this curve is at least N. Exceptions Standard_RangeError if N is less than 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Computes the point of parameter U. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Computes the point and first derivative at parameter U. Raises an exception if the curve continuity is not C1. */ EvalD1(U: Standard_Real): ResD1; /** Computes the point and first two derivatives at parameter U. Raises an exception if the curve continuity is not C2. */ EvalD2(U: Standard_Real): ResD2; /** Computes the point and first three derivatives at parameter U. Raises an exception if the curve continuity is not C3. */ EvalD3(U: Standard_Real): ResD3; /** Computes the Nth derivative at parameter U. Raises an exception if the curve continuity is not CN, or N < 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Returns in P the point of parameter U. */ D0(U: Standard_Real, P: gp_Pnt2d): void; /** Returns the point P of parameter U and the first derivative V1. */ D1(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. */ D2(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d): void; /** Returns the point P of parameter U, the first, the second and the third derivative. */ D3(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d, V3: gp_Vec2d): void; /** Computes the Nth derivative vector. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Computes the point of parameter U on . Implemented with D0. */ Value(U: Standard_Real): gp_Pnt2d; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_BezierCurve extends Geom2d_BoundedCurve { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Increases the degree of a bezier curve. Degree is the new degree of . raises ConstructionError if Degree is greater than MaxDegree or lower than 2 or lower than the initial degree of . */ Increase(Degree: Standard_Integer): void; /** Inserts a pole with its weight in the set of poles after the pole of range Index. If the curve was non rational it can become rational if all the weights are not identical. Raised if Index is not in the range [0, NbPoles] Raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleAfter(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** Inserts a pole with its weight in the set of poles after the pole of range Index. If the curve was non rational it can become rational if all the weights are not identical. Raised if Index is not in the range [1, NbPoles+1] Raised if the resulting number of poles is greater than MaxDegree + 1. */ InsertPoleBefore(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** Removes the pole of range Index. If the curve was rational it can become non rational. Raised if Index is not in the range [1, NbPoles] */ RemovePole(Index: Standard_Integer): void; /** Reverses the direction of parametrization of Value (NewU) = Value (1 - OldU) */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . returns 1-U */ ReversedParameter(U: Standard_Real): Standard_Real; /** Segments the curve between U1 and U2 which can be out of the bounds of the curve. The curve is oriented from U1 to U2. The control points are modified, the first and the last point are not the same but the parametrization range is [0, 1] else it could not be a Bezier curve. Warnings: Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the curve or if the curve makes loop. After the segmentation the length of a curve can be null. */ Segment(U1: Standard_Real, U2: Standard_Real): void; /** Substitutes the pole of range index with P. If the curve is rational the weight of range Index is not modified. raiseD if Index is not in the range [1, NbPoles] */ SetPole_1(Index: Standard_Integer, P: gp_Pnt2d): void; /** Substitutes the pole of range index with P. If the curve is rational the weight of range Index is not modified. raiseD if Index is not in the range [1, NbPoles] */ SetPole_2(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** Changes the weight of the pole of range Index. If the curve is not rational it can become rational if all the weights are not identical. If the curve was rational it can become non rational if all the weights are identical. Raised if Index is not in the range [1, NbPoles] Raised if Weight <= Resolution from package gp */ SetWeight(Index: Standard_Integer, Weight: Standard_Real): void; /** Returns True if the distance between the first point and the last point of the curve is lower or equal to the Resolution from package gp. */ IsClosed(): Standard_Boolean; /** Continuity of the curve, returns True. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Returns False. A BezierCurve cannot be periodic in this package */ IsPeriodic(): Standard_Boolean; /** Returns false if all the weights are identical. The tolerance criterion is Resolution from package gp. */ IsRational(): Standard_Boolean; /** Returns GeomAbs_CN, which is the continuity of any Bezier curve. */ Continuity(): GeomAbs_Shape; /** Returns the polynomial degree of the curve. It is the number of poles less one. In this package the Degree of a Bezier curve cannot be greater than "MaxDegree". */ Degree(): Standard_Integer; /** Computes the point of parameter U. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Computes the point and first derivative at parameter U. Raises an exception if the curve continuity is not C1. */ EvalD1(U: Standard_Real): any; /** Computes the point and first two derivatives at parameter U. Raises an exception if the curve continuity is not C2. */ EvalD2(U: Standard_Real): any; /** Computes the point and first three derivatives at parameter U. Raises an exception if the curve continuity is not C3. */ EvalD3(U: Standard_Real): any; /** For this Bezier curve, computes the point P of parameter U, or the point P and one or more of the following values: V1, the first derivative vector, V2, the second derivative vector, V3, the third derivative vector. Note: the parameter U can be outside the bounds of the curve. Raises RangeError if N < 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Returns the end point or start point of this Bezier curve. */ EndPoint(): gp_Pnt2d; /** Returns the value of the first parameter of this Bezier curve. This is 0.0, which gives the start point of this Bezier curve. */ FirstParameter(): Standard_Real; /** Returns the value of the last parameter of this Bezier curve. This is 1.0, which gives the end point of this Bezier curve. */ LastParameter(): Standard_Real; /** Returns the number of poles for this Bezier curve. */ NbPoles(): Standard_Integer; /** Returns the pole of range Index. Raised if Index is not in the range [1, NbPoles] */ Pole(Index: Standard_Integer): gp_Pnt2d; /** Returns all the poles of the curve. */ Poles_1(P: TColgp_Array1OfPnt2d): void; /** Returns all the poles of the curve. */ Poles_2(): TColgp_Array1OfPnt2d; /** Returns Value (U=1), it is the first control point of the curve. */ StartPoint(): gp_Pnt2d; /** Returns the weight of range Index. Raised if Index is not in the range [1, NbPoles] */ Weight(Index: Standard_Integer): Standard_Real; /** Returns all the weights of the curve. */ Weights_1(W: TColStd_Array1OfReal): void; /** Returns all the weights of the curve. */ Weights_2(): TColStd_Array1OfReal; /** Returns a const reference to the weights array. For rational curves: the internal owning weights array. For non-rational curves: a non-owning view of unit weights from BSplCLib. The array is always sized to match NbPoles(). Do NOT modify elements through the returned reference. */ WeightsArray(): TColStd_Array1OfReal; /** Applies the transformation T to this Bezier curve. */ Transform(T: gp_Trsf2d): void; /** Returns the value of the maximum polynomial degree of a BezierCurve. This value is 25. */ static MaxDegree(): Standard_Integer; /** Computes for this Bezier curve the parametric tolerance UTolerance for a given tolerance Tolerance3D (relative to dimensions in the plane). If f(t) is the equation of this Bezier curve, UTolerance ensures that | t1 - t0| < Utolerance ===> |f(t1) - f(t0)| < ToleranceUV */ Resolution(ToleranceUV: Standard_Real): { UTolerance: number }; /** Creates a new object which is a copy of this Bezier curve. */ Copy(): any; /** Returns Bezier knots {0.0, 1.0} as a static array. */ Knots(): TColStd_Array1OfReal; /** Returns Bezier multiplicities for the current degree. */ Multiplicities(): TColStd_Array1OfInteger; /** Returns Bezier flat knots for the current degree. */ KnotSequence(): TColStd_Array1OfReal; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_BezierCurve_1 extends Geom2d_BezierCurve { constructor(CurvePoles: TColgp_Array1OfPnt2d); } export declare class Geom2d_BezierCurve_2 extends Geom2d_BezierCurve { constructor(CurvePoles: TColgp_Array1OfPnt2d, PoleWeights: TColStd_Array1OfReal); } export declare class Geom2d_BezierCurve_3 extends Geom2d_BezierCurve { constructor(theOther: Geom2d_BezierCurve); } export declare class Geom2d_Ellipse extends Geom2d_Conic { /** Converts the gp_Elips2d ellipse E into this ellipse. */ SetElips2d(E: gp_Elips2d): void; /** Assigns a value to the major radius of this ellipse. Exceptions Standard_ConstructionError if: the major radius of this ellipse becomes less than the minor radius, or MinorRadius is less than 0. */ SetMajorRadius(MajorRadius: Standard_Real): void; /** Assigns a value to the minor radius of this ellipse. Exceptions Standard_ConstructionError if: the major radius of this ellipse becomes less than the minor radius, or MinorRadius is less than 0. */ SetMinorRadius(MinorRadius: Standard_Real): void; /** Converts this ellipse into a gp_Elips2d ellipse. */ Elips2d(): gp_Elips2d; /** Computes the parameter on the reversed ellipse for the point of parameter U on this ellipse. For an ellipse, the returned value is: 2.*Pi - U. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Computes the directrices of this ellipse. This directrix is the line normal to the XAxis of the ellipse in the local plane (Z = 0) at a distance d = MajorRadius / e from the center of the ellipse, where e is the eccentricity of the ellipse. This line is parallel to the "YAxis". The intersection point between directrix1 and the "XAxis" is the "Location" point of the directrix1. This point is on the positive side of the "XAxis". Raises ConstructionError if Eccentricity = 0.0. (The ellipse degenerates into a circle) */ Directrix1(): gp_Ax2d; /** This line is obtained by the symmetrical transformation of "Directrix1" with respect to the "YAxis" of the ellipse. Raises ConstructionError if Eccentricity = 0.0. (The ellipse degenerates into a circle). */ Directrix2(): gp_Ax2d; /** Returns the eccentricity of the ellipse between 0.0 and 1.0 If f is the distance between the center of the ellipse and the Focus1 then the eccentricity e = f / MajorRadius. Returns 0 if MajorRadius = 0 */ Eccentricity(): Standard_Real; /** Computes the focal distance. The focal distance is the distance between the center and a focus of the ellipse. */ Focal(): Standard_Real; /** Returns the first focus of the ellipse. This focus is on the positive side of the "XAxis" of the ellipse. */ Focus1(): gp_Pnt2d; /** Returns the second focus of the ellipse. This focus is on the negative side of the "XAxis" of the ellipse. */ Focus2(): gp_Pnt2d; /** Returns the major radius of this ellipse. */ MajorRadius(): Standard_Real; /** Returns the minor radius of this ellipse. */ MinorRadius(): Standard_Real; /** Computes the parameter of this ellipse. This value is given by the formula p = (1 - e * e) * MajorRadius where e is the eccentricity of the ellipse. Returns 0 if MajorRadius = 0 */ Parameter(): Standard_Real; /** Returns the value of the first parameter of this ellipse. This is 0.0, which gives the start point of this ellipse. The start point and end point of an ellipse are coincident. */ FirstParameter(): Standard_Real; /** Returns the value of the last parameter of this ellipse. This is 2.*Pi, which gives the end point of this ellipse. The start point and end point of an ellipse are coincident. */ LastParameter(): Standard_Real; /** return True. */ IsClosed(): Standard_Boolean; /** return True. */ IsPeriodic(): Standard_Boolean; /** Returns in P the point of parameter U. P = C + MajorRadius * Cos (U) * XDir + MinorRadius * Sin (U) * YDir where C is the center of the ellipse , XDir the direction of the "XAxis" and "YDir" the "YAxis" of the ellipse. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Computes the point and first derivative at parameter U. Raises an exception if the curve continuity is not C1. */ EvalD1(U: Standard_Real): any; /** Returns the point P of parameter U. The vectors V1 and V2 are the first and second derivatives at this point. */ EvalD2(U: Standard_Real): any; /** Returns the point P of parameter U, the first second and third derivatives V1 V2 and V3. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this ellipse, computes the vector corresponding to the Nth derivative. Exceptions Standard_RangeError if N is less than 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Applies the transformation T to this ellipse. */ Transform(T: gp_Trsf2d): void; /** Creates a new object which is a copy of this ellipse. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_Ellipse_1 extends Geom2d_Ellipse { constructor(E: gp_Elips2d); } export declare class Geom2d_Ellipse_2 extends Geom2d_Ellipse { constructor(MajorAxis: gp_Ax2d, MajorRadius: Standard_Real, MinorRadius: Standard_Real, Sense: Standard_Boolean); } export declare class Geom2d_Ellipse_3 extends Geom2d_Ellipse { constructor(Axis: gp_Ax22d, MajorRadius: Standard_Real, MinorRadius: Standard_Real); } export declare class Geom2d_BoundedCurve extends Geom2d_Curve { /** Returns the end point of the curve. The end point is the value of the curve for the "LastParameter" of the curve. */ EndPoint(): gp_Pnt2d; /** Returns the start point of the curve. The start point is the value of the curve for the "FirstParameter" of the curve. */ StartPoint(): gp_Pnt2d; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_BSplineCurve extends Geom2d_BoundedCurve { /** Returns true if an evaluation representation is attached. */ HasEvalRepresentation(): Standard_Boolean; /** Returns the current evaluation representation descriptor (may be null). */ EvalRepresentation(): any; /** Sets a new evaluation representation. Validates descriptor data and ensures no circular references. */ SetEvalRepresentation(theDesc: any): void; /** Removes the evaluation representation. */ ClearEvalRepresentation(): void; /** Increases the degree of this BSpline 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. Exceptions Standard_ConstructionError if Degree is greater than Geom2d_BSplineCurve::MaxDegree(). */ IncreaseDegree(Degree: Standard_Integer): void; /** Increases the multiplicity of the knot to . If is lower or equal to the current multiplicity nothing is done. If is higher than the degree, the degree is used. If is not in [FirstUKnotIndex, LastUKnotIndex] */ IncreaseMultiplicity_1(Index: Standard_Integer, M: Standard_Integer): void; /** Increases the multiplicity of the knot to . If is lower or equal to the current multiplicity nothing is done. If is higher than the degree, the degree is used. If is not in [FirstUKnotIndex, LastUKnotIndex] */ IncreaseMultiplicity_2(I1: Standard_Integer, I2: Standard_Integer, M: Standard_Integer): void; /** Increases by M the multiplicity of the knots of indexes I1 to I2 in the knots table of this BSpline curve. For each knot, the resulting multiplicity is limited to the degree of this curve. If M is negative, nothing is done. As a result, the poles and weights tables of this BSpline curve are modified. Warning It is forbidden to modify the multiplicity of the first or last knot of a non-periodic curve. Be careful as Geom2d does not protect against this. Exceptions Standard_OutOfRange if I1 or I2 is outside the bounds of the knots table. */ IncrementMultiplicity(I1: Standard_Integer, I2: Standard_Integer, M: Standard_Integer): void; /** Inserts a knot value in the sequence of knots. If is an existing knot the multiplicity is increased by . 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. The tolerance criterion for knots equality is the max of Epsilon(U) and ParametricTolerance. Warning If U is less than the first parameter or greater than the last parameter of this BSpline curve, nothing is done. If M is negative or null, nothing is done. The multiplicity of a knot is limited to the degree of this BSpline curve. */ InsertKnot(U: Standard_Real, M: Standard_Integer, ParametricTolerance: Standard_Real): void; /** Inserts the values of the array Knots, with the respective multiplicities given by the array Mults, into the knots table of this BSpline curve. If a value of the array Knots is an existing knot, its multiplicity is: increased by M, if Add is true, or increased to M, if Add is false (default value). The tolerance criterion used for knot equality is the larger of the values ParametricTolerance (defaulted to 0.) and double::Epsilon(U), where U is the current knot value. Warning For a value of the array Knots which is less than the first parameter or greater than the last parameter of this BSpline curve, nothing is done. For a value of the array Mults which is negative or null, nothing is done. The multiplicity of a knot is limited to the degree of this BSpline curve. */ InsertKnots(Knots: TColStd_Array1OfReal, Mults: TColStd_Array1OfInteger, ParametricTolerance: Standard_Real, Add: Standard_Boolean): void; /** 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. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table. */ RemoveKnot(Index: Standard_Integer, M: Standard_Integer, Tolerance: Standard_Real): Standard_Boolean; /** The new pole is inserted after the pole of range Index. If the curve was non rational it can become rational. Raised if the B-spline is NonUniform or PiecewiseBezier or if Weight <= 0.0 Raised if Index is not in the range [1, Number of Poles] */ InsertPoleAfter(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** The new pole is inserted before the pole of range Index. If the curve was non rational it can become rational. Raised if the B-spline is NonUniform or PiecewiseBezier or if Weight <= 0.0 Raised if Index is not in the range [1, Number of Poles] */ InsertPoleBefore(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** Removes the pole of range Index If the curve was rational it can become non rational. Raised if the B-spline is NonUniform or PiecewiseBezier. Raised if the number of poles of the B-spline curve is lower or equal to 2 before removing. Raised if Index is not in the range [1, Number of Poles] */ RemovePole(Index: Standard_Integer): void; /** Reverses the orientation of this BSpline curve. As a result the knots and poles tables are modified; the start point of the initial curve becomes the end point of the reversed curve; the end point of the initial curve becomes the start point of the reversed curve. */ Reverse(): void; /** Computes the parameter on the reversed curve for the point of parameter U on this BSpline curve. The returned value is: UFirst + ULast - U, where UFirst and ULast are the values of the first and last parameters of this BSpline curve. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Modifies this BSpline curve by segmenting it between U1 and U2. Either of these values can be outside the bounds of the curve, but U2 must be greater than U1. All data structure tables of this BSpline curve are modified, but the knots located between U1 and U2 are retained. The degree of the curve is not modified. Parameter theTolerance defines the possible proximity of the segment boundaries and B-spline knots to treat them as equal. Warnings: Even if is not closed it can become closed after the segmentation for example if U1 or U2 are out of the bounds of the curve or if the curve makes loop. After the segmentation the length of a curve can be null. The segmentation of a periodic curve over an interval corresponding to its period generates a non-periodic curve with equivalent geometry. Exceptions Standard_DomainError if U2 is less than U1. raises if U2 < U1. Standard_DomainError if U2 - U1 exceeds the period for periodic curves. i.e. ((U2 - U1) - Period) > Precision::PConfusion(). */ Segment(U1: Standard_Real, U2: Standard_Real, theTolerance: Standard_Real): void; /** Modifies this BSpline curve by assigning the value K to the knot of index Index in the knots table. This is a relatively local modification because K must be such that: Knots(Index - 1) < K < Knots(Index + 1) Exceptions Standard_ConstructionError if: K is not such that: Knots(Index - 1) < K < Knots(Index + 1) M is greater than the degree of this BSpline curve or lower than the previous multiplicity of knot of index Index in the knots table. Standard_OutOfRange if Index is outside the bounds of the knots table. */ SetKnot_1(Index: Standard_Integer, K: Standard_Real): void; /** Modifies this BSpline curve by assigning the array K to its knots table. The multiplicity of the knots is not modified. Exceptions Standard_ConstructionError if the values in the array K are not in ascending order. Standard_OutOfRange if the bounds of the array K are not respectively 1 and the number of knots of this BSpline curve. */ SetKnots(K: TColStd_Array1OfReal): void; /** Modifies this BSpline curve by assigning the value K to the knot of index Index in the knots table. This is a relatively local modification because K must be such that: Knots(Index - 1) < K < Knots(Index + 1) Exceptions Standard_ConstructionError if: K is not such that: Knots(Index - 1) < K < Knots(Index + 1) M is greater than the degree of this BSpline curve or lower than the previous multiplicity of knot of index Index in the knots table. Standard_OutOfRange if Index is outside the bounds of the knots table. */ SetKnot_2(Index: Standard_Integer, K: Standard_Real, M: Standard_Integer): void; /** Computes the parameter normalized within the "first" period of this BSpline curve, if it is periodic: the returned value is in the range Param1 and Param1 + Period, where: Param1 is the "first parameter", and Period the period of this BSpline curve. Note: If this curve is not periodic, U is not modified. */ PeriodicNormalization(): { U: number }; /** Changes this BSpline curve into a periodic curve. To become periodic, the curve must first be closed. Next, the knot sequence must be periodic. For this, FirstUKnotIndex and LastUKnotIndex are used to compute I1 and I2, the indexes in the knots array of the knots corresponding to the first and last parameters of this BSpline curve. The period is therefore Knot(I2) - Knot(I1). Consequently, the knots and poles tables are modified. Exceptions Standard_ConstructionError if this BSpline curve is not closed. */ SetPeriodic(): void; /** Assigns the knot of index Index in the knots table as the origin of this periodic BSpline curve. As a consequence, the knots and poles tables are modified. Exceptions Standard_NoSuchObject if this curve is not periodic. Standard_DomainError if Index is outside the bounds of the knots table. */ SetOrigin(Index: Standard_Integer): void; /** Changes this BSpline curve into a non-periodic curve. If this curve is already non-periodic, it is not modified. Note that the poles and knots tables are modified. Warning If this curve is periodic, as the multiplicity of the first and last knots is not modified, and is not equal to Degree + 1, where Degree is the degree of this BSpline curve, the start and end points of the curve are not its first and last poles. */ SetNotPeriodic(): void; /** Modifies this BSpline curve by assigning P to the pole of index Index in the poles table. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table. Standard_ConstructionError if Weight is negative or null. */ SetPole_1(Index: Standard_Integer, P: gp_Pnt2d): void; /** Modifies this BSpline curve by assigning P to the pole of index Index in the poles table. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table. Standard_ConstructionError if Weight is negative or null. */ SetPole_2(Index: Standard_Integer, P: gp_Pnt2d, Weight: Standard_Real): void; /** Assigns the weight Weight to the pole of index Index of the poles table. If the curve was non rational it can become rational. If the curve was rational it can become non rational. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table. Standard_ConstructionError if Weight is negative or null. */ SetWeight(Index: Standard_Integer, Weight: Standard_Real): void; /** Moves the point of parameter U of this BSpline curve to P. Index1 and Index2 are the indexes in the table of poles of this BSpline curve of the first and last poles designated to be moved. FirstModifiedPole and LastModifiedPole are the indexes of the first and last poles, which are effectively modified. In the event of incompatibility between Index1, Index2 and the value U: no change is made to this BSpline curve, and the FirstModifiedPole and LastModifiedPole are returned null. Exceptions Standard_OutOfRange if: Index1 is greater than or equal to Index2, or Index1 or Index2 is less than 1 or greater than the number of poles of this BSpline curve. */ MovePoint(U: Standard_Real, P: gp_Pnt2d, Index1: Standard_Integer, Index2: Standard_Integer): { FirstModifiedPole: number; LastModifiedPole: number }; /** Move a point with parameter U to P. and makes it tangent at U be Tangent. StartingCondition = -1 means first can move EndingCondition = -1 means last point can move StartingCondition = 0 means the first point cannot move EndingCondition = 0 means the last point cannot move StartingCondition = 1 means the first point and tangent cannot move EndingCondition = 1 means the last point and tangent cannot move and so forth ErrorStatus != 0 means that there are not enough degree of freedom with the constrain to deform the curve accordingly */ MovePointAndTangent(U: Standard_Real, P: gp_Pnt2d, Tangent: gp_Vec2d, Tolerance: Standard_Real, StartingCondition: Standard_Integer, EndingCondition: Standard_Integer): { ErrorStatus: number }; /** Returns true if the degree of continuity of this BSpline curve is at least N. A BSpline curve is at least GeomAbs_C0. Exceptions Standard_RangeError if N is negative. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Check if curve has at least G1 continuity in interval [theTf, theTl] Returns true if IsCN(1) or angle between "left" and "right" first derivatives at knots with C0 continuity is less then theAngTol only knots in interval [theTf, theTl] is checked */ IsG1(theTf: Standard_Real, theTl: Standard_Real, theAngTol: Standard_Real): Standard_Boolean; /** Returns true if the distance between the first point and the last point of the curve is lower or equal to Resolution from package gp. Warnings : The first and the last point can be different from the first pole and the last pole of the curve. */ IsClosed(): Standard_Boolean; /** Returns True if the curve is periodic. */ IsPeriodic(): Standard_Boolean; /** Returns True if the weights are not identical. The tolerance criterion is Epsilon of the class Real. */ IsRational(): Standard_Boolean; /** Returns the global continuity of the curve : C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, CN : the order of continuity is infinite. For a B-spline curve of degree d if a knot Ui has a multiplicity p the B-spline curve is only Cd-p continuous at Ui. So the global continuity of the curve can't be greater than Cd-p where p is the maximum multiplicity of the interior Knots. In the interior of a knot span the curve is infinitely continuously differentiable. */ Continuity(): GeomAbs_Shape; /** Returns the degree of this BSpline curve. In this class the degree of the basis normalized B-spline functions cannot be greater than "MaxDegree" Computation of value and derivatives */ Degree(): Standard_Integer; /** Computes the point of parameter U. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Raised if the continuity of the curve is not C1. */ EvalD1(U: Standard_Real): any; /** Raised if the continuity of the curve is not C2. */ EvalD2(U: Standard_Real): any; /** For this BSpline curve, computes the point P of parameter U, or the point P and one or more of the following values: V1, the first derivative vector, V2, the second derivative vector, V3, the third derivative vector. Warning On a point where the continuity of the curve is not the one requested, these functions impact the part defined by the parameter with a value greater than U, i.e. the part of the curve to the "right" of the singularity. Raises UndefinedDerivative if the continuity of the curve is not C3. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this BSpline curve, computes the vector corresponding to the Nth derivative. Warning On a point where the continuity of the curve is not the one requested, this function impacts the part defined by the parameter with a value greater than U, i.e. the part of the curve to the "right" of the singularity. Raises UndefinedDerivative if the continuity of the curve is not CN. RangeError if N < 1. The following functions computes the point of parameter U and the derivatives at this point on the B-spline curve arc defined between the knot FromK1 and the knot ToK2. U can be out of bounds [Knot (FromK1), Knot (ToK2)] but for the computation we only use the definition of the curve between these two knots. This method is useful to compute local derivative, if the order of continuity of the whole curve is not greater enough. Inside the parametric domain Knot (FromK1), Knot (ToK2) the evaluations are the same as if we consider the whole definition of the curve. Of course the evaluations are different outside this parametric domain. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Raised if FromK1 = ToK2. */ LocalValue(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer): gp_Pnt2d; /** Raised if FromK1 = ToK2. */ LocalD0(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt2d): void; /** Raised if the local continuity of the curve is not C1 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD1(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt2d, V1: gp_Vec2d): void; /** Raised if the local continuity of the curve is not C2 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD2(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d): void; /** Raised if the local continuity of the curve is not C3 between the knot K1 and the knot K2. Raised if FromK1 = ToK2. */ LocalD3(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d, V3: gp_Vec2d): void; /** Raised if the local continuity of the curve is not CN between the knot K1 and the knot K2. Raised if FromK1 = ToK2. Raised if N < 1. */ LocalDN(U: Standard_Real, FromK1: Standard_Integer, ToK2: Standard_Integer, N: Standard_Integer): gp_Vec2d; /** Returns the last point of the curve. Warnings : The last point of the curve is different from the last pole of the curve if the multiplicity of the last knot is lower than Degree. */ EndPoint(): gp_Pnt2d; /** For a B-spline curve the first parameter (which gives the start point of the curve) is a knot value but if the multiplicity of the first knot index is lower than Degree + 1 it is not the first knot of the curve. This method computes the index of the knot corresponding to the first parameter. */ FirstUKnotIndex(): Standard_Integer; /** Computes the parametric value of the start point of the curve. It is a knot value. */ FirstParameter(): Standard_Real; /** Returns the knot of range Index. When there is a knot with a multiplicity greater than 1 the knot is not repeated. The method Multiplicity can be used to get the multiplicity of the Knot. Raised if Index < 1 or Index > NbKnots */ Knot(Index: Standard_Integer): Standard_Real; /** returns the knot values of the B-spline curve; */ Knots_1(K: TColStd_Array1OfReal): void; /** returns the knot values of the B-spline curve; */ Knots_2(): TColStd_Array1OfReal; /** Returns the knots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : K = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ KnotSequence_1(K: TColStd_Array1OfReal): void; /** Returns the knots sequence. In this sequence the knots with a multiplicity greater than 1 are repeated. Example : K = {k1, k1, k1, k2, k3, k3, k4, k4, k4} */ KnotSequence_2(): TColStd_Array1OfReal; /** Returns NonUniform or Uniform or QuasiUniform or PiecewiseBezier. If all the knots differ by a positive constant from the preceding knot the BSpline Curve can be : Uniform if all the knots are of multiplicity 1, QuasiUniform if all the knots are of multiplicity 1 except for the first and last knot which are of multiplicity Degree + 1, PiecewiseBezier if the first and last knots have multiplicity Degree + 1 and if interior knots have multiplicity Degree A piecewise Bezier with only two knots is a BezierCurve. else the curve is non uniform. The tolerance criterion is Epsilon from class Real. */ KnotDistribution(): GeomAbs_BSplKnotDistribution; /** For a BSpline curve the last parameter (which gives the end point of the curve) is a knot value but if the multiplicity of the last knot index is lower than Degree + 1 it is not the last knot of the curve. This method computes the index of the knot corresponding to the last parameter. */ LastUKnotIndex(): Standard_Integer; /** Computes the parametric value of the end point of the curve. It is a knot value. */ LastParameter(): Standard_Real; /** Locates the parametric value U in the sequence of knots. If "WithKnotRepetition" is True we consider the knot's representation with repetition of multiple knot value, otherwise we consider the knot's representation with no repetition of multiple knot values. Knots (I1) <= U <= Knots (I2) . if I1 = I2 U is a knot value (the tolerance criterion ParametricTolerance is used). . if I1 < 1 => U < Knots (1) - std::abs(ParametricTolerance) . if I2 > NbKnots => U > Knots (NbKnots) + std::abs(ParametricTolerance) */ LocateU(U: Standard_Real, ParametricTolerance: Standard_Real, WithKnotRepetition: Standard_Boolean): { I1: number; I2: number }; /** Returns the multiplicity of the knots of range Index. Raised if Index < 1 or Index > NbKnots */ Multiplicity(Index: Standard_Integer): Standard_Integer; /** returns the multiplicity of the knots of the curve. */ Multiplicities_1(M: TColStd_Array1OfInteger): void; /** returns the multiplicity of the knots of the curve. */ Multiplicities_2(): TColStd_Array1OfInteger; /** Returns the number of knots. This method returns the number of knot without repetition of multiple knots. */ NbKnots(): Standard_Integer; /** Returns the number of poles. */ NbPoles(): Standard_Integer; /** Returns the pole of range Index. Raised if Index < 1 or Index > NbPoles. */ Pole(Index: Standard_Integer): gp_Pnt2d; /** Returns the poles of the B-spline curve;. */ Poles_1(P: TColgp_Array1OfPnt2d): void; /** Returns the poles of the B-spline curve;. */ Poles_2(): TColgp_Array1OfPnt2d; /** Returns the start point of the curve. Warnings : This point is different from the first pole of the curve if the multiplicity of the first knot is lower than Degree. */ StartPoint(): gp_Pnt2d; /** Returns the weight of the pole of range Index . Raised if Index < 1 or Index > NbPoles. */ Weight(Index: Standard_Integer): Standard_Real; /** Returns the weights of the B-spline curve;. */ Weights_1(W: TColStd_Array1OfReal): void; /** Returns the weights of the B-spline curve;. */ Weights_2(): TColStd_Array1OfReal; /** Returns a const reference to the weights array. For rational curves: the internal owning weights array. For non-rational curves: a non-owning view of unit weights from BSplCLib. The array is always sized to match NbPoles(). Do NOT modify elements through the returned reference. */ WeightsArray(): TColStd_Array1OfReal; /** Applies the transformation T to this BSpline curve. */ Transform(T: gp_Trsf2d): void; /** Returns the value of the maximum degree of the normalized B-spline basis functions in this package. */ static MaxDegree(): Standard_Integer; /** Computes for this BSpline curve the parametric tolerance UTolerance for a given tolerance Tolerance3D (relative to dimensions in the plane). If f(t) is the equation of this BSpline curve, UTolerance ensures that: | t1 - t0| < Utolerance ===> |f(t1) - f(t0)| < ToleranceUV */ Resolution(ToleranceUV: Standard_Real): { UTolerance: number }; /** Creates a new object which is a copy of this BSpline curve. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_BSplineCurve_1 extends Geom2d_BSplineCurve { constructor(Poles: TColgp_Array1OfPnt2d, Knots: TColStd_Array1OfReal, Multiplicities: TColStd_Array1OfInteger, Degree: Standard_Integer, Periodic: Standard_Boolean); } export declare class Geom2d_BSplineCurve_2 extends Geom2d_BSplineCurve { constructor(Poles: TColgp_Array1OfPnt2d, Weights: TColStd_Array1OfReal, Knots: TColStd_Array1OfReal, Multiplicities: TColStd_Array1OfInteger, Degree: Standard_Integer, Periodic: Standard_Boolean); } export declare class Geom2d_BSplineCurve_3 extends Geom2d_BSplineCurve { constructor(theOther: Geom2d_BSplineCurve); } export declare class Geom2d_Circle extends Geom2d_Conic { /** Converts the gp_Circ2d circle C into this circle. */ SetCirc2d(C: gp_Circ2d): void; SetRadius(R: Standard_Real): void; /** Returns the non persistent circle from gp with the same geometric properties as . */ Circ2d(): gp_Circ2d; /** Returns the radius of this circle. */ Radius(): Standard_Real; /** Computes the parameter on the reversed circle for the point of parameter U on this circle. For a circle, the returned value is: 2.*Pi - U. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Returns 0., which is the eccentricity of any circle. */ Eccentricity(): Standard_Real; /** Returns 0.0. */ FirstParameter(): Standard_Real; /** Returns 2*PI. */ LastParameter(): Standard_Real; /** returns True. */ IsClosed(): Standard_Boolean; /** returns True. The period of a circle is 2.*Pi. */ IsPeriodic(): Standard_Boolean; /** Returns in P the point of parameter U. P = C + R * Cos (U) * XDir + R * Sin (U) * YDir where C is the center of the circle , XDir the XDirection and YDir the YDirection of the circle's local coordinate system. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Returns the point P of parameter U and the first derivative V1. */ EvalD1(U: Standard_Real): any; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. */ EvalD2(U: Standard_Real): any; /** Returns the point P of parameter u, the first second and third derivatives V1 V2 and V3. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this circle, computes the vector corresponding to the Nth derivative. Exceptions: Standard_RangeError if N is less than 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Applies the transformation T to this circle. */ Transform(T: gp_Trsf2d): void; /** Creates a new object which is a copy of this circle. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_Circle_1 extends Geom2d_Circle { constructor(C: gp_Circ2d); } export declare class Geom2d_Circle_2 extends Geom2d_Circle { constructor(A: gp_Ax2d, Radius: Standard_Real, Sense: Standard_Boolean); } export declare class Geom2d_Circle_3 extends Geom2d_Circle { constructor(A: gp_Ax22d, Radius: Standard_Real); } export declare class Geom2d_Geometry extends Standard_Transient { /** Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry and assigns the result to this geometric object. */ Mirror_1(P: gp_Pnt2d): void; /** Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry and assigns the result to this geometric object. */ Mirror_2(A: gp_Ax2d): void; /** Rotates a Geometry. P is the center of the rotation. Ang is the angular value of the rotation in radians. */ Rotate(P: gp_Pnt2d, Ang: Standard_Real): void; /** Scales a Geometry. S is the scaling value. */ Scale(P: gp_Pnt2d, S: Standard_Real): void; /** Translates a Geometry. V is the vector of the translation. */ Translate_1(V: gp_Vec2d): void; /** Translates a Geometry. V is the vector of the translation. */ Translate_2(P1: gp_Pnt2d, P2: gp_Pnt2d): void; /** Transformation of a geometric object. This transformation can be a translation, a rotation, a symmetry, a scaling or a complex transformation obtained by combination of the previous elementaries transformations. (see class Transformation of the package Geom2d). The following transformations have the same properties as the previous ones but they don't modified the object itself. A copy of the object is returned. */ Transform(T: gp_Trsf2d): void; Mirrored_1(P: gp_Pnt2d): any; Mirrored_2(A: gp_Ax2d): any; Rotated(P: gp_Pnt2d, Ang: Standard_Real): any; Scaled(P: gp_Pnt2d, S: Standard_Real): any; Transformed(T: gp_Trsf2d): any; Translated_1(V: gp_Vec2d): any; Translated_2(P1: gp_Pnt2d, P2: gp_Pnt2d): any; Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_TrimmedCurve extends Geom2d_BoundedCurve { /** Creates a trimmed curve from the basis curve C limited between U1 and U2. . U1 can be greater or lower than U2. . The returned curve is oriented from U1 to U2. . If the basis curve C is periodic there is an ambiguity because two parts are available. In this case by default the trimmed curve has the same orientation as the basis curve (Sense = True). If Sense = False then the orientation of the trimmed curve is opposite to the orientation of the basis curve C. If the curve is closed but not periodic it is not possible to keep the part of the curve including the junction point (except if the junction point is at the beginning or at the end of the trimmed curve) because you could lose the fundamental characteristics of the basis curve which are used for example to compute the derivatives of the trimmed curve. So for a closed curve the rules are the same as for a open curve. Warnings : In this package the entities are not shared. The TrimmedCurve is built with a copy of the curve C. So when C is modified the TrimmedCurve is not modified Warnings : If is periodic and is True, parametrics bounds of the TrimmedCurve, can be different to [;}, if or are not in the principal period. Include : For more explanation see the scheme given with this class. Raises ConstructionError the C is not periodic and U1 or U2 are out of the bounds of C. Raised if U1 = U2. */ constructor(C: any, U1: Standard_Real, U2: Standard_Real, Sense: Standard_Boolean, theAdjustPeriodic: Standard_Boolean) /** Changes the direction of parametrization of . The first and the last parametric values are modified. The "StartPoint" of the initial curve becomes the "EndPoint" of the reversed curve and the "EndPoint" of the initial curve becomes the "StartPoint" of the reversed curve. Example - If the trimmed curve is defined by: a basis curve whose parameter range is [ 0.,1. ], and the two trim values U1 (first parameter) and U2 (last parameter), the reversed trimmed curve is defined by: the reversed basis curve, whose parameter range is still [ 0.,1. ], and the two trim values 1. - U2 (first parameter) and 1. - U1 (last parameter). */ Reverse(): void; /** Returns the parameter on the reversed curve for the point of parameter U on . returns UFirst + ULast - U */ ReversedParameter(U: Standard_Real): Standard_Real; /** Changes this trimmed curve, by redefining the parameter values U1 and U2, which limit its basis curve. Note: If the basis curve is periodic, the trimmed curve has the same orientation as the basis curve if Sense is true (default value) or the opposite orientation if Sense is false. Warning If the basis curve is periodic and theAdjustPeriodic is True, the bounds of the trimmed curve may be different from U1 and U2 if the parametric origin of the basis curve is within the arc of the trimmed curve. In this case, the modified parameter will be equal to U1 or U2 plus or minus the period. If theAdjustPeriodic is False, parameters U1 and U2 will stay unchanged. Exceptions Standard_ConstructionError if: the basis curve is not periodic, and either U1 or U2 are outside the bounds of the basis curve, or U1 is equal to U2. */ SetTrim(U1: Standard_Real, U2: Standard_Real, Sense: Standard_Boolean, theAdjustPeriodic: Standard_Boolean): void; /** Returns the basis curve. Warning This function does not return a constant reference. Consequently, any modification of the returned value directly modifies the trimmed curve. */ BasisCurve(): any; /** Returns the global continuity of the basis curve of this trimmed curve. C0 : only geometric continuity, C1 : continuity of the first derivative all along the Curve, C2 : continuity of the second derivative all along the Curve, C3 : continuity of the third derivative all along the Curve, CN : the order of continuity is infinite. */ Continuity(): GeomAbs_Shape; /** Purpose Returns True if the order of continuity of the trimmed curve is N. A trimmed curve is at least "C0" continuous. Warnings : The continuity of the trimmed curve can be greater than the continuity of the basis curve because you consider only a part of the basis curve. Raised if N < 0. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Returns the end point of . This point is the evaluation of the curve for the "LastParameter". */ EndPoint(): gp_Pnt2d; /** Returns the value of the first parameter of . The first parameter is the parameter of the "StartPoint" of the trimmed curve. */ FirstParameter(): Standard_Real; /** Returns True if the distance between the StartPoint and the EndPoint is lower or equal to Resolution from package gp. */ IsClosed(): Standard_Boolean; /** Always returns FALSE (independently of the type of basis curve). */ IsPeriodic(): Standard_Boolean; /** Returns the period of the basis curve of this trimmed curve. Exceptions Standard_NoSuchObject if the basis curve is not periodic. */ Period(): Standard_Real; /** Returns the value of the last parameter of . The last parameter is the parameter of the "EndPoint" of the trimmed curve. */ LastParameter(): Standard_Real; /** Returns the start point of . This point is the evaluation of the curve from the "FirstParameter". value and derivatives Warnings : The returned derivatives have the same orientation as the derivatives of the basis curve. */ StartPoint(): gp_Pnt2d; /** If the basis curve is an OffsetCurve sometimes it is not possible to do the evaluation of the curve at the parameter U (see class OffsetCurve). */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Raised if the continuity of the curve is not C1. */ EvalD1(U: Standard_Real): any; /** Raised if the continuity of the curve is not C2. */ EvalD2(U: Standard_Real): any; /** Raised if the continuity of the curve is not C3. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this trimmed curve, computes the vector corresponding to the Nth derivative. Warning The returned derivative vector has the same orientation as the derivative vector of the basis curve, even if the trimmed curve does not have the same orientation as the basis curve. Exceptions Standard_RangeError if N is less than 1. geometric transformations */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Applies the transformation T to this trimmed curve. Warning The basis curve is also modified. */ Transform(T: gp_Trsf2d): void; /** Returns the parameter on the transformed curve for the transform of the point of parameter U on . me->Transformed(T)->Value(me->TransformedParameter(U,T)) is the same point as me->Value(U).Transformed(T) This methods calls the basis curve method. */ TransformedParameter(U: Standard_Real, T: gp_Trsf2d): Standard_Real; /** Returns a coefficient to compute the parameter on the transformed curve for the transform of the point on . Transformed(T)->Value(U * ParametricTransformation(T)) is the same point as Value(U).Transformed(T) This methods calls the basis curve method. */ ParametricTransformation(T: gp_Trsf2d): Standard_Real; /** Creates a new object, which is a copy of this trimmed curve. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_Line extends Geom2d_Curve { /** Set so that has the same geometric properties as L. */ SetLin2d(L: gp_Lin2d): void; /** changes the direction of the line. */ SetDirection(V: gp_Dir2d): void; /** changes the direction of the line. */ Direction(): gp_Dir2d; /** Changes the "Location" point (origin) of the line. */ SetLocation(P: gp_Pnt2d): void; /** Changes the "Location" point (origin) of the line. */ Location(): gp_Pnt2d; /** Changes the "Location" and a the "Direction" of . */ SetPosition(A: gp_Ax2d): void; Position(): gp_Ax2d; /** Returns non persistent line from gp with the same geometric properties as */ Lin2d(): gp_Lin2d; /** Changes the orientation of this line. As a result, the unit vector of the positioning axis of this line is reversed. */ Reverse(): void; /** Computes the parameter on the reversed line for the point of parameter U on this line. For a line, the returned value is -U. */ ReversedParameter(U: Standard_Real): Standard_Real; /** Returns RealFirst from Standard. */ FirstParameter(): Standard_Real; /** Returns RealLast from Standard. */ LastParameter(): Standard_Real; /** Returns False. */ IsClosed(): Standard_Boolean; /** Returns False. */ IsPeriodic(): Standard_Boolean; /** Returns GeomAbs_CN, which is the global continuity of any line. */ Continuity(): GeomAbs_Shape; /** Computes the distance between and the point P. */ Distance(P: gp_Pnt2d): Standard_Real; /** Returns True. */ IsCN(N: Standard_Integer): Standard_Boolean; /** Returns in P the point of parameter U. P (U) = O + U * Dir where O is the "Location" point of the line and Dir the direction of the line. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Returns the point P of parameter u and the first derivative V1. */ EvalD1(U: Standard_Real): any; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. V2 is a vector with null magnitude for a line. */ EvalD2(U: Standard_Real): any; /** V2 and V3 are vectors with null magnitude for a line. */ EvalD3(U: Standard_Real): any; /** For the point of parameter U of this line, computes the vector corresponding to the Nth derivative. Note: if N is greater than or equal to 2, the result is a vector with null magnitude. Exceptions Standard_RangeError if N is less than 1. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Applies the transformation T to this line. */ Transform(T: gp_Trsf2d): void; /** Computes the parameter on the line transformed by T for the point of parameter U on this line. For a line, the returned value is equal to U multiplied by the scale factor of transformation T. */ TransformedParameter(U: Standard_Real, T: gp_Trsf2d): Standard_Real; /** Returns the coefficient required to compute the parametric transformation of this line when transformation T is applied. This coefficient is the ratio between the parameter of a point on this line and the parameter of the transformed point on the new line transformed by T. For a line, the returned value is the scale factor of the transformation T. */ ParametricTransformation(T: gp_Trsf2d): Standard_Real; /** Creates a new object, which is a copy of this line. */ Copy(): any; static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; delete(): void; [Symbol.dispose](): void; } export declare class Geom2d_Line_1 extends Geom2d_Line { constructor(A: gp_Ax2d); } export declare class Geom2d_Line_2 extends Geom2d_Line { constructor(L: gp_Lin2d); } export declare class Geom2d_Line_3 extends Geom2d_Line { constructor(P: gp_Pnt2d, V: gp_Dir2d); } export declare class Geom2dAdaptor_Curve extends Adaptor2d_Curve2d { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Reset currently loaded curve (undone Load()). */ Reset(): void; Load_1(theCurve: any): void; Load_2(theCurve: any, theUFirst: Standard_Real, theULast: Standard_Real): void; Curve(): any; FirstParameter(): Standard_Real; LastParameter(): Standard_Real; Continuity(): GeomAbs_Shape; /** If necessary, breaks the curve in intervals of continuity . And returns the number of intervals. */ NbIntervals(S: GeomAbs_Shape): Standard_Integer; /** Stores in the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() */ Intervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a curve equivalent of between parameters and . is used to test for 3d points confusion. If >= */ Trim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsClosed(): Standard_Boolean; IsPeriodic(): Standard_Boolean; Period(): Standard_Real; /** Computes the point of parameter U on the curve. */ Value(U: Standard_Real): gp_Pnt2d; /** Computes the point of parameter U. */ D0(U: Standard_Real, P: gp_Pnt2d): void; /** Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. */ D1(U: Standard_Real, P: gp_Pnt2d, V: gp_Vec2d): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. */ D2(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d): void; /** Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. */ D3(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d, V3: gp_Vec2d): void; /** The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** returns the parametric resolution */ Resolution(Ruv: Standard_Real): Standard_Real; /** Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. */ GetType(): GeomAbs_CurveType; Line(): gp_Lin2d; Circle(): gp_Circ2d; Ellipse(): gp_Elips2d; Hyperbola(): gp_Hypr2d; Parabola(): gp_Parab2d; Degree(): Standard_Integer; IsRational(): Standard_Boolean; NbPoles(): Standard_Integer; NbKnots(): Standard_Integer; NbSamples(): Standard_Integer; Bezier(): any; BSpline(): any; /** Point evaluation. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** D1 evaluation. Raises an exception on failure. */ EvalD1(U: Standard_Real): any; /** D2 evaluation. Raises an exception on failure. */ EvalD2(U: Standard_Real): any; /** D3 evaluation. Raises an exception on failure. */ EvalD3(U: Standard_Real): any; /** DN evaluation. Raises an exception on failure. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; delete(): void; [Symbol.dispose](): void; } export declare class Geom2dAdaptor_Curve_1 extends Geom2dAdaptor_Curve { constructor(); } export declare class Geom2dAdaptor_Curve_2 extends Geom2dAdaptor_Curve { constructor(C: any); } export declare class Geom2dAdaptor_Curve_3 extends Geom2dAdaptor_Curve { constructor(C: any, UFirst: Standard_Real, ULast: Standard_Real); } export declare class Adaptor2d_Curve2d extends Standard_Transient { constructor(); static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; FirstParameter(): Standard_Real; LastParameter(): Standard_Real; Continuity(): GeomAbs_Shape; /** If necessary, breaks the curve in intervals of continuity . And returns the number of intervals. */ NbIntervals(S: GeomAbs_Shape): Standard_Integer; /** Stores in the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() */ Intervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a curve equivalent of between parameters and . is used to test for 3d points confusion. If >= */ Trim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsClosed(): Standard_Boolean; IsPeriodic(): Standard_Boolean; Period(): Standard_Real; /** Computes the point of parameter U on the curve. */ Value(U: Standard_Real): gp_Pnt2d; /** Computes the point of parameter U on the curve. */ D0(U: Standard_Real, P: gp_Pnt2d): void; /** Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. */ D1(U: Standard_Real, P: gp_Pnt2d, V: gp_Vec2d): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. */ D2(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d): void; /** Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. */ D3(U: Standard_Real, P: gp_Pnt2d, V1: gp_Vec2d, V2: gp_Vec2d, V3: gp_Vec2d): void; /** The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; /** Returns the parametric resolution corresponding to the real space resolution . */ Resolution(R3d: Standard_Real): Standard_Real; /** Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. */ GetType(): GeomAbs_CurveType; Line(): gp_Lin2d; Circle(): gp_Circ2d; Ellipse(): gp_Elips2d; Hyperbola(): gp_Hypr2d; Parabola(): gp_Parab2d; Degree(): Standard_Integer; IsRational(): Standard_Boolean; NbPoles(): Standard_Integer; NbKnots(): Standard_Integer; NbSamples(): Standard_Integer; Bezier(): any; BSpline(): any; /** Computes the point of parameter U on the curve. Raises an exception on failure. */ EvalD0(U: Standard_Real): gp_Pnt2d; /** Computes the point and first derivative at parameter U. Raises an exception on failure. */ EvalD1(U: Standard_Real): any; /** Computes the point and first two derivatives at parameter U. Raises an exception on failure. */ EvalD2(U: Standard_Real): any; /** Computes the point and first three derivatives at parameter U. Raises an exception on failure. */ EvalD3(U: Standard_Real): any; /** Computes the Nth derivative at parameter U. Raises an exception on failure. */ EvalDN(U: Standard_Real, N: Standard_Integer): gp_Vec2d; delete(): void; [Symbol.dispose](): void; } /** Tool to keep shapes in binary format. */ export declare class BinTools { constructor(); /** Writes the shape to the stream in binary format BinTools_FormatVersion_CURRENT. This alias writes shape with triangulation data. theShape the shape to write out] theStream the stream to output shape into theRange the range of progress indicator to fill in */ static Write_3(theShape: TopoDS_Shape, theFile: Standard_Character, theRange: Message_ProgressRange): Standard_Boolean; /** Writes the shape to the stream in binary format BinTools_FormatVersion_CURRENT. This alias writes shape with triangulation data. theShape the shape to write out] theStream the stream to output shape into theRange the range of progress indicator to fill in */ static Write_4(theShape: TopoDS_Shape, theFile: Standard_Character, theWithTriangles: Standard_Boolean, theWithNormals: Standard_Boolean, theVersion: BinTools_FormatVersion, theRange: Message_ProgressRange): Standard_Boolean; /** Reads a shape from and returns it in . */ static Read_2(theShape: TopoDS_Shape, theFile: Standard_Character, theRange: Message_ProgressRange): Standard_Boolean; delete(): void; [Symbol.dispose](): void; } export declare class BRep_Tool { constructor(); /** If S is Shell, returns True if it has no free boundaries (edges). If S is Wire, returns True if it has no free ends (vertices). (Internal and External sub-shepes are ignored in these checks) If S is Edge, returns True if its vertices are the same. For other shape types returns S.Closed(). */ static IsClosed_1(S: TopoDS_Shape): Standard_Boolean; /** Returns the geometric surface of the face. Returns in the location for the surface. */ static Surface_1(F: TopoDS_Face, L: TopLoc_Location): any; /** Returns the geometric surface of the face. Returns in the location for the surface. */ static Surface_2(F: TopoDS_Face): any; /** Returns the triangulation of the face according to the mesh purpose. theFace the input face to find triangulation. theLocation the face location. theMeshPurpose a mesh purpose to find appropriate triangulation (NONE by default). an active triangulation in case of NONE purpose, the first triangulation appropriate for the input purpose, just the first triangulation if none matching other criteria and input purpose is AnyFallback or null handle if there is no any suitable triangulation. */ static Triangulation(theFace: TopoDS_Face, theLocation: TopLoc_Location, theMeshPurpose: Poly_MeshPurpose): any; /** Returns all triangulations of the face. theFace the input face. theLocation the face location. list of all available face triangulations. */ static Triangulations(theFace: TopoDS_Face, theLocation: TopLoc_Location): any; /** Returns the tolerance of the face. */ static Tolerance_1(F: TopoDS_Face): Standard_Real; /** Returns the NaturalRestriction flag of the face. */ static NaturalRestriction(F: TopoDS_Face): Standard_Boolean; /** Returns True if has a surface, false otherwise. */ static IsGeometric_1(F: TopoDS_Face): Standard_Boolean; /** Returns True if has a surface, false otherwise. */ static IsGeometric_2(E: TopoDS_Edge): Standard_Boolean; /** Returns the 3D curve of the edge. May be a Null handle. Returns in the location for the curve. In and the parameter range. */ static Curve_1(E: TopoDS_Edge, L: TopLoc_Location): { result: any; First: number; Last: number }; /** Returns the 3D curve of the edge. May be a Null handle. Returns in the location for the curve. In and the parameter range. */ static Curve_2(E: TopoDS_Edge): { result: any; First: number; Last: number }; /** Returns the 3D polygon of the edge. May be a Null handle. Returns in the location for the polygon. */ static Polygon3D(E: TopoDS_Edge, L: TopLoc_Location): any; /** Returns the curve associated to the edge in the parametric space of the face. Returns a NULL handle if this curve does not exist. Returns in and the parameter range. If the surface is a plane the curve can be not stored but created a new each time. The flag pointed by serves to indicate storage status. It is valued if the pointer is non-null. */ static CurveOnSurface_1(E: TopoDS_Edge, F: TopoDS_Face, theIsStored: Standard_Boolean): { result: any; First: number; Last: number }; /** Returns the curve associated to the edge in the parametric space of the face. Returns a NULL handle if this curve does not exist. Returns in and the parameter range. If the surface is a plane the curve can be not stored but created a new each time. The flag pointed by serves to indicate storage status. It is valued if the pointer is non-null. */ static CurveOnSurface_2(E: TopoDS_Edge, S: any, L: TopLoc_Location, theIsStored: Standard_Boolean): { result: any; First: number; Last: number }; /** For the planar surface builds the 2d curve for the edge by projection of the edge on plane. Returns a NULL handle if the surface is not planar or the projection failed. */ static CurveOnPlane(E: TopoDS_Edge, S: any, L: TopLoc_Location): { result: any; First: number; Last: number }; /** Returns the curve associated to the edge in the parametric space of the face. Returns a NULL handle if this curve does not exist. Returns in and the parameter range. If the surface is a plane the curve can be not stored but created a new each time. The flag pointed by serves to indicate storage status. It is valued if the pointer is non-null. */ static CurveOnSurface_3(E: TopoDS_Edge, C: any, S: any, L: TopLoc_Location): { First: number; Last: number }; /** Returns the curve associated to the edge in the parametric space of the face. Returns a NULL handle if this curve does not exist. Returns in and the parameter range. If the surface is a plane the curve can be not stored but created a new each time. The flag pointed by serves to indicate storage status. It is valued if the pointer is non-null. */ static CurveOnSurface_4(E: TopoDS_Edge, C: any, S: any, L: TopLoc_Location, Index: Standard_Integer): { First: number; Last: number }; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnSurface_1(E: TopoDS_Edge, F: TopoDS_Face): any; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnSurface_2(E: TopoDS_Edge, S: any, L: TopLoc_Location): any; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnSurface_3(E: TopoDS_Edge, C: any, S: any, L: TopLoc_Location): void; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnSurface_4(E: TopoDS_Edge, C: any, S: any, L: TopLoc_Location, Index: Standard_Integer): void; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnTriangulation_1(E: TopoDS_Edge, T: any, L: TopLoc_Location): any; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnTriangulation_2(E: TopoDS_Edge, P: any, T: any, L: TopLoc_Location): void; /** Returns the polygon associated to the edge in the parametric space of the face. Returns a NULL handle if this polygon does not exist. */ static PolygonOnTriangulation_3(E: TopoDS_Edge, P: any, T: any, L: TopLoc_Location, Index: Standard_Integer): void; /** If S is Shell, returns True if it has no free boundaries (edges). If S is Wire, returns True if it has no free ends (vertices). (Internal and External sub-shepes are ignored in these checks) If S is Edge, returns True if its vertices are the same. For other shape types returns S.Closed(). */ static IsClosed_2(E: TopoDS_Edge, F: TopoDS_Face): Standard_Boolean; /** If S is Shell, returns True if it has no free boundaries (edges). If S is Wire, returns True if it has no free ends (vertices). (Internal and External sub-shepes are ignored in these checks) If S is Edge, returns True if its vertices are the same. For other shape types returns S.Closed(). */ static IsClosed_3(E: TopoDS_Edge, S: any, L: TopLoc_Location): Standard_Boolean; /** If S is Shell, returns True if it has no free boundaries (edges). If S is Wire, returns True if it has no free ends (vertices). (Internal and External sub-shepes are ignored in these checks) If S is Edge, returns True if its vertices are the same. For other shape types returns S.Closed(). */ static IsClosed_4(E: TopoDS_Edge, T: any, L: TopLoc_Location): Standard_Boolean; /** Returns the tolerance of the face. */ static Tolerance_2(E: TopoDS_Edge): Standard_Real; /** Returns the SameParameter flag for the edge. */ static SameParameter(E: TopoDS_Edge): Standard_Boolean; /** Returns the SameRange flag for the edge. */ static SameRange(E: TopoDS_Edge): Standard_Boolean; /** Returns True if the edge is degenerated. */ static Degenerated(E: TopoDS_Edge): Standard_Boolean; /** Gets the range of the 3d curve. */ static Range_1(E: TopoDS_Edge): { First: number; Last: number }; /** Gets the range of the 3d curve. */ static Range_2(E: TopoDS_Edge, S: any, L: TopLoc_Location): { First: number; Last: number }; /** Gets the range of the 3d curve. */ static Range_3(E: TopoDS_Edge, F: TopoDS_Face): { First: number; Last: number }; /** Gets the UV locations of the extremities of the edge. */ static UVPoints_1(E: TopoDS_Edge, S: any, L: TopLoc_Location, PFirst: gp_Pnt2d, PLast: gp_Pnt2d): void; /** Gets the UV locations of the extremities of the edge. */ static UVPoints_2(E: TopoDS_Edge, F: TopoDS_Face, PFirst: gp_Pnt2d, PLast: gp_Pnt2d): void; /** Sets the UV locations of the extremities of the edge. */ static SetUVPoints_1(E: TopoDS_Edge, S: any, L: TopLoc_Location, PFirst: gp_Pnt2d, PLast: gp_Pnt2d): void; /** Sets the UV locations of the extremities of the edge. */ static SetUVPoints_2(E: TopoDS_Edge, F: TopoDS_Face, PFirst: gp_Pnt2d, PLast: gp_Pnt2d): void; /** Returns True if the edge is on the surfaces of the two faces. */ static HasContinuity_1(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face): Standard_Boolean; /** Returns the continuity. */ static Continuity_1(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face): GeomAbs_Shape; /** Returns True if the edge is on the surfaces of the two faces. */ static HasContinuity_2(E: TopoDS_Edge, S1: any, S2: any, L1: TopLoc_Location, L2: TopLoc_Location): Standard_Boolean; /** Returns the continuity. */ static Continuity_2(E: TopoDS_Edge, S1: any, S2: any, L1: TopLoc_Location, L2: TopLoc_Location): GeomAbs_Shape; /** Returns True if the edge is on the surfaces of the two faces. */ static HasContinuity_3(E: TopoDS_Edge): Standard_Boolean; /** Returns the max continuity of edge between some surfaces or GeomAbs_C0 if there are no such surfaces. */ static MaxContinuity(theEdge: TopoDS_Edge): GeomAbs_Shape; /** Returns the 3d point. */ static Pnt(V: TopoDS_Vertex): gp_Pnt; /** Returns the tolerance of the face. */ static Tolerance_3(V: TopoDS_Vertex): Standard_Real; /** Finds the parameter of on . theV input vertex theE input edge theParam calculated parameter on the curve TRUE if done */ static Parameter_1(theV: TopoDS_Vertex, theE: TopoDS_Edge): { result: Standard_Boolean; theParam: number }; /** Finds the parameter of on . theV input vertex theE input edge theParam calculated parameter on the curve TRUE if done */ static Parameter_2(V: TopoDS_Vertex, E: TopoDS_Edge): Standard_Real; /** Finds the parameter of on . theV input vertex theE input edge theParam calculated parameter on the curve TRUE if done */ static Parameter_3(V: TopoDS_Vertex, E: TopoDS_Edge, F: TopoDS_Face): Standard_Real; /** Finds the parameter of on . theV input vertex theE input edge theParam calculated parameter on the curve TRUE if done */ static Parameter_4(V: TopoDS_Vertex, E: TopoDS_Edge, S: any, L: TopLoc_Location): Standard_Real; /** Returns the parameters of the vertex on the face. */ static Parameters(V: TopoDS_Vertex, F: TopoDS_Face): gp_Pnt2d; /** Returns the maximum tolerance of input shape subshapes. */ static MaxTolerance(theShape: TopoDS_Shape, theSubShape: TopAbs_ShapeEnum): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class BRepAdaptor_Curve extends Adaptor3d_Curve { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Reset currently loaded curve (undone Load()). */ Reset(): void; /** Sets the Curve to access the geometry of edge . */ Initialize_1(E: TopoDS_Edge): void; /** Sets the Curve to access the geometry of edge . */ Initialize_2(E: TopoDS_Edge, F: TopoDS_Face): void; /** Returns the coordinate system of the curve. */ Trsf(): gp_Trsf; /** Returns True if the edge geometry is computed from a 3D curve. */ Is3DCurve(): Standard_Boolean; /** Returns True if the edge geometry is computed from a pcurve on a surface. */ IsCurveOnSurface(): Standard_Boolean; /** Returns the Curve of the edge. */ Curve(): GeomAdaptor_Curve; /** Returns the CurveOnSurface of the edge. */ CurveOnSurface(): Adaptor3d_CurveOnSurface; /** Returns the edge. */ Edge(): TopoDS_Edge; /** Returns the edge tolerance. */ Tolerance(): Standard_Real; FirstParameter(): Standard_Real; LastParameter(): Standard_Real; Continuity(): GeomAbs_Shape; /** Returns the number of intervals for continuity . May be one if Continuity(me) >= */ NbIntervals(S: GeomAbs_Shape): Standard_Integer; /** Stores in the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() */ Intervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a curve equivalent of between parameters and . is used to test for 3d points confusion. If >= */ Trim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsClosed(): Standard_Boolean; IsPeriodic(): Standard_Boolean; Period(): Standard_Real; /** Computes the point of parameter U on the curve. */ Value(U: Standard_Real): gp_Pnt; /** Computes the point of parameter U. */ D0(U: Standard_Real, P: gp_Pnt): void; /** Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. */ D1(U: Standard_Real, P: gp_Pnt, V: gp_Vec): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. */ D2(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec): void; /** Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. */ D3(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec, V3: gp_Vec): void; /** The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** returns the parametric resolution */ Resolution(R3d: Standard_Real): Standard_Real; /** Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. */ GetType(): GeomAbs_CurveType; Line(): gp_Lin; Circle(): gp_Circ; Ellipse(): gp_Elips; Hyperbola(): gp_Hypr; Parabola(): gp_Parab; Degree(): Standard_Integer; IsRational(): Standard_Boolean; NbPoles(): Standard_Integer; NbKnots(): Standard_Integer; /** Warning: This will make a copy of the Bezier Curve since it applies to it myTsrf. Be careful when using this method. */ Bezier(): any; /** Warning: This will make a copy of the BSpline Curve since it applies to it myTsrf. Be careful when using this method. */ BSpline(): any; OffsetCurve(): any; delete(): void; [Symbol.dispose](): void; } export declare class BRepAdaptor_Curve_1 extends BRepAdaptor_Curve { constructor(); } export declare class BRepAdaptor_Curve_2 extends BRepAdaptor_Curve { constructor(E: TopoDS_Edge); } export declare class BRepAdaptor_Curve_3 extends BRepAdaptor_Curve { constructor(E: TopoDS_Edge, F: TopoDS_Face); } export declare class BRepAdaptor_Surface extends GeomAdaptor_TransformedSurface { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Sets the surface to the geometry of . */ Initialize(F: TopoDS_Face, Restriction: Standard_Boolean): void; /** Returns the face. */ Face(): TopoDS_Face; /** Returns the face tolerance. */ Tolerance(): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class BRepAdaptor_Surface_1 extends BRepAdaptor_Surface { constructor(); } export declare class BRepAdaptor_Surface_2 extends BRepAdaptor_Surface { constructor(F: TopoDS_Face, R: Standard_Boolean); } export declare class BRepAdaptor_Curve2d extends Geom2dAdaptor_Curve { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Initialize with the pcurve of on . */ Initialize(E: TopoDS_Edge, F: TopoDS_Face): void; /** Returns the Edge. */ Edge(): TopoDS_Edge; /** Returns the Face. */ Face(): TopoDS_Face; delete(): void; [Symbol.dispose](): void; } export declare class BRepAdaptor_Curve2d_1 extends BRepAdaptor_Curve2d { constructor(); } export declare class BRepAdaptor_Curve2d_2 extends BRepAdaptor_Curve2d { constructor(E: TopoDS_Edge, F: TopoDS_Face); } export declare class BRepAdaptor_CompCurve extends Adaptor3d_Curve { static get_type_name(): Standard_Character; static get_type_descriptor(): Handle_Standard_Type; DynamicType(): Handle_Standard_Type; /** Shallow copy of adaptor. */ ShallowCopy(): any; /** Sets the wire . */ Initialize_1(W: TopoDS_Wire, KnotByCurvilinearAbcissa: Standard_Boolean): void; /** Sets the wire . */ Initialize_2(W: TopoDS_Wire, KnotByCurvilinearAbcissa: Standard_Boolean, First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): void; /** Returns the wire. */ Wire(): TopoDS_Wire; /** returns an edge and one parameter on them corresponding to the parameter U. */ Edge(U: Standard_Real, E: TopoDS_Edge): { UonE: number }; FirstParameter(): Standard_Real; LastParameter(): Standard_Real; Continuity(): GeomAbs_Shape; /** Returns the number of intervals for continuity . May be one if Continuity(me) >= */ NbIntervals(S: GeomAbs_Shape): Standard_Integer; /** Stores in the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() */ Intervals(T: TColStd_Array1OfReal, S: GeomAbs_Shape): void; /** Returns a curve equivalent of between parameters and . is used to test for 3d points confusion. If >= */ Trim(First: Standard_Real, Last: Standard_Real, Tol: Standard_Real): any; IsClosed(): Standard_Boolean; IsPeriodic(): Standard_Boolean; Period(): Standard_Real; /** Computes the point of parameter U on the curve. */ Value(U: Standard_Real): gp_Pnt; /** Computes the point of parameter U. */ D0(U: Standard_Real, P: gp_Pnt): void; /** Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. */ D1(U: Standard_Real, P: gp_Pnt, V: gp_Vec): void; /** Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. */ D2(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec): void; /** Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. */ D3(U: Standard_Real, P: gp_Pnt, V1: gp_Vec, V2: gp_Vec, V3: gp_Vec): void; /** The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1. */ DN(U: Standard_Real, N: Standard_Integer): gp_Vec; /** returns the parametric resolution */ Resolution(R3d: Standard_Real): Standard_Real; /** Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. */ GetType(): GeomAbs_CurveType; Line(): gp_Lin; Circle(): gp_Circ; Ellipse(): gp_Elips; Hyperbola(): gp_Hypr; Parabola(): gp_Parab; Degree(): Standard_Integer; IsRational(): Standard_Boolean; NbPoles(): Standard_Integer; NbKnots(): Standard_Integer; Bezier(): any; BSpline(): any; delete(): void; [Symbol.dispose](): void; } export declare class BRepAdaptor_CompCurve_1 extends BRepAdaptor_CompCurve { constructor(); } export declare class BRepAdaptor_CompCurve_2 extends BRepAdaptor_CompCurve { constructor(W: TopoDS_Wire, KnotByCurvilinearAbcissa: Standard_Boolean); } export declare class BRepAdaptor_CompCurve_3 extends BRepAdaptor_CompCurve { constructor(W: TopoDS_Wire, KnotByCurvilinearAbcissa: Standard_Boolean, First: Standard_Real, Last: Standard_Real, Tol: Standard_Real); } export declare class TopExp_Explorer { /** Resets this explorer on the shape S. It is initialized to search the shape S, for shapes of type ToFind, that are not part of a shape ToAvoid. If the shape ToAvoid is equal to TopAbs_SHAPE, or if it is the same as, or less complex than, the shape ToFind it has no effect on the search. */ Init(S: TopoDS_Shape, ToFind: TopAbs_ShapeEnum, ToAvoid: TopAbs_ShapeEnum): void; /** Returns True if there are more shapes in the exploration. */ More(): Standard_Boolean; /** Moves to the next Shape in the exploration. */ Next(): void; /** Returns the current shape in the exploration. */ Value(): TopoDS_Shape; /** Returns the current shape in the exploration. */ Current(): TopoDS_Shape; /** Reinitialize the exploration with the original arguments. */ ReInit(): void; /** Return explored shape. */ ExploredShape(): TopoDS_Shape; /** Returns the current depth of the exploration. 0 is the shape to explore itself. */ Depth(): Standard_Integer; /** Clears the content of the explorer. */ Clear(): void; delete(): void; [Symbol.dispose](): void; } export declare class TopExp_Explorer_1 extends TopExp_Explorer { constructor(); } export declare class TopExp_Explorer_2 extends TopExp_Explorer { constructor(S: TopoDS_Shape, ToFind: TopAbs_ShapeEnum, ToAvoid: TopAbs_ShapeEnum); } export declare class BRepTools { constructor(); /** Returns in UMin, UMax, VMin, VMax the bounding values in the parametric space of F. */ static UVBounds_1(F: TopoDS_Face): { UMin: number; UMax: number; VMin: number; VMax: number }; /** Returns in UMin, UMax, VMin, VMax the bounding values in the parametric space of F. */ static UVBounds_2(F: TopoDS_Face, W: TopoDS_Wire): { UMin: number; UMax: number; VMin: number; VMax: number }; /** Returns in UMin, UMax, VMin, VMax the bounding values in the parametric space of F. */ static UVBounds_3(F: TopoDS_Face, E: TopoDS_Edge): { UMin: number; UMax: number; VMin: number; VMax: number }; /** Adds to the box the bounding values in the parametric space of F. */ static AddUVBounds_1(F: TopoDS_Face, B: Bnd_Box2d): void; /** Adds to the box the bounding values in the parametric space of F. */ static AddUVBounds_2(F: TopoDS_Face, W: TopoDS_Wire, B: Bnd_Box2d): void; /** Adds to the box the bounding values in the parametric space of F. */ static AddUVBounds_3(F: TopoDS_Face, E: TopoDS_Edge, B: Bnd_Box2d): void; /** Update a vertex (nothing is done) */ static Update_1(V: TopoDS_Vertex): void; /** Update a vertex (nothing is done) */ static Update_2(E: TopoDS_Edge): void; /** Update a vertex (nothing is done) */ static Update_3(W: TopoDS_Wire): void; /** Update a vertex (nothing is done) */ static Update_4(F: TopoDS_Face): void; /** Update a vertex (nothing is done) */ static Update_5(S: TopoDS_Shell): void; /** Update a vertex (nothing is done) */ static Update_6(S: TopoDS_Solid): void; /** Update a vertex (nothing is done) */ static Update_7(C: TopoDS_CompSolid): void; /** Update a vertex (nothing is done) */ static Update_8(C: TopoDS_Compound): void; /** Update a vertex (nothing is done) */ static Update_9(S: TopoDS_Shape): void; /** For each edge of the face reset the UV points to the bounding points of the parametric curve of the edge on the face. */ static UpdateFaceUVPoints(theF: TopoDS_Face): void; /** Removes all cached polygonal representation of the shape, i.e. the triangulations of the faces of and polygons on triangulations and polygons 3d of the edges. In case polygonal representation is the only available representation for the shape (shape does not have geometry) it is not removed. theShape the shape to clean theForce allows removing all polygonal representations from the shape, including polygons on triangulations irrelevant for the faces of the given shape. */ static Clean(theShape: TopoDS_Shape, theForce: Standard_Boolean): void; /** Removes geometry (curves and surfaces) from all edges and faces of the shape. */ static CleanGeometry(theShape: TopoDS_Shape): void; /** Removes all the pcurves of the edges of that refer to surfaces not belonging to any face of */ static RemoveUnusedPCurves(S: TopoDS_Shape): void; /** Verifies that each Face from the shape has got a triangulation with a deflection smaller or equal to specified one and the Edges a discretization on this triangulation. theShape shape to verify theLinDefl maximum allowed linear deflection theToCheckFreeEdges if TRUE, then free Edges are required to have 3D polygon FALSE if input Shape contains Faces without triangulation, or that triangulation has worse (greater) deflection than specified one, or Edges in Shape lack polygons on triangulation or free Edges in Shape lack 3D polygons */ static Triangulation(theShape: TopoDS_Shape, theLinDefl: Standard_Real, theToCheckFreeEdges: Standard_Boolean): Standard_Boolean; /** Loads triangulation data for each face of the shape from some deferred storage using specified shared input file system theShape shape to load triangulations theTriangulationIdx index defining what triangulation should be loaded. Starts from 0. -1 is used in specific case to load currently already active triangulation. If some face doesn't contain triangulation with this index, nothing will be loaded for it. Exception will be thrown in case of invalid negative index theToSetAsActive flag to activate triangulation after its loading theFileSystem shared file system TRUE if at least one triangulation is loaded. */ static LoadTriangulation(theShape: TopoDS_Shape, theTriangulationIdx: Standard_Integer, theToSetAsActive: Standard_Boolean, theFileSystem: any): Standard_Boolean; /** Releases triangulation data for each face of the shape if there is deferred storage to load it later theShape shape to unload triangulations theTriangulationIdx index defining what triangulation should be unloaded. Starts from 0. -1 is used in specific case to unload currently already active triangulation. If some face doesn't contain triangulation with this index, nothing will be unloaded for it. Exception will be thrown in case of invalid negative index TRUE if at least one triangulation is unloaded. */ static UnloadTriangulation(theShape: TopoDS_Shape, theTriangulationIdx: Standard_Integer): Standard_Boolean; /** Activates triangulation data for each face of the shape from some deferred storage using specified shared input file system theShape shape to activate triangulations theTriangulationIdx index defining what triangulation should be activated. Starts from 0. Exception will be thrown in case of invalid negative index theToActivateStrictly flag to activate exactly triangulation with defined theTriangulationIdx index. In TRUE case if some face doesn't contain triangulation with this index, active triangulation will not be changed for it. Else the last available triangulation will be activated. TRUE if at least one active triangulation was changed. */ static ActivateTriangulation(theShape: TopoDS_Shape, theTriangulationIdx: Standard_Integer, theToActivateStrictly: Standard_Boolean): Standard_Boolean; /** Loads all available triangulations for each face of the shape from some deferred storage using specified shared input file system theShape shape to load triangulations theFileSystem shared file system TRUE if at least one triangulation is loaded. */ static LoadAllTriangulations(theShape: TopoDS_Shape, theFileSystem: any): Standard_Boolean; /** Releases all available triangulations for each face of the shape if there is deferred storage to load them later theShape shape to unload triangulations TRUE if at least one triangulation is unloaded. */ static UnloadAllTriangulations(theShape: TopoDS_Shape): Standard_Boolean; /** Returns True if the distance between the two vertices is lower than their tolerance. */ static Compare_1(V1: TopoDS_Vertex, V2: TopoDS_Vertex): Standard_Boolean; /** Returns True if the distance between the two vertices is lower than their tolerance. */ static Compare_2(E1: TopoDS_Edge, E2: TopoDS_Edge): Standard_Boolean; /** Returns the outer most wire of . Returns a Null wire if has no wires. */ static OuterWire(F: TopoDS_Face): TopoDS_Wire; /** Stores in the map all the 3D topology edges of . */ static Map3DEdges(S: TopoDS_Shape, M: TopTools_IndexedMapOfShape): void; /** Verifies that the edge is found two times on the face before calling BRep_Tool::IsClosed. */ static IsReallyClosed(E: TopoDS_Edge, F: TopoDS_Face): Standard_Boolean; /** Detect closedness of face in U and V directions. */ static DetectClosedness(theFace: TopoDS_Face): { theUclosed: boolean; theVclosed: boolean }; /** Writes the shape to the stream in an ASCII format TopTools_FormatVersion_VERSION_1. This alias writes shape with triangulation data. theShape the shape to write out] theStream the stream to output shape into theRange the range of progress indicator to fill in */ static Write_3(theShape: TopoDS_Shape, theFile: Standard_Character, theProgress: Message_ProgressRange): Standard_Boolean; /** Writes the shape to the stream in an ASCII format TopTools_FormatVersion_VERSION_1. This alias writes shape with triangulation data. theShape the shape to write out] theStream the stream to output shape into theRange the range of progress indicator to fill in */ static Write_4(theShape: TopoDS_Shape, theFile: Standard_Character, theWithTriangles: Standard_Boolean, theWithNormals: Standard_Boolean, theVersion: TopTools_FormatVersion, theProgress: Message_ProgressRange): Standard_Boolean; /** Reads a Shape from in returns it in . is used to build the shape. */ static Read_2(Sh: TopoDS_Shape, File: Standard_Character, B: BRep_Builder, theProgress: Message_ProgressRange): Standard_Boolean; /** Evals real tolerance of edge . , , , , are correspondently 3d curve of edge, 2d curve on surface and rang of edge If calculated tolerance is more then current edge tolerance, edge is updated. Method returns actual tolerance of edge */ static EvalAndUpdateTol(theE: TopoDS_Edge, theC3d: any, theC2d: any, theS: any, theF: Standard_Real, theL: Standard_Real): Standard_Real; /** returns the cumul of the orientation of and the containing wire in */ static OriEdgeInFace(theEdge: TopoDS_Edge, theFace: TopoDS_Face): TopAbs_Orientation; /** Removes internal sub-shapes from the shape. The check on internal status is based on orientation of sub-shapes, classification is not performed. Before removal of internal sub-shapes the algorithm checks if such removal is not going to break topological connectivity between sub-shapes. The flag if set to true disables the connectivity check and clears the given shape from all sub-shapes with internal orientation. */ static RemoveInternals(theS: TopoDS_Shape, theForce: Standard_Boolean): void; /** Check all locations of shape according criterium: aTrsf.IsNegative() || (std::abs(std::abs(aTrsf.ScaleFactor()) - 1.) > TopLoc_Location::ScalePrec()) All sub-shapes having such locations are put in list theProblemShapes */ static CheckLocations(theS: TopoDS_Shape, theProblemShapes: TopTools_ListOfShape): void; delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Solid extends TopoDS_Shape { /** Constructs an Undefined Solid. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Builder { constructor(); /** Make an empty Wire. */ MakeWire(W: TopoDS_Wire): void; /** Make an empty Shell. */ MakeShell(S: TopoDS_Shell): void; /** Make a Solid covering the whole 3D space. */ MakeSolid(S: TopoDS_Solid): void; /** Make an empty Composite Solid. */ MakeCompSolid(C: TopoDS_CompSolid): void; /** Make an empty Compound. */ MakeCompound(C: TopoDS_Compound): void; /** Add the Shape C in the Shape S. Exceptions TopoDS_FrozenShape if S is not free and cannot be modified. TopoDS__UnCompatibleShapes if S and C are not compatible. */ Add(S: TopoDS_Shape, C: TopoDS_Shape): void; /** Remove the Shape C from the Shape S. Exceptions TopoDS_FrozenShape if S is frozen and cannot be modified. */ Remove(S: TopoDS_Shape, C: TopoDS_Shape): void; delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Wire extends TopoDS_Shape { /** Undefined Wire. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Vertex extends TopoDS_Shape { /** Undefined Vertex. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Edge extends TopoDS_Shape { /** Undefined Edge. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Shell extends TopoDS_Shape { /** Constructs an Undefined Shell. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Compound extends TopoDS_Shape { /** Constructs an Undefined Compound. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Shape { /** Creates a NULL Shape referring to nothing. */ constructor() /** Returns true if this shape is null. In other words, it references no underlying shape with the potential to be given a location and an orientation. */ IsNull(): Standard_Boolean; /** Destroys the reference to the underlying shape stored in this shape. As a result, this shape becomes null. */ Nullify(): void; /** Returns the shape local coordinate system. */ Location_1(): TopLoc_Location; /** Returns the shape local coordinate system. */ Location_2(theLoc: TopLoc_Location, theRaiseExc: Standard_Boolean): void; /** Returns a shape similar to with the local coordinate system set to . theLoc the new local coordinate system. theRaiseExc flag to raise exception in case of transformation with scale or negative. the located shape. */ Located(theLoc: TopLoc_Location, theRaiseExc: Standard_Boolean): TopoDS_Shape; /** Returns the shape orientation. */ Orientation_1(): TopAbs_Orientation; /** Returns the shape orientation. */ Orientation_2(theOrient: TopAbs_Orientation): void; /** Returns a shape similar to with the orientation set to . */ Oriented(theOrient: TopAbs_Orientation): TopoDS_Shape; /** Returns the value of the TopAbs_ShapeEnum enumeration that corresponds to this shape, for example VERTEX, EDGE, and so on. Exceptions Standard_NullObject if this shape is null. */ ShapeType(): TopAbs_ShapeEnum; /** Returns the free flag. */ Free_1(): Standard_Boolean; /** Returns the free flag. */ Free_2(theIsFree: Standard_Boolean): void; /** Returns the locked flag. */ Locked_1(): Standard_Boolean; /** Returns the locked flag. */ Locked_2(theIsLocked: Standard_Boolean): void; /** Returns the modification flag. */ Modified_1(): Standard_Boolean; /** Returns the modification flag. */ Modified_2(theIsModified: Standard_Boolean): void; /** Returns the checked flag. */ Checked_1(): Standard_Boolean; /** Returns the checked flag. */ Checked_2(theIsChecked: Standard_Boolean): void; /** Returns the orientability flag. */ Orientable_1(): Standard_Boolean; /** Returns the orientability flag. */ Orientable_2(theIsOrientable: Standard_Boolean): void; /** Returns the closedness flag. */ Closed_1(): Standard_Boolean; /** Returns the closedness flag. */ Closed_2(theIsClosed: Standard_Boolean): void; /** Returns the infinity flag. */ Infinite_1(): Standard_Boolean; /** Returns the infinity flag. */ Infinite_2(theIsInfinite: Standard_Boolean): void; /** Returns the convexness flag. */ Convex_1(): Standard_Boolean; /** Returns the convexness flag. */ Convex_2(theIsConvex: Standard_Boolean): void; /** Multiplies the Shape location by thePosition. thePosition the transformation to apply. theRaiseExc flag to raise exception in case of transformation with scale or negative. */ Move(thePosition: TopLoc_Location, theRaiseExc: Standard_Boolean): void; /** Returns a shape similar to with a location multiplied by thePosition. thePosition the transformation to apply. theRaiseExc flag to raise exception in case of transformation with scale or negative. the moved shape. */ Moved(thePosition: TopLoc_Location, theRaiseExc: Standard_Boolean): TopoDS_Shape; /** Reverses the orientation, using the Reverse method from the TopAbs package. */ Reverse(): void; /** Returns a shape similar to with the orientation reversed, using the Reverse method from the TopAbs package. */ Reversed(): TopoDS_Shape; /** Complements the orientation, using the Complement method from the TopAbs package. */ Complement(): void; /** Returns a shape similar to with the orientation complemented, using the Complement method from the TopAbs package. */ Complemented(): TopoDS_Shape; /** Updates the Shape Orientation by composition with theOrient, using the Compose method from the TopAbs package. */ Compose(theOrient: TopAbs_Orientation): void; /** Returns a shape similar to with the orientation composed with theOrient, using the Compose method from the TopAbs package. */ Composed(theOrient: TopAbs_Orientation): TopoDS_Shape; /** Returns the number of direct sub-shapes (children). TopoDS_Iterator for accessing sub-shapes */ NbChildren(): Standard_Integer; /** Returns True if two shapes are partners, i.e. if they share the same TShape. Locations and Orientations may differ. */ IsPartner(theOther: TopoDS_Shape): Standard_Boolean; /** Returns True if two shapes are same, i.e. if they share the same TShape with the same Locations. Orientations may differ. */ IsSame(theOther: TopoDS_Shape): Standard_Boolean; /** Returns True if two shapes are equal, i.e. if they share the same TShape with the same Locations and Orientations. */ IsEqual(theOther: TopoDS_Shape): Standard_Boolean; /** Negation of the IsEqual method. */ IsNotEqual(theOther: TopoDS_Shape): Standard_Boolean; /** Replace by a new Shape with the same Orientation and Location and a new TShape with the same geometry and no sub-shapes. */ EmptyCopy(): void; /** Returns a new Shape with the same Orientation and Location and a new TShape with the same geometry and no sub-shapes. */ EmptyCopied(): TopoDS_Shape; delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_Face extends TopoDS_Shape { /** Undefined Face. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class TopoDS_CompSolid extends TopoDS_Shape { /** Constructs an Undefined CompSolid. */ constructor() delete(): void; [Symbol.dispose](): void; } export declare class BndLib_Add2dCurve { constructor(); /** Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: an exact representation if C is built from a line, a circle or a conic curve, the poles of the curve if C is built from a Bezier curve or a BSpline curve, if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between: the services provided by a 2D curve from the package Geom2d and those required of the curve by the computation algorithm. The adapted curve is created in the following way: occ::handle mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... double Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from: a Geom_Line, or a Geom_Parabola, or a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers. */ static Add_1(C: Adaptor2d_Curve2d, Tol: Standard_Real, B: Bnd_Box2d): void; /** Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: an exact representation if C is built from a line, a circle or a conic curve, the poles of the curve if C is built from a Bezier curve or a BSpline curve, if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between: the services provided by a 2D curve from the package Geom2d and those required of the curve by the computation algorithm. The adapted curve is created in the following way: occ::handle mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... double Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from: a Geom_Line, or a Geom_Parabola, or a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers. */ static Add_2(C: Adaptor2d_Curve2d, U1: Standard_Real, U2: Standard_Real, Tol: Standard_Real, B: Bnd_Box2d): void; /** Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: an exact representation if C is built from a line, a circle or a conic curve, the poles of the curve if C is built from a Bezier curve or a BSpline curve, if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between: the services provided by a 2D curve from the package Geom2d and those required of the curve by the computation algorithm. The adapted curve is created in the following way: occ::handle mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... double Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from: a Geom_Line, or a Geom_Parabola, or a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers. */ static Add_3(C: any, Tol: Standard_Real, Box: Bnd_Box2d): void; /** Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: an exact representation if C is built from a line, a circle or a conic curve, the poles of the curve if C is built from a Bezier curve or a BSpline curve, if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between: the services provided by a 2D curve from the package Geom2d and those required of the curve by the computation algorithm. The adapted curve is created in the following way: occ::handle mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... double Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from: a Geom_Line, or a Geom_Parabola, or a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers. */ static Add_4(C: any, U1: Standard_Real, U2: Standard_Real, Tol: Standard_Real, B: Bnd_Box2d): void; /** Adds to the bounding box B the part of curve C B is then enlarged by the tolerance value Tol. U1, U2 - the parametric range to compute the bounding box; Note: depending on the type of curve, one of the following algorithms is used to include it in the bounding box B: an exact analytical if C is built from a line, a circle or a conic curve, numerical calculation of bounding box sizes, based on minimization algorithm, for other types of curve If Tol = < Precision::PConfusion(), Precision::PConfusion is used as tolerance for calculation */ static AddOptimal(C: any, U1: Standard_Real, U2: Standard_Real, Tol: Standard_Real, B: Bnd_Box2d): void; delete(): void; [Symbol.dispose](): void; } export declare class GC_Root { constructor(); /** Returns true if the construction is successful. */ IsDone(): Standard_Boolean; /** Returns the status of the construction: gce_Done, if the construction is successful, or another value of the gce_ErrorType enumeration indicating why the construction failed. */ Status(): gce_ErrorType; delete(): void; [Symbol.dispose](): void; } export declare class GC_MakeArcOfCircle extends GC_Root { /** Returns the constructed arc of circle. Exceptions StdFail_NotDone if no arc of circle is constructed. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GC_MakeArcOfCircle_1 extends GC_MakeArcOfCircle { constructor(Circ: gp_Circ, Alpha1: Standard_Real, Alpha2: Standard_Real, Sense: Standard_Boolean); } export declare class GC_MakeArcOfCircle_2 extends GC_MakeArcOfCircle { constructor(Circ: gp_Circ, P: gp_Pnt, Alpha: Standard_Real, Sense: Standard_Boolean); } export declare class GC_MakeArcOfCircle_3 extends GC_MakeArcOfCircle { constructor(Circ: gp_Circ, P1: gp_Pnt, P2: gp_Pnt, Sense: Standard_Boolean); } export declare class GC_MakeArcOfCircle_4 extends GC_MakeArcOfCircle { constructor(P1: gp_Pnt, P2: gp_Pnt, P3: gp_Pnt); } export declare class GC_MakeArcOfCircle_5 extends GC_MakeArcOfCircle { constructor(P1: gp_Pnt, V: gp_Vec, P2: gp_Pnt); } export declare class GC_MakeArcOfEllipse extends GC_Root { /** Returns the constructed arc of ellipse. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GC_MakeArcOfEllipse_1 extends GC_MakeArcOfEllipse { constructor(Elips: gp_Elips, Alpha1: Standard_Real, Alpha2: Standard_Real, Sense: Standard_Boolean); } export declare class GC_MakeArcOfEllipse_2 extends GC_MakeArcOfEllipse { constructor(Elips: gp_Elips, P: gp_Pnt, Alpha: Standard_Real, Sense: Standard_Boolean); } export declare class GC_MakeArcOfEllipse_3 extends GC_MakeArcOfEllipse { constructor(Elips: gp_Elips, P1: gp_Pnt, P2: gp_Pnt, Sense: Standard_Boolean); } export declare type Extrema_ExtAlgo = { Extrema_ExtAlgo_Grad: Extrema_ExtAlgoValue; Extrema_ExtAlgo_Tree: Extrema_ExtAlgoValue; } export declare type Extrema_ExtAlgoValue = 'Extrema_ExtAlgo_Grad' | 'Extrema_ExtAlgo_Tree'; export declare class Geom2dConvert_BSplineCurveToBezierCurve { /** Constructs and returns the Bezier curve of index Index to the table of adjacent Bezier arcs computed by this algorithm. This Bezier curve has the same orientation as the BSpline curve analyzed in this framework. Exceptions Standard_OutOfRange if Index is less than 1 or greater than the number of adjacent Bezier arcs computed by this algorithm. */ Arc(Index: Standard_Integer): any; /** Constructs all the Bezier curves whose data is computed by this algorithm and loads these curves into the Curves table. The Bezier curves have the same orientation as the BSpline curve analyzed in this framework. Exceptions Standard_DimensionError if the Curves array was not created with the following bounds: 1 , and the number of adjacent Bezier arcs computed by this algorithm (as given by the function NbArcs). */ Arcs(Curves: any): void; /** This methode returns the bspline's knots associated to the converted arcs Raises DimensionError if the length of Curves is not equal to NbArcs + 1 */ Knots(TKnots: TColStd_Array1OfReal): void; /** Returns the number of BezierCurve arcs. If at the creation time you have decomposed the basis curve between the parametric values UFirst, ULast the number of BezierCurve arcs depends on the number of knots included inside the interval [UFirst, ULast]. If you have decomposed the whole basis B-spline curve the number of BezierCurve arcs NbArcs is equal to the number of knots less one. */ NbArcs(): Standard_Integer; delete(): void; [Symbol.dispose](): void; } export declare class Geom2dConvert_BSplineCurveToBezierCurve_1 extends Geom2dConvert_BSplineCurveToBezierCurve { constructor(BasisCurve: any); } export declare class Geom2dConvert_BSplineCurveToBezierCurve_2 extends Geom2dConvert_BSplineCurveToBezierCurve { constructor(BasisCurve: any, U1: Standard_Real, U2: Standard_Real, ParametricTolerance: Standard_Real); } export declare class Geom2dConvert_ApproxCurve { /** Returns the 2D BSpline curve resulting from the approximation algorithm. */ Curve(): any; /** returns true if the approximation has been done with within required tolerance */ IsDone(): Standard_Boolean; /** returns true if the approximation did come out with a result that is not NECESSARELY within the required tolerance */ HasResult(): Standard_Boolean; /** Returns the greatest distance between a point on the source conic and the BSpline curve resulting from the approximation. (>0 when an approximation has been done, 0 if no approximation) */ MaxError(): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class Geom2dConvert_ApproxCurve_1 extends Geom2dConvert_ApproxCurve { constructor(Curve: any, Tol2d: Standard_Real, Order: GeomAbs_Shape, MaxSegments: Standard_Integer, MaxDegree: Standard_Integer); } export declare class Geom2dConvert_ApproxCurve_2 extends Geom2dConvert_ApproxCurve { constructor(Curve: any, Tol2d: Standard_Real, Order: GeomAbs_Shape, MaxSegments: Standard_Integer, MaxDegree: Standard_Integer); } export declare class Geom2dConvert { constructor(); /** Convert a curve to BSpline by Approximation This method computes the arc of B-spline curve between the two knots FromK1 and ToK2. If C is periodic the arc has the same orientation as C if SameOrientation = true. If C is not periodic SameOrientation is not used for the computation and C is oriented from the knot fromK1 to the knot toK2. We just keep the local definition of C between the knots FromK1 and ToK2. The returned B-spline curve has its first and last knots with a multiplicity equal to degree + 1, where degree is the polynomial degree of C. The indexes of the knots FromK1 and ToK2 doesn't include the repetition of multiple knots in their definition. Raised if FromK1 or ToK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] Raised if FromK1 = ToK2 */ static SplitBSplineCurve_1(C: any, FromK1: Standard_Integer, ToK2: Standard_Integer, SameOrientation: Standard_Boolean): any; /** Convert a curve to BSpline by Approximation This method computes the arc of B-spline curve between the two knots FromK1 and ToK2. If C is periodic the arc has the same orientation as C if SameOrientation = true. If C is not periodic SameOrientation is not used for the computation and C is oriented from the knot fromK1 to the knot toK2. We just keep the local definition of C between the knots FromK1 and ToK2. The returned B-spline curve has its first and last knots with a multiplicity equal to degree + 1, where degree is the polynomial degree of C. The indexes of the knots FromK1 and ToK2 doesn't include the repetition of multiple knots in their definition. Raised if FromK1 or ToK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] Raised if FromK1 = ToK2 */ static SplitBSplineCurve_2(C: any, FromU1: Standard_Real, ToU2: Standard_Real, ParametricTolerance: Standard_Real, SameOrientation: Standard_Boolean): any; /** This function converts a non infinite curve from Geom into a B-spline curve. C must be an ellipse or a circle or a trimmed conic or a trimmed line or a Bezier curve or a trimmed Bezier curve or a BSpline curve or a trimmed BSpline curve or an Offset curve or a trimmed Offset curve. The returned B-spline is not periodic except if C is a Circle or an Ellipse. ParameterisationType applies only if the curve is a Circle or an ellipse : TgtThetaOver2, TgtThetaOver2_1, TgtThetaOver2_2, TgtThetaOver2_3, TgtThetaOver2_4, Purpose: this is the classical rational parameterisation 2 1 - t cos(theta) = --- 2 1 + t 2t sin(theta) = --- 2 1 + t t = tan (theta/2) with TgtThetaOver2 the routine will compute the number of spans using the rule num_spans = [ (ULast - UFirst) / 1.2 ] + 1 with TgtThetaOver2_N, N spans will be forced: an error will be raized if (ULast - UFirst) >= PI and N = 1, ULast - UFirst >= 2 PI and N = 2 QuasiAngular, here t is a rational function that approximates theta -> tan(theta/2). Nevetheless the composing with above function yields exact functions whose square sum up to 1 RationalC1 ; t is replaced by a polynomial function of u so as to grant C1 contiuity across knots. Exceptions Standard_DomainError if the curve C is infinite. Standard_ConstructionError: if C is a complete circle or ellipse, and if Parameterisation is not equal to Convert_TgtThetaOver2 or to Convert_RationalC1, or if C is a trimmed circle or ellipse and if Parameterisation is equal to Convert_TgtThetaOver2_1 and if U2 - U1 > 0.9999 * Pi where U1 and U2 are respectively the first and the last parameters of the trimmed curve (this method of parameterization cannot be used to convert a half-circle or a half-ellipse, for example), or if C is a trimmed circle or ellipse and Parameterisation is equal to Convert_TgtThetaOver2_2 and U2 - U1 > 1.9999 * Pi where U1 and U2 are respectively the first and the last parameters of the trimmed curve (this method of parameterization cannot be used to convert a quasi-complete circle or ellipse). */ static CurveToBSplineCurve(C: any, Parameterisation: Convert_ParameterisationType): any; /** This Method concatenates G1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatG1(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatC1_1(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfIndices: any, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatC1_2(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfIndices: any, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real, AngularTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns a new BSpline which could still be C0. tolerance is a geometrical tolerance */ static C0BSplineToC1BSplineCurve(BS: any, Tolerance: Standard_Real): void; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. Tolerance is a geometrical tolerance */ static C0BSplineToArrayOfC1BSplineCurve_1(BS: any, tabBS: any, Tolerance: Standard_Real): void; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. Tolerance is a geometrical tolerance */ static C0BSplineToArrayOfC1BSplineCurve_2(BS: any, tabBS: any, AngularTolerance: Standard_Real, Tolerance: Standard_Real): void; delete(): void; [Symbol.dispose](): void; } export declare class GeomLib { constructor(); /** Computes the curve 3d from package Geom corresponding to curve 2d from package Geom2d, on the plan defined with the local coordinate system Position. */ static To3d(Position: gp_Ax2, Curve2d: any): any; /** Computes the curve 3d from package Geom corresponding to the curve 3d from package Geom, transformed with the transformation WARNING : this method may return a null Handle if it's impossible to compute the transformation of a curve. It's not implemented when : 1) the curve is an infinite parabola or hyperbola 2) the curve is an offsetcurve */ static GTransform(Curve: any, GTrsf: gp_GTrsf2d): any; /** Make the curve Curve2dPtr have the imposed range First to List the most economic way, that is if it can change the range without changing the nature of the curve it will try to do that. Otherwise it will produce a Bspline curve that has the required range */ static SameRange(Tolerance: Standard_Real, Curve2dPtr: any, First: Standard_Real, Last: Standard_Real, RequestedFirst: Standard_Real, RequestedLast: Standard_Real, NewCurve2dPtr: any): void; static BuildCurve3d(Tolerance: Standard_Real, CurvePtr: Adaptor3d_CurveOnSurface, FirstParameter: Standard_Real, LastParameter: Standard_Real, NewCurvePtr: any, Continuity: GeomAbs_Shape, MaxDegree: Standard_Integer, MaxSegment: Standard_Integer): { MaxDeviation: number; AverageDeviation: number }; static AdjustExtremity(Curve: any, P1: gp_Pnt, P2: gp_Pnt, T1: gp_Vec, T2: gp_Vec): void; /** Extends the bounded curve Curve to the point Point. The extension is built: at the end of the curve if After equals true, or at the beginning of the curve if After equals false. The extension is performed according to a degree of continuity equal to Cont, which in its turn must be equal to 1, 2 or 3. This function converts the bounded curve Curve into a BSpline curve. Warning Nothing is done, and Curve is not modified if Cont is not equal to 1, 2 or 3. It is recommended that the extension should not be too large with respect to the size of the bounded curve Curve: Point must not be located too far from one of the extremities of Curve. */ static ExtendCurveToPoint(Curve: any, Point: gp_Pnt, Cont: Standard_Integer, After: Standard_Boolean): void; /** Extends the bounded surface Surf along one of its boundaries. The chord length of the extension is equal to Length. The direction of the extension is given as: the u parametric direction of Surf, if InU equals true, or the v parametric direction of Surf, if InU equals false. In this parametric direction, the extension is built on the side of: the last parameter of Surf, if After equals true, or the first parameter of Surf, if After equals false. The extension is performed according to a degree of continuity equal to Cont, which in its turn must be equal to 1, 2 or 3. This function converts the bounded surface Surf into a BSpline surface. Warning Nothing is done, and Surf is not modified if Cont is not equal to 1, 2 or 3. It is recommended that Length, the size of the extension should not be too large with respect to the size of the bounded surface Surf. Surf must not be a periodic BSpline surface in the parametric direction corresponding to the direction of extension. */ static ExtendSurfByLength(Surf: any, Length: Standard_Real, Cont: Standard_Integer, InU: Standard_Boolean, After: Standard_Boolean): void; /** Compute axes of inertia, of some points .Location() is the BaryCentre .XDirection is the axe of upper inertia .Direction is the Normal to the average plane IsSingular is True if points are on line Tol is used to determine singular cases. */ static AxeOfInertia(Points: TColgp_Array1OfPnt, Axe: gp_Ax2, Tol: Standard_Real): { IsSingular: boolean }; /** Compute principale axes of inertia, and dispersion value of some points. */ static Inertia(Points: TColgp_Array1OfPnt, Bary: gp_Pnt, XDir: gp_Dir, YDir: gp_Dir): { Xgap: number; YGap: number; ZGap: number }; /** Warning! This assume that the InParameter is an increasing sequence of real number and it will not check for that : Unpredictable result can happen if this is not satisfied. It is the caller responsibility to check for that property. This method makes uniform NumPoints segments S1,...SNumPoints out of the segment defined by the first parameter and the last parameter of the InParameter ; keeps only one point of the InParameters set of parameter in each of the uniform segments taking care of the first and the last parameters. For the ith segment the element of the InParameter is the one that is the first to exceed the midpoint of the segment and to fall before the midpoint of the next segment There will be at the end at most NumPoints + 1 if NumPoints > 2 in the OutParameters Array */ static RemovePointsFromArray(NumPoints: Standard_Integer, InParameters: TColStd_Array1OfReal, OutParameters: any): void; /** this makes sure that there is at least MinNumPoints in OutParameters taking into account the parameters in the InParameters array provided those are in order, that is the sequence of real in the InParameter is strictly non decreasing */ static DensifyArray1OfReal(MinNumPoints: Standard_Integer, InParameters: TColStd_Array1OfReal, OutParameters: any): void; /** This method fuse intervals Interval1 and Interval2 with specified Confusion Interval1 first interval to fuse Interval2 second interval to fuse Confision tolerance to compare intervals IsAdjustToFirstInterval flag to set method of fusion, if intervals are close if false, intervals are fusing by half-division method if true, intervals are fusing by selecting value from Interval1 Fusion output interval */ static FuseIntervals(Interval1: TColStd_Array1OfReal, Interval2: TColStd_Array1OfReal, Fusion: TColStd_SequenceOfReal, Confusion: Standard_Real, IsAdjustToFirstInterval: Standard_Boolean): void; /** this will compute the maximum distance at the parameters given in the Parameters array by evaluating each parameter the two curves and taking the maximum of the evaluated distance */ static EvalMaxParametricDistance(Curve: Adaptor3d_Curve, AReferenceCurve: Adaptor3d_Curve, Tolerance: Standard_Real, Parameters: TColStd_Array1OfReal): { MaxDistance: number }; /** this will compute the maximum distance at the parameters given in the Parameters array by projecting from the Curve to the reference curve and taking the minimum distance Than the maximum will be taken on those minimas. */ static EvalMaxDistanceAlongParameter(Curve: Adaptor3d_Curve, AReferenceCurve: Adaptor3d_Curve, Tolerance: Standard_Real, Parameters: TColStd_Array1OfReal): { MaxDistance: number }; /** Cancel,on the boundaries,the denominator first derivative in the directions wished by the user and set its value to 1. */ static CancelDenominatorDerivative(BSurf: any, UDirection: Standard_Boolean, VDirection: Standard_Boolean): void; /** Estimate surface normal at the given (U, V) point. theSurf input surface theUV (U, V) point coordinates on the surface theTol estimation tolerance theNorm computed normal 0 if normal estimated from D1, 1 if estimated from D2 (quasysingular), >=2 in case of failure (undefined or infinite solutions) */ static NormEstim(theSurf: any, theUV: gp_Pnt2d, theTol: Standard_Real, theNorm: gp_Dir): Standard_Integer; /** This method defines if opposite boundaries of surface coincide with given tolerance */ static IsClosed(S: any, Tol: Standard_Real): { isUClosed: boolean; isVClosed: boolean }; /** Returns true if the poles of U1 isoline and the poles of U2 isoline of surface are identical according to tolerance criterion. For rational surfaces Weights(i)*Poles(i) are checked. */ static IsBSplUClosed(S: any, U1: Standard_Real, U2: Standard_Real, Tol: Standard_Real): Standard_Boolean; /** Returns true if the poles of V1 isoline and the poles of V2 isoline of surface are identical according to tolerance criterion. For rational surfaces Weights(i)*Poles(i) are checked. */ static IsBSplVClosed(S: any, V1: Standard_Real, V2: Standard_Real, Tol: Standard_Real): Standard_Boolean; /** Returns true if the poles of U1 isoline and the poles of U2 isoline of surface are identical according to tolerance criterion. */ static IsBzUClosed(S: any, U1: Standard_Real, U2: Standard_Real, Tol: Standard_Real): Standard_Boolean; /** Returns true if the poles of V1 isoline and the poles of V2 isoline of surface are identical according to tolerance criterion. */ static IsBzVClosed(S: any, V1: Standard_Real, V2: Standard_Real, Tol: Standard_Real): Standard_Boolean; /** Checks whether the 2d curve is a isoline. It can be represented by b-spline, bezier, or geometric line. This line should have natural parameterization. theC2D Trimmed curve to be checked. theIsU Flag indicating that line is u const. theParam Line parameter. theIsForward Flag indicating forward parameterization on a isoline. true when 2d curve is a line and false otherwise. */ static isIsoLine(theC2D: any): { result: Standard_Boolean; theIsU: boolean; theParam: number; theIsForward: boolean }; /** Builds 3D curve for a isoline. This method takes corresponding isoline from the input surface. theC2D Trimmed curve to be approximated. theIsU Flag indicating that line is u const. theParam Line parameter. theIsForward Flag indicating forward parameterization on a isoline. true when 3d curve is built and false otherwise. */ static buildC3dOnIsoLine(theC2D: any, theSurf: any, theFirst: Standard_Real, theLast: Standard_Real, theTolerance: Standard_Real, theIsU: Standard_Boolean, theParam: Standard_Real, theIsForward: Standard_Boolean): any; delete(): void; [Symbol.dispose](): void; } export declare class GCPnts_TangentialDeflection { /** Initialize algorithm for 3D curve. theC 3d curve theAngularDeflection angular deflection in radians theCurvatureDeflection linear deflection theMinimumOfPoints minimum number of points theUTol tolerance in curve parametric scope theMinLen minimal length */ Initialize_1(theC: Adaptor3d_Curve, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real): void; /** Initialize algorithm for 3D curve. theC 3d curve theAngularDeflection angular deflection in radians theCurvatureDeflection linear deflection theMinimumOfPoints minimum number of points theUTol tolerance in curve parametric scope theMinLen minimal length */ Initialize_2(theC: Adaptor3d_Curve, theFirstParameter: Standard_Real, theLastParameter: Standard_Real, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real): void; /** Initialize algorithm for 3D curve. theC 3d curve theAngularDeflection angular deflection in radians theCurvatureDeflection linear deflection theMinimumOfPoints minimum number of points theUTol tolerance in curve parametric scope theMinLen minimal length */ Initialize_3(theC: Adaptor2d_Curve2d, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real): void; /** Initialize algorithm for 3D curve. theC 3d curve theAngularDeflection angular deflection in radians theCurvatureDeflection linear deflection theMinimumOfPoints minimum number of points theUTol tolerance in curve parametric scope theMinLen minimal length */ Initialize_4(theC: Adaptor2d_Curve2d, theFirstParameter: Standard_Real, theLastParameter: Standard_Real, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real): void; /** Add point to already calculated points (or replace existing) Returns index of new added point or founded with parametric tolerance (replaced if theIsReplace is true) */ AddPoint(thePnt: gp_Pnt, theParam: Standard_Real, theIsReplace: Standard_Boolean): Standard_Integer; NbPoints(): Standard_Integer; Parameter(I: Standard_Integer): Standard_Real; Value(I: Standard_Integer): gp_Pnt; /** Computes angular step for the arc using the given parameters. */ static ArcAngularStep(theRadius: Standard_Real, theLinearDeflection: Standard_Real, theAngularDeflection: Standard_Real, theMinLength: Standard_Real): Standard_Real; delete(): void; [Symbol.dispose](): void; } export declare class GCPnts_TangentialDeflection_1 extends GCPnts_TangentialDeflection { constructor(); } export declare class GCPnts_TangentialDeflection_2 extends GCPnts_TangentialDeflection { constructor(theC: Adaptor3d_Curve, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real); } export declare class GCPnts_TangentialDeflection_3 extends GCPnts_TangentialDeflection { constructor(theC: Adaptor3d_Curve, theFirstParameter: Standard_Real, theLastParameter: Standard_Real, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real); } export declare class GCPnts_TangentialDeflection_4 extends GCPnts_TangentialDeflection { constructor(theC: Adaptor2d_Curve2d, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real); } export declare class GCPnts_TangentialDeflection_5 extends GCPnts_TangentialDeflection { constructor(theC: Adaptor2d_Curve2d, theFirstParameter: Standard_Real, theLastParameter: Standard_Real, theAngularDeflection: Standard_Real, theCurvatureDeflection: Standard_Real, theMinimumOfPoints: Standard_Integer, theUTol: Standard_Real, theMinLen: Standard_Real); } export declare class GCE2d_Root { constructor(); /** Returns true if the construction is successful. */ IsDone(): Standard_Boolean; /** Returns the status of the construction gce_Done, if the construction is successful, or another value of the gce_ErrorType enumeration indicating why the construction failed. */ Status(): gce_ErrorType; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeArcOfCircle extends GCE2d_Root { /** Returns the constructed arc of circle. Exceptions StdFail_NotDone if no arc of circle is constructed. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeArcOfCircle_1 extends GCE2d_MakeArcOfCircle { constructor(Circ: gp_Circ2d, Alpha1: Standard_Real, Alpha2: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeArcOfCircle_2 extends GCE2d_MakeArcOfCircle { constructor(Circ: gp_Circ2d, P: gp_Pnt2d, Alpha: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeArcOfCircle_3 extends GCE2d_MakeArcOfCircle { constructor(Circ: gp_Circ2d, P1: gp_Pnt2d, P2: gp_Pnt2d, Sense: Standard_Boolean); } export declare class GCE2d_MakeArcOfCircle_4 extends GCE2d_MakeArcOfCircle { constructor(P1: gp_Pnt2d, P2: gp_Pnt2d, P3: gp_Pnt2d); } export declare class GCE2d_MakeArcOfCircle_5 extends GCE2d_MakeArcOfCircle { constructor(P1: gp_Pnt2d, V: gp_Vec2d, P2: gp_Pnt2d); } export declare class GCE2d_MakeEllipse extends GCE2d_Root { /** Returns the constructed ellipse. Exceptions StdFail_NotDone if no ellipse is constructed. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeEllipse_1 extends GCE2d_MakeEllipse { constructor(E: gp_Elips2d); } export declare class GCE2d_MakeEllipse_2 extends GCE2d_MakeEllipse { constructor(MajorAxis: gp_Ax2d, MajorRadius: Standard_Real, MinorRadius: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeEllipse_3 extends GCE2d_MakeEllipse { constructor(Axis: gp_Ax22d, MajorRadius: Standard_Real, MinorRadius: Standard_Real); } export declare class GCE2d_MakeEllipse_4 extends GCE2d_MakeEllipse { constructor(S1: gp_Pnt2d, S2: gp_Pnt2d, Center: gp_Pnt2d); } export declare class GCE2d_MakeArcOfEllipse extends GCE2d_Root { /** Returns the constructed arc of ellipse. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeArcOfEllipse_1 extends GCE2d_MakeArcOfEllipse { constructor(Elips: gp_Elips2d, Alpha1: Standard_Real, Alpha2: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeArcOfEllipse_2 extends GCE2d_MakeArcOfEllipse { constructor(Elips: gp_Elips2d, P: gp_Pnt2d, Alpha: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeArcOfEllipse_3 extends GCE2d_MakeArcOfEllipse { constructor(Elips: gp_Elips2d, P1: gp_Pnt2d, P2: gp_Pnt2d, Sense: Standard_Boolean); } export declare class GCE2d_MakeCircle extends GCE2d_Root { /** Returns the constructed circle. Exceptions StdFail_NotDone if no circle is constructed. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeCircle_1 extends GCE2d_MakeCircle { constructor(C: gp_Circ2d); } export declare class GCE2d_MakeCircle_2 extends GCE2d_MakeCircle { constructor(A: gp_Ax2d, Radius: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeCircle_3 extends GCE2d_MakeCircle { constructor(A: gp_Ax22d, Radius: Standard_Real); } export declare class GCE2d_MakeCircle_4 extends GCE2d_MakeCircle { constructor(Circ: gp_Circ2d, Dist: Standard_Real); } export declare class GCE2d_MakeCircle_5 extends GCE2d_MakeCircle { constructor(Circ: gp_Circ2d, Point: gp_Pnt2d); } export declare class GCE2d_MakeCircle_6 extends GCE2d_MakeCircle { constructor(P1: gp_Pnt2d, P2: gp_Pnt2d, P3: gp_Pnt2d); } export declare class GCE2d_MakeCircle_7 extends GCE2d_MakeCircle { constructor(P: gp_Pnt2d, Radius: Standard_Real, Sense: Standard_Boolean); } export declare class GCE2d_MakeCircle_8 extends GCE2d_MakeCircle { constructor(Center: gp_Pnt2d, Point: gp_Pnt2d, Sense: Standard_Boolean); } export declare class GCE2d_MakeSegment extends GCE2d_Root { /** Returns the constructed line segment. Exceptions StdFail_NotDone if no line segment is constructed. */ Value(): any; delete(): void; [Symbol.dispose](): void; } export declare class GCE2d_MakeSegment_1 extends GCE2d_MakeSegment { constructor(P1: gp_Pnt2d, P2: gp_Pnt2d); } export declare class GCE2d_MakeSegment_2 extends GCE2d_MakeSegment { constructor(P1: gp_Pnt2d, V: gp_Dir2d, P2: gp_Pnt2d); } export declare class GCE2d_MakeSegment_3 extends GCE2d_MakeSegment { constructor(Line: gp_Lin2d, U1: Standard_Real, U2: Standard_Real); } export declare class GCE2d_MakeSegment_4 extends GCE2d_MakeSegment { constructor(Line: gp_Lin2d, Point: gp_Pnt2d, Ulast: Standard_Real); } export declare class GCE2d_MakeSegment_5 extends GCE2d_MakeSegment { constructor(Line: gp_Lin2d, P1: gp_Pnt2d, P2: gp_Pnt2d); } export declare class GeomConvert { constructor(); /** Convert a curve from Geom by an approximation method This method computes the arc of B-spline curve between the two knots FromK1 and ToK2. If C is periodic the arc has the same orientation as C if SameOrientation = true. If C is not periodic SameOrientation is not used for the computation and C is oriented from the knot fromK1 to the knot toK2. We just keep the local definition of C between the knots FromK1 and ToK2. The returned B-spline curve has its first and last knots with a multiplicity equal to degree + 1, where degree is the polynomial degree of C. The indexes of the knots FromK1 and ToK2 doesn't include the repetition of multiple knots in their definition. Raised if FromK1 = ToK2 Raised if FromK1 or ToK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] */ static SplitBSplineCurve_1(C: any, FromK1: Standard_Integer, ToK2: Standard_Integer, SameOrientation: Standard_Boolean): any; /** Convert a curve from Geom by an approximation method This method computes the arc of B-spline curve between the two knots FromK1 and ToK2. If C is periodic the arc has the same orientation as C if SameOrientation = true. If C is not periodic SameOrientation is not used for the computation and C is oriented from the knot fromK1 to the knot toK2. We just keep the local definition of C between the knots FromK1 and ToK2. The returned B-spline curve has its first and last knots with a multiplicity equal to degree + 1, where degree is the polynomial degree of C. The indexes of the knots FromK1 and ToK2 doesn't include the repetition of multiple knots in their definition. Raised if FromK1 = ToK2 Raised if FromK1 or ToK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] */ static SplitBSplineCurve_2(C: any, FromU1: Standard_Real, ToU2: Standard_Real, ParametricTolerance: Standard_Real, SameOrientation: Standard_Boolean): any; /** Computes the B-spline surface patche between the knots values FromUK1, ToUK2, FromVK1, ToVK2. If S is periodic in one direction the patche has the same orientation as S in this direction if the flag is true in this direction (SameUOrientation, SameVOrientation). If S is not periodic SameUOrientation and SameVOrientation are not used for the computation and S is oriented FromUK1 ToUK2 and FromVK1 ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2 FromUK1 or ToUK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] FromVK1 or ToVK2 are out of the bounds [FirstVKnotIndex, LastVKnotIndex] */ static SplitBSplineSurface_1(S: any, FromUK1: Standard_Integer, ToUK2: Standard_Integer, FromVK1: Standard_Integer, ToVK2: Standard_Integer, SameUOrientation: Standard_Boolean, SameVOrientation: Standard_Boolean): any; /** Computes the B-spline surface patche between the knots values FromUK1, ToUK2, FromVK1, ToVK2. If S is periodic in one direction the patche has the same orientation as S in this direction if the flag is true in this direction (SameUOrientation, SameVOrientation). If S is not periodic SameUOrientation and SameVOrientation are not used for the computation and S is oriented FromUK1 ToUK2 and FromVK1 ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2 FromUK1 or ToUK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] FromVK1 or ToVK2 are out of the bounds [FirstVKnotIndex, LastVKnotIndex] */ static SplitBSplineSurface_2(S: any, FromK1: Standard_Integer, ToK2: Standard_Integer, USplit: Standard_Boolean, SameOrientation: Standard_Boolean): any; /** Computes the B-spline surface patche between the knots values FromUK1, ToUK2, FromVK1, ToVK2. If S is periodic in one direction the patche has the same orientation as S in this direction if the flag is true in this direction (SameUOrientation, SameVOrientation). If S is not periodic SameUOrientation and SameVOrientation are not used for the computation and S is oriented FromUK1 ToUK2 and FromVK1 ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2 FromUK1 or ToUK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] FromVK1 or ToVK2 are out of the bounds [FirstVKnotIndex, LastVKnotIndex] */ static SplitBSplineSurface_3(S: any, FromU1: Standard_Real, ToU2: Standard_Real, FromV1: Standard_Real, ToV2: Standard_Real, ParametricTolerance: Standard_Real, SameUOrientation: Standard_Boolean, SameVOrientation: Standard_Boolean): any; /** Computes the B-spline surface patche between the knots values FromUK1, ToUK2, FromVK1, ToVK2. If S is periodic in one direction the patche has the same orientation as S in this direction if the flag is true in this direction (SameUOrientation, SameVOrientation). If S is not periodic SameUOrientation and SameVOrientation are not used for the computation and S is oriented FromUK1 ToUK2 and FromVK1 ToVK2. Raised if FromUK1 = ToUK2 or FromVK1 = ToVK2 FromUK1 or ToUK2 are out of the bounds [FirstUKnotIndex, LastUKnotIndex] FromVK1 or ToVK2 are out of the bounds [FirstVKnotIndex, LastVKnotIndex] */ static SplitBSplineSurface_4(S: any, FromParam1: Standard_Real, ToParam2: Standard_Real, USplit: Standard_Boolean, ParametricTolerance: Standard_Real, SameOrientation: Standard_Boolean): any; /** This function converts a non infinite curve from Geom into a B-spline curve. C must be an ellipse or a circle or a trimmed conic or a trimmed line or a Bezier curve or a trimmed Bezier curve or a BSpline curve or a trimmed BSpline curve or an OffsetCurve. The returned B-spline is not periodic except if C is a Circle or an Ellipse. If the Parameterisation is QuasiAngular than the returned curve is NOT periodic in case a periodic Geom_Circle or Geom_Ellipse. For TgtThetaOver2_1 and TgtThetaOver2_2 the method raises an exception in case of a periodic Geom_Circle or a Geom_Ellipse ParameterisationType applies only if the curve is a Circle or an ellipse: TgtThetaOver2, TgtThetaOver2_1, TgtThetaOver2_2, TgtThetaOver2_3, TgtThetaOver2_4, Purpose: this is the classical rational parameterisation 2 1 - t cos(theta) = --- 2 1 + t 2t sin(theta) = --- 2 1 + t t = tan (theta/2) with TgtThetaOver2 the routine will compute the number of spans using the rule num_spans = [ (ULast - UFirst) / 1.2 ] + 1 with TgtThetaOver2_N, N spans will be forced: an error will be raized if (ULast - UFirst) >= PI and N = 1, ULast - UFirst >= 2 PI and N = 2 QuasiAngular, here t is a rational function that approximates theta -> tan(theta/2). Nevetheless the composing with above function yields exact functions whose square sum up to 1 RationalC1 ; t is replaced by a polynomial function of u so as to grant C1 contiuity across knots. Exceptions Standard_DomainError: if the curve C is infinite, or if C is a (complete) circle or ellipse, and Parameterisation is equal to Convert_TgtThetaOver2_1 or Convert_TgtThetaOver2_2. Standard_ConstructionError: if C is a (complete) circle or ellipse, and if Parameterisation is not equal to Convert_TgtThetaOver2, Convert_RationalC1, Convert_QuasiAngular (the curve is converted in these three cases) or to Convert_TgtThetaOver2_1 or Convert_TgtThetaOver2_2 (another exception is raised in these two cases). if C is a trimmed circle or ellipse, if Parameterisation is equal to Convert_TgtThetaOver2_1 and if U2 - U1 > 0.9999 * Pi, where U1 and U2 are respectively the first and the last parameters of the trimmed curve (this method of parameterization cannot be used to convert a half-circle or a half-ellipse, for example), or if C is a trimmed circle or ellipse, if Parameterisation is equal to Convert_TgtThetaOver2_2 and U2 - U1 > 1.9999 * Pi where U1 and U2 are respectively the first and the last parameters of the trimmed curve (this method of parameterization cannot be used to convert a quasi-complete circle or ellipse). */ static CurveToBSplineCurve(C: any, Parameterisation: Convert_ParameterisationType): any; /** This algorithm converts a non infinite surface from Geom into a B-spline surface. S must be a trimmed plane or a trimmed cylinder or a trimmed cone or a trimmed sphere or a trimmed torus or a sphere or a torus or a Bezier surface of a trimmed Bezier surface or a trimmed swept surface with a corresponding basis curve which can be turned into a B-spline curve (see the method CurveToBSplineCurve). Raises DomainError if the type of the surface is not previously defined. */ static SurfaceToBSplineSurface(S: any): any; /** This Method concatenates G1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatG1(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatC1_1(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfIndices: any, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve. */ static ConcatC1_2(ArrayOfCurves: any, ArrayOfToler: TColStd_Array1OfReal, ArrayOfIndices: any, ArrayOfConcatenated: any, ClosedTolerance: Standard_Real, AngularTolerance: Standard_Real): { ClosedFlag: boolean }; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns a new BSpline which could still be C0. tolerance is a geometrical tolerance. The Angular toleranceis in radians and measures the angle of the tangents on the left and on the right to decide if the curve is G1 or not at a given point */ static C0BSplineToC1BSplineCurve(BS: any, tolerance: Standard_Real, AngularTolerance: Standard_Real): void; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. tolerance is a geometrical tolerance. */ static C0BSplineToArrayOfC1BSplineCurve_1(BS: any, tabBS: any, tolerance: Standard_Real): void; /** This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. tolerance is a geometrical tolerance. */ static C0BSplineToArrayOfC1BSplineCurve_2(BS: any, tabBS: any, AngularTolerance: Standard_Real, tolerance: Standard_Real): void; delete(): void; [Symbol.dispose](): void; } export declare class GeomTools { constructor(); static SetUndefinedTypeHandler(aHandler: any): void; static GetUndefinedTypeHandler(): any; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array2OfPnt { static BeginPosition(theRowLower: number, a1: number, theColLower: number, theColUpper: number): number; static LastPosition(theRowLower: number, theRowUpper: number, theColLower: number, theColUpper: number): number; Size(): number; Length(): number; NbRows(): number; NbColumns(): number; RowLength(): number; ColLength(): number; LowerRow(): number; UpperRow(): number; LowerCol(): number; UpperCol(): number; UpdateLowerRow(theLowerRow: number): void; UpdateLowerCol(theLowerCol: number): void; UpdateUpperRow(theUpperRow: number): void; UpdateUpperCol(theUpperCol: number): void; Assign(theOther: TColgp_Array2OfPnt): TColgp_Array2OfPnt; Move_1(theOther: TColgp_Array2OfPnt): TColgp_Array2OfPnt; Move_2(theOther: TColgp_Array2OfPnt): TColgp_Array2OfPnt; SetValue_1(theRow: number, theCol: number, theItem: gp_Pnt): void; SetValue_2(theRow: number, theCol: number, theItem: gp_Pnt): void; Resize(theRowLower: number, theRowUpper: number, theColLower: number, theColUpper: number, theToCopyData: boolean): void; ResizeWithTrim(theRowLower: number, theRowUpper: number, theColLower: number, theColUpper: number, theToCopyData: boolean): void; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array2OfPnt_1 extends TColgp_Array2OfPnt { constructor(); } export declare class TColgp_Array2OfPnt_2 extends TColgp_Array2OfPnt { constructor(theRowLower: number, theRowUpper: number, theColLower: number, theColUpper: number); } export declare class TColgp_Array2OfPnt_4 extends TColgp_Array2OfPnt { constructor(theOther: TColgp_Array2OfPnt); } export declare class TColgp_Array2OfPnt_5 extends TColgp_Array2OfPnt { constructor(theOther: TColgp_Array2OfPnt); } export declare class TColgp_Array2OfPnt_6 extends TColgp_Array2OfPnt { constructor(theBegin: gp_Pnt, theRowLower: number, theRowUpper: number, theColLower: number, theColUpper: number); } export declare class TColgp_Array1OfDir { Init(theValue: gp_Dir): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColgp_Array1OfDir): TColgp_Array1OfDir; Move_1(theOther: TColgp_Array1OfDir): TColgp_Array1OfDir; Move_2(theOther: TColgp_Array1OfDir): TColgp_Array1OfDir; First(): gp_Dir; ChangeFirst(): gp_Dir; Last(): gp_Dir; ChangeLast(): gp_Dir; Value(theIndex: number): gp_Dir; ChangeValue(theIndex: number): gp_Dir; SetValue_1(theIndex: number, theItem: gp_Dir): void; SetValue_2(theIndex: number, theItem: gp_Dir): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array1OfDir_1 extends TColgp_Array1OfDir { constructor(); } export declare class TColgp_Array1OfDir_2 extends TColgp_Array1OfDir { constructor(theLower: number, theUpper: number); } export declare class TColgp_Array1OfDir_4 extends TColgp_Array1OfDir { constructor(theBegin: gp_Dir, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColgp_Array1OfDir_5 extends TColgp_Array1OfDir { constructor(theOther: TColgp_Array1OfDir); } export declare class TColgp_Array1OfDir_6 extends TColgp_Array1OfDir { constructor(theOther: TColgp_Array1OfDir); } export declare class TColStd_Array1OfReal { Init(theValue: number): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColStd_Array1OfReal): TColStd_Array1OfReal; Move_1(theOther: TColStd_Array1OfReal): TColStd_Array1OfReal; Move_2(theOther: TColStd_Array1OfReal): TColStd_Array1OfReal; First(): number; ChangeFirst(): number; Last(): number; ChangeLast(): number; Value(theIndex: number): number; ChangeValue(theIndex: number): number; SetValue_1(theIndex: number, theItem: number): void; SetValue_2(theIndex: number, theItem: number): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColStd_Array1OfReal_1 extends TColStd_Array1OfReal { constructor(); } export declare class TColStd_Array1OfReal_2 extends TColStd_Array1OfReal { constructor(theLower: number, theUpper: number); } export declare class TColStd_Array1OfReal_4 extends TColStd_Array1OfReal { constructor(theBegin: number, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColStd_Array1OfReal_5 extends TColStd_Array1OfReal { constructor(theOther: TColStd_Array1OfReal); } export declare class TColStd_Array1OfReal_6 extends TColStd_Array1OfReal { constructor(theOther: TColStd_Array1OfReal); } export declare class Poly_Array1OfTriangle { Init(theValue: Poly_Triangle): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: Poly_Array1OfTriangle): Poly_Array1OfTriangle; Move_1(theOther: Poly_Array1OfTriangle): Poly_Array1OfTriangle; Move_2(theOther: Poly_Array1OfTriangle): Poly_Array1OfTriangle; First(): Poly_Triangle; ChangeFirst(): Poly_Triangle; Last(): Poly_Triangle; ChangeLast(): Poly_Triangle; Value(theIndex: number): Poly_Triangle; ChangeValue(theIndex: number): Poly_Triangle; SetValue_1(theIndex: number, theItem: Poly_Triangle): void; SetValue_2(theIndex: number, theItem: Poly_Triangle): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class Poly_Array1OfTriangle_1 extends Poly_Array1OfTriangle { constructor(); } export declare class Poly_Array1OfTriangle_2 extends Poly_Array1OfTriangle { constructor(theLower: number, theUpper: number); } export declare class Poly_Array1OfTriangle_4 extends Poly_Array1OfTriangle { constructor(theBegin: Poly_Triangle, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class Poly_Array1OfTriangle_5 extends Poly_Array1OfTriangle { constructor(theOther: Poly_Array1OfTriangle); } export declare class Poly_Array1OfTriangle_6 extends Poly_Array1OfTriangle { constructor(theOther: Poly_Array1OfTriangle); } export declare class TColgp_Array1OfVec { Init(theValue: gp_Vec): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColgp_Array1OfVec): TColgp_Array1OfVec; Move_1(theOther: TColgp_Array1OfVec): TColgp_Array1OfVec; Move_2(theOther: TColgp_Array1OfVec): TColgp_Array1OfVec; First(): gp_Vec; ChangeFirst(): gp_Vec; Last(): gp_Vec; ChangeLast(): gp_Vec; Value(theIndex: number): gp_Vec; ChangeValue(theIndex: number): gp_Vec; SetValue_1(theIndex: number, theItem: gp_Vec): void; SetValue_2(theIndex: number, theItem: gp_Vec): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array1OfVec_1 extends TColgp_Array1OfVec { constructor(); } export declare class TColgp_Array1OfVec_2 extends TColgp_Array1OfVec { constructor(theLower: number, theUpper: number); } export declare class TColgp_Array1OfVec_4 extends TColgp_Array1OfVec { constructor(theBegin: gp_Vec, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColgp_Array1OfVec_5 extends TColgp_Array1OfVec { constructor(theOther: TColgp_Array1OfVec); } export declare class TColgp_Array1OfVec_6 extends TColgp_Array1OfVec { constructor(theOther: TColgp_Array1OfVec); } export declare class TColStd_Array1OfBoolean { Init(theValue: boolean): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColStd_Array1OfBoolean): TColStd_Array1OfBoolean; Move_1(theOther: TColStd_Array1OfBoolean): TColStd_Array1OfBoolean; Move_2(theOther: TColStd_Array1OfBoolean): TColStd_Array1OfBoolean; First(): boolean; ChangeFirst(): boolean; Last(): boolean; ChangeLast(): boolean; Value(theIndex: number): boolean; ChangeValue(theIndex: number): boolean; SetValue_1(theIndex: number, theItem: boolean): void; SetValue_2(theIndex: number, theItem: boolean): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColStd_Array1OfBoolean_1 extends TColStd_Array1OfBoolean { constructor(); } export declare class TColStd_Array1OfBoolean_2 extends TColStd_Array1OfBoolean { constructor(theLower: number, theUpper: number); } export declare class TColStd_Array1OfBoolean_4 extends TColStd_Array1OfBoolean { constructor(theBegin: boolean, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColStd_Array1OfBoolean_5 extends TColStd_Array1OfBoolean { constructor(theOther: TColStd_Array1OfBoolean); } export declare class TColStd_Array1OfBoolean_6 extends TColStd_Array1OfBoolean { constructor(theOther: TColStd_Array1OfBoolean); } export declare class TopTools_ListOfShape extends NCollection_BaseList { Size(): number; Assign(theOther: TopTools_ListOfShape): TopTools_ListOfShape; Clear(theAllocator: any): void; First_1(): TopoDS_Shape; First_2(): TopoDS_Shape; Last_1(): TopoDS_Shape; Last_2(): TopoDS_Shape; Append_1(theItem: TopoDS_Shape): TopoDS_Shape; Append_2(theItem: TopoDS_Shape): TopoDS_Shape; Append_5(theOther: TopTools_ListOfShape): void; Prepend_1(theItem: TopoDS_Shape): TopoDS_Shape; Prepend_2(theItem: TopoDS_Shape): TopoDS_Shape; Prepend_3(theOther: TopTools_ListOfShape): void; RemoveFirst(): void; Reverse(): void; Exchange(theOther: TopTools_ListOfShape): void; delete(): void; [Symbol.dispose](): void; } export declare class TopTools_ListOfShape_1 extends TopTools_ListOfShape { constructor(); } export declare class TopTools_ListOfShape_2 extends TopTools_ListOfShape { constructor(theAllocator: any); } export declare class TopTools_ListOfShape_3 extends TopTools_ListOfShape { constructor(theOther: TopTools_ListOfShape); } export declare class TopTools_ListOfShape_4 extends TopTools_ListOfShape { constructor(theOther: TopTools_ListOfShape); } export declare class TopTools_ListOfShape_5 extends TopTools_ListOfShape { constructor(theInitList: any, theAllocator: any); } export declare class TColStd_Array1OfInteger { Init(theValue: number): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColStd_Array1OfInteger): TColStd_Array1OfInteger; Move_1(theOther: TColStd_Array1OfInteger): TColStd_Array1OfInteger; Move_2(theOther: TColStd_Array1OfInteger): TColStd_Array1OfInteger; First(): number; ChangeFirst(): number; Last(): number; ChangeLast(): number; Value(theIndex: number): number; ChangeValue(theIndex: number): number; SetValue_1(theIndex: number, theItem: number): void; SetValue_2(theIndex: number, theItem: number): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColStd_Array1OfInteger_1 extends TColStd_Array1OfInteger { constructor(); } export declare class TColStd_Array1OfInteger_2 extends TColStd_Array1OfInteger { constructor(theLower: number, theUpper: number); } export declare class TColStd_Array1OfInteger_4 extends TColStd_Array1OfInteger { constructor(theBegin: number, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColStd_Array1OfInteger_5 extends TColStd_Array1OfInteger { constructor(theOther: TColStd_Array1OfInteger); } export declare class TColStd_Array1OfInteger_6 extends TColStd_Array1OfInteger { constructor(theOther: TColStd_Array1OfInteger); } export declare class TColgp_Array1OfPnt2d { Init(theValue: gp_Pnt2d): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColgp_Array1OfPnt2d): TColgp_Array1OfPnt2d; Move_1(theOther: TColgp_Array1OfPnt2d): TColgp_Array1OfPnt2d; Move_2(theOther: TColgp_Array1OfPnt2d): TColgp_Array1OfPnt2d; First(): gp_Pnt2d; ChangeFirst(): gp_Pnt2d; Last(): gp_Pnt2d; ChangeLast(): gp_Pnt2d; Value(theIndex: number): gp_Pnt2d; ChangeValue(theIndex: number): gp_Pnt2d; SetValue_1(theIndex: number, theItem: gp_Pnt2d): void; SetValue_2(theIndex: number, theItem: gp_Pnt2d): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array1OfPnt2d_1 extends TColgp_Array1OfPnt2d { constructor(); } export declare class TColgp_Array1OfPnt2d_2 extends TColgp_Array1OfPnt2d { constructor(theLower: number, theUpper: number); } export declare class TColgp_Array1OfPnt2d_4 extends TColgp_Array1OfPnt2d { constructor(theBegin: gp_Pnt2d, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColgp_Array1OfPnt2d_5 extends TColgp_Array1OfPnt2d { constructor(theOther: TColgp_Array1OfPnt2d); } export declare class TColgp_Array1OfPnt2d_6 extends TColgp_Array1OfPnt2d { constructor(theOther: TColgp_Array1OfPnt2d); } export declare class TColgp_Array1OfPnt { Init(theValue: gp_Pnt): void; Size(): number; Length(): number; IsEmpty(): boolean; Lower(): number; Upper(): number; Assign(theOther: TColgp_Array1OfPnt): TColgp_Array1OfPnt; Move_1(theOther: TColgp_Array1OfPnt): TColgp_Array1OfPnt; Move_2(theOther: TColgp_Array1OfPnt): TColgp_Array1OfPnt; First(): gp_Pnt; ChangeFirst(): gp_Pnt; Last(): gp_Pnt; ChangeLast(): gp_Pnt; Value(theIndex: number): gp_Pnt; ChangeValue(theIndex: number): gp_Pnt; SetValue_1(theIndex: number, theItem: gp_Pnt): void; SetValue_2(theIndex: number, theItem: gp_Pnt): void; UpdateLowerBound(theLower: number): void; UpdateUpperBound(theUpper: number): void; Resize(theLower: number, theUpper: number, theToCopyData: boolean): void; IsDeletable(): boolean; delete(): void; [Symbol.dispose](): void; } export declare class TColgp_Array1OfPnt_1 extends TColgp_Array1OfPnt { constructor(); } export declare class TColgp_Array1OfPnt_2 extends TColgp_Array1OfPnt { constructor(theLower: number, theUpper: number); } export declare class TColgp_Array1OfPnt_4 extends TColgp_Array1OfPnt { constructor(theBegin: gp_Pnt, theLower: number, theUpper: number, theUseBuffer: boolean); } export declare class TColgp_Array1OfPnt_5 extends TColgp_Array1OfPnt { constructor(theOther: TColgp_Array1OfPnt); } export declare class TColgp_Array1OfPnt_6 extends TColgp_Array1OfPnt { constructor(theOther: TColgp_Array1OfPnt); } export declare type IFSelect_ReturnStatus = { IFSelect_RetVoid: IFSelect_ReturnStatusValue; IFSelect_RetDone: IFSelect_ReturnStatusValue; IFSelect_RetError: IFSelect_ReturnStatusValue; IFSelect_RetFail: IFSelect_ReturnStatusValue; IFSelect_RetStop: IFSelect_ReturnStatusValue; } export declare type IFSelect_ReturnStatusValue = 'IFSelect_RetVoid' | 'IFSelect_RetDone' | 'IFSelect_RetError' | 'IFSelect_RetFail' | 'IFSelect_RetStop'; export declare class IFSelect_WorkSession extends Standard_Transient { /** Creates a Work Session It provides default, empty ShareOut and ModelCopier, which can be replaced (if required, should be done just after creation). */ constructor() /** Changes the Error Handler status (by default, it is not set) */ SetErrorHandle(toHandle: Standard_Boolean): void; /** Returns the Error Handler status. */ ErrorHandle(): Standard_Boolean; /** Returns the ShareOut defined at creation time. */ ShareOut(): any; /** Sets a new ShareOut. Fills Items which its content Warning : data from the former ShareOut are lost */ SetShareOut(shareout: any): void; /** Set value of mode responsible for presence of selections after loading If mode set to true that different selections will be accessible after loading else selections will be not accessible after loading( for economy memory in applications) */ SetModeStat(theMode: Standard_Boolean): void; /** Return value of mode defining of filling selection during loading. */ GetModeStat(): Standard_Boolean; /** Sets a WorkLibrary, which will be used to Read and Write Files. */ SetLibrary(theLib: any): void; /** Returns the WorkLibrary. Null Handle if not yet set should be C++ : return const & */ WorkLibrary(): any; /** Sets a Protocol, which will be used to determine Graphs, to Read and to Write Files */ SetProtocol(protocol: any): void; /** Returns the Protocol. Null Handle if not yet set should be C++ : return const & */ Protocol(): any; /** Sets a specific Signature to be the SignType, i.e. the Signature which will determine TypeName from the Model (basic function). It is recorded in the GTool This Signature is also set as "xst-sign-type" (reserved name) */ SetSignType(signtype: any): void; /** Returns the current SignType. */ SignType(): any; /** Returns True is a Model has been set. */ HasModel(): Standard_Boolean; /** Sets a Model as input : this will be the Model from which the ShareOut will work if is True (default) all SelectPointed items are cleared, else they must be managed by the caller Remark : SetModel clears the Graph, recomputes it if a Protocol is set and if the Model is not empty, of course */ SetModel(model: any, clearpointed: Standard_Boolean): void; /** Returns the Model of the Work Session (Null Handle if none) should be C++ : return const & */ Model(): any; /** Stores the filename used for read for setting the model It is cleared by SetModel and ClearData(1) */ SetLoadedFile(theFileName: Standard_Character): void; /** Returns the filename used to load current model empty if unknown */ LoadedFile(): Standard_Character; /** Reads a file with the WorkLibrary (sets Model and LoadedFile) Returns a integer status which can be : RetDone if OK, RetVoid if no Protocol not defined, RetError for file not found, RetFail if fail during read */ ReadFile(filename: Standard_Character): IFSelect_ReturnStatus; /** Returns the count of Entities stored in the Model, or 0. */ NbStartingEntities(): Standard_Integer; /** Returns an Entity stored in the Model of the WorkSession (Null Handle is no Model or num out of range) */ StartingEntity(num: Standard_Integer): any; /** Returns the Number of an Entity in the Model (0 if no Model set or not in the Model) */ StartingNumber(ent: any): Standard_Integer; /** From a given label in Model, returns the corresponding number Starts from first entity by Default, may start after a given number : this number may be given negative, its absolute value is then considered. Hence a loop on NumberFromLabel may be programmed (stop test is : returned value positive or null) Returns 0 if not found, < 0 if more than one found (first found in negative). If just gives an integer value, returns it */ NumberFromLabel(val: Standard_Character, afternum: Standard_Integer): Standard_Integer; /** Returns the label for , as the Model does If is not in the Model or if no Model is loaded, a Null Handle is returned */ EntityLabel(ent: any): any; /** Returns the Name of an Entity This Name is computed by the general service Name Returns a Null Handle if fails */ EntityName(ent: any): any; /** Returns the Category Number determined for an entity it is computed by the class Category An unknown entity (number 0) gives a value -1 */ CategoryNumber(ent: any): Standard_Integer; /** Returns the Category Name determined for an entity it is computed by the class Category Remark : an unknown entity gives an empty string */ CategoryName(ent: any): Standard_Character; /** Returns the Validity Name determined for an entity it is computed by the class SignValidity Remark : an unknown entity gives an empty string */ ValidityName(ent: any): Standard_Character; /** Clears recorded data (not the items) according mode : 1 : all Data : Model, Graph, CheckList, + ClearData 4 2 : Graph and CheckList (they will then be recomputed later) 3 : CheckList (it will be recomputed by ComputeCheck) 4 : just content of SelectPointed and Counters Plus 0 : does nothing but called by SetModel ClearData is virtual, hence it can be redefined to clear other data of a specialised Work Session */ ClearData(mode: Standard_Integer): void; /** Computes the Graph used for Selections, Displays ... If a HGraph is already set, with same model as given by method Model, does nothing. Else, computes a new Graph. If is given True, computes a new Graph anyway. Remark that a call to ClearGraph will cause ComputeGraph to really compute a new Graph Returns True if Graph is OK, False else (i.e. if no Protocol is set, or if Model is absent or empty). */ ComputeGraph(enforce: Standard_Boolean): Standard_Boolean; /** Returns the Computed Graph as HGraph (Null Handle if not set) */ HGraph(): any; /** Returns the Computed Graph, for Read only. */ Graph(): Interface_Graph; /** Returns the list of entities shared by (can be empty) Returns a null Handle if is unknown */ Shareds(ent: any): any; /** Returns the list of entities sharing (can be empty) Returns a null Handle if is unknown */ Sharings(ent: any): any; /** Returns True if a Model is defined and really loaded (not empty), a Protocol is set and a Graph has been computed. In this case, the WorkSession can start to work */ IsLoaded(): Standard_Boolean; /** Computes the CheckList for the Model currently loaded It can then be used for displays, queries ... Returns True if OK, False else (i.e. no Protocol set, or Model absent). If is False, works only if not already done or if a new Model has been loaded from last call. Remark : computation is enforced by every call to SetModel or RunTransformer */ ComputeCheck(enforce: Standard_Boolean): Standard_Boolean; /** Returns the Maximum Value for an Item Identifier. It can be greater to the count of known Items, because some can have been removed */ MaxIdent(): Standard_Integer; /** Returns an Item, given its Ident. Returns a Null Handle if no Item corresponds to this Ident. */ Item(id: Standard_Integer): any; /** Returns the Ident attached to an Item in the WorkSession, or Zero if it is unknown */ ItemIdent(item: any): Standard_Integer; /** Returns the Item which corresponds to a Variable, given its Name (whatever the type of this Item). Returns a Null Handle if this Name is not recorded */ NamedItem_1(name: Standard_Character): any; /** Returns the Item which corresponds to a Variable, given its Name (whatever the type of this Item). Returns a Null Handle if this Name is not recorded */ NamedItem_2(name: any): any; /** Returns the Ident attached to a Name, 0 if name not recorded. */ NameIdent(name: Standard_Character): Standard_Integer; /** Returns True if an Item of the WorkSession has an attached Name. */ HasName(item: any): Standard_Boolean; /** Returns the Name attached to an Item as a Variable of this WorkSession. If is Null or not recorded, returns an empty string. */ Name(item: any): any; /** Adds an Item and returns its attached Ident. Does nothing if is already recorded (and returns its attached Ident) if True commands call to SetActive (see below) Remark : the determined Ident is used if is a Dispatch, to fill the ShareOut */ AddItem(item: any, active: Standard_Boolean): Standard_Integer; /** Adds an Item with an attached Name. If the Name is already known in the WorkSession, the older item losts it Returns Ident if Done, 0 else, i.e. if is null If is empty, works as AddItem (i.e. with no name) If is already known but with no attached Name, this method tries to attached a Name to it if True commands call to SetActive (see below) */ AddNamedItem(name: Standard_Character, item: any, active: Standard_Boolean): Standard_Integer; /** Following the type of : Dispatch : Adds or Removes it in the ShareOut & FileNaming GeneralModifier : Adds or Removes it for final sending (i.e. in the ModelCopier) Returns True if it did something, False else (state unchanged) */ SetActive(item: any, mode: Standard_Boolean): Standard_Boolean; /** Removes an Item from the Session, given its Name Returns True if Done, False else (Name not recorded) (Applies only on Item which are Named) */ RemoveNamedItem(name: Standard_Character): Standard_Boolean; /** Removes a Name without removing the Item Returns True if Done, False else (Name not recorded) */ RemoveName(name: Standard_Character): Standard_Boolean; /** Removes an Item given its Ident. Returns False if is attached to no Item in the WorkSession. For a Named Item, also removes its Name. */ RemoveItem(item: any): Standard_Boolean; /** Clears all the recorded Items : Selections, Dispatches, Modifiers, and Strings & IntParams, with their Idents & Names. Remark that if a Model has been loaded, it is not cleared. */ ClearItems(): void; /** Returns a Label which illustrates the content of an Item, given its Ident. This Label is : for a Text Parameter, "Text:" for an Integer Parameter, "Integer:" for a Selection, a Dispatch or a Modifier, its Label (see these classes) for any other kind of Variable, its cdl type */ ItemLabel(id: Standard_Integer): any; /** Fills a Sequence with the List of Idents attached to the Items of which Type complies with (IsKind) (alphabetic order) Remark : = TYPE(Standard_Transient) gives all the Idents which are suitable in the WorkSession */ ItemIdents(type: Handle_Standard_Type): any; /** Fills a Sequence with the list of the Names attached to Items of which Type complies with (IsKind) (alphabetic order) Remark : = TYPE(Standard_Transient) gives all the Names */ ItemNames(type: Handle_Standard_Type): any; /** Fills a Sequence with the NAMES of the control items, of which the label matches