OpenCascade.js
API ReferenceModelingDataTKBRep

BRepTools

OCCT package BRepTools: BRepTools, BRepTools_CopyModification, BRepTools_GTrsfModification, BRepTools_History, and 10 more bound classes.

BRepTools

The BRepTools package provides utilities for BRep data structures.

  • WireExplorer: Tool to explore the topology of a wire in the order of the edges.
  • ShapeSet: Tools used for dumping, writing and reading.
  • UVBounds: Methods to compute the limits of the boundary of a face, a wire or an edge in the parametric space of a face.
  • Update: Methods to call when a topology has been created to compute all missing data.
  • UpdateFaceUVPoints: Method to update the UV points stored with the edges on a face.
  • Compare: Method to compare two vertices.
  • Compare: Method to compare two edges.
  • OuterWire: Method to find the outer wire of a face.
  • Map3DEdges: Method to map all the 3D Edges of a Shape.
  • Dump: Method to dump a BRep object.

Constructors(1)

Static methods(35)

  • UVBounds(F: TopoDS_Face, W: TopoDS_Wire, UMin: number, UMax: number, VMin: number, VMax: number): { UMin: number; UMax: number; VMin: number; VMax: number }

    Returns in UMin, UMax, VMin, VMax the bounding values of the wire in the parametric space of F.

    Parameters (6)
    • F
    • W
    • UMin
    • UMax
    • VMin
    • VMax
    Returns

    A result object with fields:

    • UMin: updated value from the call.
    • UMax: updated value from the call.
    • VMin: updated value from the call.
    • VMax: updated value from the call.
  • UVBounds(F: TopoDS_Face, E: TopoDS_Edge, UMin: number, UMax: number, VMin: number, VMax: number): { UMin: number; UMax: number; VMin: number; VMax: number }

    Returns in UMin, UMax, VMin, VMax the bounding values of the edge in the parametric space of F.

    Parameters (6)
    • F
    • E
    • UMin
    • UMax
    • VMin
    • VMax
    Returns

    A result object with fields:

    • UMin: updated value from the call.
    • UMax: updated value from the call.
    • VMin: updated value from the call.
    • VMax: updated value from the call.
  • Adds to the box the bounding values in the parametric space of F.

    Parameters (2)
    • F
    • B
      Mutated in place; read the updated value from this argument after the call.
  • Adds to the box the bounding values of the wire in the parametric space of F.

    Parameters (3)
    • F
    • W
    • B
      Mutated in place; read the updated value from this argument after the call.
  • Adds to the box the bounding values of the edge in the parametric space of F.

    Parameters (3)
    • F
    • E
    • B
      Mutated in place; read the updated value from this argument after the call.
  • Update a vertex (nothing is done).

    Parameters (1)
    • V
  • Update an edge, compute 2d bounding boxes.

    Parameters (1)
    • E
  • Update a wire (nothing is done).

    Parameters (1)
    • W
  • Update a Face, update UV points.

    Parameters (1)
    • F
  • Update a shell (nothing is done).

    Parameters (1)
    • S
  • Update a solid (nothing is done).

    Parameters (1)
    • S
  • Update a composite solid (nothing is done).

    Parameters (1)
    • C
  • Update a compound (nothing is done).

    Parameters (1)
    • C
  • Update a shape, call the correct update.

    Parameters (1)
    • S
  • For each edge of the face <F> reset the UV points to the bounding points of the parametric curve of the edge on the face.

    Parameters (1)
    • theF
  • Clean(theShape: TopoDS_Shape, theForce?: boolean): void

    Removes all cached polygonal representation of the shape, i.e. the triangulations of the faces of and polygons on triangulations and polygons 3d of the edges. In case polygonal representation is the only available representation for the shape (shape does not have geometry) it is not removed.

    Parameters (2)
    • theShape
      the shape to clean
    • theForce
      allows removing all polygonal representations from the shape, including polygons on triangulations irrelevant for the faces of the given shape.
  • CleanGeometry(theShape: TopoDS_Shape): void

    Removes geometry (curves and surfaces) from all edges and faces of the shape.

    Parameters (1)
    • theShape
  • Removes all the pcurves of the edges of that refer to surfaces not belonging to any face of .

    Parameters (1)
    • S
  • Triangulation(theShape: TopoDS_Shape, theLinDefl: number, theToCheckFreeEdges?: boolean): boolean

    Verifies that each Face from the shape has got a triangulation with a deflection smaller or equal to specified one and the Edges a discretization on this triangulation.

    Parameters (3)
    • theShape
      shape to verify
    • theLinDefl
      maximum allowed linear deflection
    • theToCheckFreeEdges
      if TRUE, then free Edges are required to have 3D polygon
    Returns

    FALSE if input Shape contains Faces without triangulation, or that triangulation has worse (greater) deflection than specified one, or Edges in Shape lack polygons on triangulation or free Edges in Shape lack 3D polygons

  • UnloadTriangulation(theShape: TopoDS_Shape, theTriangulationIdx?: number): boolean

    Releases triangulation data for each face of the shape if there is deferred storage to load it later.

    Parameters (2)
    • theShape
      shape to unload triangulations
    • theTriangulationIdx
      index defining what triangulation should be unloaded. Starts from 0. -1 is used in specific case to unload currently already active triangulation. If some face doesn't contain triangulation with this index, nothing will be unloaded for it. Exception will be thrown in case of invalid negative index
    Returns

    TRUE if at least one triangulation is unloaded.

  • ActivateTriangulation(theShape: TopoDS_Shape, theTriangulationIdx: number, theToActivateStrictly?: boolean): boolean

    Activates triangulation data for each face of the shape from some deferred storage using specified shared input file system.

    Parameters (3)
    • theShape
      shape to activate triangulations
    • theTriangulationIdx
      index defining what triangulation should be activated. Starts from 0. Exception will be thrown in case of invalid negative index
    • theToActivateStrictly
      flag to activate exactly triangulation with defined theTriangulationIdx index. In TRUE case if some face doesn't contain triangulation with this index, active triangulation will not be changed for it. Else the last available triangulation will be activated.
    Returns

    TRUE if at least one active triangulation was changed.

  • Releases all available triangulations for each face of the shape if there is deferred storage to load them later.

    Parameters (1)
    • theShape
      shape to unload triangulations
    Returns

    TRUE if at least one triangulation is unloaded.

  • Returns True if the distance between the two vertices is lower than their tolerance.

    Parameters (2)
    • V1
    • V2
  • Compare(E1: TopoDS_Edge, E2: TopoDS_Edge): boolean

    Returns True if the distance between the two edges is lower than their tolerance.

    Parameters (2)
    • E1
    • E2
  • Returns the outer most wire of <F>. Returns a Null wire if <F> has no wires.

    Parameters (1)
    • F
  • Stores in the map <M> all the 3D topology edges of .

    Parameters (2)
    • S
    • M
      Mutated in place; read the updated value from this argument after the call.
  • Verifies that the edge <E> is found two times on the face <F> before calling BRep_Tool::IsClosed.

    Parameters (2)
    • E
    • F
  • DetectClosedness(theFace: TopoDS_Face, theUclosed: boolean, theVclosed: boolean): { theUclosed: boolean; theVclosed: boolean }

    Detect closedness of face in U and V directions.

    Parameters (3)
    • theFace
    • theUclosed
    • theVclosed
    Returns

    A result object with fields:

    • theUclosed: updated value from the call.
    • theVclosed: updated value from the call.
  • Write(theShape: TopoDS_Shape, theFile: string, theProgress: Message_ProgressRange): boolean

    Writes the shape to the file in an ASCII format TopTools_FormatVersion_VERSION_1. This alias writes shape with triangulation data.

    Parameters (3)
    • theShape
      the shape to write
    • theFile
      the path to file to output shape into
    • theProgress
      the range of progress indicator to fill in
  • Write(theShape: TopoDS_Shape, theFile: string, theWithTriangles: boolean, theWithNormals: boolean, theVersion: TopTools_FormatVersion, theProgress: Message_ProgressRange): boolean

    Writes the shape to the file in an ASCII format of specified version.

    Parameters (6)
    • theShape
      the shape to write
    • theFile
      the path to file to output shape into
    • theWithTriangles
      flag which specifies whether to save shape with (TRUE) or without (FALSE) triangles; has no effect on triangulation-only geometry
    • theWithNormals
      flag which specifies whether to save triangulation with (TRUE) or without (FALSE) normals; has no effect on triangulation-only geometry
    • theVersion
      the TopTools format version
    • theProgress
      the range of progress indicator to fill in
  • Read(Sh: TopoDS_Shape, File: string, B: BRep_Builder, theProgress: Message_ProgressRange): boolean

    Reads a Shape from in returns it in <Sh>. is used to build the shape.

    Parameters (4)
    • Sh
      Mutated in place; read the updated value from this argument after the call.
    • File
    • B
    • theProgress
  • EvalAndUpdateTol(theE: TopoDS_Edge, theC3d: Geom_Curve, theC2d: Geom2d_Curve, theS: Geom_Surface, theF: number, theL: number): number

    Evals real tolerance of edge <theE>. <theC3d>, <theC2d>, <theS>, <theF>, <theL> are correspondently 3d curve of edge, 2d curve on surface <theS> and rang of edge If calculated tolerance is more then current edge tolerance, edge is updated. Method returns actual tolerance of edge.

    Parameters (6)
    • theE
    • theC3d
    • theC2d
    • theS
    • theF
    • theL
  • returns the cumul of the orientation of <Edge> and the containing wire in <Face>

    Parameters (2)
    • theEdge
    • theFace
  • RemoveInternals(theS: TopoDS_Shape, theForce: boolean): void

    Removes internal sub-shapes from the shape. The check on internal status is based on orientation of sub-shapes, classification is not performed. Before removal of internal sub-shapes the algorithm checks if such removal is not going to break topological connectivity between sub-shapes. The flag <theForce> if set to true disables the connectivity check and clears the given shape from all sub-shapes with internal orientation.

    Parameters (2)
    • theS
      Mutated in place; read the updated value from this argument after the call.
    • theForce
  • Check all locations of shape according criterium: aTrsf.IsNegative() || (std::abs(std::abs(aTrsf.ScaleFactor()) - 1.) > TopLoc_Location::ScalePrec()) All sub-shapes having such locations are put in list theProblemShapes.

    Parameters (2)
    • theS
    • theProblemShapes
      Mutated in place; read the updated value from this argument after the call.

