OpenCascade.js
API ReferenceModelingAlgorithmsTKGeomAlgo

GeomFill

OCCT package GeomFill: GeomFill, GeomFill_ApproxStyle, GeomFill_AppSurf, GeomFill_AppSweep, and 55 more bound classes.

GeomFill

Tools and Data to filling Surface and Sweep Surfaces.

Constructors(1)

Static methods(8)

GeomFill_AppSurf

Approximate a BSplineSurface passing by all the curves described in the SectionGenerator.

Constructors(2)

Instance methods(30)

GeomFill_AppSweep

Approximate a sweep surface passing by all the curves described in the SweepSectionGenerator.

Constructors(2)

Instance methods(26)

GeomFill_BezierCurves

This class provides an algorithm for constructing a Bezier surface filled from contiguous Bezier curves which form its boundaries. The algorithm accepts two, three or four Bezier curves as the boundaries of the target surface. A range of filling styles - more or less rounded, more or less flat - is available. A BezierCurves object provides a framework for:

  • defining the boundaries, and the filling style of the surface
  • implementing the construction algorithm
  • consulting the result. Warning Some problems may show up with rational curves.

Constructors(4)

Instance methods(4)

GeomFill_Boundary

Root class to define a boundary which will form part of a contour around a gap requiring filling. Any new type of constrained boundary must inherit this class. The GeomFill package provides two classes to define constrained boundaries:

Static methods(2)

Instance methods(14)

GeomFill_BoundWithSurf

Defines a 3d curve as a boundary for a GeomFill_ConstrainedFilling algorithm. This curve is attached to an existing surface. Defines a constrained boundary for filling the computations are done with a CurveOnSurf and a normals field defined by the normalized normal to the surface along the PCurve. Contains fields to allow a reparametrization of curve and normals field.

Constructors(1)

  • constructor(CurveOnSurf: Adaptor3d_CurveOnSurface, Tol3d: number, Tolang: number): GeomFill_BoundWithSurf

    Constructs a boundary object defined by the 3d curve CurveOnSurf. The surface to be filled along this boundary will be in the tolerance range defined by Tol3d. What's more, at each point of CurveOnSurf, the angle between the normal to the surface to be filled along this boundary, and the normal to the surface on which CurveOnSurf lies, must not be greater than TolAng. This object is to be used as a boundary for a GeomFill_ConstrainedFilling framework. Warning CurveOnSurf is an adapted curve, that is, an object which is an interface between:

    • the services provided by a curve lying on a surface from the package Geom
    • and those required of the curve by the computation algorithm which uses it.
      The adapted curve is created in the following way: occ::handle<Geom_Surface> mySurface = ... ; occ::handle<Geom2d_Curve> myParamCurve = ... ; // where myParamCurve is a 2D curve in the parametric space of the surface mySurface occ::handle<GeomAdaptor_Surface> Surface = new GeomAdaptor_Surface(mySurface); occ::handle<Geom2dAdaptor_Curve> ParamCurve = new Geom2dAdaptor_Curve(myParamCurve); CurveOnSurf = Adaptor3d_CurveOnSurface(ParamCurve,Surface); The boundary is then constructed with the CurveOnSurf object: double Tol = ... ; double TolAng = ... ; myBoundary = GeomFill_BoundWithSurf ( CurveOnSurf, Tol, TolAng );
    Parameters (3)
    • CurveOnSurf
    • Tol3d
    • Tolang

Static methods(2)

Instance methods(9)

GeomFill_BSplineCurves

An algorithm for constructing a BSpline surface filled from contiguous BSpline curves which form its boundaries. The algorithm accepts two, three or four BSpline curves as the boundaries of the target surface. A range of filling styles - more or less rounded, more or less flat - is available. A BSplineCurves object provides a framework for:

  • defining the boundaries, and the filling style of the surface
  • implementing the construction algorithm
  • consulting the result. Warning Some problems may show up with rational curves.

Constructors(4)

Instance methods(4)

GeomFill_CircularBlendFunc

Circular Blend Function to approximate by SweepApproximation from Approx.

Constructors(1)

  • constructor(Path: Adaptor3d_Curve, Curve1: Adaptor3d_Curve, Curve2: Adaptor3d_Curve, Radius: number, Polynomial?: boolean): GeomFill_CircularBlendFunc

    Create a Blend with a constant radius with 2 guide-line. <FShape> sets the type of fillet surface. The default value is Convert_TgtThetaOver2 (classical nurbs representation of circles). ChFi3d_QuasiAngular corresponds to a nurbs representation of circles which parameterisation matches the circle one. ChFi3d_Polynomial corresponds to a polynomial representation of circles.

    Parameters (5)
    • Path
    • Curve1
    • Curve2
    • Radius
    • Polynomial

Static methods(2)

Instance methods(17)

  • D0(Param: number, First: number, Last: number, Poles: NCollection_Array1_gp_Pnt, Poles2d: NCollection_Array1_gp_Pnt2d, Weigths: NCollection_Array1_double): boolean

    compute the section for v = param

    Parameters (6)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, First: number, Last: number, Poles: NCollection_Array1_gp_Pnt, DPoles: NCollection_Array1_gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, Weigths: NCollection_Array1_double, DWeigths: NCollection_Array1_double): boolean

    compute the first derivative in v direction of the section for v = param

    Parameters (9)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the second derivative in v direction of the section for v = param

    Parameters (12)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
    • D2Weigths
      Mutated in place; read the updated value from this argument after the call.
  • Nb2dCurves(): number

    get the number of 2d curves to approximate.

  • SectionShape(NbPoles: number, NbKnots: number, Degree: number): { NbPoles: number; NbKnots: number; Degree: number }

    get the format of an section

    Parameters (3)
    • NbPoles
    • NbKnots
    • Degree
    Returns

    A result object with fields:

    • NbPoles: updated value from the call.
    • NbKnots: updated value from the call.
    • Degree: updated value from the call.
  • get the Knots of the section

    Parameters (1)
    • TKnots
      Mutated in place; read the updated value from this argument after the call.
  • get the Multplicities of the section

    Parameters (1)
    • TMults
      Mutated in place; read the updated value from this argument after the call.
  • IsRational(): boolean

    Returns if the section is rational or not.

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the fonction This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetTolerance(BoundTol: number, SurfTol: number, AngleTol: number, Tol3d: NCollection_Array1_double): void

    Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.

    Parameters (4)
    • BoundTol
    • SurfTol
    • AngleTol
    • Tol3d
      Mutated in place; read the updated value from this argument after the call.
  • SetTolerance(Tol3d: number, Tol2d: number): void

    Is useful, if (me) has to be run numerical algorithm to perform D0, D1 or D2.

    Parameters (2)
    • Tol3d
    • Tol2d
  • Get the barycentre of Surface. A very poor estimation is sufficient. This information is useful to perform well conditioned rational approximation.

  • MaximalSection(): number

    Returns the length of the maximum section. This information is useful to perform well conditioned rational approximation.

  • Compute the minimal value of weight for each poles of all sections. This information is useful to perform well conditioned rational approximation.

    Parameters (1)
    • Weigths
      Mutated in place; read the updated value from this argument after the call.

GeomFill_ConstantBiNormal

Defined a Trihedron Law where the BiNormal, is fixed.

Constructors(1)

Static methods(2)

Instance methods(11)

  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    Computes Triedrhon on curve at parameter .

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    Computes Triedrhon and derivative Trihedron on curve at parameter Warning: It used only for C1 or C2 approximation.

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning: It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Gets average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Says if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return True.

GeomFill_ConstrainedFilling

An algorithm for constructing a BSpline surface filled from a series of boundaries which serve as path constraints and optionally, as tangency constraints. The algorithm accepts three or four curves as the boundaries of the target surface. The only FillingStyle used is Coons. A ConstrainedFilling object provides a framework for:

  • defining the boundaries of the surface
  • implementing the construction algorithm
  • consulting the result. Warning This surface filling algorithm is specifically designed to be used in connection with fillets. Satisfactory results cannot be guaranteed for other uses.

Constructors(1)

  • constructor(MaxDeg: number, MaxSeg: number): GeomFill_ConstrainedFilling

    Constructs an empty framework for filling a surface from boundaries. The boundaries of the surface will be defined, and the surface will be built by using the function Init. The surface will respect the following constraints:

    • its degree will not be greater than MaxDeg
    • the maximum number of segments MaxSeg which BSpline surfaces can have.
    Parameters (2)
    • MaxDeg
    • MaxSeg

