OpenCascade.js
API ReferenceModelingAlgorithmsTKGeomAlgo

IntSurf

OCCT package IntSurf: IntSurf, IntSurf_Couple, IntSurf_InteriorPoint, IntSurf_InteriorPointTool, and 9 more bound classes.

IntSurf

This package provides resources for all the packages concerning the intersection between surfaces.

Constructors(1)

Static methods(2)

  • MakeTransition(TgFirst: gp_Vec, TgSecond: gp_Vec, Normal: gp_Dir, TFirst: IntSurf_Transition, TSecond: IntSurf_Transition): void

    Computes the transition of the intersection point between the two lines. TgFirst is the tangent vector of the first line. TgSecond is the tangent vector of the second line. Normal is the direction used to orientate the cross product TgFirst^TgSecond. TFirst is the transition of the point on the first line. TSecond is the transition of the point on the second line.

    Parameters (5)
    • TgFirst
    • TgSecond
    • Normal
    • TFirst
      Mutated in place; read the updated value from this argument after the call.
    • TSecond
      Mutated in place; read the updated value from this argument after the call.
  • SetPeriod(theFirstSurf: Adaptor3d_Surface, theSecondSurf: Adaptor3d_Surface, theArrOfPeriod: [number, number, number, number]): void

    Fills theArrOfPeriod array by the period values of theFirstSurf and theSecondSurf. [0] = U-period of theFirstSurf, [1] = V-period of theFirstSurf, [2] = U-period of theSecondSurf, [3] = V-period of theSecondSurf.
    If surface is not periodic in correspond direction then its period is considered to be equal to 0.

    Parameters (3)
    • theFirstSurf
    • theSecondSurf
    • theArrOfPeriod

IntSurf_InteriorPoint

Definition of a point solution of the intersection between an implicit an a parametrised surface. These points are passing points on the intersection lines, or starting points for the closed lines on the parametrised surface.

Constructors(2)

Instance methods(7)

  • SetValue(P: gp_Pnt, U: number, V: number, Direc: gp_Vec, Direc2d: gp_Vec2d): void
    Parameters (5)
    • P
    • U
    • V
    • Direc
    • Direc2d
  • Returns the 3d coordinates of the interior point.

  • Parameters(U: number, V: number): { U: number; V: number }

    Returns the parameters of the interior point on the parametric surface.

    Parameters (2)
    • U
    • V
    Returns

    A result object with fields:

    • U: updated value from the call.
    • V: updated value from the call.
  • UParameter(): number

    Returns the first parameter of the interior point on the parametric surface.

  • VParameter(): number

    Returns the second parameter of the interior point on the parametric surface.

  • Returns the tangent at the intersection in 3d space associated to the interior point.

  • Returns the tangent at the intersection in the parametric space of the parametric surface.

IntSurf_InteriorPointTool

This class provides a tool on the "interior point" that can be used to instantiates the Walking algorithms (see package IntWalk).

Constructors(1)

Static methods(4)

  • Returns the 3d coordinates of the starting point.

    Parameters (1)
    • PStart
  • Value2d(PStart: IntSurf_InteriorPoint, U: number, V: number): { U: number; V: number }

    Returns the <U,V> parameters which are associated with.
    it's the parameters which start the marching algorithm

    Parameters (3)
    • PStart
    • U
    • V
    Returns

    A result object with fields:

    • U: updated value from the call.
    • V: updated value from the call.
  • returns the tangent at the intersection in 3d space associated to

    Parameters (1)
    • PStart
  • returns the tangent at the intersection in the parametric space of the parametrized surface.This tangent is associated to the value2d

    Parameters (1)
    • PStart

IntSurf_LineOn2S

Constructors(1)

Static methods(2)

