b311480e |
1 | -- Created on: 1997-01-17 |
2 | -- Created by: Didier PIFFAULT |
3 | -- Copyright (c) 1997-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
b311480e |
16 | |
7fd59977 |
17 | -- Modified David CARBONEL |
4e57c75e |
18 | -- Add of Sewing class |
7fd59977 |
19 | |
20 | package BRepAlgo |
21 | |
22 | ---Purpose: |
4e57c75e |
23 | -- The BRepAlgo package provides a full range of |
24 | -- services to perform Old Boolean Operations in Open CASCADE. |
25 | -- Attention: |
26 | -- The New Boolean Operation has replaced the Old |
27 | -- Boolean Operations algorithm in the BrepAlgoAPI |
28 | -- package in Open CASCADE. |
7fd59977 |
29 | |
30 | uses |
31 | BRep, |
32 | BRepTools, |
33 | BRepBuilderAPI, |
34 | Bnd, |
35 | Standard, |
36 | TCollection, |
37 | TColStd, |
38 | TopAbs, |
39 | GeomAbs, |
40 | GeomTools, |
41 | Geom, |
42 | Geom2d, |
43 | gp, |
44 | MMgt, |
45 | TopExp, |
46 | TopAbs, |
47 | TopLoc, |
48 | TColgp, |
49 | TColStd, |
50 | TCollection, |
51 | TopoDS, |
52 | TopTools, |
53 | TopOpeBRepDS, |
54 | TopOpeBRepBuild, |
55 | TopOpeBRep, |
56 | Adaptor3d, |
4e57c75e |
57 | StdFail |
7fd59977 |
58 | |
59 | is |
60 | enumeration CheckStatus is |
61 | OK, NOK |
62 | end CheckStatus; |
63 | |
64 | --BRepAlgoAPI f |
65 | deferred class BooleanOperation; |
66 | class Fuse; |
67 | class Cut; |
68 | class Common; |
69 | class Section; |
70 | --BRepAlgoAPI t |
71 | |
72 | -- |
73 | -- Use of face topological builder |
74 | -- |
75 | class Loop; |
76 | class Tool; |
77 | class Image; |
78 | class AsDes; |
79 | class FaceRestrictor; |
ff8178ef |
80 | |
7fd59977 |
81 | class BooleanOperations; |
82 | ---Purpose: |
83 | class DSAccess; |
84 | ---Purpose: |
7fd59977 |
85 | class EdgeConnector; |
86 | ---Purpose: |
87 | class NormalProjection; |
ff8178ef |
88 | |
7fd59977 |
89 | -- class Sewing; now it is in BRepBuilderAPI |
90 | |
91 | class DataMapOfShapeBoolean instantiates |
92 | DataMap from TCollection(Shape from TopoDS, |
93 | Boolean from Standard, |
94 | ShapeMapHasher from TopTools); |
95 | |
96 | class DataMapOfShapeInterference instantiates |
97 | DataMap from TCollection(Shape from TopoDS, |
98 | Interference from TopOpeBRepDS, |
99 | ShapeMapHasher from TopTools); |
100 | |
101 | class SequenceOfSequenceOfInteger instantiates |
102 | Sequence from TCollection(SequenceOfInteger from TColStd); |
103 | |
104 | ConcatenateWire(Wire : Wire from TopoDS; |
105 | Option : Shape from GeomAbs; |
106 | AngularTolerance : Real = 1.0e-4) |
107 | ---Purpose: this method makes a wire whose edges are C1 from |
108 | -- a Wire whose edges could be G1. It removes a vertex |
109 | -- between G1 edges. |
110 | -- Option can be G1 or C1. |
111 | returns Wire from TopoDS; |
112 | |
51a849d7 |
113 | ConcatenateWireC0(Wire : Wire from TopoDS) |
114 | ---Purpose: this method makes an edge from a wire. |
115 | -- Junction points between edges of wire may be sharp, |
116 | -- resulting curve of the resulting edge may be C0. |
117 | returns Edge from TopoDS; |
118 | |
7fd59977 |
119 | --BRepAlgoAPI f |
120 | |
121 | IsValid(S: Shape from TopoDS) |
4e57c75e |
122 | returns Boolean from Standard |
123 | raises NullObject from Standard; |
124 | ---Purpose: Checks if the shape is "correct". If not, returns |
125 | -- <Standard_False>, else returns <Standard_True>. |
126 | |
7fd59977 |
127 | IsValid(theArgs : ListOfShape from TopTools; |
4e57c75e |
128 | theResult : Shape from TopoDS; |
129 | closedSolid : Boolean from Standard = Standard_False; |
130 | GeomCtrl : Boolean from Standard = Standard_True) |
131 | returns Boolean from Standard; |
132 | ---Purpose: Checks if the Generated and Modified Faces from |
133 | -- the shapes <arguments> in the shape <result> are |
134 | -- "correct". The args may be empty, then all faces |
135 | -- will be checked. |
136 | -- If <Closed> is True, only closed shape are valid. |
137 | -- If <GeomCtrl> is False the geometry of new |
138 | -- vertices and edges are not verified and the |
139 | -- auto-intersection of new wires are not searched. |
140 | |
141 | |
7fd59977 |
142 | IsTopologicallyValid(S: Shape from TopoDS) |
4e57c75e |
143 | returns Boolean from Standard |
144 | raises NullObject from Standard; |
145 | ---Purpose: Checks if the shape is "correct". If not, returns |
146 | -- <Standard_False>, else returns <Standard_True>. |
147 | -- This method differs from the previous one in the |
148 | -- fact that no geometric contols (intersection of |
149 | -- wires, pcurve validity) are performed. |
7fd59977 |
150 | |
151 | --BRepAlgoAPI t |
152 | |
153 | end BRepAlgo; |