BRepTools_CopyModification

Tool class implementing necessary functionality for copying geometry and triangulation.

Constructors(1)

  • constructor(theCopyGeom?: boolean, theCopyMesh?: boolean): BRepTools_CopyModification

    Constructor.

    Parameters (2)
    • theCopyGeom
      indicates that the geometry (surfaces and curves) should be copied
    • theCopyMesh
      indicates that the triangulation should be copied

Static methods(2)

Instance methods(10)

  • NewSurface(F: TopoDS_Face, L: TopLoc_Location, Tol: number, RevWires: boolean, RevFace: boolean): { returnValue: boolean; S: Geom_Surface; Tol: number; RevWires: boolean; RevFace: boolean; [Symbol.dispose](): void }

    Returns true if theFace has been modified. If the face has been modified:

    • theSurf is the new geometry of the face,
    • theLoc is its new location, and
    • theTol is the new tolerance. theRevWires, theRevFace are always set to false, because the orientation is not changed.
    Parameters (5)
    • F
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    • RevWires
    • RevFace
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • S: owned by the returned envelope.
    • Tol: updated value from the call.
    • RevWires: updated value from the call.
    • RevFace: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewCurve(E: TopoDS_Edge, L: TopLoc_Location, Tol: number): { returnValue: boolean; C: Geom_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if theEdge has been modified. If the edge has been modified:

    • theCurve is the new geometric support of the edge,
    • theLoc is the new location, and
    • theTol is the new tolerance. If the edge has not been modified, this function returns false, and the values of theCurve, theLoc and theTol are not significant.
    Parameters (3)
    • E
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewPoint(V: TopoDS_Vertex, P: gp_Pnt, Tol: number): { returnValue: boolean; Tol: number }

    Returns true if theVertex has been modified. If the vertex has been modified:

    • thePnt is the new geometry of the vertex, and
    • theTol is the new tolerance. If the vertex has not been modified this function returns false, and the values of thePnt and theTol are not significant.
    Parameters (3)
    • V
    • P
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Tol: updated value from the call.
  • NewCurve2d(E: TopoDS_Edge, F: TopoDS_Face, NewE: TopoDS_Edge, NewF: TopoDS_Face, Tol: number): { returnValue: boolean; C: Geom2d_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if theEdge has a new curve on surface on theFace. If a new curve exists:

    • theCurve is the new geometric support of the edge,
    • theTol the new tolerance. If no new curve exists, this function returns false, and the values of theCurve and theTol are not significant.
    Parameters (5)
    • E
    • F
    • NewE
    • NewF
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewParameter(V: TopoDS_Vertex, E: TopoDS_Edge, P: number, Tol: number): { returnValue: boolean; P: number; Tol: number }

    Returns true if theVertex has a new parameter on theEdge. If a new parameter exists:

    • thePnt is the parameter, and
    • theTol is the new tolerance. If no new parameter exists, this function returns false, and the values of thePnt and theTol are not significant.
    Parameters (4)
    • V
    • E
    • P
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: updated value from the call.
    • Tol: updated value from the call.
  • Returns the continuity of theNewEdge between theNewFace1 and theNewFace2.
    theNewEdge is the new edge created from theEdge. theNewFace1 (resp. theNewFace2) is the new face created from theFace1 (resp. theFace2).

    Parameters (6)
    • E
    • F1
    • F2
    • NewE
    • NewF1
    • NewF2
  • NewTriangulation(F: TopoDS_Face): { returnValue: boolean; T: Poly_Triangulation; [Symbol.dispose](): void }

    Returns true if the face has been modified according to changed triangulation. If the face has been modified:

    • theTri is a new triangulation on the face
    Parameters (1)
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • T: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygon(E: TopoDS_Edge): { returnValue: boolean; P: Poly_Polygon3D; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon. If the edge has been modified:

    • thePoly is a new polygon
    Parameters (1)
    • E
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygonOnTriangulation(E: TopoDS_Edge, F: TopoDS_Face): { returnValue: boolean; P: Poly_PolygonOnTriangulation; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:

    • thePoly is a new polygon on triangulation
    Parameters (2)
    • E
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

BRepTools_GTrsfModification

Defines a modification of the geometry by a GTrsf from gp. All methods return True and transform the geometry.

Constructors(1)

Static methods(2)

Instance methods(11)

  • Gives an access on the GTrsf.

  • NewSurface(F: TopoDS_Face, L: TopLoc_Location, Tol: number, RevWires: boolean, RevFace: boolean): { returnValue: boolean; S: Geom_Surface; Tol: number; RevWires: boolean; RevFace: boolean; [Symbol.dispose](): void }

    Returns true if the face <F> has been modified. In this case, is the new geometric support of the face, <L> the new location,<Tol> the new tolerance.<RevWires> has to be set to true when the modification reverses the normal of the surface. (the wires have to be reversed). <RevFace> has to be set to true if the orientation of the modified face changes in the shells which contain it. Here, <RevFace> will return true if the.

    Parameters (5)
    • F
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    • RevWires
    • RevFace
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • S: owned by the returned envelope.
    • Tol: updated value from the call.
    • RevWires: updated value from the call.
    • RevFace: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewCurve(E: TopoDS_Edge, L: TopLoc_Location, Tol: number): { returnValue: boolean; C: Geom_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge <E> has been modified. In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns false, and , <L>, <Tol> are not significant.

    Parameters (3)
    • E
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewPoint(V: TopoDS_Vertex, P: gp_Pnt, Tol: number): { returnValue: boolean; Tol: number }

    Returns true if the vertex <V> has been modified. In this case,.
    is the new geometric support of the vertex, <Tol> the new tolerance. Otherwise, returns false, and
    , <Tol> are not significant.

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

    A result object with fields:

    • returnValue: the C++ return value
    • Tol: updated value from the call.
  • NewCurve2d(E: TopoDS_Edge, F: TopoDS_Face, NewE: TopoDS_Edge, NewF: TopoDS_Face, Tol: number): { returnValue: boolean; C: Geom2d_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge <E> has a new curve on surface on the face <F>.In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns false, and , <L>, <Tol> are not significant.

    Parameters (5)
    • E
    • F
    • NewE
    • NewF
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewParameter(V: TopoDS_Vertex, E: TopoDS_Edge, P: number, Tol: number): { returnValue: boolean; P: number; Tol: number }

    Returns true if the Vertex <V> has a new parameter on the edge <E>. In this case,.
    is the parameter, <Tol> the new tolerance. Otherwise, returns false, and
    , <Tol> are not significant.

    Parameters (4)
    • V
    • E
    • P
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: updated value from the call.
    • Tol: updated value from the call.
  • Returns the continuity of <NewE> between <NewF1> and <NewF2>.
    <NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>).

    Parameters (6)
    • E
    • F1
    • F2
    • NewE
    • NewF1
    • NewF2
  • NewTriangulation(F: TopoDS_Face): { returnValue: boolean; T: Poly_Triangulation; [Symbol.dispose](): void }

    Returns true if the face has been modified according to changed triangulation. If the face has been modified:

    • theTri is a new triangulation on the face
    Parameters (1)
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • T: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygon(E: TopoDS_Edge): { returnValue: boolean; P: Poly_Polygon3D; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon. If the edge has been modified:

    • thePoly is a new polygon
    Parameters (1)
    • E
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygonOnTriangulation(E: TopoDS_Edge, F: TopoDS_Face): { returnValue: boolean; P: Poly_PolygonOnTriangulation; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:

    • thePoly is a new polygon on triangulation
    Parameters (2)
    • E
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

BRepTools_History

The history keeps the following relations between the input shapes (S1, ..., Sm) and output shapes (T1, ..., Tn): 1) an output shape Tj is generated from an input shape Si: Tj <= G(Si); 2) a output shape Tj is modified from an input shape Si: Tj <= M(Si); 3) an input shape (Si) is removed: R(Si) == 1.
The relations are kept only for shapes of types vertex, edge, face, and solid.
The last relation means that: 1) shape Si is not an output shape and 2) no any shape is modified (produced) from shape Si: R(Si) == 1 ==> Si != Tj, M(Si) == 0.
It means that the input shape cannot be removed and modified simultaneously. However, the shapes may be generated from the removed shape. For instance, in Fillet operation the edges generate faces and then are removed.
No any shape could be generated and modified from the same shape simultaneously: sets G(Si) and M(Si) are not intersected (G(Si) ^ M(Si) == 0).
Each output shape should be: 1) an input shape or 2) generated or modified from an input shape (even generated from the implicit null shape if necessary): Tj == Si V (exists Si that Tj <= G(Si) U M(Si)).
Recommendations to choose between relations 'generated' and 'modified': 1) a shape is generated from input shapes if it dimension is greater or smaller than the dimensions of the input shapes; 2) a shape is generated from input shapes if these shapes are also output shapes; 3) a shape is generated from input shapes of the same dimension if it is produced by joining shapes generated from these shapes; 4) a shape is modified from an input shape if it replaces the input shape by changes of the location, the tolerance, the bounds of the parametric space (the faces for a solid), the parametrization and/or by applying of an approximation; 5) a shape is modified from input shapes of the same dimension if it is produced by joining shapes modified from these shapes.
Two sequential histories:

  • one history (H12) of shapes S1, ..., Sm to shapes T1, ..., Tn and
  • another history (H23) of shapes T1, ..., Tn to shapes Q1, ..., Ql could be merged to the single history (H13) of shapes S1, ..., Sm to shapes Q1, ..., Ql.
    During the merge: 1) if shape Tj is generated from shape Si then each shape generated or modified from shape Tj is considered as a shape generated from shape Si among shapes Q1, ..., Ql: Tj <= G12(Si), Qk <= G23(Tj) U M23(Tj) ==> Qk <= G13(Si). 2) if shape Tj is modified from shape Si, shape Qk is generated from shape Tj then shape Qk is considered as a shape generated from shape Si among shapes Q1, ..., Ql: Tj <= M12(Si), Qk <= G23(Tj) ==> Qk <= G13(Si); 3) if shape Tj is modified from shape Si, shape Qk is modified from shape Tj then shape Qk is considered as a shape modified from shape Si among shapes Q1, ..., Ql: Tj <= M12(Si), Qk <= M23(Tj) ==> Qk <= M13(Si);