Instance methods(15)

  • Adds a point in the line.

    Parameters (1)
    • P
  • NbPoints(): number

    Returns the number of points in the line.

  • Value(Index: number): IntSurf_PntOn2S

    Returns the point of range Index in the line.

    Parameters (1)
    • Index
  • Value(Index: number, P: IntSurf_PntOn2S): void

    Replaces the point of range Index in the line.

    Parameters (2)
    • Index
    • P
  • Reverse(): void

    Reverses the order of points of the line.

  • Split(Index: number): IntSurf_LineOn2S

    Keeps in <me> the points 1 to Index-1, and returns the items Index to the end.

    Parameters (1)
    • Index
  • SetPoint(Index: number, thePnt: gp_Pnt): void

    Sets the 3D point of the Index-th PntOn2S.

    Parameters (2)
    • Index
    • thePnt
  • SetUV(Index: number, OnFirst: boolean, U: number, V: number): void

    Sets the parametric coordinates on one of the surfaces of the point of range Index in the line.

    Parameters (4)
    • Index
    • OnFirst
    • U
    • V
  • Clear(): void
  • InsertBefore(I: number, P: IntSurf_PntOn2S): void
    Parameters (2)
    • I
    • P
  • RemovePoint(I: number): void
    Parameters (1)
    • I
  • IsOutSurf1Box(theP: gp_Pnt2d): boolean

    Returns TRUE if theP is out of the box built from the points on 1st surface.

    Parameters (1)
    • theP
  • IsOutSurf2Box(theP: gp_Pnt2d): boolean

    Returns TRUE if theP is out of the box built from the points on 2nd surface.

    Parameters (1)
    • theP
  • IsOutBox(theP: gp_Pnt): boolean

    Returns TRUE if theP is out of the box built from 3D-points.

    Parameters (1)
    • theP

IntSurf_PathPoint

Constructors(2)

Instance methods(13)

IntSurf_PathPointTool

Constructors(1)

Static methods(8)

  • Returns the 3d coordinates of the starting point.

    Parameters (1)
    • PStart
  • Value2d(PStart: IntSurf_PathPoint, U: number, V: number): { U: number; V: number }

    Returns the <U, V> parameters which are associated with.
    it's the parameters which start the marching algorithm

    Parameters (3)
    • PStart
    • U
    • V
    Returns

    A result object with fields:

    • U: updated value from the call.
    • V: updated value from the call.
  • Returns True if the point is a point on a non-oriented arc, which means that the intersection line does not stop at such a point but just go through such a point. IsPassingPnt is True when IsOnArc is True.

    Parameters (1)
    • PStart
  • IsTangent(PStart: IntSurf_PathPoint): boolean

    Returns True if the surfaces are tangent at this point. IsTangent can be True when IsOnArc is True if IsPassingPnt is True and IsTangent is True,this point is a stopped point.

    Parameters (1)
    • PStart
  • returns the tangent at the intersection in 3d space associated to
    an exception is raised if IsTangent is true.

    Parameters (1)
    • PStart
  • returns the tangent at the intersection in the parametric space of the parametrized surface.This tangent is associated to the value2d la tangente a un sens signifiant (indique le sens de chemin ement) an exception is raised if IsTangent is true.

    Parameters (1)
    • PStart
  • Returns the multiplicity of the point i-e the number of auxillar parameters associated to the point which the principal parameters are given by Value2d.

    Parameters (1)
    • PStart
  • Parameters(PStart: IntSurf_PathPoint, Mult: number, U: number, V: number): { U: number; V: number }

    Parametric coordinates associated to the multiplicity. An exception is raised if Mult<=0 or Mult>multiplicity.

    Parameters (4)
    • PStart
    • Mult
    • U
    • V
    Returns

    A result object with fields:

    • U: updated value from the call.
    • V: updated value from the call.

IntSurf_PntOn2S

This class defines the geometric information for an intersection point between 2 surfaces : The coordinates ( Pnt from gp ), and two parametric coordinates.

Constructors(1)

