summaryrefslogtreecommitdiff
path: root/inc/IntCurveSurface_ThePolyhedronOfHInter.hxx
blob: 4b85d750347c7945fa9fa1f7e1d80ef1ef18381a (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
// 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 _IntCurveSurface_ThePolyhedronOfHInter_HeaderFile
#define _IntCurveSurface_ThePolyhedronOfHInter_HeaderFile

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

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Bnd_Box_HeaderFile
#include <Bnd_Box.hxx>
#endif
#ifndef _Handle_Bnd_HArray1OfBox_HeaderFile
#include <Handle_Bnd_HArray1OfBox.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Adaptor3d_HSurface_HeaderFile
#include <Handle_Adaptor3d_HSurface.hxx>
#endif
class Bnd_HArray1OfBox;
class Standard_OutOfRange;
class Adaptor3d_HSurface;
class Adaptor3d_HSurfaceTool;
class TColStd_Array1OfReal;
class gp_Pnt;
class Bnd_Box;
class gp_XYZ;



class IntCurveSurface_ThePolyhedronOfHInter  {
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); 
  }

  
  Standard_EXPORT   IntCurveSurface_ThePolyhedronOfHInter(const Handle(Adaptor3d_HSurface)& Surface,const Standard_Integer nbdU,const Standard_Integer nbdV,const Standard_Real U1,const Standard_Real V1,const Standard_Real U2,const Standard_Real V2);
  
  Standard_EXPORT   IntCurveSurface_ThePolyhedronOfHInter(const Handle(Adaptor3d_HSurface)& Surface,const TColStd_Array1OfReal& Upars,const TColStd_Array1OfReal& Vpars);
  
  Standard_EXPORT     void Destroy() ;
~IntCurveSurface_ThePolyhedronOfHInter()
{
  Destroy();
}
  
  Standard_EXPORT     void DeflectionOverEstimation(const Standard_Real flec) ;
  
  Standard_EXPORT     Standard_Real DeflectionOnTriangle(const Handle(Adaptor3d_HSurface)& Surface,const Standard_Integer Index) const;
  
  Standard_EXPORT     void UMinSingularity(const Standard_Boolean Sing) ;
  
  Standard_EXPORT     void UMaxSingularity(const Standard_Boolean Sing) ;
  
  Standard_EXPORT     void VMinSingularity(const Standard_Boolean Sing) ;
  
  Standard_EXPORT     void VMaxSingularity(const Standard_Boolean Sing) ;
  
  Standard_EXPORT     void Size(Standard_Integer& nbdu,Standard_Integer& nbdv) const;
  
  Standard_EXPORT     Standard_Integer NbTriangles() const;
  
  Standard_EXPORT     void Triangle(const Standard_Integer Index,Standard_Integer& P1,Standard_Integer& P2,Standard_Integer& P3) const;
  
  Standard_EXPORT     Standard_Integer TriConnex(const Standard_Integer Triang,const Standard_Integer Pivot,const Standard_Integer Pedge,Standard_Integer& TriCon,Standard_Integer& OtherP) const;
  
  Standard_EXPORT     Standard_Integer NbPoints() const;
  
  Standard_EXPORT     void Point(const gp_Pnt& thePnt,const Standard_Integer lig,const Standard_Integer col,const Standard_Real U,const Standard_Real V) ;
  
  Standard_EXPORT    const gp_Pnt& Point(const Standard_Integer Index,Standard_Real& U,Standard_Real& V) const;
  
  Standard_EXPORT    const gp_Pnt& Point(const Standard_Integer Index) const;
  
  Standard_EXPORT     void Point(const Standard_Integer Index,gp_Pnt& P) const;
  
  Standard_EXPORT    const Bnd_Box& Bounding() const;
  
  Standard_EXPORT     void FillBounding() ;
  
  Standard_EXPORT    const Handle_Bnd_HArray1OfBox& ComponentsBounding() const;
  
  Standard_EXPORT     Standard_Real DeflectionOverEstimation() const;
  
  Standard_EXPORT     Standard_Boolean HasUMinSingularity() const;
  
  Standard_EXPORT     Standard_Boolean HasUMaxSingularity() const;
  
  Standard_EXPORT     Standard_Boolean HasVMinSingularity() const;
  
  Standard_EXPORT     Standard_Boolean HasVMaxSingularity() const;
  
  Standard_EXPORT     void PlaneEquation(const Standard_Integer Triang,gp_XYZ& NormalVector,Standard_Real& PolarDistance) const;
  
  Standard_EXPORT     Standard_Boolean Contain(const Standard_Integer Triang,const gp_Pnt& ThePnt) const;
  
  Standard_EXPORT     void Parameters(const Standard_Integer Index,Standard_Real& U,Standard_Real& V) const;
  
  Standard_EXPORT     Standard_Boolean IsOnBound(const Standard_Integer Index1,const Standard_Integer Index2) const;
  
        Standard_Real GetBorderDeflection() const;
  
  Standard_EXPORT     void Dump() const;





protected:

  
  Standard_EXPORT     void Init(const Handle(Adaptor3d_HSurface)& Surface,const Standard_Real U1,const Standard_Real V1,const Standard_Real U2,const Standard_Real V2) ;
  
  Standard_EXPORT     void Init(const Handle(Adaptor3d_HSurface)& Surface,const TColStd_Array1OfReal& Upars,const TColStd_Array1OfReal& Vpars) ;




private:

  
  Standard_EXPORT     Standard_Real ComputeBorderDeflection(const Handle(Adaptor3d_HSurface)& Surface,const Standard_Real Parameter,const Standard_Real PMin,const Standard_Real PMax,const Standard_Boolean isUIso) const;


Standard_Integer nbdeltaU;
Standard_Integer nbdeltaV;
Bnd_Box TheBnd;
Handle_Bnd_HArray1OfBox TheComponentsBnd;
Standard_Real TheDeflection;
Standard_Address C_MyPnts;
Standard_Address C_MyU;
Standard_Address C_MyV;
Standard_Boolean UMinSingular;
Standard_Boolean UMaxSingular;
Standard_Boolean VMinSingular;
Standard_Boolean VMaxSingular;
Standard_Real TheBorderDeflection;
Standard_Address C_MyIsOnBounds;


};

#define ThePSurface Handle_Adaptor3d_HSurface
#define ThePSurface_hxx <Adaptor3d_HSurface.hxx>
#define ThePSurfaceTool Adaptor3d_HSurfaceTool
#define ThePSurfaceTool_hxx <Adaptor3d_HSurfaceTool.hxx>
#define IntCurveSurface_Polyhedron IntCurveSurface_ThePolyhedronOfHInter
#define IntCurveSurface_Polyhedron_hxx <IntCurveSurface_ThePolyhedronOfHInter.hxx>

#include <IntCurveSurface_Polyhedron.lxx>

#undef ThePSurface
#undef ThePSurface_hxx
#undef ThePSurfaceTool
#undef ThePSurfaceTool_hxx
#undef IntCurveSurface_Polyhedron
#undef IntCurveSurface_Polyhedron_hxx


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


#endif