Instance methods(11)

  • Init(B1: GeomFill_Boundary, B2: GeomFill_Boundary, B3: GeomFill_Boundary, NoCheck: boolean): void
    Parameters (4)
    • B1
    • B2
    • B3
    • NoCheck
  • Init(B1: GeomFill_Boundary, B2: GeomFill_Boundary, B3: GeomFill_Boundary, B4: GeomFill_Boundary, NoCheck: boolean): void

    Constructs a BSpline surface filled from the series of boundaries B1, B2, B3 and, if need be, B4, which serve:

    • as path constraints
    • and optionally, as tangency constraints if they are GeomFill_BoundWithSurf curves. The boundaries may be given in any order: they are classified and if necessary, reversed and reparameterized. The surface will also respect the following constraints:
    • its degree will not be greater than the maximum degree defined at the time of construction of this framework, and
    • the maximum number of segments MaxSeg which BSpline surfaces can have
    Parameters (5)
    • B1
    • B2
    • B3
    • B4
    • NoCheck
  • SetDomain(l: number, B: GeomFill_BoundWithSurf): void

    Allows to modify domain on which the blending function associated to the constrained boundary B will propag the influence of the field of tangency. Can be useful to reduce influence of boundaries on which the Coons compatibility conditions are not respected. l is a relative value of the parametric range of B. Default value for l is 1 (used in Init). Warning: Must be called after Init with a constrained boundary used in the call to Init.

    Parameters (2)
    • l
    • B
  • ReBuild(): void

    Computes the new poles of the surface using the new blending functions set by several calls to SetDomain.

  • Returns the bound of index i after sort.

    Parameters (1)
    • I
  • Returns the BSpline surface after computation of the fill by this framework.

  • Eval(W: number, Ord: number, Result: number): { returnValue: number; Result: number }

    Internal use for Advmath approximation call.

    Parameters (3)
    • W
    • Ord
    • Result
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Result: updated value from the call.
  • CheckCoonsAlgPatch(I: number): void

    Computes the fields of tangents on 30 points along the bound I, these are not the constraint tangents but gives an idea of the coonsAlgPatch regularity.

    Parameters (1)
    • I
  • CheckTgteField(I: number): void

    Computes the fields of tangents and normals on 30 points along the bound I, draw them, and computes the max dot product that must be near than 0.

    Parameters (1)
    • I
  • CheckApprox(I: number): void

    Computes values and normals along the bound I and compare them to the approx result curves (bound and tgte field) , draw the normals and tangents.

    Parameters (1)
    • I
  • CheckResult(I: number): void

    Computes values and normals along the bound I on both constraint surface and result surface, draw the normals, and computes the max distance between values and the max angle between normals.

    Parameters (1)
    • I

GeomFill_Coons

Constructors(3)

Instance methods(2)

GeomFill_CoonsAlgPatch

Provides evaluation methods on an algorithmic patch (based on 4 Curves) defined by its boundaries and blending functions.

Constructors(1)

Static methods(2)

Instance methods(10)

  • Func(): { f1: Law_Function; f2: Law_Function; [Symbol.dispose](): void }

    Give the blending functions.

    Returns

    A result object with fields:

    • f1: owned by the returned envelope.
    • f2: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • Func(I: number): Law_Function
    Parameters (1)
    • I
  • Set the blending functions.

    Parameters (2)
    • f1
    • f2
  • Value(U: number, V: number): gp_Pnt

    Computes the value on the algorithmic patch at parameters U and V.

    Parameters (2)
    • U
    • V
  • D1U(U: number, V: number): gp_Vec

    Computes the d/dU partial derivative on the algorithmic patch at parameters U and V.

    Parameters (2)
    • U
    • V
  • D1V(U: number, V: number): gp_Vec

    Computes the d/dV partial derivative on the algorithmic patch at parameters U and V.

    Parameters (2)
    • U
    • V
  • DUV(U: number, V: number): gp_Vec

    Computes the d2/dUdV partial derivative on the algorithmic patch made with linear blending functions at parameter U and V.

    Parameters (2)
    • U
    • V
  • Corner(I: number): gp_Pnt
    Parameters (1)
    • I
  • Parameters (1)
    • I

GeomFill_CornerState

Class (should be a structure) storing the information about continuity, normals parallelism, coons conditions and bounds tangents angle on the corner of contour to be filled.

Constructors(1)

Instance methods(10)

GeomFill_CorrectedFrenet

Defined an Corrected Frenet Trihedron Law It is like Frenet with an Torsion's minimization.

Constructors(2)

Static methods(2)

Instance methods(13)

  • initialize curve of frenet law

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • Tries to define the best trihedron mode for the curve. It can be:

    • Frenet
    • CorrectedFrenet
    • DiscreteTrihedron Warning: the CorrectedFrenet must be constructed with option ForEvaluation = True, the curve must be set by method SetCurve.
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return True.

GeomFill_CurveAndTrihedron

Define location law with an TrihedronLaw and an curve Definition Location is: transformed section coordinates in (Curve(v)), (Normal(v), BiNormal(v), Tangente(v))) systems are the same like section shape coordinates in (O,(OX, OY, OZ)) system.

Constructors(1)

Static methods(2)

