0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / BOP / BOP_ShellFaceClassifier.cdl
1 -- Created on: 2001-06-25
2 -- Created by: Michael KLOKOV
3 -- Copyright (c) 2001-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21 class ShellFaceClassifier from BOP inherits CompositeClassifier from BOP
22
23
24         ---Purpose:  
25         
26         --- The  algorithm is to classify loops that  
27         --  consist of faces and shells
28         --- 
29     
30 uses
31     
32     Shape               from TopoDS,
33     Shell               from TopoDS,
34     State               from TopAbs,
35     Pnt                 from gp,
36     Builder             from BRep, 
37     BlockBuilder        from BOP,
38     SolidClassifier     from BOP,
39     DataMapOfShapeShape from TopTools
40
41 is
42     Create(theBlockBuilder: BlockBuilder from BOP)
43         returns ShellFaceClassifier from BOP;
44         ---Purpose: 
45         --- Creates a classifier in 3D space, to compare
46         --- a face with a set of faces,
47         --- a shell with a set of faces,
48         --- a shell with a shell
49         ---
50     Clear(me: in out);
51         ---Purpose:  
52         --- Clears  contents of internal state of the object     
53         ---
54     CompareShapes(me : in out;  
55                   B1 : Shape from TopoDS;  
56                   B2 : Shape from TopoDS)
57         returns State from TopAbs
58         is redefined;
59         ---Purpose:  
60         --- Classify shape <B1> with shape <B2> 
61         ---
62     CompareElementToShape(me : in out;  
63                   E : Shape from TopoDS;  
64                   B : Shape from TopoDS)
65     
66         returns State from TopAbs
67         is redefined;
68         ---Purpose:  
69         --- Classify element <E> with shape <B> 
70         ---
71     ResetShape(me : in out;  
72                   B : Shape from TopoDS)
73         is redefined;
74         ---Purpose:  
75         --- Prepare classification involving shape <B>
76         --- Calls ResetElement on first element of <B> 
77         ---
78     ResetElement(me : in out;  
79                   E : Shape from TopoDS)
80         is redefined;
81         ---Purpose:  
82         --- Prepare classification involving element <E>. 
83         ---
84     CompareElement(me : in out;  
85                   E : Shape from TopoDS);
86         ---Purpose:  
87         --- Add element <E> in the set of elements used in classification.
88         ---
89     State(me : in out)  
90         returns State from TopAbs
91         is redefined;
92         ---Purpose:  
93         --- Returns state of classification of 2D point, defined by 
94         --- ResetElement, with the current set of elements,  
95         --- defined by Compare. 
96         ---
97     
98 fields
99
100     myFirstCompare:    Boolean from Standard;
101     myPoint:           Pnt from gp;
102     myShell:           Shell from TopoDS;
103     myBuilder:         Builder from BRep;
104     mySolidClassifier: SolidClassifier from BOP; 
105     myFaceShellMap :   DataMapOfShapeShape from TopTools;
106
107 end ShellFaceClassifier from BOP;