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)FWUMinUMaxVMinVMax
ReturnsA 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)FEUMinUMaxVMinVMax
ReturnsA 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.
- AddUVBounds(F: TopoDS_Face, B: Bnd_Box2d): void
Adds to the box the bounding values in the parametric space of F.
Parameters (2)FB—Mutated in place; read the updated value from this argument after the call.
- AddUVBounds(F: TopoDS_Face, W: TopoDS_Wire, B: Bnd_Box2d): void
Adds to the box the bounding values of the wire in the parametric space of F.
Parameters (3)FWB—Mutated in place; read the updated value from this argument after the call.
- AddUVBounds(F: TopoDS_Face, E: TopoDS_Edge, B: Bnd_Box2d): void
Adds to the box the bounding values of the edge in the parametric space of F.
Parameters (3)FEB—Mutated in place; read the updated value from this argument after the call.
- Update(V: TopoDS_Vertex): void
Update a vertex (nothing is done).
Parameters (1)V
- Update(E: TopoDS_Edge): void
Update an edge, compute 2d bounding boxes.
Parameters (1)E
- Update(W: TopoDS_Wire): void
Update a wire (nothing is done).
Parameters (1)W
- Update(F: TopoDS_Face): void
Update a Face, update UV points.
Parameters (1)F
- Update(S: TopoDS_Shell): void
Update a shell (nothing is done).
Parameters (1)S
- Update(S: TopoDS_Solid): void
Update a solid (nothing is done).
Parameters (1)S
- Update(C: TopoDS_CompSolid): void
Update a composite solid (nothing is done).
Parameters (1)C
- Update(C: TopoDS_Compound): void
Update a compound (nothing is done).
Parameters (1)C
- Update(S: TopoDS_Shape): void
Update a shape, call the correct update.
Parameters (1)S
- UpdateFaceUVPoints(theF: TopoDS_Face): void
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 cleantheForce—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
- RemoveUnusedPCurves(S: TopoDS_Shape): void
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 verifytheLinDefl—maximum allowed linear deflectiontheToCheckFreeEdges—if TRUE, then free Edges are required to have 3D polygon
ReturnsFALSE 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 triangulationstheTriangulationIdx—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
ReturnsTRUE 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 triangulationstheTriangulationIdx—index defining what triangulation should be activated. Starts from 0. Exception will be thrown in case of invalid negative indextheToActivateStrictly—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.
ReturnsTRUE if at least one active triangulation was changed.
- UnloadAllTriangulations(theShape: TopoDS_Shape): boolean
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
ReturnsTRUE if at least one triangulation is unloaded.
- Compare(V1: TopoDS_Vertex, V2: TopoDS_Vertex): boolean
Returns True if the distance between the two vertices is lower than their tolerance.
Parameters (2)V1V2
- Compare(E1: TopoDS_Edge, E2: TopoDS_Edge): boolean
Returns True if the distance between the two edges is lower than their tolerance.
Parameters (2)E1E2
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)SM—Mutated in place; read the updated value from this argument after the call.
- IsReallyClosed(E: TopoDS_Edge, F: TopoDS_Face): boolean
Verifies that the edge <E> is found two times on the face <F> before calling
BRep_Tool::IsClosed.Parameters (2)EF
- DetectClosedness(theFace: TopoDS_Face, theUclosed: boolean, theVclosed: boolean): { theUclosed: boolean; theVclosed: boolean }
Detect closedness of face in U and V directions.
Parameters (3)theFacetheUclosedtheVclosed
ReturnsA 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 writetheFile—the path to file to output shape intotheProgress—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 writetheFile—the path to file to output shape intotheWithTriangles—flag which specifies whether to save shape with (TRUE) or without (FALSE) triangles; has no effect on triangulation-only geometrytheWithNormals—flag which specifies whether to save triangulation with (TRUE) or without (FALSE) normals; has no effect on triangulation-only geometrytheVersion—theTopToolsformat versiontheProgress—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.FileBtheProgress
- 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)theEtheC3dtheC2dtheStheFtheL
- OriEdgeInFace(theEdge: TopoDS_Edge, theFace: TopoDS_Face): TopAbs_Orientation
returns the cumul of the orientation of <Edge> and the containing wire in <Face>
Parameters (2)theEdgetheFace
- 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
- CheckLocations(theS: TopoDS_Shape, theProblemShapes: NCollection_List_TopoDS_Shape): void
Check all locations of shape according criterium: aTrsf.IsNegative() || (std::abs(std::abs(aTrsf.ScaleFactor()) - 1.) >
TopLoc_Location::ScalePrec()) All sub-shapes having such locations are put in list theProblemShapes.Parameters (2)theStheProblemShapes—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 copiedtheCopyMesh—indicates that the triangulation should be copied
Static methods(2)
- get_type_name(): string
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)FL—Mutated in place; read the updated value from this argument after the call.TolRevWiresRevFace
ReturnsA result object with fields:
returnValue: the C++ return valueS: 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)EL—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VP—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueTol: 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)EFNewENewFTol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VEPTol
ReturnsA result object with fields:
returnValue: the C++ return valueP: updated value from the call.Tol: updated value from the call.
- Continuity(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face, NewE: TopoDS_Edge, NewF1: TopoDS_Face, NewF2: TopoDS_Face): GeomAbs_Shape
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)EF1F2NewENewF1NewF2
- 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
ReturnsA result object with fields:
returnValue: the C++ return valueT: 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
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EF
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)
- Parameters (1)
T
Static methods(2)
- get_type_name(): string
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.
gp_Trsfis negative.
Parameters (5)FL—Mutated in place; read the updated value from this argument after the call.TolRevWiresRevFace
ReturnsA result object with fields:
returnValue: the C++ return valueS: 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)EL—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VP—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueTol: 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)EFNewENewFTol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VEPTol
ReturnsA result object with fields:
returnValue: the C++ return valueP: updated value from the call.Tol: updated value from the call.
- Continuity(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face, NewE: TopoDS_Edge, NewF1: TopoDS_Face, NewF2: TopoDS_Face): GeomAbs_Shape
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)EF1F2NewENewF1NewF2
- 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
ReturnsA result object with fields:
returnValue: the C++ return valueT: 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
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EF
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)
- IsSupportedType(theShape: TopoDS_Shape): booleanParameters (1)
theShape
- get_type_name(): string
Instance methods(14)
- AddGenerated(theInitial: TopoDS_Shape, theGenerated: TopoDS_Shape): voidParameters (2)
theInitialtheGenerated
- AddModified(theInitial: TopoDS_Shape, theModified: TopoDS_Shape): voidParameters (2)
theInitialtheModified
- Remove(theRemoved: TopoDS_Shape): voidParameters (1)
theRemoved
- ReplaceGenerated(theInitial: TopoDS_Shape, theGenerated: TopoDS_Shape): voidParameters (2)
theInitialtheGenerated
- ReplaceModified(theInitial: TopoDS_Shape, theModified: TopoDS_Shape): voidParameters (2)
theInitialtheModified
- Clear(): void
- Generated(theInitial: TopoDS_Shape): NCollection_List_TopoDS_ShapeParameters (1)
theInitial
- Modified(theInitial: TopoDS_Shape): NCollection_List_TopoDS_ShapeParameters (1)
theInitial
- IsRemoved(theInitial: TopoDS_Shape): booleanParameters (1)
theInitial
- HasGenerated(): boolean
- HasModified(): boolean
- HasRemoved(): boolean
- Merge(theHistory23: BRepTools_History): voidParameters (1)
theHistory23
BRepTools_Modification
Defines geometric modifications to a shape, i.e. changes to faces, edges and vertices.
Static methods(2)
- get_type_name(): string
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)FL—Mutated in place; read the updated value from this argument after the call.TolRevWiresRevFace
ReturnsA result object with fields:
returnValue: the C++ return valueS: 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
ReturnsA result object with fields:
returnValue: the C++ return valueT: 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)EL—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EF
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)VP—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueTol: 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)EFNewENewFTol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VEPTol
ReturnsA result object with fields:
returnValue: the C++ return valueP: updated value from the call.Tol: updated value from the call.
- Continuity(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face, NewE: TopoDS_Edge, NewF1: TopoDS_Face, NewF2: TopoDS_Face): GeomAbs_Shape
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)EF1F2NewENewF1NewF2
BRepTools_Modifier
Performs geometric modifications on a shape.
Constructors(3)
- constructor(theMutableInput?: boolean): BRepTools_Modifier
Creates an empty Modifier.
Parameters (1)theMutableInput
Creates a modifier on the shape .
Parameters (1)S
Creates a modifier on the shape , and performs the modifications described by <M>.
Parameters (2)SM
Instance methods(6)
- Init(S: TopoDS_Shape): void
Initializes the modifier with the shape .
Parameters (1)S
- Perform(M: BRepTools_Modification, theProgress?: Message_ProgressRange): void
Performs the modifications described by <M>.
Parameters (2)MtheProgress
- IsDone(): boolean
Returns true if the modification has been computed successfully.
- IsMutableInput(): boolean
Returns the current mutable input state.
- SetMutableInput(theMutableInput: boolean): void
Sets the mutable input state If true then the input (original) shape can be modified during modification process.
Parameters (1)theMutableInput
Returns the modified shape corresponding to .
Parameters (1)S
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)
- get_type_name(): string
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.
gp_Trsfis negative.
Parameters (5)FL—Mutated in place; read the updated value from this argument after the call.TolRevWiresRevFace
ReturnsA result object with fields:
returnValue: the C++ return valueS: 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)EL—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VP—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueTol: 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)EFNewENewFTol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VEPTol
ReturnsA result object with fields:
returnValue: the C++ return valueP: updated value from the call.Tol: updated value from the call.
- Continuity(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face, NewE: TopoDS_Edge, NewF1: TopoDS_Face, NewF2: TopoDS_Face): GeomAbs_Shape
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)EF1F2NewENewF1NewF2
- 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
ReturnsA result object with fields:
returnValue: the C++ return valueT: 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
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EF
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)
- Perform(theShape: TopoDS_Shape): boolean
Removes all locations correspondingly to criterium from theShape.
Parameters (1)theShape
Returns shape with removed locations.
- IsDone(): boolean
- ModifiedShape(theInitShape: TopoDS_Shape): TopoDS_Shape
Returns modified shape obtained from initial shape.
Parameters (1)theInitShape
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)EoldEnew
- 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)VoldVnew
- 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
- Copy(S: TopoDS_Shape): TopoDS_Shape
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)
Returns an empty Reshape.
Static methods(2)
- get_type_name(): string
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)shapenewshape
- IsRecorded(shape: TopoDS_Shape): boolean
Tells if a shape is recorded for Replace/Remove.
Parameters (1)shape
- Value(shape: TopoDS_Shape): TopoDS_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
- ValueLeaf(theShape: TopoDS_Shape): TopoDS_Shape
Follows the replacement chain for
theShapeto its leaf without descending into sub-shapes. IteratesValue()until a fixpoint is reached. UnlikeApply(), 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
Returnsthe 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)shapenewsh—Mutated in place; read the updated value from this argument after the call.last
- Apply(theShape: TopoDS_Shape, theUntil?: TopAbs_ShapeEnum): TopoDS_Shape
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_Edgecan be replaced byTopoDS_Edge,TopoDS_WireorTopoDS_Compoundcontaining TopoDS_Edges). If incompatible shape type is encountered, it is ignored and flag FAIL1 is set in Status.Parameters (2)theShapetheUntil
- ModeConsiderLocation(): boolean
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)theVtheTol
- 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)theVtheNewPosaTol
- 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 datatheWithNormals
- constructor(theBuilder: BRep_Builder, theWithTriangles?: boolean, theWithNormals?: boolean): BRepTools_ShapeSet
Builds an empty ShapeSet.
Parameters (3)theBuildertheWithTriangles—flag to write triangulation datatheWithNormals
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.
- AddGeometry(S: TopoDS_Shape): void
Stores the geometry of .
Parameters (1)S
- AddShapes(S1: TopoDS_Shape, S2: TopoDS_Shape): void
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
- Check(T: TopAbs_ShapeEnum, S: TopoDS_Shape): void
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)TS—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.
- Substitute(OldShape: TopoDS_Shape, NewShapes: NCollection_List_TopoDS_Shape): void
<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)OldShapeNewShapes
- Build(S: TopoDS_Shape): void
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)
- Parameters (1)
T
Static methods(2)
- get_type_name(): string
Instance methods(12)
Provides access to the
gp_Trsfassociated 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_Trsfassociated with this modification is negative.
Parameters (5)FL—Mutated in place; read the updated value from this argument after the call.TolRevWiresRevFace
ReturnsA result object with fields:
returnValue: the C++ return valueS: 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
ReturnsA result object with fields:
returnValue: the C++ return valueT: 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
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EF
ReturnsA result object with fields:
returnValue: the C++ return valueP: 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)EL—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VP—Mutated in place; read the updated value from this argument after the call.Tol
ReturnsA result object with fields:
returnValue: the C++ return valueTol: 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)EFNewENewFTol
ReturnsA result object with fields:
returnValue: the C++ return valueC: 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)VEPTol
ReturnsA result object with fields:
returnValue: the C++ return valueP: updated value from the call.Tol: updated value from the call.
- Continuity(E: TopoDS_Edge, F1: TopoDS_Face, F2: TopoDS_Face, NewE: TopoDS_Edge, NewF1: TopoDS_Face, NewF2: TopoDS_Face): GeomAbs_Shape
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)EF1F2NewENewF1NewF2
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)
Constructs an empty explorer (which can be initialized using Init).
IInitializes 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)WF
Instance methods(9)
- Init(W: TopoDS_Wire): void
Initializes an exploration of the wire <W>.
Parameters (1)W
- Init(W: TopoDS_Wire, F: TopoDS_Face): 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>.
Parameters (2)WF
- 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)WFUMinUMaxVMinVMax
- 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.