Instance methods(19)

  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • SetTrsf(Transfo: gp_Mat): void

    Set a transformation Matrix like the law M(t) become Mat * M(t).

    Parameters (1)
    • Transfo
  • D0(Param: number, M: gp_Mat, V: gp_Vec): boolean

    compute Location and 2d points

    Parameters (3)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
  • D0(Param: number, M: gp_Mat, V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d): boolean

    compute Location and 2d points

    Parameters (4)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first derivatives. Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, D2M: gp_Mat, D2V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, D2Poles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • D2M
      Mutated in place; read the updated value from this argument after the call.
    • D2V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetMaximalNorm(): number

    Get the maximum Norm of the matrix-location part. It is usful to find a good Tolerance to approx M(t).

  • GetAverageLaw(AM: gp_Mat, AV: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (2)
    • AM
      Mutated in place; read the updated value from this argument after the call.
    • AV
      Mutated in place; read the updated value from this argument after the call.
  • IsTranslation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is an translation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • IsRotation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is a rotation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Rotation(Center: gp_Pnt): void
    Parameters (1)
    • Center

GeomFill_Curved

Constructors(5)

Instance methods(4)

GeomFill_Darboux

Defines Darboux case of Frenet Trihedron Law.

Constructors(1)

Static methods(2)

Instance methods(10)

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return False.

GeomFill_DegeneratedBound

Description of a degenerated boundary (a point). Class defining a degenerated boundary for a constrained filling with a point and no other constraint. Only used to simulate an ordinary bound, may not be useful and desapear soon.

Constructors(1)

Static methods(2)

Instance methods(6)

GeomFill_DiscreteTrihedron

Defined Discrete Trihedron Law. The requirement for path curve is only G1. The result is C0-continuous surface that can be later approximated to C1.

Constructors(1)

Static methods(2)

Instance methods(12)

  • Init(): void
  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Trihedron on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Trihedron and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation For the moment it returns null values for DTangent, DNormal and DBiNormal.

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation For the moment it returns null values for DTangent, DNormal DBiNormal, D2Tangent, D2Normal, D2BiNormal.

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is usful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return True.

GeomFill_DraftTrihedron

Constructors(1)

Static methods(2)

Instance methods(11)

  • SetAngle(Angle: number): void
    Parameters (1)
    • Angle
  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning: It used only for C1 or C2 approximation

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning: It used only for C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return True.

GeomFill_EvolvedSection

Define an Constant Section Law.

Constructors(1)

Static methods(2)

Instance methods(22)

  • D0(Param: number, Poles: NCollection_Array1_gp_Pnt, Weigths: NCollection_Array1_double): boolean

    compute the section for v = param

    Parameters (3)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 approximation

    Parameters (5)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the second derivative in v direction of the section for v = param Warning : It used only for C2 approximation

    Parameters (7)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
    • D2Weigths
      Mutated in place; read the updated value from this argument after the call.
  • give if possible an bspline Surface, like iso-v are the section. If it is not possible this methode have to get an Null Surface. Is it the default implementation.

  • SectionShape(NbPoles: number, NbKnots: number, Degree: number): { NbPoles: number; NbKnots: number; Degree: number }

    get the format of an section

    Parameters (3)
    • NbPoles
    • NbKnots
    • Degree
    Returns

    A result object with fields:

    • NbPoles: updated value from the call.
    • NbKnots: updated value from the call.
    • Degree: updated value from the call.
  • get the Knots of the section

    Parameters (1)
    • TKnots
      Mutated in place; read the updated value from this argument after the call.
  • get the Multplicities of the section

    Parameters (1)
    • TMults
      Mutated in place; read the updated value from this argument after the call.
  • IsRational(): boolean

    Returns if the sections are rational or not.

  • IsUPeriodic(): boolean

    Returns if the sections are periodic or not.

  • IsVPeriodic(): boolean

    Returns if the law isperiodic or not.

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetTolerance(BoundTol: number, SurfTol: number, AngleTol: number, Tol3d: NCollection_Array1_double): void

    Returns the tolerances associated at each poles to reach in approximation, to satisfy: BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.

    Parameters (4)
    • BoundTol
    • SurfTol
    • AngleTol
    • Tol3d
      Mutated in place; read the updated value from this argument after the call.
  • Get the barycentre of Surface. An very poor estimation is sufficient. This information is useful to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.

  • MaximalSection(): number

    Returns the length of the greater section. This information is useful to G1's control. Warning: With an little value, approximation can be slower.

  • Compute the minimal value of weight for each poles in all sections. This information is useful to control error in rational approximation. Warning: Used only if <me> IsRational.

    Parameters (1)
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(Error: number): { returnValue: boolean; Error: number }

    return True If the Law isConstant

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Return the constant Section if <me> IsConstant.

GeomFill_Fixed

Defined an constant TrihedronLaw.

Constructors(1)

Static methods(2)

Instance methods(9)

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Return True.

GeomFill_Frenet

Defined Frenet Trihedron Law.

Constructors(1)

Static methods(2)

Instance methods(12)

  • Init(): void
  • initialize curve of frenet law

    Parameters (1)
    • C
    Returns

    true

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning: It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning: It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of Tangent(t) and Normal(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Return True.

GeomFill_FunctionDraft

Constructors(1)

Instance methods(9)

  • NbVariables(): number

    returns the number of variables of the function.

  • NbEquations(): number

    returns the number of equations of the function.

  • Value(X: math_Vector, F: math_Vector): boolean

    computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (2)
    • X
    • F
  • Derivatives(X: math_Vector, D: math_Matrix): boolean

    returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (2)
    • X
    • D
  • Values(X: math_Vector, F: math_Vector, D: math_Matrix): boolean

    returns the values <F> of the functions and the derivatives <D> for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (3)
    • X
    • F
    • D
  • DerivT(C: Adaptor3d_Curve, Param: number, W: number, dN: gp_Vec, teta: number, F: math_Vector): boolean

    returns the values <F> of the T derivatives for the parameter Param.

    Parameters (6)
    • C
    • Param
    • W
    • dN
    • teta
    • F
  • Deriv2T(C: Adaptor3d_Curve, Param: number, W: number, d2N: gp_Vec, teta: number, F: math_Vector): boolean

    returns the values <F> of the T2 derivatives for the parameter Param.

    Parameters (6)
    • C
    • Param
    • W
    • d2N
    • teta
    • F
  • DerivTX(dN: gp_Vec, teta: number, D: math_Matrix): boolean

    returns the values <D> of the TX derivatives for the parameter Param.

    Parameters (3)
    • dN
    • teta
    • D
  • Deriv2X(X: math_Vector, T: GeomFill_Tensor): boolean

    returns the values <T> of the X2 derivatives for the parameter Param.

    Parameters (2)
    • X
    • T

GeomFill_FunctionGuide

Constructors(1)

Instance methods(7)

  • SetParam(Param: number, Centre: gp_Pnt, Dir: gp_XYZ, XDir: gp_XYZ): void
    Parameters (4)
    • Param
    • Centre
    • Dir
    • XDir
  • NbVariables(): number

    returns the number of variables of the function.

  • NbEquations(): number

    returns the number of equations of the function.

  • Value(X: math_Vector, F: math_Vector): boolean

    computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (2)
    • X
    • F
  • Derivatives(X: math_Vector, D: math_Matrix): boolean

    returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (2)
    • X
    • D
  • Values(X: math_Vector, F: math_Vector, D: math_Matrix): boolean

    returns the values <F> of the functions and the derivatives <D> for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Parameters (3)
    • X
    • F
    • D
  • DerivT(X: math_Vector, DCentre: gp_XYZ, DDir: gp_XYZ, DFDT: math_Vector): boolean

    returns the values <F> of the T derivatives for the parameter Param .

    Parameters (4)
    • X
    • DCentre
    • DDir
    • DFDT

GeomFill_Generator

Create a surface using generating lines. Inherits profiler. The surface will be a BSplineSurface passing by all the curves described in the generator. The VDegree of the resulting surface is 1.

Constructors(1)

Instance methods(2)

  • Perform(PTol: number): void

    Converts all curves to BSplineCurves. Set them to the common profile. Compute the surface (degv = 1). <PTol> is used to compare 2 knots.

    Parameters (1)
    • PTol

GeomFill_Gordon

High-level Gordon surface construction from arbitrary curve networks.
A Gordon surface (transfinite interpolation) constructs a smooth B-spline surface from a network of intersecting profile (V) and guide (U) curves using the Boolean sum formula: S = S_profiles + S_guides - S_tensor
This generalizes the existing GeomFill_Coons (4-boundary patch) to N x M curve networks.
This class accepts arbitrary Geom_Curve inputs, handles conversion to BSpline, intersection detection, network sorting, curve reparametrization for compatibility, then delegates to GeomFill_GordonBuilder for the core mathematical construction.
Usage:

GeomFill_GordonaGordon; aGordon.Init(theProfiles,theGuides,theTolerance); aGordon.Perform(); if(aGordon.IsDone()) { constocc::handle<Geom_BSplineSurface>&aSurf=aGordon.Surface(); }

Limitations:

  • Non-rational curves only

Constructors(1)

Instance methods(6)

  • Init(theProfiles: NCollection_Array1_handle_Geom_Curve, theGuides: NCollection_Array1_handle_Geom_Curve, theTolerance: number): void

    Initializes the algorithm with profile and guide curves.

    Parameters (3)
    • theProfiles
      array of profile curves (V-direction sections, must be >= 2)
    • theGuides
      array of guide curves (U-direction sections, must be >= 2)
    • theTolerance
      geometric tolerance for intersection detection
  • Perform(): void

    Performs the Gordon surface construction.

  • SetParallelMode(theToUseParallel: boolean): void

    Enables/disables parallel processing in internal stages. By default, single-thread mode is used.

    Parameters (1)
    • theToUseParallel
  • IsParallelMode(): boolean

    Returns true if internal parallel processing is enabled.

  • IsDone(): boolean

    Returns true if the surface was successfully constructed.

  • Returns the resulting Gordon B-spline surface.

GeomFill_GordonBuilder

Core mathematical kernel for Gordon surface construction via the Boolean sum method.
Accepts pre-compatible BSpline curves (same degree and knot vector within each direction) and intersection parameters. Builds three intermediate surfaces (skin profiles, skin guides, tensor product) then computes the Boolean sum: S_gordon = S_profiles + S_guides - S_tensor
This class can be used independently when curves are already compatible, or via GeomFill_Gordon which handles curve preparation.
Supports closed (periodic) curve networks when the first and last curves in a direction are geometrically identical. The closedness flags enable C2-continuous periodic interpolation during skinning.
Limitations:

  • Non-rational curves only

Constructors(1)

Instance methods(9)

  • Init(theProfiles: NCollection_Array1_handle_Geom_BSplineCurve, theGuides: NCollection_Array1_handle_Geom_BSplineCurve, theProfileParams: NCollection_Array1_double, theGuideParams: NCollection_Array1_double, theTolerance: number, theIsUClosed?: boolean, theIsVClosed?: boolean): void

    Initializes the builder with compatible BSpline curves and intersection parameters.

    Parameters (7)
    • theProfiles
      array of profile curves (V-direction sections), must share the same degree and knot vector
    • theGuides
      array of guide curves (U-direction sections), must share the same degree and knot vector
    • theProfileParams
      parameter values at which profiles are positioned (in V-direction), size must equal theProfiles.Length()
    • theGuideParams
      parameter values at which guides are positioned (in U-direction), size must equal theGuides.Length()
    • theTolerance
      geometric tolerance for validation
    • theIsUClosed
      if true, the U-direction (guides) forms a closed loop
    • theIsVClosed
      if true, the V-direction (profiles) forms a closed loop
  • Perform(): void

    Performs the Gordon surface construction.

  • SetParallelMode(theToUseParallel: boolean): void

    Enables/disables parallel processing in internal stages. By default, single-thread mode is used.

    Parameters (1)
    • theToUseParallel
  • IsParallelMode(): boolean

    Returns true if internal parallel processing is enabled.

  • IsDone(): boolean

    Returns true if the surface was successfully constructed.

  • Returns the resulting Gordon surface.

    Returns

    handle to the constructed B-spline surface

  • Returns the intermediate surface skinned through profiles.

  • Returns the intermediate surface skinned through guides.

  • Returns the intermediate tensor product surface.

GeomFill_GuideTrihedronAC

Trihedron in the case of a sweeping along a guide curve. defined by curviline absciss.

Constructors(1)

Static methods(2)

Instance methods(14)

  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Say if the law is defined, only by the 3d Geometry of the set Curve Return False by Default.

  • Origine(Param1: number, Param2: number): void
    Parameters (2)
    • Param1
    • Param2

GeomFill_GuideTrihedronPlan

Trihedron in the case of sweeping along a guide curve defined by the orthogonal plan on the trajectory.

Constructors(1)

Static methods(2)

Instance methods(15)

  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • Give a status to the Law Returns PipeOk (default implementation).

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Say if the law is defined, only by the 3d Geometry of the set Curve Return False by Default.

  • Origine(Param1: number, Param2: number): void
    Parameters (2)
    • Param1
    • Param2

GeomFill_LocationDraft

Constructors(1)

Static methods(2)

Instance methods(27)

  • Parameters (1)
    • Surf
  • SetAngle(Angle: number): void
    Parameters (1)
    • Angle
  • calculation of poles on locking surfaces (the intersection between the generatrixand the surface at the cross - section points myNbPts)

    Parameters (1)
    • C
    Returns

    true in case if execution end correctly

  • SetTrsf(Transfo: gp_Mat): void

    Set a transformation Matrix like the law M(t) become Mat * M(t).

    Parameters (1)
    • Transfo
  • D0(Param: number, M: gp_Mat, V: gp_Vec): boolean

    compute Location

    Parameters (3)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
  • D0(Param: number, M: gp_Mat, V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d): boolean

    compute Location and 2d points

    Parameters (4)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first derivatives. Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, D2M: gp_Mat, D2V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, D2Poles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • D2M
      Mutated in place; read the updated value from this argument after the call.
    • D2V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • Say if the first restriction is defined in this class. If it is true the first element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • Say if the last restriction is defined in this class. If it is true the last element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • TraceNumber(): number

    Give the number of trace (Curves 2d which are not restriction) Returns 1 (default implementation).

  • Returnsthe number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • Resolution(Index: number, Tol: number, TolU: number, TolV: number): { TolU: number; TolV: number }

    Returns the resolutions in the sub-space 2d <Index> This information is useful to find a good tolerance in 2d approximation. Warning: Used only if Nb2dCurve > 0.

    Parameters (4)
    • Index
    • Tol
    • TolU
    • TolV
    Returns

    A result object with fields:

    • TolU: updated value from the call.
    • TolV: updated value from the call.
  • GetMaximalNorm(): number

    Get the maximum Norm of the matrix-location part. It is usful to find a good Tolerance to approx M(t).

  • GetAverageLaw(AM: gp_Mat, AV: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (2)
    • AM
      Mutated in place; read the updated value from this argument after the call.
    • AV
      Mutated in place; read the updated value from this argument after the call.
  • IsTranslation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is an translation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • IsRotation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is a rotation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Rotation(Center: gp_Pnt): void
    Parameters (1)
    • Center
  • IsIntersec(): boolean

    Say if the generatrice interset the surface.

GeomFill_LocationGuide

Constructors(1)

Static methods(2)

Instance methods(31)

  • Set(Section: GeomFill_SectionLaw, rotat: boolean, SFirst: number, SLast: number, PrecAngle: number, LastAngle: number): { LastAngle: number }
    Parameters (6)
    • Section
    • rotat
    • SFirst
    • SLast
    • PrecAngle
    • LastAngle
  • calculating poles on a surface (courbe guide / the surface of rotation in points myNbPts)

    Parameters (1)
    • C
    Returns

    true

  • SetTrsf(Transfo: gp_Mat): void

    Set a transformation Matrix like the law M(t) become Mat * M(t).

    Parameters (1)
    • Transfo
  • D0(Param: number, M: gp_Mat, V: gp_Vec): boolean

    compute Location

    Parameters (3)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
  • D0(Param: number, M: gp_Mat, V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d): boolean

    compute Location and 2d points

    Parameters (4)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first derivatives. Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, D2M: gp_Mat, D2V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, D2Poles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • D2M
      Mutated in place; read the updated value from this argument after the call.
    • D2V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • Say if the first restriction is defined in this class. If it is true the first element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • Say if the last restriction is defined in this class. If it is true the last element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • TraceNumber(): number

    Give the number of trace (Curves 2d which are not restriction) Returns 1 (default implementation).

  • Give a status to the Law Returns PipeOk (default implementation).

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • SetTolerance(Tol3d: number, Tol2d: number): void

    Is useful, if (me) have to run numerical algorithm to perform D0, D1 or D2 The default implementation make nothing.

    Parameters (2)
    • Tol3d
    • Tol2d
  • Resolution(Index: number, Tol: number, TolU: number, TolV: number): { TolU: number; TolV: number }

    Returns the resolutions in the sub-space 2d <Index> This information is useful to find a good tolerance in 2d approximation. Warning: Used only if Nb2dCurve > 0.

    Parameters (4)
    • Index
    • Tol
    • TolU
    • TolV
    Returns

    A result object with fields:

    • TolU: updated value from the call.
    • TolV: updated value from the call.
  • GetMaximalNorm(): number

    Get the maximum Norm of the matrix-location part. It is usful to find a good Tolerance to approx M(t).

  • GetAverageLaw(AM: gp_Mat, AV: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (2)
    • AM
      Mutated in place; read the updated value from this argument after the call.
    • AV
      Mutated in place; read the updated value from this argument after the call.
  • IsTranslation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is an translation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • IsRotation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is a rotation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Rotation(Center: gp_Pnt): void
    Parameters (1)
    • Center
  • SetOrigine(Param1: number, Param2: number): void
    Parameters (2)
    • Param1
    • Param2
  • ComputeAutomaticLaw(): { returnValue: GeomFill_PipeError; ParAndRad: NCollection_HArray1_gp_Pnt2d; [Symbol.dispose](): void }

GeomFill_LocationLaw

To define location law in Sweeping location is defined by an Matrix M and an Vector V, and transform an point P in MP+V.

Static methods(2)

Instance methods(26)

  • initialize curve of location law

    Parameters (1)
    • C
  • SetTrsf(Transfo: gp_Mat): void

    Set a transformation Matrix like the law M(t) become Mat * M(t).

    Parameters (1)
    • Transfo
  • D0(Param: number, M: gp_Mat, V: gp_Vec): boolean

    compute Location

    Parameters (3)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
  • D0(Param: number, M: gp_Mat, V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d): boolean

    compute Location and 2d points

    Parameters (4)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first derivatives. Warning: It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, M: gp_Mat, V: gp_Vec, DM: gp_Mat, DV: gp_Vec, D2M: gp_Mat, D2V: gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, D2Poles2d: NCollection_Array1_gp_Vec2d): boolean

    compute location 2d points and associated first and second derivatives. Warning: It used only for C2 approximation

    Parameters (10)
    • Param
    • M
      Mutated in place; read the updated value from this argument after the call.
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DM
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.
    • D2M
      Mutated in place; read the updated value from this argument after the call.
    • D2V
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
  • Nb2dCurves(): number

    get the number of 2d curves (Restrictions + Traces) to approximate.

  • Say if the first restriction is defined in this class. If it is true the first element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • Say if the last restriction is defined in this class. If it is true the last element of poles array in D0,D1,D2... Correspond to this restriction. Returns false (default implementation).

  • TraceNumber(): number

    Give the number of trace (Curves 2d which are not restriction) Returns 0 (default implementation).

  • Give a status to the Law Returns PipeOk (default implementation).

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • Resolution(Index: number, Tol: number, TolU: number, TolV: number): { TolU: number; TolV: number }

    Returns the resolutions in the sub-space 2d <Index> This information is useful to find a good tolerance in 2d approximation.

    Parameters (4)
    • Index
    • Tol
    • TolU
    • TolV
    Returns

    A result object with fields:

    • TolU: updated value from the call.
    • TolV: updated value from the call.
  • SetTolerance(Tol3d: number, Tol2d: number): void

    Is useful, if (me) have to run numerical algorithm to perform D0, D1 or D2 The default implementation make nothing.

    Parameters (2)
    • Tol3d
    • Tol2d
  • GetMaximalNorm(): number

    Get the maximum Norm of the matrix-location part. It is usful to find a good Tolerance to approx M(t).

  • GetAverageLaw(AM: gp_Mat, AV: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (2)
    • AM
      Mutated in place; read the updated value from this argument after the call.
    • AV
      Mutated in place; read the updated value from this argument after the call.
  • IsTranslation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is an translation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • IsRotation(Error: number): { returnValue: boolean; Error: number }

    Say if the Location Law, is a rotation of Location The default implementation is " returns False ".

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Rotation(Center: gp_Pnt): void
    Parameters (1)
    • Center

GeomFill_LocFunction

Constructors(1)

Instance methods(4)

  • D0(Param: number, First: number, Last: number): boolean

    compute the section for v = param

    Parameters (3)
    • Param
    • First
    • Last
  • D1(Param: number, First: number, Last: number): boolean

    compute the first derivative in v direction of the section for v = param

    Parameters (3)
    • Param
    • First
    • Last
  • D2(Param: number, First: number, Last: number): boolean

    compute the second derivative in v direction of the section for v = param

    Parameters (3)
    • Param
    • First
    • Last
  • DN(Param: number, First: number, Last: number, Order: number, Result: number, Ier: number): { Result: number; Ier: number }
    Parameters (6)
    • Param
    • First
    • Last
    • Order
    • Result
    • Ier

GeomFill_Pipe

Describes functions to construct pipes. A pipe is built by sweeping a curve (the section) along another curve (the path). The Pipe class provides the following types of construction:

  • pipes with a circular section of constant radius,
  • pipes with a constant section,
  • pipes with a section evolving between two given curves. All standard specific cases are detected in order to build, where required, a plane, cylinder, cone, sphere, torus, surface of linear extrusion or surface of revolution. Generally speaking, the result is a BSpline surface (NURBS). A Pipe object provides a framework for:
  • defining the pipe to be built,
  • implementing the construction algorithm, and
  • consulting the resulting surface. There are several methods to instantiate a Pipe: 1) give a path and a radius: the section is a circle. This location is the first point of the path, and this direction is the first derivate (calculate at the first point ) of the path.
  1. give a path and a section. Differtent options are available 2.a) Use the classical Frenet trihedron
  • or the CorrectedFrenet trihedron (To avoid twisted surface)
  • or a constant trihedron to have all the sections in a same plane 2.b) Define a ConstantBinormal Direction to keep the same angle between the Direction and the sections along the sweep surface. 2.c) Define the path by a surface and a 2dcurve, the surface is used to define the trihedron's normal. It is useful to keep a constant angle between input surface and the pipe. 3) give a path and two sections. The section evaluate from First to Last Section.
  1. give a path and N sections. The section evaluate from First to Last Section.
    In general case the result is a NURBS. But we can generate plane, cylindrical, spherical, conical, toroidal surface in some particular case.
    The natural parametrization of the result is:
    U-Direction along the section. V-Direction along the path.
    But, in some particular case, the surface must be construct otherwise. The method "EchangeUV" return false in such cases.

