summaryrefslogtreecommitdiff
path: root/inc/TopOpeBRep_LineInter.hxx
blob: 5c0db48b9bddce1007b806b0b648d00ddfc7e3f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _TopOpeBRep_LineInter_HeaderFile
#define _TopOpeBRep_LineInter_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _TopOpeBRep_TypeLineCurve_HeaderFile
#include <TopOpeBRep_TypeLineCurve.hxx>
#endif
#ifndef _Handle_IntPatch_Line_HeaderFile
#include <Handle_IntPatch_Line.hxx>
#endif
#ifndef _Handle_IntPatch_ALine_HeaderFile
#include <Handle_IntPatch_ALine.hxx>
#endif
#ifndef _Handle_IntPatch_RLine_HeaderFile
#include <Handle_IntPatch_RLine.hxx>
#endif
#ifndef _Handle_IntPatch_WLine_HeaderFile
#include <Handle_IntPatch_WLine.hxx>
#endif
#ifndef _Handle_IntPatch_GLine_HeaderFile
#include <Handle_IntPatch_GLine.hxx>
#endif
#ifndef _TopOpeBRep_WPointInter_HeaderFile
#include <TopOpeBRep_WPointInter.hxx>
#endif
#ifndef _Handle_TopOpeBRep_HArray1OfVPointInter_HeaderFile
#include <Handle_TopOpeBRep_HArray1OfVPointInter.hxx>
#endif
#ifndef _TopoDS_Face_HeaderFile
#include <TopoDS_Face.hxx>
#endif
#ifndef _TopOpeBRepDS_Transition_HeaderFile
#include <TopOpeBRepDS_Transition.hxx>
#endif
#ifndef _TopoDS_Shape_HeaderFile
#include <TopoDS_Shape.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _IntSurf_TypeTrans_HeaderFile
#include <IntSurf_TypeTrans.hxx>
#endif
#ifndef _IntSurf_Situation_HeaderFile
#include <IntSurf_Situation.hxx>
#endif
#ifndef _Handle_Geom_Curve_HeaderFile
#include <Handle_Geom_Curve.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class IntPatch_Line;
class IntPatch_ALine;
class IntPatch_RLine;
class IntPatch_WLine;
class IntPatch_GLine;
class TopOpeBRep_HArray1OfVPointInter;
class BRepAdaptor_Surface;
class TopoDS_Face;
class TopOpeBRep_VPointInter;
class TopOpeBRep_WPointInter;
class Geom_Curve;
class TopoDS_Shape;
class TopOpeBRepDS_Transition;
class TCollection_AsciiString;
class TopOpeBRep_Bipoint;



class TopOpeBRep_LineInter  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
      TopOpeBRep_LineInter();
  
  Standard_EXPORT     void SetLine(const Handle(IntPatch_Line)& L,const BRepAdaptor_Surface& S1,const BRepAdaptor_Surface& S2) ;
  
        void SetFaces(const TopoDS_Face& F1,const TopoDS_Face& F2) ;
  
        TopOpeBRep_TypeLineCurve TypeLineCurve() const;
  
        Standard_Integer NbVPoint() const;
  
  Standard_EXPORT    const TopOpeBRep_VPointInter& VPoint(const Standard_Integer I) const;
  
  Standard_EXPORT     TopOpeBRep_VPointInter& ChangeVPoint(const Standard_Integer I) ;
  
  Standard_EXPORT     void SetINL() ;
  
        Standard_Boolean INL() const;
  
  Standard_EXPORT     void SetIsVClosed() ;
  
        Standard_Boolean IsVClosed() const;
  
  Standard_EXPORT     void SetOK(const Standard_Boolean B) ;
  
        Standard_Boolean OK() const;
  
  Standard_EXPORT     void SetHasVPonR() ;
  
        Standard_Boolean HasVPonR() const;
  
  Standard_EXPORT     void SetVPBounds() ;
  
  Standard_EXPORT     void VPBounds(Standard_Integer& f,Standard_Integer& l,Standard_Integer& n) const;
  
  Standard_EXPORT     Standard_Boolean IsPeriodic() const;
  
  Standard_EXPORT     Standard_Real Period() const;
  
  Standard_EXPORT     void Bounds(Standard_Real& f,Standard_Real& l) const;
  
  Standard_EXPORT     Standard_Boolean HasVInternal() ;
  
  Standard_EXPORT     Standard_Integer NbWPoint() const;
  
  Standard_EXPORT    const TopOpeBRep_WPointInter& WPoint(const Standard_Integer I) ;
  
        IntSurf_TypeTrans TransitionOnS1() const;
  
        IntSurf_TypeTrans TransitionOnS2() const;
  
        IntSurf_Situation SituationS1() const;
  
        IntSurf_Situation SituationS2() const;
  
  Standard_EXPORT     Handle_Geom_Curve Curve() const;
  
  Standard_EXPORT     Handle_Geom_Curve Curve(const Standard_Real parmin,const Standard_Real parmax) const;
  //! returns the edge of a RESTRICTION line (or a null edge). <br>
  Standard_EXPORT    const TopoDS_Shape& Arc() const;
  //! returns true if Arc() edge (of a RESTRICTION line) is <br>