Constructors(1)

Static methods(3)

Instance methods(14)

BRepTools_Modification

Defines geometric modifications to a shape, i.e. changes to faces, edges and vertices.

Static methods(2)

Instance methods(10)

  • NewSurface(F: TopoDS_Face, L: TopLoc_Location, Tol: number, RevWires: boolean, RevFace: boolean): { returnValue: boolean; S: Geom_Surface; Tol: number; RevWires: boolean; RevFace: boolean; [Symbol.dispose](): void }

    Returns true if the face, F, has been modified. If the face has been modified:

    • S is the new geometry of the face,
    • L is its new location, and
    • Tol is the new tolerance. The flag, RevWires, is set to true when the modification reverses the normal of the surface, (i.e. the wires have to be reversed). The flag, RevFace, is set to true if the orientation of the modified face changes in the shells which contain it. If the face has not been modified this function returns false, and the values of S, L, Tol, RevWires and RevFace are not significant.
    Parameters (5)
    • F
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    • RevWires
    • RevFace
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • S: owned by the returned envelope.
    • Tol: updated value from the call.
    • RevWires: updated value from the call.
    • RevFace: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewTriangulation(F: TopoDS_Face): { returnValue: boolean; T: Poly_Triangulation; [Symbol.dispose](): void }

    Returns true if the face has been modified according to changed triangulation. If the face has been modified:

    • T is a new triangulation on the face
    Parameters (1)
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • T: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewCurve(E: TopoDS_Edge, L: TopLoc_Location, Tol: number): { returnValue: boolean; C: Geom_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge, E, has been modified. If the edge has been modified:

    • C is the new geometry associated with the edge,
    • L is its new location, and
    • Tol is the new tolerance. If the edge has not been modified, this function returns false, and the values of C, L and Tol are not significant.
    Parameters (3)
    • E
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygon(E: TopoDS_Edge): { returnValue: boolean; P: Poly_Polygon3D; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon. If the edge has been modified:

    • P is a new polygon
    Parameters (1)
    • E
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygonOnTriangulation(E: TopoDS_Edge, F: TopoDS_Face): { returnValue: boolean; P: Poly_PolygonOnTriangulation; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:

    • P is a new polygon on triangulation
    Parameters (2)
    • E
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPoint(V: TopoDS_Vertex, P: gp_Pnt, Tol: number): { returnValue: boolean; Tol: number }

    Returns true if the vertex V has been modified. If V has been modified:

    • P is the new geometry of the vertex, and
    • Tol is the new tolerance. If the vertex has not been modified this function returns false, and the values of P and Tol are not significant.
    Parameters (3)
    • V
    • P
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Tol: updated value from the call.
  • NewCurve2d(E: TopoDS_Edge, F: TopoDS_Face, NewE: TopoDS_Edge, NewF: TopoDS_Face, Tol: number): { returnValue: boolean; C: Geom2d_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge, E, has a new curve on surface on the face, F. If a new curve exists:

    • C is the new geometry of the edge,
    • L is the new location, and
    • Tol is the new tolerance. NewE is the new edge created from E, and NewF is the new face created from F. If there is no new curve on the face, this function returns false, and the values of C, L and Tol are not significant.
    Parameters (5)
    • E
    • F
    • NewE
    • NewF
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewParameter(V: TopoDS_Vertex, E: TopoDS_Edge, P: number, Tol: number): { returnValue: boolean; P: number; Tol: number }

    Returns true if the vertex V has a new parameter on the edge E. If a new parameter exists:

    • P is the parameter, and
    • Tol is the new tolerance. If there is no new parameter this function returns false, and the values of P and Tol are not significant.
    Parameters (4)
    • V
    • E
    • P
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: updated value from the call.
    • Tol: updated value from the call.
  • Returns the continuity of <NewE> between <NewF1> and <NewF2>. <NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>).

    Parameters (6)
    • E
    • F1
    • F2
    • NewE
    • NewF1
    • NewF2

BRepTools_Modifier

Performs geometric modifications on a shape.

Constructors(3)

Instance methods(6)

BRepTools_NurbsConvertModification

Defines a modification of the geometry by a Trsf from gp. All methods return True and transform the geometry.

Constructors(1)

Static methods(2)

Instance methods(11)

  • NewSurface(F: TopoDS_Face, L: TopLoc_Location, Tol: number, RevWires: boolean, RevFace: boolean): { returnValue: boolean; S: Geom_Surface; Tol: number; RevWires: boolean; RevFace: boolean; [Symbol.dispose](): void }

    Returns true if the face <F> has been modified. In this case, is the new geometric support of the face, <L> the new location,<Tol> the new tolerance.<RevWires> has to be set to true when the modification reverses the normal of the surface. (the wires have to be reversed). <RevFace> has to be set to true if the orientation of the modified face changes in the shells which contain it. Here, <RevFace> will return true if the.

    Parameters (5)
    • F
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    • RevWires
    • RevFace
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • S: owned by the returned envelope.
    • Tol: updated value from the call.
    • RevWires: updated value from the call.
    • RevFace: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewCurve(E: TopoDS_Edge, L: TopLoc_Location, Tol: number): { returnValue: boolean; C: Geom_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge <E> has been modified. In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns false, and , <L>, <Tol> are not significant.

    Parameters (3)
    • E
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewPoint(V: TopoDS_Vertex, P: gp_Pnt, Tol: number): { returnValue: boolean; Tol: number }

    Returns true if the vertex <V> has been modified. In this case,.
    is the new geometric support of the vertex, <Tol> the new tolerance. Otherwise, returns false, and
    , <Tol> are not significant.

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

    A result object with fields:

    • returnValue: the C++ return value
    • Tol: updated value from the call.
  • NewCurve2d(E: TopoDS_Edge, F: TopoDS_Face, NewE: TopoDS_Edge, NewF: TopoDS_Face, Tol: number): { returnValue: boolean; C: Geom2d_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge <E> has a new curve on surface on the face <F>.In this case, is the new geometric support of the edge, <L> the new location, <Tol> the new tolerance. Otherwise, returns false, and , <L>, <Tol> are not significant.

    Parameters (5)
    • E
    • F
    • NewE
    • NewF
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewParameter(V: TopoDS_Vertex, E: TopoDS_Edge, P: number, Tol: number): { returnValue: boolean; P: number; Tol: number }

    Returns true if the Vertex <V> has a new parameter on the edge <E>. In this case,.
    is the parameter, <Tol> the new tolerance. Otherwise, returns false, and
    , <Tol> are not significant.

    Parameters (4)
    • V
    • E
    • P
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: updated value from the call.
    • Tol: updated value from the call.
  • Returns the continuity of <NewE> between <NewF1> and <NewF2>.
    <NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>).

    Parameters (6)
    • E
    • F1
    • F2
    • NewE
    • NewF1
    • NewF2
  • NewTriangulation(F: TopoDS_Face): { returnValue: boolean; T: Poly_Triangulation; [Symbol.dispose](): void }

    Returns true if the face has been modified according to changed triangulation. If the face has been modified:

    • theTri is a new triangulation on the face
    Parameters (1)
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • T: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygon(E: TopoDS_Edge): { returnValue: boolean; P: Poly_Polygon3D; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon. If the edge has been modified:

    • thePoly is a new polygon
    Parameters (1)
    • E
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygonOnTriangulation(E: TopoDS_Edge, F: TopoDS_Face): { returnValue: boolean; P: Poly_PolygonOnTriangulation; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:

    • thePoly is a new polygon on triangulation
    Parameters (2)
    • E
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

BRepTools_PurgeLocations

Removes location datums, which satisfy conditions: aTrsf.IsNegative() || (std::abs(std::abs(aTrsf.ScaleFactor()) - 1.) > TopLoc_Location::ScalePrec()) from all locations of shape and its subshapes.

Constructors(1)

Instance methods(4)

BRepTools_Quilt

A Tool to glue faces at common edges and reconstruct shells.
The user designate pairs of common edges using the method Bind. One edge is designated as the edge to use in place of the other one (they are supposed to be geometrically confused, but this not checked). They can be of opposite directions, this is specified by the orientations.
The user can add shapes with the Add method, all the faces are registered and copies of faces and edges are made to glue at the bound edges.
The user can call the Shells methods to compute a compound of shells from the current set of faces.
If no binding is made this class can be used to make shell from faces already sharing their edges.

Constructors(1)

Instance methods(6)

  • Bind(Eold: TopoDS_Edge, Enew: TopoDS_Edge): void

    Binds <Enew> to be the new edge instead of <Eold>.
    The faces of the added shape containing <Eold> will be copied to substitute <Eold> by <Enew>.
    The vertices of <Eold> will be bound to the vertices of <Enew> with the same orientation.
    If <Eold> and <Enew> have different orientations the curves are considered to be opposite and the pcurves of <Eold> will be copied and reversed in the new faces.
    <Eold> must belong to the next added shape, <Enew> must belong to a Shape added before.

    Parameters (2)
    • Eold
    • Enew
  • Bind(Vold: TopoDS_Vertex, Vnew: TopoDS_Vertex): void

    Binds <VNew> to be a new vertex instead of <Vold>.
    The faces of the added shape containing <Vold> will be copied to substitute <Vold> by <Vnew>.

    Parameters (2)
    • Vold
    • Vnew
  • Add(S: TopoDS_Shape): void

    Add the faces of to the Quilt, the faces containing bounded edges are copied.

    Parameters (1)
    • S
  • IsCopied(S: TopoDS_Shape): boolean

    Returns True if has been copied (is a vertex, an edge or a face).

    Parameters (1)
    • S
  • Returns the shape substituted to in the Quilt.

    Parameters (1)
    • S
  • Returns a Compound of shells made from the current set of faces. The shells will be flagged as closed or not closed.

BRepTools_ReShape

Rebuilds a Shape by making pre-defined substitutions on some of its components.
In a first phase, it records requests to replace or remove some individual shapes For each shape, the last given request is recorded Requests may be applied "Oriented" (i.e. only to an item with the SAME orientation) or not (the orientation of replacing shape is respectful of that of the original one)
Then, these requests may be applied to any shape which may contain one or more of these individual shapes
Supports the 'BRepTools_History' history by method 'History'.

Constructors(1)

Static methods(2)

Instance methods(14)

  • Clear(): void

    Clears all substitutions requests.

  • Remove(shape: TopoDS_Shape): void

    Sets a request to Remove a Shape whatever the orientation.

    Parameters (1)
    • shape
  • Replace(shape: TopoDS_Shape, newshape: TopoDS_Shape): void

    Sets a request to Replace a Shape by a new one.

    Parameters (2)
    • shape
    • newshape
  • IsRecorded(shape: TopoDS_Shape): boolean

    Tells if a shape is recorded for Replace/Remove.

    Parameters (1)
    • shape
  • Returns the new value for an individual shape If not recorded, returns the original shape itself If to be Removed, returns a Null Shape Else, returns the replacing item.

    Parameters (1)
    • shape
  • Follows the replacement chain for theShape to its leaf without descending into sub-shapes. Iterates Value() until a fixpoint is reached. Unlike Apply(), this does not rebuild the shape from its children, so it is safe to call on edges/wires whose sub-shapes have their own pending replacements (avoids cascading sub-shape re-expansion).

    Parameters (1)
    • theShape
    Returns

    the final replacement, or the original shape if not recorded, or a Null shape if the chain terminates in a Remove.

  • Status(shape: TopoDS_Shape, newsh: TopoDS_Shape, last: boolean): number

    Returns a complete substitution status for a shape 0 : not recorded, <newsh> = original <shape> < 0: to be removed, <newsh> is NULL.
    0: to be replaced, <newsh> is a new item If <last> is False, returns status and new shape recorded in the map directly for the shape, if True and status > 0 then recursively searches for the last status and new shape.

    Parameters (3)
    • shape
    • newsh
      Mutated in place; read the updated value from this argument after the call.
    • last
  • Applies the substitutions requests to a shape.
    theUntil gives the level of type until which requests are taken into account. For subshapes of the type <until> no rebuild and further exploring are done.
    NOTE: each subshape can be replaced by shape of the same type or by shape containing only shapes of that type (for example, TopoDS_Edge can be replaced by TopoDS_Edge, TopoDS_Wire or TopoDS_Compound containing TopoDS_Edges). If incompatible shape type is encountered, it is ignored and flag FAIL1 is set in Status.

    Parameters (2)
    • theShape
    • theUntil
  • Returns (modifiable) the flag which defines whether Location of shape take into account during replacing shapes.

  • CopyVertex(theV: TopoDS_Vertex, theTol: number): TopoDS_Vertex

    Returns modified copy of vertex if original one is not recorded or returns modified original vertex otherwise.

    Parameters (2)
    • theV
    • theTol
  • CopyVertex(theV: TopoDS_Vertex, theNewPos: gp_Pnt, aTol: number): TopoDS_Vertex

    Returns modified copy of vertex if original one is not recorded or returns modified original vertex otherwise.

    Parameters (3)
    • theV
    • theNewPos
    • aTol
  • IsNewShape(theShape: TopoDS_Shape): boolean

    Checks if shape has been recorded by reshaper as a value.

    Parameters (1)
    • theShape
  • Returns the history of the substituted shapes.

BRepTools_ShapeSet

Contains a Shape and all its subshapes, locations and geometries.
The topology is inherited from TopTools.

Constructors(2)

  • constructor(theWithTriangles?: boolean, theWithNormals?: boolean): BRepTools_ShapeSet

    Builds an empty ShapeSet.

    Parameters (2)
    • theWithTriangles
      flag to write triangulation data
    • theWithNormals
  • constructor(theBuilder: BRep_Builder, theWithTriangles?: boolean, theWithNormals?: boolean): BRepTools_ShapeSet

    Builds an empty ShapeSet.

    Parameters (3)
    • theBuilder
    • theWithTriangles
      flag to write triangulation data
    • theWithNormals

Instance methods(8)

  • IsWithTriangles(): boolean

    Return true if shape should be stored with triangles.

  • IsWithNormals(): boolean

    Return true if shape should be stored triangulation with normals.

  • SetWithTriangles(theWithTriangles: boolean): void

    Define if shape will be stored with triangles. Ignored (always written) if face defines only triangulation (no surface).

    Parameters (1)
    • theWithTriangles
  • SetWithNormals(theWithNormals: boolean): void

    Define if shape will be stored triangulation with normals. Ignored (always written) if face defines only triangulation (no surface).

    Parameters (1)
    • theWithNormals
  • Clear(): void

    Clears the content of the set.

  • Stores the geometry of .

    Parameters (1)
    • S
  • Inserts the shape <S2> in the shape <S1>. This method must be redefined to use the correct builder.

    Parameters (2)
    • S1
      Mutated in place; read the updated value from this argument after the call.
    • S2
  • This method is called after each new completed shape. <T> is the type. is the shape. In this class it does nothing, but it gives the opportunity in derived classes to perform extra treatment on shapes.

    Parameters (2)
    • T
    • S
      Mutated in place; read the updated value from this argument after the call.

BRepTools_Substitution

A tool to substitute subshapes by other shapes.
The user use the method Substitute to define the modifications. A set of shapes is designated to replace a initial shape.
The method Build reconstructs a new Shape with the modifications.The Shape and the new shape are registered.

Constructors(1)

Instance methods(5)

  • Clear(): void

    Reset all the fields.

  • <Oldshape> will be replaced by <NewShapes>.
    <NewShapes> can be empty, in this case <OldShape> will disparate from its ancestors.
    if an item of <NewShapes> is oriented FORWARD. it will be oriented as <OldShape> in its ancestors. else it will be reversed.

    Parameters (2)
    • OldShape
    • NewShapes
  • Build NewShape from if its subshapes has modified.
    The methods <IsCopied> and <Copy> allows you to keep the resul of <Build>

    Parameters (1)
    • S
  • IsCopied(S: TopoDS_Shape): boolean

    Returns True if has been replaced.

    Parameters (1)
    • S
  • Returns the set of shapes substituted to .

    Parameters (1)
    • S

BRepTools_TrsfModification

Describes a modification that uses a gp_Trsf to change the geometry of a shape. All functions return true and transform the geometry of the shape.

Constructors(1)

Static methods(2)

Instance methods(12)

  • Provides access to the gp_Trsf associated with this modification. The transformation can be changed.

  • IsCopyMesh(): boolean

    Sets a flag to indicate the need to copy mesh.

  • NewSurface(F: TopoDS_Face, L: TopLoc_Location, Tol: number, RevWires: boolean, RevFace: boolean): { returnValue: boolean; S: Geom_Surface; Tol: number; RevWires: boolean; RevFace: boolean; [Symbol.dispose](): void }

    Returns true if the face F has been modified. If the face has been modified:

    • S is the new geometry of the face,
    • L is its new location, and
    • Tol is the new tolerance. RevWires is set to true when the modification reverses the normal of the surface (the wires have to be reversed). RevFace is set to true if the orientation of the modified face changes in the shells which contain it. For this class, RevFace returns true if the gp_Trsf associated with this modification is negative.
    Parameters (5)
    • F
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    • RevWires
    • RevFace
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • S: owned by the returned envelope.
    • Tol: updated value from the call.
    • RevWires: updated value from the call.
    • RevFace: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewTriangulation(F: TopoDS_Face): { returnValue: boolean; T: Poly_Triangulation; [Symbol.dispose](): void }

    Returns true if the face has been modified according to changed triangulation. If the face has been modified:

    • T is a new triangulation on the face
    Parameters (1)
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • T: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygon(E: TopoDS_Edge): { returnValue: boolean; P: Poly_Polygon3D; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon. If the edge has been modified:

    • P is a new polygon
    Parameters (1)
    • E
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewPolygonOnTriangulation(E: TopoDS_Edge, F: TopoDS_Face): { returnValue: boolean; P: Poly_PolygonOnTriangulation; [Symbol.dispose](): void }

    Returns true if the edge has been modified according to changed polygon on triangulation. If the edge has been modified:

    • P is a new polygon on triangulation
    Parameters (2)
    • E
    • F
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewCurve(E: TopoDS_Edge, L: TopLoc_Location, Tol: number): { returnValue: boolean; C: Geom_Curve; Tol: number; [Symbol.dispose](): void }

    Always returns true indicating that the edge E is always modified.

    • C is the new geometric support of the edge,
    • L is the new location, and
    • Tol is the new tolerance.
    Parameters (3)
    • E
    • L
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewPoint(V: TopoDS_Vertex, P: gp_Pnt, Tol: number): { returnValue: boolean; Tol: number }

    Returns true if the vertex V has been modified. If the vertex has been modified:

    • P is the new geometry of the vertex, and
    • Tol is the new tolerance. If the vertex has not been modified this function returns false, and the values of P and Tol are not significant.
    Parameters (3)
    • V
    • P
      Mutated in place; read the updated value from this argument after the call.
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • Tol: updated value from the call.
  • NewCurve2d(E: TopoDS_Edge, F: TopoDS_Face, NewE: TopoDS_Edge, NewF: TopoDS_Face, Tol: number): { returnValue: boolean; C: Geom2d_Curve; Tol: number; [Symbol.dispose](): void }

    Returns true if the edge E has a new curve on surface on the face F. If a new curve exists:

    • C is the new geometric support of the edge,
    • L is the new location, and
    • Tol the new tolerance. If no new curve exists, this function returns false, and the values of C, L and Tol are not significant.
    Parameters (5)
    • E
    • F
    • NewE
    • NewF
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • C: owned by the returned envelope.
    • Tol: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • NewParameter(V: TopoDS_Vertex, E: TopoDS_Edge, P: number, Tol: number): { returnValue: boolean; P: number; Tol: number }

    Returns true if the Vertex V has a new parameter on the edge E. If a new parameter exists:

    • P is the parameter, and
    • Tol is the new tolerance. If no new parameter exists, this function returns false, and the values of P and Tol are not significant.
    Parameters (4)
    • V
    • E
    • P
    • Tol
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • P: updated value from the call.
    • Tol: updated value from the call.
  • Returns the continuity of <NewE> between <NewF1> and <NewF2>.
    <NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>).

    Parameters (6)
    • E
    • F1
    • F2
    • NewE
    • NewF1
    • NewF2

BRepTools_WireExplorer

The WireExplorer is a tool to explore the edges of a wire in a connection order.
i.e. each edge is connected to the previous one by its origin. If a wire is not closed returns only a segment of edges which length depends on started in exploration edge. Algorithm suggests that wire is valid and has no any defects, which can stop edge exploration.
Such defects can be loops, wrong orientation of edges (two edges go in to shared vertex or go out from shared vertex), branching of edges, the presens of edges with INTERNAL or EXTERNAL orientation.
If wire has such kind of defects WireExplorer can return not all edges in a wire. it depends on type of defect and position of starting edge.

Constructors(3)

Instance methods(9)

  • Init(W: TopoDS_Wire): void

    Initializes an exploration of the wire <W>.

    Parameters (1)
    • W
  • Initializes an exploration of the wire <W>. F is used to select the edge connected to the previous in the parametric representation of <F>.

    Parameters (2)
    • W
    • F
  • Init(W: TopoDS_Wire, F: TopoDS_Face, UMin: number, UMax: number, VMin: number, VMax: number): void

    Initializes an exploration of the wire <W>. F is used to select the edge connected to the previous in the parametric representation of <F>. <UMIn>, <UMax>, <VMin>, <VMax> - the UV bounds of the face <F>.

    Parameters (6)
    • W
    • F
    • UMin
    • UMax
    • VMin
    • VMax
  • More(): boolean

    Returns True if there is a current edge.

  • Next(): void

    Proceeds to the next edge.

  • Returns the current edge.

  • Returns an Orientation for the current edge.

  • Returns the vertex connecting the current edge to the previous one.

  • Clear(): void

    Clears the content of the explorer.