Constructors(10)

  • Constructs an empty algorithm for building pipes. Use the function Init to initialize it.

  • constructor(Path: Geom_Curve, Radius: number): GeomFill_Pipe
    Parameters (2)
    • Path
    • Radius
  • Create a pipe with N sections The section evaluate from First to Last Section.

    Parameters (2)
    • Path
    • NSections
  • Create a pipe with a constant section (<FirstSection>) and a path (<Path>) Option can be - GeomFill_IsCorrectedFrenet.

    • GeomFill_IsFrenet
    • GeomFill_IsConstant
    Parameters (3)
    • Path
    • FirstSect
    • Option
  • Create a pipe with a constant section (<FirstSection>) and a path defined by <Path> and <Support>.

    Parameters (3)
    • Path
    • Support
    • FirstSect
  • Create a pipe with a constant section (<FirstSection>) and a path <Path> and a fixed binormal direction <Dir>.

    Parameters (3)
    • Path
    • FirstSect
    • Dir
  • Create a pipe with an evolving section The section evaluate from First to Last Section.

    Parameters (3)
    • Path
    • FirstSect
    • LastSect
  • constructor(Path: Geom_Curve, Curve1: Geom_Curve, Curve2: Geom_Curve, Radius: number): GeomFill_Pipe

    Create a pipe with a constant radius with 2 guide-line.

    Parameters (4)
    • Path
    • Curve1
    • Curve2
    • Radius
  • constructor(Path: Adaptor3d_Curve, Curve1: Adaptor3d_Curve, Curve2: Adaptor3d_Curve, Radius: number): GeomFill_Pipe

    Create a pipe with a constant radius with 2 guide-line.

    Parameters (4)
    • Path
    • Curve1
    • Curve2
    • Radius
  • constructor(Path: Geom_Curve, Guide: Adaptor3d_Curve, FirstSect: Geom_Curve, ByACR: boolean, rotat: boolean): GeomFill_Pipe

    Create a pipe with a constant section and with 1 guide-line. Use the function Perform to build the surface. All standard specific cases are detected in order to construct, according to the respective geometric nature of Path and the sections, a planar, cylindrical, conical, spherical or toroidal surface, a surface of linear extrusion or a surface of revolution. In the general case, the result is a BSpline surface (NURBS) built by approximation of a series of sections where:

    • the number of sections N is chosen automatically by the algorithm according to the respective geometries of Path and the sections. N is greater than or equal to 2;
    • N points Pi (with i in the range [ 1,N ]) are defined at regular intervals along the curve Path from its first point to its end point. At each point Pi, a coordinate system Ti is computed with Pi as origin, and with the tangential and normal vectors to Path defining two of its coordinate axes.
      In the case of a pipe with a constant circular section, the first section is a circle of radius Radius centered on the origin of Path and whose "Z Axis" is aligned along the vector tangential to the origin of Path. In the case of a pipe with a constant section, the first section is the curve FirstSect.
      In these two cases, the ith section (for values of i greater than 1) is obtained by applying to a copy of this first section the geometric transformation which transforms coordinate system T1 into coordinate system Ti.
      In the case of an evolving section, N-2 intermediate curves Si are first computed (if N is greater than 2, and with i in the range [ 2,N-1 ]) whose geometry evolves regularly from the curve S1=FirstSect to the curve SN=LastSect.
      The first section is FirstSect, and the ith section (for values of i greater than 1) is obtained by applying to the curve Si the geometric transformation which transforms coordinate system T1 into coordinate system Ti.
    Parameters (5)
    • Path
    • Guide
    • FirstSect
    • ByACR
    • rotat