Instance methods(12)

  • SetValue(Pt: gp_Pnt): void

    Sets the value of the point in 3d space.

    Parameters (1)
    • Pt
  • SetValue(OnFirst: boolean, U: number, V: number): void

    Set the values of the point in the parametric space of one of the surface.

    Parameters (3)
    • OnFirst
    • U
    • V
  • SetValue(Pt: gp_Pnt, OnFirst: boolean, U: number, V: number): void

    Sets the values of the point in 3d space, and in the parametric space of one of the surface.

    Parameters (4)
    • Pt
    • OnFirst
    • U
    • V
  • SetValue(U1: number, V1: number, U2: number, V2: number): void

    Set the values of the point in the parametric space of one of the surface.

    Parameters (4)
    • U1
    • V1
    • U2
    • V2
  • SetValue(Pt: gp_Pnt, U1: number, V1: number, U2: number, V2: number): void

    Sets the values of the point in 3d space, and in the parametric space of each surface.

    Parameters (5)
    • Pt
    • U1
    • V1
    • U2
    • V2
  • Returns the point in 3d space.

  • ValueOnSurface(OnFirst: boolean): gp_Pnt2d

    Returns the point in 2d space of one of the surfaces.

    Parameters (1)
    • OnFirst
  • ParametersOnS1(U1: number, V1: number): { U1: number; V1: number }

    Returns the parameters of the point on the first surface.

    Parameters (2)
    • U1
    • V1
    Returns

    A result object with fields:

    • U1: updated value from the call.
    • V1: updated value from the call.
  • ParametersOnS2(U2: number, V2: number): { U2: number; V2: number }

    Returns the parameters of the point on the second surface.

    Parameters (2)
    • U2
    • V2
    Returns

    A result object with fields:

    • U2: updated value from the call.
    • V2: updated value from the call.
  • ParametersOnSurface(OnFirst: boolean, U: number, V: number): { U: number; V: number }

    Returns the parameters of the point in the parametric space of one of the surface.

    Parameters (3)
    • OnFirst
    • U
    • V
    Returns

    A result object with fields:

    • U: updated value from the call.
    • V: updated value from the call.
  • Parameters(U1: number, V1: number, U2: number, V2: number): { U1: number; V1: number; U2: number; V2: number }

    Returns the parameters of the point on both surfaces.

    Parameters (4)
    • U1
    • V1
    • U2
    • V2
    Returns

    A result object with fields:

    • U1: updated value from the call.
    • V1: updated value from the call.
    • U2: updated value from the call.
    • V2: updated value from the call.
  • IsSame(theOtherPoint: IntSurf_PntOn2S, theTol3D?: number, theTol2D?: number): boolean

    Returns TRUE if 2D- and 3D-coordinates of theOterPoint are equal to corresponding coordinates of me (with given tolerance). If theTol2D < 0.0 we will compare 3D-points only.

    Parameters (3)
    • theOtherPoint
    • theTol3D
    • theTol2D

IntSurf_Quadric

Constructors(6)

Instance methods(20)

IntSurf_QuadricTool

This class provides a tool on a quadric that can be used to instantiates the Walking algorithms (see package IntWalk) with a Quadric from IntSurf as implicit surface.

Constructors(1)

Static methods(4)

  • Value(Quad: IntSurf_Quadric, X: number, Y: number, Z: number): number

    Returns the value of the function.

    Parameters (4)
    • Quad
    • X
    • Y
    • Z
  • Gradient(Quad: IntSurf_Quadric, X: number, Y: number, Z: number, V: gp_Vec): void

    Returns the gradient of the function.

    Parameters (5)
    • Quad
    • X
    • Y
    • Z
    • V
      Mutated in place; read the updated value from this argument after the call.
  • ValueAndGradient(Quad: IntSurf_Quadric, X: number, Y: number, Z: number, Val: number, Grad: gp_Vec): { Val: number }

    Returns the value and the gradient.

    Parameters (6)
    • Quad
    • X
    • Y
    • Z
    • Val
    • Grad
      Mutated in place; read the updated value from this argument after the call.
    Returns

    A result object with fields:

    • Val: updated value from the call.
  • Tolerance(Quad: IntSurf_Quadric): number

    returns the tolerance of the zero of the implicit function

    Parameters (1)
    • Quad

IntSurf_Transition

Definition of the transition at the intersection between an intersection line and a restriction curve on a surface.

Constructors(3)

Instance methods(7)

  • SetValue(Tangent: boolean, Type: IntSurf_TypeTrans): void

    Set the values of an IN or OUT transition.

    Parameters (2)
    • Tangent
    • Type
  • SetValue(Tangent: boolean, Situ: IntSurf_Situation, Oppos: boolean): void

    Set the values of a TOUCH transition.

    Parameters (3)
    • Tangent
    • Situ
    • Oppos
  • SetValue(): void

    Set the values of an UNDECIDED transition.

  • Returns the type of Transition (in/out/touch/undecided) for the arc given by value. This the transition of the intersection line compared to the Arc of restriction, i-e when the function returns INSIDE for example, it means that the intersection line goes inside the part of plane limited by the arc of restriction.

  • IsTangent(): boolean

    Returns TRUE if the point is tangent to the arc given by Value. An exception is raised if TransitionType returns UNDECIDED.

  • Returns a significant value if TransitionType returns TOUCH. In this case, the function returns : INSIDE when the intersection line remains inside the Arc, OUTSIDE when it remains outside the Arc, UNKNOWN when the calsulus cannot give results. If TransitionType returns IN, or OUT, or UNDECIDED, a exception is raised.

  • IsOpposite(): boolean

    returns a significant value if TransitionType returns TOUCH. In this case, the function returns true when the 2 curves locally define two different parts of the space. If TransitionType returns IN or OUT or UNDECIDED, an exception is raised.