mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
115 lines
4.4 KiB
Plaintext
Executable File
115 lines
4.4 KiB
Plaintext
Executable File
-- Created on: 2004-03-05
|
|
-- Created by: Sergey KUUL
|
|
-- Copyright (c) 2004-2012 OPEN CASCADE SAS
|
|
--
|
|
-- The content of this file is subject to the Open CASCADE Technology Public
|
|
-- License Version 6.5 (the "License"). You may not use the content of this file
|
|
-- except in compliance with the License. Please obtain a copy of the License
|
|
-- at http://www.opencascade.org and read it completely before using this file.
|
|
--
|
|
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
|
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
|
--
|
|
-- The Original Code and all software distributed under the License is
|
|
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
|
-- Initial Developer hereby disclaims all such warranties, including without
|
|
-- limitation, any warranties of merchantability, fitness for a particular
|
|
-- purpose or non-infringement. Please see the License for the specific terms
|
|
-- and conditions governing the rights and limitations under the License.
|
|
|
|
|
|
class IntersectionTool from ShapeFix
|
|
|
|
---Purpose: Tool for fixing selfintersecting wire
|
|
-- and intersecting wires
|
|
|
|
uses
|
|
|
|
Face from TopoDS,
|
|
Edge from TopoDS,
|
|
Vertex from TopoDS,
|
|
ReShape from ShapeBuild,
|
|
WireData from ShapeExtend,
|
|
DataMapOfShapeBox2d from ShapeFix,
|
|
Curve from Geom2d,
|
|
Box2d from Bnd
|
|
|
|
is
|
|
Create(context: ReShape from ShapeBuild;
|
|
preci: Real; maxtol: Real =1.0) returns IntersectionTool from ShapeFix;
|
|
---Purpose: Constructor
|
|
|
|
Context (me) returns ReShape from ShapeBuild;
|
|
---Purpose: Returns context
|
|
---C++: inline
|
|
|
|
SplitEdge(me; edge: Edge from TopoDS; param: Real from Standard;
|
|
vert: Vertex from TopoDS; face: Face from TopoDS;
|
|
newE1: in out Edge from TopoDS; newE2: in out Edge from TopoDS;
|
|
preci: Real from Standard)
|
|
returns Boolean from Standard;
|
|
---Purpose: Split edge on two new edges using new vertex "vert"
|
|
-- and "param" - parameter for splitting
|
|
-- The "face" is necessary for pcurves and using TransferParameterProj
|
|
|
|
CutEdge(me; edge: Edge from TopoDS; pend: Real from Standard;
|
|
cut: Real from Standard; face: Face from TopoDS;
|
|
iscutline: in out Boolean from Standard)
|
|
returns Boolean from Standard;
|
|
---Purpose: Cut edge by parameters pend and cut
|
|
|
|
SplitEdge1(me; sewd: WireData from ShapeExtend;
|
|
face: Face from TopoDS;
|
|
num: Integer from Standard;
|
|
param: Real from Standard;
|
|
vert: Vertex from TopoDS;
|
|
preci: Real from Standard;
|
|
boxes: in out DataMapOfShapeBox2d from ShapeFix)
|
|
returns Boolean from Standard is private;
|
|
|
|
SplitEdge2(me; sewd: WireData from ShapeExtend;
|
|
face: Face from TopoDS;
|
|
num: Integer from Standard;
|
|
param1: Real from Standard;
|
|
param2: Real from Standard;
|
|
vert: Vertex from TopoDS;
|
|
preci: Real from Standard;
|
|
boxes: in out DataMapOfShapeBox2d from ShapeFix)
|
|
returns Boolean from Standard is private;
|
|
|
|
UnionVertexes(me; sewd: WireData from ShapeExtend;
|
|
edge1: in out Edge from TopoDS;
|
|
edge2: in out Edge from TopoDS;
|
|
num2: Integer from Standard;
|
|
boxes: in out DataMapOfShapeBox2d from ShapeFix;
|
|
B2: Box2d from Bnd)
|
|
returns Boolean from Standard is private;
|
|
|
|
FindVertAndSplitEdge(me; param1: Real from Standard;
|
|
edge1,edge2: Edge from TopoDS;
|
|
Crv1: Curve from Geom2d;
|
|
MaxTolVert: in out Real from Standard;
|
|
num1: in out Integer from Standard;
|
|
sewd: WireData from ShapeExtend;
|
|
face: Face from TopoDS;
|
|
boxes: in out DataMapOfShapeBox2d from ShapeFix;
|
|
aTmpKey: Boolean from Standard)
|
|
returns Boolean from Standard is private;
|
|
|
|
FixSelfIntersectWire(me; sewd: in out WireData from ShapeExtend;
|
|
face: Face from TopoDS;
|
|
NbSplit: in out Integer; NbCut: in out Integer;
|
|
NbRemoved: in out Integer)
|
|
returns Boolean from Standard;
|
|
|
|
FixIntersectingWires(me; face: in out Face from TopoDS)
|
|
returns Boolean from Standard;
|
|
|
|
fields
|
|
|
|
myContext : ReShape from ShapeBuild;
|
|
myPreci : Real from Standard;
|
|
myMaxTol : Real from Standard;
|
|
|
|
end IntersectionTool;
|