Instance methods(17)

  • Init(Path: Geom_Curve, Radius: number): void
    Parameters (2)
    • Path
    • Radius
  • Parameters (2)
    • Path
    • NSections
  • Init(Path: Geom_Curve, FirstSect: Geom_Curve, Option: GeomFill_Trihedron): void
    Parameters (3)
    • Path
    • FirstSect
    • Option
  • Init(Path: Geom2d_Curve, Support: Geom_Surface, FirstSect: Geom_Curve): void
    Parameters (3)
    • Path
    • Support
    • FirstSect
  • Init(Path: Geom_Curve, FirstSect: Geom_Curve, Dir: gp_Dir): void
    Parameters (3)
    • Path
    • FirstSect
    • Dir
  • Init(Path: Geom_Curve, FirstSect: Geom_Curve, LastSect: Geom_Curve): void
    Parameters (3)
    • Path
    • FirstSect
    • LastSect
  • Init(Path: Adaptor3d_Curve, Curve1: Adaptor3d_Curve, Curve2: Adaptor3d_Curve, Radius: number): void

    Create a pipe with a constant radius with 2 guide-line.

    Parameters (4)
    • Path
    • Curve1
    • Curve2
    • Radius
  • Init(Path: Geom_Curve, Guide: Adaptor3d_Curve, FirstSect: Geom_Curve, ByACR: boolean, rotat: boolean): void

    Initializes this pipe algorithm to build the following surface:

    • a pipe with a constant circular section of radius Radius along the path Path, or
    • a pipe with constant section FirstSect along the path Path, or
    • a pipe where the section evolves from FirstSect to LastSect along the path Path. Use the function Perform to build the surface. Note: a description of the resulting surface is given under Constructors.
    Parameters (5)
    • Path
    • Guide
    • FirstSect
    • ByACR
    • rotat
  • Perform(WithParameters: boolean, myPolynomial: boolean): void

    Builds the pipe defined at the time of initialization of this algorithm. A description of the resulting surface is given under Constructors. If WithParameters (defaulted to false) is set to true, the approximation algorithm (used only in the general case of construction of a BSpline surface) builds the surface with a u parameter corresponding to the one of the path. Exceptions Standard_ConstructionError if a surface cannot be constructed from the data. Warning: It is the old Perform method, the next methode is recommended.

    Parameters (2)
    • WithParameters
    • myPolynomial
  • Perform(Tol: number, Polynomial: boolean, Conti: GeomAbs_Shape, MaxDegree: number, NbMaxSegment: number): void

    Detects the particular cases, and computes the surface. if none particular case is detected we make an approximation with respect of the Tolerance <Tol>, the continuty <Conti>, the maximum degree <MaxDegree>, the maximum number of span <NbMaxSegment> and the spine parametrization. If we can't create a surface with the data.

    Parameters (5)
    • Tol
    • Polynomial
    • Conti
    • MaxDegree
    • NbMaxSegment
  • Returns the surface built by this algorithm. Warning: Do not use this function before the surface is built (in this case the function will return a null handle).

  • ExchangeUV(): boolean

    The u parametric direction of the surface constructed by this algorithm usually corresponds to the evolution along the path and the v parametric direction corresponds to the evolution along the section(s). However, this rule is not respected when constructing certain specific Geom surfaces (typically cylindrical surfaces, surfaces of revolution, etc.) for which the parameterization is inversed. The ExchangeUV function checks for this, and returns true in all these specific cases. Warning: Do not use this function before the surface is built.

  • GenerateParticularCase(B: boolean): void

    Sets a flag to try to create as many planes, cylinder,... as possible. Default value is <false>.

    Parameters (1)
    • B
  • Returns the flag.

  • ErrorOnSurf(): number

    Returns the approximation's error. if the Surface is plane, cylinder ... this error can be 0.

  • IsDone(): boolean

    Returns whether approximation was done.

  • Returns execution status.

