BOPTools
OCCT package BOPTools: BOPTools_AlgoTools, BOPTools_AlgoTools2D, BOPTools_AlgoTools3D, BOPTools_ConnexityBlock, and 2 more bound classes.
BOPTools_AlgoTools
Provides tools used in Boolean Operations algorithm:
- Vertices intersection;
- Vertex construction;
- Edge construction;
- Classification algorithms;
- Making connexity blocks;
- Shape validation.
Constructors(1)
Static methods(56)
- DTolerance(): number
- ComputeVV(theV: TopoDS_Vertex, theP: gp_Pnt, theTolP: number): numberParameters (3)
theVthePtheTolP
- ComputeVV(theV1: TopoDS_Vertex, theV2: TopoDS_Vertex, theFuzz: number): numberParameters (3)
theV1theV2theFuzz
- MakeVertex(theLV: NCollection_List_TopoDS_Shape, theV: TopoDS_Vertex): voidParameters (2)
theLVtheV
- MakeNewVertex(aP1: gp_Pnt, aTol: number, aNewVertex: TopoDS_Vertex): voidParameters (3)
aP1aTolaNewVertex
- MakeNewVertex(aV1: TopoDS_Vertex, aV2: TopoDS_Vertex, aNewVertex: TopoDS_Vertex): voidParameters (3)
aV1aV2aNewVertex
- MakeNewVertex(aE1: TopoDS_Edge, aP1: number, aF2: TopoDS_Face, aNewVertex: TopoDS_Vertex): voidParameters (4)
aE1aP1aF2aNewVertex
- MakeNewVertex(aE1: TopoDS_Edge, aP1: number, aE2: TopoDS_Edge, aP2: number, aNewVertex: TopoDS_Vertex): voidParameters (5)
aE1aP1aE2aP2aNewVertex
- UpdateVertex(aVF: TopoDS_Vertex, aVN: TopoDS_Vertex): voidParameters (2)
aVFaVN
- UpdateVertex(aIC: IntTools_Curve, aT: number, aV: TopoDS_Vertex): voidParameters (3)
aICaTaV
- UpdateVertex(aE: TopoDS_Edge, aT: number, aV: TopoDS_Vertex): voidParameters (3)
aEaTaV
- MakeEdge(theCurve: IntTools_Curve, theV1: TopoDS_Vertex, theT1: number, theV2: TopoDS_Vertex, theT2: number, theTolR3D: number, theE: TopoDS_Edge): voidParameters (7)
theCurvetheV1theT1theV2theT2theTolR3DtheE
- CopyEdge(theEdge: TopoDS_Edge): TopoDS_EdgeParameters (1)
theEdge
- MakeSplitEdge(aE1: TopoDS_Edge, aV1: TopoDS_Vertex, aP1: number, aV2: TopoDS_Vertex, aP2: number, aNewEdge: TopoDS_Edge): voidParameters (6)
aE1aV1aP1aV2aP2aNewEdge
- MakeSectEdge(aIC: IntTools_Curve, aV1: TopoDS_Vertex, aP1: number, aV2: TopoDS_Vertex, aP2: number, aNewEdge: TopoDS_Edge): voidParameters (6)
aICaV1aP1aV2aP2aNewEdge
- ComputeState(thePoint: gp_Pnt, theSolid: TopoDS_Solid, theTol: number, theContext: IntTools_Context): TopAbs_StateParameters (4)
thePointtheSolidtheToltheContext
- ComputeState(theVertex: TopoDS_Vertex, theSolid: TopoDS_Solid, theTol: number, theContext: IntTools_Context): TopAbs_StateParameters (4)
theVertextheSolidtheToltheContext
- ComputeState(theEdge: TopoDS_Edge, theSolid: TopoDS_Solid, theTol: number, theContext: IntTools_Context): TopAbs_StateParameters (4)
theEdgetheSolidtheToltheContext
- ComputeState(theFace: TopoDS_Face, theSolid: TopoDS_Solid, theTol: number, theBounds: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theContext: IntTools_Context): TopAbs_StateParameters (5)
theFacetheSolidtheToltheBoundstheContext
- ComputeStateByOnePoint(theShape: TopoDS_Shape, theSolid: TopoDS_Solid, theTol: number, theContext: IntTools_Context): TopAbs_StateParameters (4)
theShapetheSolidtheToltheContext
- GetFaceOff(theEdge: TopoDS_Edge, theFace: TopoDS_Face, theLCEF: NCollection_List_BOPTools_CoupleOfShape, theFaceOff: TopoDS_Face, theContext: IntTools_Context): booleanParameters (5)
theEdgetheFacetheLCEFtheFaceOfftheContext
- IsInternalFace(theFace: TopoDS_Face, theEdge: TopoDS_Edge, theLF: NCollection_List_TopoDS_Shape, theContext: IntTools_Context): numberParameters (4)
theFacetheEdgetheLFtheContext
- IsInternalFace(theFace: TopoDS_Face, theEdge: TopoDS_Edge, theFace1: TopoDS_Face, theFace2: TopoDS_Face, theContext: IntTools_Context): numberParameters (5)
theFacetheEdgetheFace1theFace2theContext
- IsInternalFace(theFace: TopoDS_Face, theSolid: TopoDS_Solid, theMEF: NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_TopTools_ShapeMapHasher, theTol: number, theContext: IntTools_Context): booleanParameters (5)
theFacetheSolidtheMEFtheToltheContext
- MakePCurve(theE: TopoDS_Edge, theF1: TopoDS_Face, theF2: TopoDS_Face, theCurve: IntTools_Curve, thePC1: boolean, thePC2: boolean, theContext?: IntTools_Context): voidParameters (7)
theEtheF1theF2theCurvethePC1thePC2theContext
- IsHole(theW: TopoDS_Shape, theF: TopoDS_Shape): booleanParameters (2)
theWtheF
- IsSplitToReverse(theSplit: TopoDS_Shape, theShape: TopoDS_Shape, theContext: IntTools_Context, theError: number): booleanParameters (4)
theSplittheShapetheContexttheError
- IsSplitToReverse(theSplit: TopoDS_Face, theShape: TopoDS_Face, theContext: IntTools_Context, theError: number): booleanParameters (4)
theSplittheShapetheContexttheError
- IsSplitToReverse(theSplit: TopoDS_Edge, theShape: TopoDS_Edge, theContext: IntTools_Context, theError: number): booleanParameters (4)
theSplittheShapetheContexttheError
- IsSplitToReverseWithWarn(theSplit: TopoDS_Shape, theShape: TopoDS_Shape, theContext: IntTools_Context, theReport?: Message_Report): booleanParameters (4)
theSplittheShapetheContexttheReport
- Sense(theF1: TopoDS_Face, theF2: TopoDS_Face, theContext: IntTools_Context): numberParameters (3)
theF1theF2theContext
- MakeConnexityBlock(theLS: NCollection_List_TopoDS_Shape, theMapAvoid: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theLSCB: NCollection_List_TopoDS_Shape, theAllocator: NCollection_BaseAllocator): voidParameters (4)
theLStheMapAvoidtheLSCBtheAllocator
- MakeConnexityBlocks(theS: TopoDS_Shape, theConnectionType: TopAbs_ShapeEnum, theElementType: TopAbs_ShapeEnum, theLCB: NCollection_List_TopoDS_Shape): voidParameters (4)
theStheConnectionTypetheElementTypetheLCB
- MakeConnexityBlocks(theLS: NCollection_List_TopoDS_Shape, theConnectionType: TopAbs_ShapeEnum, theElementType: TopAbs_ShapeEnum, theLCB: NCollection_List_BOPTools_ConnexityBlock): voidParameters (4)
theLStheConnectionTypetheElementTypetheLCB
- MakeConnexityBlocks(theS: TopoDS_Shape, theConnectionType: TopAbs_ShapeEnum, theElementType: TopAbs_ShapeEnum, theLCB: NCollection_List_NCollection_List_TopoDS_Shape, theConnectionMap: NCollection_IndexedDataMap_TopoDS_Shape_NCollection_List_TopoDS_Shape_TopTools_ShapeMapHasher): voidParameters (5)
theStheConnectionTypetheElementTypetheLCBtheConnectionMap
- OrientEdgesOnWire(theWire: TopoDS_Shape): voidParameters (1)
theWire
- OrientFacesOnShell(theShell: TopoDS_Shape): voidParameters (1)
theShell
- CorrectTolerances(theS: TopoDS_Shape, theMapToAvoid: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theTolMax?: number, theRunParallel?: boolean): voidParameters (4)
theStheMapToAvoidtheTolMaxtheRunParallel
- CorrectCurveOnSurface(theS: TopoDS_Shape, theMapToAvoid: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theTolMax?: number, theRunParallel?: boolean): voidParameters (4)
theStheMapToAvoidtheTolMaxtheRunParallel
- CorrectPointOnCurve(theS: TopoDS_Shape, theMapToAvoid: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theTolMax?: number, theRunParallel?: boolean): voidParameters (4)
theStheMapToAvoidtheTolMaxtheRunParallel
- CorrectShapeTolerances(theS: TopoDS_Shape, theMapToAvoid: NCollection_IndexedMap_TopoDS_Shape_TopTools_ShapeMapHasher, theRunParallel?: boolean): voidParameters (3)
theStheMapToAvoidtheRunParallel
- AreFacesSameDomain(theF1: TopoDS_Face, theF2: TopoDS_Face, theContext: IntTools_Context, theFuzz?: number): booleanParameters (4)
theF1theF2theContexttheFuzz
- GetEdgeOff(theEdge: TopoDS_Edge, theFace: TopoDS_Face, theEdgeOff: TopoDS_Edge): booleanParameters (3)
theEdgetheFacetheEdgeOff
- GetEdgeOnFace(theEdge: TopoDS_Edge, theFace: TopoDS_Face, theEdgeOnF: TopoDS_Edge): booleanParameters (3)
theEdgetheFacetheEdgeOnF
- CorrectRange(aE1: TopoDS_Edge, aE2: TopoDS_Edge, aSR: IntTools_Range, aNewSR: IntTools_Range): voidParameters (4)
aE1aE2aSRaNewSR
- CorrectRange(aE: TopoDS_Edge, aF: TopoDS_Face, aSR: IntTools_Range, aNewSR: IntTools_Range): voidParameters (4)
aEaFaSRaNewSR
- IsMicroEdge(theEdge: TopoDS_Edge, theContext: IntTools_Context, theCheckSplittable?: boolean): booleanParameters (3)
theEdgetheContexttheCheckSplittable
- IsInvertedSolid(theSolid: TopoDS_Solid): booleanParameters (1)
theSolid
- ComputeTolerance(theFace: TopoDS_Face, theEdge: TopoDS_Edge, theMaxDist: number, theMaxPar: number): { returnValue: boolean; theMaxDist: number; theMaxPar: number }Parameters (4)
theFacetheEdgetheMaxDisttheMaxPar
- MakeContainer(theType: TopAbs_ShapeEnum, theShape: TopoDS_Shape): voidParameters (2)
theTypetheShape
- PointOnEdge(aEdge: TopoDS_Edge, aPrm: number, aP: gp_Pnt): voidParameters (3)
aEdgeaPrmaP
- IsBlockInOnFace(aShR: IntTools_Range, aF: TopoDS_Face, aE: TopoDS_Edge, aContext: IntTools_Context): booleanParameters (4)
aShRaFaEaContext
- Dimensions(theS: TopoDS_Shape, theDMin: number, theDMax: number): { theDMin: number; theDMax: number }Parameters (3)
theStheDMintheDMax
- Dimension(theS: TopoDS_Shape): numberParameters (1)
theS
- TreatCompound(theS: TopoDS_Shape, theList: NCollection_List_TopoDS_Shape, theMap: NCollection_Map_TopoDS_Shape_TopTools_ShapeMapHasher): voidParameters (3)
theStheListtheMap
- IsOpenShell(theShell: TopoDS_Shell): booleanParameters (1)
theShell
BOPTools_AlgoTools2D
The class contains handy static functions dealing with the topology This is the copy of the BOPTools_AlgoTools2D.cdl.
Constructors(1)
Static methods(17)
- BuildPCurveForEdgeOnFace(aE: TopoDS_Edge, aF: TopoDS_Face, theContext?: IntTools_Context): void
Compute P-Curve for the edge <aE> on the face <aF>. Raises exception Standard_ConstructionError if projection algorithm fails. <theContext> - storage for caching the geometrical tools.
Parameters (3)aEaFtheContext
- EdgeTangent(anE: TopoDS_Edge, aT: number, Tau: gp_Vec): boolean
Compute tangent for the edge <aE> [in 3D] at parameter <aT>.
Parameters (3)anEaTTau—Mutated in place; read the updated value from this argument after the call.
- PointOnSurface(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, U: number, V: number, theContext: IntTools_Context): { U: number; V: number }
Compute surface parameters <U,V> of the face <aF> for the point from the edge <aE> at parameter <aT>. If <aE> has't pcurve on surface, algorithm tries to get it by projection and can raise exception Standard_ConstructionError if projection algorithm fails. <theContext> - storage for caching the geometrical tools.
Parameters (6)aEaFaTUVtheContext
ReturnsA result object with fields:
U: updated value from the call.V: updated value from the call.
- CurveOnSurface(aE: TopoDS_Edge, aF: TopoDS_Face, aToler: number, theContext: IntTools_Context): { aC: Geom2d_Curve; aToler: number; [Symbol.dispose](): void }
Get P-Curve <aC> for the edge <aE> on surface <aF>. If the P-Curve does not exist, build it using
Make2D(). [aToler] - reached tolerance Raises exception Standard_ConstructionError if algorithmMake2D()fails. <theContext> - storage for caching the geometrical tools.Parameters (4)aEaFaTolertheContext
ReturnsA result object with fields:
aC: owned by the returned envelope.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- CurveOnSurface(aE: TopoDS_Edge, aF: TopoDS_Face, aFirst: number, aLast: number, aToler: number, theContext: IntTools_Context): { aC: Geom2d_Curve; aFirst: number; aLast: number; aToler: number; [Symbol.dispose](): void }
Get P-Curve <aC> for the edge <aE> on surface <aF>. If the P-Curve does not exist, build it using
Make2D(). [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance Raises exception Standard_ConstructionError if algorithmMake2D()fails. <theContext> - storage for caching the geometrical tools.Parameters (6)aEaFaFirstaLastaTolertheContext
ReturnsA result object with fields:
aC: owned by the returned envelope.aFirst: updated value from the call.aLast: updated value from the call.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- HasCurveOnSurface(aE: TopoDS_Edge, aF: TopoDS_Face, aFirst: number, aLast: number, aToler: number): { returnValue: boolean; aC: Geom2d_Curve; aFirst: number; aLast: number; aToler: number; [Symbol.dispose](): void }
Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF>. [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance If the P-Curve does not exist, aC.IsNull()=TRUE.
Parameters (5)aEaFaFirstaLastaToler
ReturnsA result object with fields:
returnValue: the C++ return valueaC: owned by the returned envelope.aFirst: updated value from the call.aLast: updated value from the call.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- HasCurveOnSurface(aE: TopoDS_Edge, aF: TopoDS_Face): boolean
Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF>. If the P-Curve does not exist, aC.IsNull()=TRUE.
Parameters (2)aEaF
- AdjustPCurveOnFace(theF: TopoDS_Face, theC3D: Geom_Curve, theC2D: Geom2d_Curve, theContext: IntTools_Context): { theC2DA: Geom2d_Curve; [Symbol.dispose](): void }
Adjust P-Curve <theC2D> (3D-curve <theC3D>) on surface of the face <theF>. <theContext> - storage for caching the geometrical tools.
Parameters (4)theFtheC3DtheC2DtheContext
ReturnsA result object with fields:
theC2DA: owned by the returned envelope.
Dispose the returned envelope to release owned Handle fields.
- AdjustPCurveOnFace(theF: TopoDS_Face, theFirst: number, theLast: number, theC2D: Geom2d_Curve, theContext: IntTools_Context): { theC2DA: Geom2d_Curve; [Symbol.dispose](): void }
Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF>. [aT1, aT2] - range to adjust <theContext> - storage for caching the geometrical tools.
Parameters (5)theFtheFirsttheLasttheC2DtheContext
ReturnsA result object with fields:
theC2DA: owned by the returned envelope.
Dispose the returned envelope to release owned Handle fields.
- AdjustPCurveOnSurf(aF: BRepAdaptor_Surface, aT1: number, aT2: number, aC2D: Geom2d_Curve): { aC2DA: Geom2d_Curve; [Symbol.dispose](): void }
Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF>. [aT1, aT2] - range to adjust.
Parameters (4)aFaT1aT2aC2D
ReturnsA result object with fields:
aC2DA: owned by the returned envelope.
Dispose the returned envelope to release owned Handle fields.
- IntermediatePoint(aFirst: number, aLast: number): number
Compute intermediate value in between [aFirst, aLast].
Parameters (2)aFirstaLast
- IntermediatePoint(anE: TopoDS_Edge): number
Compute intermediate value of parameter for the edge <anE>.
Parameters (1)anE
- Make2D(aE: TopoDS_Edge, aF: TopoDS_Face, aFirst: number, aLast: number, aToler: number, theContext: IntTools_Context): { aC: Geom2d_Curve; aFirst: number; aLast: number; aToler: number; [Symbol.dispose](): void }
Make P-Curve <aC> for the edge <aE> on surface <aF>. [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance Raises exception Standard_ConstructionError if algorithm fails. <theContext> - storage for caching the geometrical tools.
Parameters (6)aEaFaFirstaLastaTolertheContext
ReturnsA result object with fields:
aC: owned by the returned envelope.aFirst: updated value from the call.aLast: updated value from the call.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- MakePCurveOnFace(aF: TopoDS_Face, C3D: Geom_Curve, aToler: number, theContext: IntTools_Context): { aC: Geom2d_Curve; aToler: number; [Symbol.dispose](): void }
Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF>. [aToler] - reached tolerance Raises exception Standard_ConstructionError if projection algorithm fails. <theContext> - storage for caching the geometrical tools.
Parameters (4)aFC3DaTolertheContext
ReturnsA result object with fields:
aC: owned by the returned envelope.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- MakePCurveOnFace(aF: TopoDS_Face, C3D: Geom_Curve, aT1: number, aT2: number, aToler: number, theContext: IntTools_Context): { aC: Geom2d_Curve; aToler: number; [Symbol.dispose](): void }
Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF>. [aT1, aT2] - range to build [aToler] - reached tolerance Raises exception Standard_ConstructionError if projection algorithm fails. <theContext> - storage for caching the geometrical tools.
Parameters (6)aFC3DaT1aT2aTolertheContext
ReturnsA result object with fields:
aC: owned by the returned envelope.aToler: updated value from the call.
Dispose the returned envelope to release owned Handle fields.
- AttachExistingPCurve(aEold: TopoDS_Edge, aEnew: TopoDS_Edge, aF: TopoDS_Face, aCtx: IntTools_Context): number
Attach P-Curve from the edge <aEold> on surface <aF> to the edge <aEnew> Returns 0 in case of success.
Parameters (4)aEoldaEnewaFaCtx
- IsEdgeIsoline(theE: TopoDS_Edge, theF: TopoDS_Face, isTheUIso: boolean, isTheVIso: boolean): { isTheUIso: boolean; isTheVIso: boolean }
Checks if CurveOnSurface of theE on theF matches with isoline of theF surface. Sets corresponding values for isTheUIso and isTheVIso variables.
ATTENTION!!! This method is based on the comparison between direction of surface (which theF is based on) iso-lines and the direction of the edge p-curve (on theF) in middle-point of the p-curve.
This method should be used carefully (e.g. BRep_Tool::IsClosed(...) together) in order to avoid false classification some p-curves as isoline (e.g. circle on a plane).Parameters (4)theEtheFisTheUIsoisTheVIso
ReturnsA result object with fields:
isTheUIso: updated value from the call.isTheVIso: updated value from the call.
BOPTools_AlgoTools3D
The class contains handy static functions dealing with the topology This is the copy of BOPTools_AlgoTools3D.cdl file.
Constructors(1)
Static methods(19)
- DoSplitSEAMOnFace(theESplit: TopoDS_Edge, theFace: TopoDS_Face): boolean
Makes the edge <theESplit> seam edge for the face <theFace> basing on the surface properties (U and V periods).
Parameters (2)theESplittheFace
- DoSplitSEAMOnFace(theEOrigin: TopoDS_Edge, theESplit: TopoDS_Edge, theFace: TopoDS_Face): boolean
Makes the split edge <theESplit> seam edge for the face <theFace> basing on the positions of 2d curves of the original edge <theEOrigin>.
Parameters (3)theEOrigintheESplittheFace
- GetNormalToFaceOnEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, aD: gp_Dir, theContext: IntTools_Context): void
Computes normal to the face <aF> for the point on the edge <aE> at parameter <aT>. <theContext> - storage for caching the geometrical tools.
Parameters (5)aEaFaTaD—Mutated in place; read the updated value from this argument after the call.theContext
- GetNormalToFaceOnEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aD: gp_Dir, theContext: IntTools_Context): void
Computes normal to the face <aF> for the point on the edge <aE> at arbitrary intermediate parameter. <theContext> - storage for caching the geometrical tools.
Parameters (4)aEaFaD—Mutated in place; read the updated value from this argument after the call.theContext
Returns 1 if scalar product aNF1* aNF2>0. Returns 0 if directions aNF1 aNF2 coincide Returns -1 if scalar product aNF1* aNF2<0.
Parameters (2)aNF1aNF2
- GetNormalToSurface(aS: Geom_Surface, U: number, V: number, aD: gp_Dir): boolean
Compute normal <aD> to surface <aS> in point (U,V) Returns TRUE if directions aD1U, aD1V coincide.
Parameters (4)aSUVaD—Mutated in place; read the updated value from this argument after the call.
- GetApproxNormalToFaceOnEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, aPx: gp_Pnt, aD: gp_Dir, theContext: IntTools_Context): boolean
Computes normal to the face <aF> for the 3D-point that belongs to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; Warning: The normal is computed not exactly in the point on the edge, but in point that is near to the edge towards to the face material (so, we'll have approx. normal); The point is computed using PointNearEdge function, with the shifting value
BOPTools_AlgoTools3D::MinStepIn2d(), from the edge, but if this value is too big, the point will be computed using Hatcher (PointInFace function). Returns TRUE in case of success.Parameters (6)aEaFaTaPx—Mutated in place; read the updated value from this argument after the call.aD—Mutated in place; read the updated value from this argument after the call.theContext
- GetApproxNormalToFaceOnEdge(theE: TopoDS_Edge, theF: TopoDS_Face, aT: number, aP: gp_Pnt, aDNF: gp_Dir, aDt2D: number): boolean
Computes normal to the face <aF> for the 3D-point that belongs to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; Warning: The normal is computed not exactly in the point on the edge, but in point that is near to the edge towards to the face material (so, we'll have approx. normal); The point is computed using PointNearEdge function with the shifting value <aDt2D> from the edge; No checks on this value will be done. Returns TRUE in case of success.
Parameters (6)theEtheFaTaP—Mutated in place; read the updated value from this argument after the call.aDNF—Mutated in place; read the updated value from this argument after the call.aDt2D
- GetApproxNormalToFaceOnEdge(theE: TopoDS_Edge, theF: TopoDS_Face, aT: number, aDt2D: number, aP: gp_Pnt, aDNF: gp_Dir, theContext: IntTools_Context): boolean
Computes normal to the face <aF> for the 3D-point that belongs to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; Warning: The normal is computed not exactly in the point on the edge, but in point that is near to the edge towards to the face material (so, we'll have approx. normal); The point is computed using PointNearEdge function with the shifting value <aDt2D> from the edge, but if this value is too big the point will be computed using Hatcher (PointInFace function). Returns TRUE in case of success.
Parameters (7)theEtheFaTaDt2DaP—Mutated in place; read the updated value from this argument after the call.aDNF—Mutated in place; read the updated value from this argument after the call.theContext
- PointNearEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aP2D: gp_Pnt2d, aPx: gp_Pnt, theContext: IntTools_Context): number
Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at arbitrary parameter towards to the material of the face <aF>. The value of shifting in 2D is dt2D=
BOPTools_AlgoTools3D::MinStepIn2d(). If the value of shifting is too big the point will be computed using Hatcher (PointInFace function). Returns error status: 0 - in case of success; 1 - <aE> does not have 2d curve on the face <aF>; 2 - the computed point is out of the face.Parameters (5)aEaFaP2D—Mutated in place; read the updated value from this argument after the call.aPx—Mutated in place; read the updated value from this argument after the call.theContext
- PointNearEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, aDt2D: number, aP2D: gp_Pnt2d, aPx: gp_Pnt): number
Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is <aDt2D>. No checks on this value will be done. Returns error status: 0 - in case of success; 1 - <aE> does not have 2d curve on the face <aF>.
Parameters (6)aEaFaTaDt2DaP2D—Mutated in place; read the updated value from this argument after the call.aPx—Mutated in place; read the updated value from this argument after the call.
- PointNearEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, aP2D: gp_Pnt2d, aPx: gp_Pnt, theContext: IntTools_Context): number
Computes the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is dt2D=
BOPTools_AlgoTools3D::MinStepIn2d()If the value of shifting is too big the point will be computed using Hatcher (PointInFace function). Returns error status: 0 - in case of success; 1 - <aE> does not have 2d curve on the face <aF>; 2 - the computed point is out of the face.Parameters (6)aEaFaTaP2D—Mutated in place; read the updated value from this argument after the call.aPx—Mutated in place; read the updated value from this argument after the call.theContext
- PointNearEdge(aE: TopoDS_Edge, aF: TopoDS_Face, aT: number, aDt2D: number, aP2D: gp_Pnt2d, aPx: gp_Pnt, theContext: IntTools_Context): number
Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is <aDt2D> If the value of shifting is too big the point will be computed using Hatcher (PointInFace function). Returns error status: 0 - in case of success; 1 - <aE> does not have 2d curve on the face <aF>; 2 - the computed point is out of the face.
Parameters (7)aEaFaTaDt2DaP2D—Mutated in place; read the updated value from this argument after the call.aPx—Mutated in place; read the updated value from this argument after the call.theContext
- MinStepIn2d(): number
Returns simple step value that is used in 2D-computations = 1.e-5.
- IsEmptyShape(aS: TopoDS_Shape): boolean
Returns TRUE if the shape <aS> does not contain geometry information (e.g. empty compound).
Parameters (1)aS
- OrientEdgeOnFace(aE: TopoDS_Edge, aF: TopoDS_Face, aER: TopoDS_Edge): void
Get the edge <aER> from the face <aF> that is the same as the edge <aE>.
Parameters (3)aEaFaER—Mutated in place; read the updated value from this argument after the call.
- PointInFace(theF: TopoDS_Face, theP: gp_Pnt, theP2D: gp_Pnt2d, theContext: IntTools_Context): number
Computes arbitrary point <theP> inside the face <theF>. <theP2D> - 2D representation of <theP> on the surface of <theF> Returns 0 in case of success.
Parameters (4)theFtheP—Mutated in place; read the updated value from this argument after the call.theP2D—Mutated in place; read the updated value from this argument after the call.theContext
- PointInFace(theF: TopoDS_Face, theE: TopoDS_Edge, theT: number, theDt2D: number, theP: gp_Pnt, theP2D: gp_Pnt2d, theContext: IntTools_Context): number
Computes a point <theP> inside the face <theF> using starting point taken by the parameter <theT> from the 2d curve of the edge <theE> on the face <theF> in the direction perpendicular to the tangent vector of the 2d curve of the edge. The point will be distanced on <theDt2D> from the 2d curve. <theP2D> - 2D representation of <theP> on the surface of <theF> Returns 0 in case of success.
Parameters (7)theFtheEtheTtheDt2DtheP—Mutated in place; read the updated value from this argument after the call.theP2D—Mutated in place; read the updated value from this argument after the call.theContext
- PointInFace(theF: TopoDS_Face, theL: Geom2d_Curve, theP: gp_Pnt, theP2D: gp_Pnt2d, theContext: IntTools_Context, theDt2D: number): number
Computes a point <theP> inside the face <theF> using the line <theL> so that 2D point <theP2D>, 2D representation of <theP> on the surface of <theF>, lies on that line. Returns 0 in case of success.
Parameters (6)theFtheLtheP—Mutated in place; read the updated value from this argument after the call.theP2D—Mutated in place; read the updated value from this argument after the call.theContexttheDt2D
BOPTools_ConnexityBlock
Constructors(2)
- constructor(theAllocator: NCollection_BaseAllocator): BOPTools_ConnexityBlockParameters (1)
theAllocator
Instance methods(6)
- SetRegular(theFlag: boolean): voidParameters (1)
theFlag
- IsRegular(): boolean
BOPTools_CoupleOfShape
Constructors(1)
Instance methods(4)
- SetShape1(theShape: TopoDS_Shape): voidParameters (1)
theShape
- SetShape2(theShape: TopoDS_Shape): voidParameters (1)
theShape
BOPTools_Set
Constructors(3)
- constructor(theAllocator: NCollection_BaseAllocator): BOPTools_SetParameters (1)
theAllocator
- constructor(theOther: BOPTools_Set): BOPTools_Set
Copy constructor.
Parameters (1)theOther
Instance methods(6)
- Assign(Other: BOPTools_Set): BOPTools_SetParameters (1)
Other
- Add(theS: TopoDS_Shape, theType: TopAbs_ShapeEnum): voidParameters (2)
theStheType
- NbShapes(): number
- IsEqual(aOther: BOPTools_Set): booleanParameters (1)
aOther
- GetSum(): number