Test for 0022778: Bug in BRepMesh
[occt.git] / src / TopOpeBRep / TopOpeBRep_LineInter.cdl
1 -- Created on: 1993-11-10
2 -- Created by: Jean Yves LEBEY
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 LineInter from TopOpeBRep
23
24 uses
25
26     Line from IntPatch,
27     TypeLineCurve from TopOpeBRep,
28     ALine from IntPatch,
29     RLine from IntPatch,
30     WLine from IntPatch,
31     GLine from IntPatch,
32     VPointInter from TopOpeBRep,
33     HArray1OfVPointInter from TopOpeBRep, 
34     WPointInter from TopOpeBRep,
35     Bipoint from TopOpeBRep,
36     Transition from TopOpeBRepDS,
37     Curve from Geom,
38     Surface from BRepAdaptor,
39     Face from TopoDS,
40     TypeTrans from IntSurf, 
41     Situation from IntSurf, 
42     Shape from TopoDS,
43     AsciiString from TCollection
44     
45 is
46
47     Create returns LineInter from TopOpeBRep;
48     ---C++: inline
49     
50     SetLine(me:in out; 
51             L : Line from IntPatch; 
52             S1,S2:Surface from BRepAdaptor)
53     is static;
54  
55     SetFaces(me:in out;F1,F2:Face from TopoDS);
56     ---C++: inline
57
58     TypeLineCurve(me) returns TypeLineCurve from TopOpeBRep 
59     ---C++: inline
60     is static; 
61
62     NbVPoint(me) returns Integer 
63     ---C++: inline
64     is static;
65         
66     VPoint(me; I : Integer) returns VPointInter from TopOpeBRep 
67     ---C++: return const &
68     is static;
69  
70     ChangeVPoint(me:in out; I : Integer) 
71     returns VPointInter from TopOpeBRep 
72     ---C++: return &
73     is static;
74
75     SetINL(me : in out); -- Is Null Length
76     INL(me) returns Boolean;
77     ---C++: inline
78
79     SetIsVClosed(me : in out);
80     IsVClosed(me) returns Boolean;
81     ---C++: inline
82
83     SetOK(me : in out; B : Boolean);
84     OK(me) returns Boolean;
85     ---C++: inline
86
87     SetHasVPonR(me : in out)
88     is static;
89
90     HasVPonR(me) returns Boolean  
91     ---C++: inline
92     is static;
93
94     SetVPBounds(me : in out)
95     is static;
96
97     VPBounds(me; f,l,n : out Integer)
98     is static;
99
100     IsPeriodic(me) returns Boolean  
101     is static;
102     
103     Period(me) returns Real  
104     is static;
105     
106     Bounds(me; f,l : out Real)
107     is static;
108     
109     HasVInternal(me : in out) returns Boolean 
110     is static;
111     
112     NbWPoint(me) returns Integer 
113     is static;
114         
115     WPoint(me : in out; I : Integer) returns WPointInter from TopOpeBRep
116     ---C++: return const &
117      is static;
118
119     TransitionOnS1(me) returns TypeTrans from IntSurf -- NYI const&
120     ---C++: inline
121     is static;
122
123     TransitionOnS2(me) returns TypeTrans from IntSurf -- NYI const&
124     ---C++: inline
125     is static;
126
127     SituationS1(me) returns Situation from IntSurf 
128     ---C++: inline
129     is static; 
130
131     SituationS2(me) returns Situation from IntSurf 
132     ---C++: inline
133     is static; 
134
135     Curve(me) returns Curve from Geom 
136     is static;
137
138     Curve(me; parmin,parmax : Real) returns Curve from Geom 
139     is static;
140     
141     Arc(me) returns Shape from TopoDS;
142     ---Purpose: returns the edge of a RESTRICTION line (or a null edge).
143     ---C++: return const &
144     
145     ArcIsEdge(me; I : Integer) returns Boolean;
146     ---Purpose: returns true if Arc() edge (of a RESTRICTION line) is
147     --          an edge of the original face <Index> (1 or 2).
148
149     LineW(me) returns WLine from IntPatch;
150     ---C++: return const &
151     ---C++: inline
152
153     LineG(me) returns GLine from IntPatch;
154     ---C++: return const &
155     ---C++: inline
156
157     LineR(me) returns RLine from IntPatch;
158     ---C++: return const &
159     ---C++: inline
160
161     HasFirstPoint(me) returns Boolean;
162
163     HasLastPoint(me) returns Boolean;
164
165     ComputeFaceFaceTransition(me:in out);
166
167     FaceFaceTransition(me;I:Integer) returns Transition from TopOpeBRepDS;
168     -- transition from face I(1,2) through me with face (2,1) 
169     ---C++: return const &
170
171     Index(me : in out; I : Integer from Standard) is static; -- debug
172     ---C++: inline
173     Index(me) returns Integer from Standard is static; -- debug
174     ---C++: inline
175     DumpType(me) is static; -- debug
176     DumpVPoint(me; I : Integer;
177                    s1,s2 : AsciiString from TCollection) is static; -- debug
178     DumpBipoint(me; B : Bipoint from TopOpeBRep;
179                     s1,s2 : AsciiString from TCollection) is static; -- debug
180
181     SetTraceIndex(me:in out; exF1,exF2 : Integer) is static;    
182     GetTraceIndex(me; exF1,exF2 : out Integer) is static;    
183     -- <exf1,exf2> TopExp_Explorer exploration index of faces
184     -- involved in current line. (trace)
185
186     DumpLineTransitions(me; OS : in out OStream) returns OStream is static;
187     ---C++: return &
188
189 fields
190
191     myOK : Boolean;
192     myIndex : Integer; 
193     myNbVPoint : Integer;
194     myIsVClosed : Boolean;
195     myHasVPonR : Boolean;
196     myINL : Boolean;
197     myVPBDefined : Boolean;
198     myVPF : Integer;
199     myVPL : Integer;
200     myVPN : Integer;
201     myTypeLineCurve : TypeLineCurve from TopOpeBRep;
202     myIL : Line from IntPatch;
203     myILA : ALine from IntPatch;    
204     myILR : RLine from IntPatch;    
205     myILW : WLine from IntPatch;    
206     myILG : GLine from IntPatch;    
207     myCurrentWP : WPointInter from TopOpeBRep; 
208     myHAVP : HArray1OfVPointInter from TopOpeBRep;
209     myF1 : Face from TopoDS;
210     myF2 : Face from TopoDS;
211     myLineTonF1 : Transition from TopOpeBRepDS;
212     myLineTonF2 : Transition from TopOpeBRepDS;
213     myNullShape : Shape from TopoDS; --dummy
214     
215     -- trace
216     myexF1,myexF2 : Integer;
217
218 end LineInter from TopOpeBRep;