GeomFill_PlanFunc

Constructors(1)

Instance methods(6)

  • Value(X: number, F: number): { returnValue: boolean; F: number }

    computes the value <F>of the function for the variable <X>. Returns True if the calculation were successfully done, False otherwise.

    Parameters (2)
    • X
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • F: updated value from the call.
  • Derivative(X: number, D: number): { returnValue: boolean; D: number }

    computes the derivative <D> of the function for the variable <X>. Returns True if the calculation were successfully done, False otherwise.

    Parameters (2)
    • X
    • D
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • D: updated value from the call.
  • Values(X: number, F: number, D: number): { returnValue: boolean; F: number; D: number }

    computes the value <F> and the derivative <D> of the function for the variable <X>. Returns True if the calculation were successfully done, False otherwise.

    Parameters (3)
    • X
    • F
    • D
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • F: updated value from the call.
    • D: updated value from the call.
  • D2(X: number, F: number, D1: number, D2: number): { F: number; D1: number; D2: number }
    Parameters (4)
    • X
    • F
    • D1
    • D2
  • DEDT(X: number, DP: gp_Vec, DV: gp_Vec, DF: number): { DF: number }
    Parameters (4)
    • X
    • DP
    • DV
    • DF
  • D2E(X: number, DP: gp_Vec, D2P: gp_Vec, DV: gp_Vec, D2V: gp_Vec, DFDT: number, D2FDT2: number, D2FDTDX: number): { DFDT: number; D2FDT2: number; D2FDTDX: number }
    Parameters (8)
    • X
    • DP
    • D2P
    • DV
    • D2V
    • DFDT
    • D2FDT2
    • D2FDTDX

GeomFill_PolynomialConvertor

To convert circular section in polynome.

Constructors(1)

Instance methods(5)

GeomFill_Profiler

Evaluation of the common BSplineProfile of a group of curves from Geom. All the curves will have the same degree, the same knot-vector, so the same number of poles.

Constructors(1)

Instance methods(10)

  • AddCurve(Curve: Geom_Curve): void
    Parameters (1)
    • Curve
  • Perform(PTol: number): void

    Converts all curves to BSplineCurves. Set them to the common profile. <PTol> is used to compare 2 knots.

    Parameters (1)
    • PTol
  • Degree(): number

    Raises if not yet perform.

  • IsPeriodic(): boolean
  • NbPoles(): number

    Raises if not yet perform.

  • Poles(Index: number, Poles: NCollection_Array1_gp_Pnt): void

    returns in <Poles> the poles of the BSplineCurve from index <Index> adjusting to the current profile. Raises if not yet perform Raises if <Index> not in the range [1,NbCurves] if the length of <Poles> is not equal to NbPoles().

    Parameters (2)
    • Index
    • Poles
      Mutated in place; read the updated value from this argument after the call.
  • Weights(Index: number, Weights: NCollection_Array1_double): void

    returns in <Weights> the weights of the BSplineCurve from index <Index> adjusting to the current profile. Raises if not yet perform Raises if <Index> not in the range [1,NbCurves] or if the length of <Weights> is not equal to NbPoles().

    Parameters (2)
    • Index
    • Weights
      Mutated in place; read the updated value from this argument after the call.
  • NbKnots(): number

    Raises if not yet perform.

  • Raises if not yet perform Raises if the lengths of <Knots> and <Mults> are not equal to NbKnots().

    Parameters (2)
    • Knots
      Mutated in place; read the updated value from this argument after the call.
    • Mults
      Mutated in place; read the updated value from this argument after the call.
  • Curve(Index: number): Geom_Curve
    Parameters (1)
    • Index

GeomFill_QuasiAngularConvertor

To convert circular section in QuasiAngular Bezier form.

Constructors(1)

Instance methods(5)

GeomFill_SectionGenerator

gives the functions needed for instantiation from AppSurf in AppBlend. Allow to evaluate a surface passing by all the curves if the Profiler.

Constructors(1)

Instance methods(7)

GeomFill_SectionLaw

To define section law in sweeping.

Static methods(2)

Instance methods(25)

  • D0(Param: number, Poles: NCollection_Array1_gp_Pnt, Weigths: NCollection_Array1_double): boolean

    compute the section for v = param

    Parameters (3)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 approximation

    Parameters (5)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the second derivative in v direction of the section for v = param Warning : It used only for C2 approximation

    Parameters (7)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
    • D2Weigths
      Mutated in place; read the updated value from this argument after the call.
  • give if possible an bspline Surface, like iso-v are the section. If it is not possible this method have to get an Null Surface. It is the default implementation.

  • SectionShape(NbPoles: number, NbKnots: number, Degree: number): { NbPoles: number; NbKnots: number; Degree: number }

    get the format of an section

    Parameters (3)
    • NbPoles
    • NbKnots
    • Degree
    Returns

    A result object with fields:

    • NbPoles: updated value from the call.
    • NbKnots: updated value from the call.
    • Degree: updated value from the call.
  • get the Knots of the section

    Parameters (1)
    • TKnots
      Mutated in place; read the updated value from this argument after the call.
  • get the Multplicities of the section

    Parameters (1)
    • TMults
      Mutated in place; read the updated value from this argument after the call.
  • IsRational(): boolean

    Returns if the sections are rational or not.

  • IsUPeriodic(): boolean

    Returns if the sections are periodic or not.

  • IsVPeriodic(): boolean

    Returns if law is periodic or not.

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetTolerance(BoundTol: number, SurfTol: number, AngleTol: number, Tol3d: NCollection_Array1_double): void

    Returns the tolerances associated at each poles to reach in approximation, to satisfy: BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.

    Parameters (4)
    • BoundTol
    • SurfTol
    • AngleTol
    • Tol3d
      Mutated in place; read the updated value from this argument after the call.
  • SetTolerance(Tol3d: number, Tol2d: number): void

    Is useful, if <me> has to run numerical algorithm to perform D0, D1 or D2 The default implementation make nothing.

    Parameters (2)
    • Tol3d
    • Tol2d
  • Get the barycentre of Surface. A very poor estimation is sufficient. This information is useful to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.

  • MaximalSection(): number

    Returns the length of the greater section. This information is useful to G1's control. Warning: With an little value, approximation can be slower.

  • Compute the minimal value of weight for each poles in all sections. This information is useful to control error in rational approximation. Warning: Used only if <me> IsRational.

    Parameters (1)
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(Error: number): { returnValue: boolean; Error: number }

    Say if all sections are equals.

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Return a copy of the constant Section, if <me> IsConstant.

  • IsConicalLaw(Error: number): { returnValue: boolean; Error: number }

    Returns True if all section are circle, with same plane,same center and linear radius evolution Return False by Default.

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • CirclSection(Param: number): Geom_Curve

    Return the circle section at parameter , if <me> a IsConicalLaw.

    Parameters (1)
    • Param

GeomFill_SectionPlacement

To place section in sweep Function.

Constructors(1)

Instance methods(12)

  • To change the section Law.

    Parameters (1)
    • L
  • Perform(Tol: number): void
    Parameters (1)
    • Tol
  • Perform(Path: Adaptor3d_Curve, Tol: number): void
    Parameters (2)
    • Path
    • Tol
  • Perform(ParamOnPath: number, Tol: number): void
    Parameters (2)
    • ParamOnPath
    • Tol
  • IsDone(): boolean
  • ParameterOnPath(): number
  • Distance(): number
  • Angle(): number
  • Transformation(WithTranslation: boolean, WithCorrection?: boolean): gp_Trsf
    Parameters (2)
    • WithTranslation
    • WithCorrection
  • Section(WithTranslation: boolean): Geom_Curve

    Compute the Section, in the coordinate system given by the Location Law. If <WithTranslation> contact between <Section> and <Path> is forced.

    Parameters (1)
    • WithTranslation
  • ModifiedSection(WithTranslation: boolean): Geom_Curve

    Compute the Section, in the coordinate system given by the Location Law. To have the Normal to section equal to the Location Law Normal. If <WithTranslation> contact between <Section> and <Path> is forced.

    Parameters (1)
    • WithTranslation

GeomFill_SimpleBound

Defines a 3d curve as a boundary for a GeomFill_ConstrainedFilling algorithm. This curve is unattached to an existing surface.D Contains fields to allow a reparametrization of curve.

