0024784: Move documentation in CDL files to proper location
[occt.git] / src / TopClass / TopClass_SolidExplorer.cdl
1 -- Created on: 1994-03-10
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1994-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 deferred class SolidExplorer from TopClass 
18
19         ---Purpose: Provide an   exploration of a  BRep Shape   for the
20         --          classification. Defines the description of a solid for the
21   --          SolidClassifier.
22
23 uses
24     Pnt          from gp,
25     Lin          from gp,
26     Face         from TopoDS,
27     Shape        from TopoDS
28
29 is
30     
31     Reject(me;  P : Pnt from gp) returns Boolean
32         ---Purpose: Should  return  True  if the  point  is  outside a
33         --          bounding volume of the shape.
34     is deferred;
35     
36     Segment(me: in out;  P :  Pnt from gp;
37                          L : out Lin from gp; Par : out  Real)
38          ---Purpose: Returns  in <L>, <Par>  a segment having at least
39          --          one  intersection  with  the  shape  boundary  to
40          --          compute  intersections. 
41          --          
42     is deferred;
43
44     OtherSegment(me: in out;  P :  Pnt from gp;
45                               L : out Lin from gp; Par : out  Real)
46          ---Purpose: Returns  in <L>, <Par>  a segment having at least
47          --          one  intersection  with  the  shape  boundary  to
48          --          compute  intersections. 
49          --          
50          --          The First Call to this method returns a line which
51          --          point to a point of the first face of the shape.
52          --          The Second Call provide a line to the second face
53          --          and so on. 
54          --          
55          --          if the method is called N times on a shape with F 
56          --          faces (N>F) the line point to other points on the
57          --          face 1,2,3 ... N 
58     is deferred;
59     
60     InitShell(me : in out)
61         ---Purpose: Starts an exploration of the shells.
62     is deferred;
63     
64     MoreShells(me) returns Boolean
65         ---Purpose: Returns True if there is  a current shell.
66     is deferred;
67         
68     NextShell(me : in out)
69         ---Purpose: Sets the explorer  to the  next  shell and  returns
70         --          False if there are no more wires.
71     is deferred;
72     
73     RejectShell(me; L :  Lin from gp; Par : Real) returns Boolean
74         ---Purpose: Returns True  if the shell  bounding volume does not
75         --          intersect the segment.
76     is deferred;
77     
78
79     
80     InitFace(me : in out)
81         ---Purpose: Starts an exploration of the faces.
82     is deferred;
83     
84     MoreFaces(me) returns Boolean
85         ---Purpose: Returns True if there is  a current face.
86     is deferred;
87         
88     NextFace(me : in out)
89         ---Purpose: Sets the explorer  to the  next  face and  returns
90         --          False if there are no more wires.
91     is deferred;
92     
93     CurrentFace(me) returns Face from TopoDS
94         ---Purpose: Returns the current face.
95     is deferred;
96     
97     RejectFace(me; L :  Lin from gp; Par : Real) returns Boolean
98         ---Purpose: Returns True  if the face  bounding volume does not
99         --          intersect the segment.
100     is deferred;
101     
102                                                                                       
103      --------------------------------------------------------------------
104
105
106 end SolidExplorer;
107
108
109
110
111
112
113
114