//!          an edge of the original face <Index> (1 or 2). <br>
  Standard_EXPORT     Standard_Boolean ArcIsEdge(const Standard_Integer I) const;
  
       const Handle_IntPatch_WLine& LineW() const;
  
       const Handle_IntPatch_GLine& LineG() const;
  
       const Handle_IntPatch_RLine& LineR() const;
  
  Standard_EXPORT     Standard_Boolean HasFirstPoint() const;
  
  Standard_EXPORT     Standard_Boolean HasLastPoint() const;
  
  Standard_EXPORT     void ComputeFaceFaceTransition() ;
  
  Standard_EXPORT    const TopOpeBRepDS_Transition& FaceFaceTransition(const Standard_Integer I) const;
  
        void Index(const Standard_Integer I) ;
  
        Standard_Integer Index() const;
  
  Standard_EXPORT     void DumpType() const;
  
  Standard_EXPORT     void DumpVPoint(const Standard_Integer I,const TCollection_AsciiString& s1,const TCollection_AsciiString& s2) const;
  
  Standard_EXPORT     void DumpBipoint(const TopOpeBRep_Bipoint& B,const TCollection_AsciiString& s1,const TCollection_AsciiString& s2) const;
  
  Standard_EXPORT     void SetTraceIndex(const Standard_Integer exF1,const Standard_Integer exF2) ;
  
  Standard_EXPORT     void GetTraceIndex(Standard_Integer& exF1,Standard_Integer& exF2) const;
  
  Standard_EXPORT     Standard_OStream& DumpLineTransitions(Standard_OStream& OS) const;





protected:





private:



Standard_Boolean myOK;
Standard_Integer myIndex;
Standard_Integer myNbVPoint;
Standard_Boolean myIsVClosed;
Standard_Boolean myHasVPonR;
Standard_Boolean myINL;
Standard_Boolean myVPBDefined;
Standard_Integer myVPF;
Standard_Integer myVPL;
Standard_Integer myVPN;
TopOpeBRep_TypeLineCurve myTypeLineCurve;
Handle_IntPatch_Line myIL;
Handle_IntPatch_ALine myILA;
Handle_IntPatch_RLine myILR;
Handle_IntPatch_WLine myILW;
Handle_IntPatch_GLine myILG;
TopOpeBRep_WPointInter myCurrentWP;
Handle_TopOpeBRep_HArray1OfVPointInter myHAVP;
TopoDS_Face myF1;
TopoDS_Face myF2;
TopOpeBRepDS_Transition myLineTonF1;
TopOpeBRepDS_Transition myLineTonF2;
TopoDS_Shape myNullShape;
Standard_Integer myexF1;
Standard_Integer myexF2;


};


#include <TopOpeBRep_LineInter.lxx>



// other Inline functions and methods (like "C++: function call" methods)


#endif