Constructors(1)

  • constructor(Curve: Adaptor3d_Curve, Tol3d: number, Tolang: number): GeomFill_SimpleBound

    Constructs the boundary object defined by the 3d curve. The surface to be built along this boundary will be in the tolerance range defined by Tol3d. This object is to be used as a boundary for a GeomFill_ConstrainedFilling framework. Dummy is initialized but has no function in this class. Warning Curve is an adapted curve, that is, an object which is an interface between:

    • the services provided by a 3D curve from the package Geom
    • and those required of the curve by the computation algorithm which uses it. The adapted curve is created in one of the following ways:
    • First sequence: occ::handle<Geom_Curve> myCurve = ... ; occ::handle<GeomAdaptor_Curve> Curve = new GeomAdaptor_Curve(myCurve);
    • Second sequence: // Step 1 occ::handle<Geom_Curve> myCurve = ... ; GeomAdaptor_Curve Crv (myCurve); // Step 2 occ::handle<GeomAdaptor_Curve> Curve = new GeomAdaptor_Curve(Crv); You use the second part of this sequence if you already have the adapted curve Crv. The boundary is then constructed with the Curve object: double Tol = ... ; double dummy = 0. ; myBoundary = GeomFill_SimpleBound (Curve,Tol,dummy);
    Parameters (3)
    • Curve
    • Tol3d
    • Tolang

Static methods(2)

Instance methods(6)

GeomFill_SnglrFunc

to represent function C'(t)^C''(t)

Constructors(1)

Instance methods(15)

  • Shallow copy of adaptor.

  • SetRatio(Ratio: number): void
    Parameters (1)
    • Ratio
  • FirstParameter(): number
  • LastParameter(): number
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • IsPeriodic(): boolean
  • Period(): number
  • EvalD0(theU: number): gp_Pnt

    Computes the point of parameter theU on the curve.

    Parameters (1)
    • theU
  • EvalD1(theU: number): Geom_Curve_ResD1

    Computes the point of parameter theU on the curve with its first derivative. Raised if the continuity of the current interval is not C1.

    Parameters (1)
    • theU
  • EvalD2(theU: number): Geom_Curve_ResD2

    Returns the point and the first and second derivatives at parameter theU. Raised if the continuity of the current interval is not C2.

    Parameters (1)
    • theU
  • EvalD3(theU: number): Geom_Curve_ResD3

    Returns the point and the first, second and third derivatives at parameter theU. Raised if the continuity of the current interval is not C3.

    Parameters (1)
    • theU
  • EvalDN(theU: number, theN: number): gp_Vec

    Returns the derivative of order theN at parameter theU. Raised if theN < 1.

    Parameters (2)
    • theU
    • theN
  • Resolution(R3d: number): number

    Returns the parametric resolution corresponding to the real space resolution <R3d>.

    Parameters (1)
    • R3d
  • Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.

GeomFill_Stretch

Constructors(3)

Instance methods(2)

GeomFill_Sweep

Geometrical Sweep Algorithm.

Constructors(1)

Instance methods(15)

  • SetDomain(First: number, Last: number, SectionFirst: number, SectionLast: number): void

    Set parametric information [<First>, <Last>] Sets the parametric bound of the sweeping surface to build. <SectionFirst>, <SectionLast> gives corresponding bounds parameter on the section law of <First> and <Last>.
    V-Iso on Sweeping Surface S(u,v) is defined by Location(v) and Section(w) where w = SectionFirst + (v - First) / (Last-First)

    • (SectionLast - SectionFirst)
      By default w = v, and First and Last are given by First and Last parameter stored in LocationLaw.
    Parameters (4)
    • First
    • Last
    • SectionFirst
    • SectionLast
  • SetTolerance(Tol3d: number, BoundTol?: number, Tol2d?: number, TolAngular?: number): void

    Set Approximation Tolerance Tol3d : Tolerance to surface approximation Tol2d : Tolerance used to perform curve approximation Normally the 2d curve are approximated with a tolerance given by the resolution method define in <LocationLaw> but if this tolerance is too large Tol2d is used. TolAngular : Tolerance (in radian) to control the angle between tangents on the section law and tangent of iso-v on approximated surface.

    Parameters (4)
    • Tol3d
    • BoundTol
    • Tol2d
    • TolAngular
  • SetForceApproxC1(ForceApproxC1: boolean): void

    Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0.

    Parameters (1)
    • ForceApproxC1
  • ExchangeUV(): boolean

    returns true if sections are U-Iso This can be produce in some cases when <WithKpart> is True.

  • UReversed(): boolean

    returns true if Parametrisation sens in U is inverse of parametrisation sens of section (or of path if ExchangeUV)

  • VReversed(): boolean

    returns true if Parametrisation sens in V is inverse of parametrisation sens of path (or of section if ExchangeUV)

  • Build(Section: GeomFill_SectionLaw, Methode?: GeomFill_ApproxStyle, Continuity?: GeomAbs_Shape, Degmax?: number, Segmax?: number): void

    Build the Sweeep Surface ApproxStyle defines Approximation Strategy.

    • GeomFill_Section : The composed Function : Location X Section is directly approximated.
    • GeomFill_Location : The location law is approximated, and the SweepSurface is build algebric composition of approximated location law and section law This option is Ok, if Section.Surface() methode is effective. Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v required on the surface Segmax : The maximum number of span in v required on the surface
      raise If Domain are infinite or Profile not set.
    Parameters (5)
    • Section
    • Methode
    • Continuity
    • Degmax
    • Segmax
  • IsDone(): boolean

    Tells if the Surface is Built.

  • ErrorOnSurface(): number

    Gets the Approximation error.

  • ErrorOnRestriction(IsFirst: boolean, UError: number, VError: number): { UError: number; VError: number }

    Gets the Approximation error.

    Parameters (3)
    • IsFirst
    • UError
    • VError
    Returns

    A result object with fields:

    • UError: updated value from the call.
    • VError: updated value from the call.
  • ErrorOnTrace(IndexOfTrace: number, UError: number, VError: number): { UError: number; VError: number }

    Gets the Approximation error.

    Parameters (3)
    • IndexOfTrace
    • UError
    • VError
    Returns

    A result object with fields:

    • UError: updated value from the call.
    • VError: updated value from the call.
  • Restriction(IsFirst: boolean): Geom2d_Curve
    Parameters (1)
    • IsFirst
  • NumberOfTrace(): number
  • Trace(IndexOfTrace: number): Geom2d_Curve
    Parameters (1)
    • IndexOfTrace

GeomFill_SweepFunction

Function to approximate by SweepApproximation from Approx. To build general sweep Surface.

Constructors(1)

Static methods(2)

Instance methods(18)

  • D0(Param: number, First: number, Last: number, Poles: NCollection_Array1_gp_Pnt, Poles2d: NCollection_Array1_gp_Pnt2d, Weigths: NCollection_Array1_double): boolean

    compute the section for v = param

    Parameters (6)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, First: number, Last: number, Poles: NCollection_Array1_gp_Pnt, DPoles: NCollection_Array1_gp_Vec, Poles2d: NCollection_Array1_gp_Pnt2d, DPoles2d: NCollection_Array1_gp_Vec2d, Weigths: NCollection_Array1_double, DWeigths: NCollection_Array1_double): boolean

    compute the first derivative in v direction of the section for v = param

    Parameters (9)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the second derivative in v direction of the section for v = param

    Parameters (12)
    • Param
    • First
    • Last
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles
      Mutated in place; read the updated value from this argument after the call.
    • Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • DPoles2d
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles2d
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
    • D2Weigths
      Mutated in place; read the updated value from this argument after the call.
  • Nb2dCurves(): number

    get the number of 2d curves to approximate.

  • SectionShape(NbPoles: number, NbKnots: number, Degree: number): { NbPoles: number; NbKnots: number; Degree: number }

    get the format of a section

    Parameters (3)
    • NbPoles
    • NbKnots
    • Degree
    Returns

    A result object with fields:

    • NbPoles: updated value from the call.
    • NbKnots: updated value from the call.
    • Degree: updated value from the call.
  • get the Knots of the section

    Parameters (1)
    • TKnots
      Mutated in place; read the updated value from this argument after the call.
  • get the Multplicities of the section

    Parameters (1)
    • TMults
      Mutated in place; read the updated value from this argument after the call.
  • IsRational(): boolean

    Returns if the section is rational or not.

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • Resolution(Index: number, Tol: number, TolU: number, TolV: number): { TolU: number; TolV: number }

    Returns the resolutions in the sub-space 2d <Index> This information is useful to find a good tolerance in 2d approximation. Warning: Used only if Nb2dCurve > 0.

    Parameters (4)
    • Index
    • Tol
    • TolU
    • TolV
    Returns

    A result object with fields:

    • TolU: updated value from the call.
    • TolV: updated value from the call.
  • GetTolerance(BoundTol: number, SurfTol: number, AngleTol: number, Tol3d: NCollection_Array1_double): void

    Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.

    Parameters (4)
    • BoundTol
    • SurfTol
    • AngleTol
    • Tol3d
      Mutated in place; read the updated value from this argument after the call.
  • SetTolerance(Tol3d: number, Tol2d: number): void

    Is useful, if <me> has to be run numerical algorithme to perform D0, D1 or D2.

    Parameters (2)
    • Tol3d
    • Tol2d
  • Get the barycentre of Surface. An very poor estimation is sufficient. This information is useful to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.

  • MaximalSection(): number

    Returns the length of the maximum section. This information is useful to perform well conditioned rational approximation.

  • Compute the minimal value of weight for each poles of all sections. This information is useful to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.

    Parameters (1)
    • Weigths
      Mutated in place; read the updated value from this argument after the call.

