0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / BRepAlgo / BRepAlgo.cdl
CommitLineData
b311480e 1-- Created on: 1997-01-17
2-- Created by: Didier PIFFAULT
3-- Copyright (c) 1997-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21-- Modified David CARBONEL
4e57c75e 22-- Add of Sewing class
7fd59977 23
24package BRepAlgo
25
26 ---Purpose:
4e57c75e 27 -- The BRepAlgo package provides a full range of
28 -- services to perform Old Boolean Operations in Open CASCADE.
29 -- Attention:
30 -- The New Boolean Operation has replaced the Old
31 -- Boolean Operations algorithm in the BrepAlgoAPI
32 -- package in Open CASCADE.
7fd59977 33
34uses
35 BRep,
36 BRepTools,
37 BRepBuilderAPI,
38 Bnd,
39 Standard,
40 TCollection,
41 TColStd,
42 TopAbs,
43 GeomAbs,
44 GeomTools,
45 Geom,
46 Geom2d,
47 gp,
48 MMgt,
49 TopExp,
50 TopAbs,
51 TopLoc,
52 TColgp,
53 TColStd,
54 TCollection,
55 TopoDS,
56 TopTools,
57 TopOpeBRepDS,
58 TopOpeBRepBuild,
59 TopOpeBRep,
60 Adaptor3d,
4e57c75e 61 StdFail
7fd59977 62
63is
64 enumeration CheckStatus is
65 OK, NOK
66 end CheckStatus;
67
68 --BRepAlgoAPI f
69 deferred class BooleanOperation;
70 class Fuse;
71 class Cut;
72 class Common;
73 class Section;
74 --BRepAlgoAPI t
75
76 --
77 -- Use of face topological builder
78 --
79 class Loop;
80 class Tool;
81 class Image;
82 class AsDes;
83 class FaceRestrictor;
84 ---Purpose:Build all the faces limited with a set of non
85 -- jointing and planars wires
86 -- The Wires must have correct orientations.
87 --
88
89 class BooleanOperations;
90 ---Purpose:
91 class DSAccess;
92 ---Purpose:
7fd59977 93 class EdgeConnector;
94 ---Purpose:
95 class NormalProjection;
4e57c75e 96 ---Purpose:
7fd59977 97 -- class Sewing; now it is in BRepBuilderAPI
98
99 class DataMapOfShapeBoolean instantiates
100 DataMap from TCollection(Shape from TopoDS,
101 Boolean from Standard,
102 ShapeMapHasher from TopTools);
103
104 class DataMapOfShapeInterference instantiates
105 DataMap from TCollection(Shape from TopoDS,
106 Interference from TopOpeBRepDS,
107 ShapeMapHasher from TopTools);
108
109 class SequenceOfSequenceOfInteger instantiates
110 Sequence from TCollection(SequenceOfInteger from TColStd);
111
112 ConcatenateWire(Wire : Wire from TopoDS;
113 Option : Shape from GeomAbs;
114 AngularTolerance : Real = 1.0e-4)
115 ---Purpose: this method makes a wire whose edges are C1 from
116 -- a Wire whose edges could be G1. It removes a vertex
117 -- between G1 edges.
118 -- Option can be G1 or C1.
119 returns Wire from TopoDS;
120
121 --BRepAlgoAPI f
122
123 IsValid(S: Shape from TopoDS)
4e57c75e 124 returns Boolean from Standard
125 raises NullObject from Standard;
126 ---Purpose: Checks if the shape is "correct". If not, returns
127 -- <Standard_False>, else returns <Standard_True>.
128
7fd59977 129 IsValid(theArgs : ListOfShape from TopTools;
4e57c75e 130 theResult : Shape from TopoDS;
131 closedSolid : Boolean from Standard = Standard_False;
132 GeomCtrl : Boolean from Standard = Standard_True)
133 returns Boolean from Standard;
134 ---Purpose: Checks if the Generated and Modified Faces from
135 -- the shapes <arguments> in the shape <result> are
136 -- "correct". The args may be empty, then all faces
137 -- will be checked.
138 -- If <Closed> is True, only closed shape are valid.
139 -- If <GeomCtrl> is False the geometry of new
140 -- vertices and edges are not verified and the
141 -- auto-intersection of new wires are not searched.
142
143
7fd59977 144 IsTopologicallyValid(S: Shape from TopoDS)
4e57c75e 145 returns Boolean from Standard
146 raises NullObject from Standard;
147 ---Purpose: Checks if the shape is "correct". If not, returns
148 -- <Standard_False>, else returns <Standard_True>.
149 -- This method differs from the previous one in the
150 -- fact that no geometric contols (intersection of
151 -- wires, pcurve validity) are performed.
7fd59977 152
153 --BRepAlgoAPI t
154
155end BRepAlgo;