0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepAlgo / BRepAlgo.cdl
1 -- Created on: 1997-01-17
2 -- Created by: Didier PIFFAULT
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 -- Modified     David CARBONEL
18 --              Add of Sewing class 
19
20 package BRepAlgo
21
22         ---Purpose: 
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.
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, 
57     StdFail
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;
80
81     class BooleanOperations;
82         ---Purpose: 
83     class DSAccess;
84         ---Purpose: 
85     class EdgeConnector;
86         ---Purpose: 
87     class  NormalProjection; 
88
89   --  class  Sewing; now it is in BRepBuilderAPI
90     
91     imported DataMapOfShapeBoolean;
92     
93     imported DataMapIteratorOfDataMapOfShapeBoolean;
94
95     imported DataMapOfShapeInterference;
96
97     imported DataMapIteratorOfDataMapOfShapeInterference;
98
99     imported SequenceOfSequenceOfInteger;
100
101     ConcatenateWire(Wire   :   Wire  from TopoDS;
102                     Option :   Shape from GeomAbs; 
103                     AngularTolerance  :  Real  =  1.0e-4)         
104     ---Purpose: this method makes a wire whose edges are C1 from
105     --          a Wire whose edges could be G1. It removes a vertex
106     --          between G1 edges.
107     --          Option can be G1 or C1.
108     returns Wire from TopoDS;
109
110     ConcatenateWireC0(Wire   :   Wire  from TopoDS)         
111     ---Purpose: this method makes an edge from a wire.
112     --          Junction points between edges of wire may be sharp,
113     --          resulting curve of the resulting edge may be C0.
114     returns Edge from TopoDS;
115
116     --BRepAlgoAPI  f 
117
118     IsValid(S: Shape from TopoDS) 
119             returns Boolean from Standard
120         raises NullObject from Standard;
121         ---Purpose: Checks if the  shape is "correct". If not, returns
122         --          <Standard_False>, else returns <Standard_True>.
123             
124     IsValid(theArgs     : ListOfShape from TopTools;
125                 theResult   : Shape       from TopoDS;
126                 closedSolid : Boolean     from Standard = Standard_False;
127                 GeomCtrl    : Boolean     from Standard = Standard_True) 
128             returns Boolean from Standard; 
129         ---Purpose: Checks if  the  Generated and Modified Faces  from
130         --          the shapes <arguments> in  the shape <result>  are
131         --          "correct". The args   may be empty, then all faces
132         --          will be checked. 
133         --          If <Closed> is True,  only  closed shape are valid. 
134         --           If <GeomCtrl>  is    False the geometry  of   new
135         --            vertices and edges   are   not verified and  the
136         --          auto-intersection of new wires are not searched.
137             
138          
139     IsTopologicallyValid(S: Shape from TopoDS) 
140             returns Boolean from Standard
141         raises NullObject from Standard;
142         ---Purpose: Checks if the shape is  "correct". If not, returns
143         --          <Standard_False>,  else   returns <Standard_True>.
144         --          This method differs from  the previous one in  the
145         --          fact that no   geometric contols (intersection  of
146         --          wires, pcurve validity) are performed.
147
148     --BRepAlgoAPI  t     
149
150 end BRepAlgo;