GeomFill_Tensor

used to store the "gradient of gradient"

Constructors(1)

Instance methods(4)

  • Init(InitialValue: number): void

    Initialize all the elements of a Tensor to InitialValue.

    Parameters (1)
    • InitialValue
  • Value(Row: number, Col: number, Mat: number): number

    accesses (in read or write mode) the value of index <Row>, <Col> and <Mat> of a Tensor. An exception is raised if <Row>, <Col> or <Mat> are not in the correct range.

    Parameters (3)
    • Row
    • Col
    • Mat
  • ChangeValue(Row: number, Col: number, Mat: number): number

    accesses (in read or write mode) the value of index <Row>, <Col> and <Mat> of a Tensor. An exception is raised if <Row>, <Col> or <Mat> are not in the correct range.

    Parameters (3)
    • Row
    • Col
    • Mat
  • Multiply(Right: math_Vector, Product: math_Matrix): void
    Parameters (2)
    • Right
    • Product

GeomFill_TgtField

Root class defining the methods we need to make an algorithmic tangents field.

Static methods(2)

Instance methods(6)

  • IsScalable(): boolean
  • Scale(Func: Law_BSpline): void
    Parameters (1)
    • Func
  • Value(W: number): gp_Vec

    Computes the value of the field of tangency at parameter W.

    Parameters (1)
    • W
  • D1(W: number): gp_Vec

    Computes the derivative of the field of tangency at parameter W.

    Parameters (1)
    • W
  • D1(W: number, V: gp_Vec, DV: gp_Vec): void

    Computes the value and the derivative of the field of tangency at parameter W.

    Parameters (3)
    • W
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.

GeomFill_TgtOnCoons

Defines an algorithmic tangents field on a boundary of a CoonsAlgPatch.

Constructors(1)

Static methods(2)

Instance methods(4)

  • Value(W: number): gp_Vec

    Computes the value of the field of tangency at parameter W.

    Parameters (1)
    • W
  • D1(W: number): gp_Vec

    Computes the derivative of the field of tangency at parameter W.

    Parameters (1)
    • W
  • D1(W: number, V: gp_Vec, DV: gp_Vec): void

    Computes the value and the derivative of the field of tangency at parameter W.

    Parameters (3)
    • W
    • V
      Mutated in place; read the updated value from this argument after the call.
    • DV
      Mutated in place; read the updated value from this argument after the call.

GeomFill_Trihedron

Properties(10)

GeomFill_TrihedronLaw

To define Trihedron along one Curve.

Static methods(2)

Instance methods(14)

  • initialize curve of trihedron law

    Parameters (1)
    • C
    Returns

    true

  • Give a status to the Law Returns PipeOk (default implementation).

  • D0(Param: number, Tangent: gp_Vec, Normal: gp_Vec, BiNormal: gp_Vec): boolean

    compute Triedrhon on curve at parameter

    Parameters (4)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D1(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec): boolean

    compute Triedrhon and derivative Trihedron on curve at parameter Warning : It used only for C1 or C2 approximation

    Parameters (7)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
  • D2(Param: number, Tangent: gp_Vec, DTangent: gp_Vec, D2Tangent: gp_Vec, Normal: gp_Vec, DNormal: gp_Vec, D2Normal: gp_Vec, BiNormal: gp_Vec, DBiNormal: gp_Vec, D2BiNormal: gp_Vec): boolean

    compute Trihedron on curve first and second derivatives. Warning : It used only for C2 approximation

    Parameters (10)
    • Param
    • Tangent
      Mutated in place; read the updated value from this argument after the call.
    • DTangent
      Mutated in place; read the updated value from this argument after the call.
    • D2Tangent
      Mutated in place; read the updated value from this argument after the call.
    • Normal
      Mutated in place; read the updated value from this argument after the call.
    • DNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2Normal
      Mutated in place; read the updated value from this argument after the call.
    • BiNormal
      Mutated in place; read the updated value from this argument after the call.
    • DBiNormal
      Mutated in place; read the updated value from this argument after the call.
    • D2BiNormal
      Mutated in place; read the updated value from this argument after the call.
  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetAverageLaw(ATangent: gp_Vec, ANormal: gp_Vec, ABiNormal: gp_Vec): void

    Get average value of M(t) and V(t) it is useful to make fast approximation of rational surfaces.

    Parameters (3)
    • ATangent
      Mutated in place; read the updated value from this argument after the call.
    • ANormal
      Mutated in place; read the updated value from this argument after the call.
    • ABiNormal
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(): boolean

    Say if the law is Constant.

  • IsOnlyBy3dCurve(): boolean

    Say if the law is defined, only by the 3d Geometry of the set Curve Return False by Default.

GeomFill_UniformSection

Define an Constant Section Law.

Constructors(1)

Static methods(2)

Instance methods(22)

  • D0(Param: number, Poles: NCollection_Array1_gp_Pnt, Weigths: NCollection_Array1_double): boolean

    compute the section for v = param

    Parameters (3)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 approximation

    Parameters (5)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
  • compute the second derivative in v direction of the section for v = param Warning : It used only for C2 approximation

    Parameters (7)
    • Param
    • Poles
      Mutated in place; read the updated value from this argument after the call.
    • DPoles
      Mutated in place; read the updated value from this argument after the call.
    • D2Poles
      Mutated in place; read the updated value from this argument after the call.
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
    • DWeigths
      Mutated in place; read the updated value from this argument after the call.
    • D2Weigths
      Mutated in place; read the updated value from this argument after the call.
  • give if possible an bspline Surface, like iso-v are the section. If it is not possible this method have to get an Null Surface. Is it the default implementation.

  • SectionShape(NbPoles: number, NbKnots: number, Degree: number): { NbPoles: number; NbKnots: number; Degree: number }

    get the format of an section

    Parameters (3)
    • NbPoles
    • NbKnots
    • Degree
    Returns

    A result object with fields:

    • NbPoles: updated value from the call.
    • NbKnots: updated value from the call.
    • Degree: updated value from the call.
  • get the Knots of the section

    Parameters (1)
    • TKnots
      Mutated in place; read the updated value from this argument after the call.
  • get the Multplicities of the section

    Parameters (1)
    • TMults
      Mutated in place; read the updated value from this argument after the call.
  • IsRational(): boolean

    Returns if the sections are rational or not.

  • IsUPeriodic(): boolean

    Returns if the sections are periodic or not.

  • IsVPeriodic(): boolean

    Returns if the law isperiodic or not.

  • Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Parameters (1)
    • S
  • Stores in <T> the parameters bounding the intervals of continuity .
    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

    Parameters (2)
    • T
      Mutated in place; read the updated value from this argument after the call.
    • S
  • SetInterval(First: number, Last: number): void

    Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.

    Parameters (2)
    • First
    • Last
  • GetInterval(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the parametric interval on the function.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetDomain(First: number, Last: number): { First: number; Last: number }

    Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.

    Parameters (2)
    • First
    • Last
    Returns

    A result object with fields:

    • First: updated value from the call.
    • Last: updated value from the call.
  • GetTolerance(BoundTol: number, SurfTol: number, AngleTol: number, Tol3d: NCollection_Array1_double): void

    Returns the tolerances associated at each poles to reach in approximation, to satisfy: BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.

    Parameters (4)
    • BoundTol
    • SurfTol
    • AngleTol
    • Tol3d
      Mutated in place; read the updated value from this argument after the call.
  • Get the barycentre of Surface. An very poor estimation is sufficient. This information is useful to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.

  • MaximalSection(): number

    Returns the length of the greater section. This information is useful to G1's control. Warning: With an little value, approximation can be slower.

  • Compute the minimal value of weight for each poles in all sections. This information is useful to control error in rational approximation. Warning: Used only if <me> IsRational.

    Parameters (1)
    • Weigths
      Mutated in place; read the updated value from this argument after the call.
  • IsConstant(Error: number): { returnValue: boolean; Error: number }

    return True

    Parameters (1)
    • Error
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Error: updated value from the call.
  • Return the constant Section if <me> IsConstant.