1e5ed362b16bfed2568639022708311f396b05a9
[occt.git] / src / HLRBRep / HLRBRep_HLRToShape.cdl
1 -- Created on: 1993-10-11
2 -- Created by: Christophe MARION
3 -- Copyright (c) 1993-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
21
22 class HLRToShape from HLRBRep
23         ---Purpose: A framework for filtering the computation
24         -- results of an HLRBRep_Algo algorithm by extraction.
25         -- From the results calculated by the algorithm on
26         -- a shape, a filter returns the type of edge you
27         -- want to identify. You can choose any of the following types of output:
28         -- -   visible sharp edges
29         -- -   hidden sharp edges
30         -- -   visible smooth edges
31         -- -   hidden smooth edges
32         -- -   visible sewn edges
33         -- -   hidden sewn edges
34         -- -   visible outline edges
35         -- -   hidden outline edges.
36         -- -   visible isoparameters and
37         -- -   hidden isoparameters.
38         -- Sharp edges present a C0 continuity (non G1).
39         -- Smooth edges present a G1 continuity (non G2).
40         -- Sewn edges present a C2 continuity.
41         -- The result is composed of 2D edges in the
42         -- projection plane of the view which the
43         -- algorithm has worked with. These 2D edges
44         -- are not included in the data structure of the visualized shape.
45         -- In order to obtain a complete image, you must
46         -- combine the shapes given by each of the chosen filters.
47         -- The construction of the shape does not call a
48         -- new computation of the algorithm, but only
49         -- reads its internal results.
50         -- The methods of this shape are almost identic to those of the HLRBrep_PolyHLRToShape class.
51 uses
52     Boolean  from Standard,
53     Integer  from Standard,
54     Real     from Standard,
55     Shape    from TopoDS,
56     Edge     from TopoDS,
57     Curve    from HLRBRep,
58     Algo     from HLRBRep,
59     Data     from HLRBRep,
60     EdgeData from HLRBRep
61
62 is
63     Create(A : Algo from HLRBRep)
64     returns HLRToShape from HLRBRep;
65         ---Purpose: Constructs a framework for filtering the
66         --- results of the HLRBRep_Algo algorithm, A.
67         -- Use the extraction filters to obtain the results you want for A.
68     VCompound(me : in out) returns Shape from TopoDS
69         ---C++: inline
70     is static;
71
72     VCompound(me : in out;
73               S  : Shape from TopoDS) returns Shape from TopoDS
74         ---C++: inline
75     is static;
76
77     Rg1LineVCompound(me : in out) returns Shape from TopoDS
78         ---C++: inline
79     is static;
80
81     Rg1LineVCompound(me : in out;
82                      S  : Shape from TopoDS) returns Shape from TopoDS
83         ---C++: inline
84     is static;
85
86     RgNLineVCompound(me : in out) returns Shape from TopoDS
87         ---C++: inline
88     is static;
89
90     RgNLineVCompound(me : in out;
91                      S  : Shape from TopoDS) returns Shape from TopoDS
92         ---C++: inline
93     is static;
94
95     OutLineVCompound(me : in out) returns Shape from TopoDS
96         ---C++: inline
97     is static;
98
99     OutLineVCompound(me : in out;
100                      S  : Shape from TopoDS) returns Shape from TopoDS
101         ---C++: inline
102     is static;
103
104     IsoLineVCompound(me : in out) returns Shape from TopoDS
105         ---C++: inline
106     is static;
107
108     IsoLineVCompound(me : in out;
109                      S  : Shape from TopoDS) returns Shape from TopoDS
110         ---C++: inline
111     is static;
112
113     HCompound(me : in out) returns Shape from TopoDS
114         ---C++: inline
115     is static;
116
117     HCompound(me : in out;
118               S  : Shape from TopoDS) returns Shape from TopoDS
119         ---C++: inline
120     is static;
121
122     Rg1LineHCompound(me : in out) returns Shape from TopoDS
123         ---C++: inline
124     is static;
125
126     Rg1LineHCompound(me : in out;
127                      S  : Shape from TopoDS) returns Shape from TopoDS
128         ---C++: inline
129     is static;
130
131     RgNLineHCompound(me : in out) returns Shape from TopoDS
132         ---C++: inline
133     is static;
134
135     RgNLineHCompound(me : in out;
136                      S  : Shape from TopoDS) returns Shape from TopoDS
137         ---C++: inline
138     is static;
139
140     OutLineHCompound(me : in out) returns Shape from TopoDS
141         ---C++: inline
142     is static;
143
144     OutLineHCompound(me : in out;
145                      S  : Shape from TopoDS) returns Shape from TopoDS
146         ---C++: inline
147     is static;
148
149     IsoLineHCompound(me : in out) returns Shape from TopoDS
150         ---C++: inline
151     is static;
152     
153     IsoLineHCompound(me : in out;
154                      S  : Shape from TopoDS) returns Shape from TopoDS
155         ---C++: inline
156     is static;
157     
158     InternalCompound(me : in out; typ     : Integer from Standard;
159                                   visible : Boolean from Standard;
160                                   S       : Shape   from TopoDS)
161     returns Shape from TopoDS
162     is static private;
163     
164     DrawFace(me; visible :     Boolean from Standard;
165                  typ     :     Integer from Standard;
166                  iface   :     Integer from Standard;
167                  DS      : out Data    from HLRBRep;
168                  Result  : out Shape   from TopoDS;
169                  added   : out Boolean from Standard)
170     is static private;
171     
172     DrawEdge(me; visible :     Boolean  from Standard;
173                  inFace  :     Boolean  from Standard;
174                  typ     :     Integer  from Standard;
175                  ed      : out EdgeData from HLRBRep;
176                  Result  : out Shape    from TopoDS;
177                  added   : out Boolean  from Standard)
178     is static private;
179     
180 fields
181     myAlgo : Algo from HLRBRep;
182
183 end HLRToShape;