summaryrefslogtreecommitdiff
path: root/inc/GeomInt_WLApprox.hxx
blob: 093c16e7c66768a5c9a79cb70b2ac29623fc82ac (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
// 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 _GeomInt_WLApprox_HeaderFile
#define _GeomInt_WLApprox_HeaderFile

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

#ifndef _GeomInt_TheComputeLineOfWLApprox_HeaderFile
#include <GeomInt_TheComputeLineOfWLApprox.hxx>
#endif
#ifndef _GeomInt_TheComputeLineBezierOfWLApprox_HeaderFile
#include <GeomInt_TheComputeLineBezierOfWLApprox.hxx>
#endif
#ifndef _Approx_MCurvesToBSpCurve_HeaderFile
#include <Approx_MCurvesToBSpCurve.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Adaptor3d_HSurface_HeaderFile
#include <Handle_Adaptor3d_HSurface.hxx>
#endif
#ifndef _Handle_IntPatch_WLine_HeaderFile
#include <Handle_IntPatch_WLine.hxx>
#endif
#ifndef _Approx_ParametrizationType_HeaderFile
#include <Approx_ParametrizationType.hxx>
#endif
class Standard_OutOfRange;
class StdFail_NotDone;
class Adaptor3d_HSurface;
class Adaptor3d_HSurfaceTool;
class IntSurf_Quadric;
class IntSurf_QuadricTool;
class IntPatch_WLine;
class GeomInt_ThePrmPrmSvSurfacesOfWLApprox;
class GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox;
class GeomInt_TheImpPrmSvSurfacesOfWLApprox;
class GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox;
class GeomInt_TheMultiLineOfWLApprox;
class GeomInt_TheMultiLineToolOfWLApprox;
class GeomInt_TheComputeLineOfWLApprox;
class GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox;
class GeomInt_MyGradientbisOfTheComputeLineOfWLApprox;
class GeomInt_TheComputeLineBezierOfWLApprox;
class GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox;
class AppParCurves_MultiBSpCurve;



class GeomInt_WLApprox  {
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   GeomInt_WLApprox();
  
  Standard_EXPORT     void Perform(const Handle(Adaptor3d_HSurface)& Surf1,const Handle(Adaptor3d_HSurface)& Surf2,const Handle(IntPatch_WLine)& aLine,const Standard_Boolean ApproxXYZ = Standard_True,const Standard_Boolean ApproxU1V1 = Standard_True,const Standard_Boolean ApproxU2V2 = Standard_True,const Standard_Integer indicemin = 0,const Standard_Integer indicemax = 0) ;
  
  Standard_EXPORT     void Perform(const Handle(IntPatch_WLine)& aLine,const Standard_Boolean ApproxXYZ = Standard_True,const Standard_Boolean ApproxU1V1 = Standard_True,const Standard_Boolean ApproxU2V2 = Standard_True,const Standard_Integer indicemin = 0,const Standard_Integer indicemax = 0) ;
  
  Standard_EXPORT     void SetParameters(const Standard_Real Tol3d,const Standard_Real Tol2d,const Standard_Integer DegMin,const Standard_Integer DegMax,const Standard_Integer NbIterMax,const Standard_Boolean ApproxWithTangency = Standard_True,const Approx_ParametrizationType Parametrization = Approx_ChordLength) ;
  
  Standard_EXPORT     void SetParameters(const Standard_Real Tol3d,const Standard_Real Tol2d,const Standard_Boolean RelativeTol,const Standard_Integer DegMin,const Standard_Integer DegMax,const Standard_Integer NbIterMax,const Standard_Integer NbPntMax,const Standard_Boolean ApproxWithTangency = Standard_True,const Approx_ParametrizationType Parametrization = Approx_ChordLength) ;
  
  Standard_EXPORT     void Perform() ;
  
  Standard_EXPORT     Standard_Real TolReached3d() const;
  
  Standard_EXPORT     Standard_Real TolReached2d() const;
  
  Standard_EXPORT     Standard_Boolean IsDone() const;
  
  Standard_EXPORT     Standard_Integer NbMultiCurves() const;
  
  Standard_EXPORT    const AppParCurves_MultiBSpCurve& Value(const Standard_Integer Index) const;





protected:





private:

  
  Standard_EXPORT     void Perform(const Handle(Adaptor3d_HSurface)& Surf1,const IntSurf_Quadric& Surf2,const Handle(IntPatch_WLine)& aLine,const Standard_Boolean ApproxXYZ,const Standard_Boolean ApproxU1V1,const Standard_Boolean ApproxU2V2,const Standard_Integer indicemin,const Standard_Integer indicemax) ;
  
  Standard_EXPORT     void Perform(const IntSurf_Quadric& Surf1,const Handle(Adaptor3d_HSurface)& Surf2,const Handle(IntPatch_WLine)& aLine,const Standard_Boolean ApproxXYZ,const Standard_Boolean ApproxU1V1,const Standard_Boolean ApproxU2V2,const Standard_Integer indicemin,const Standard_Integer indicemax) ;
  
  Standard_EXPORT     void UpdateTolReached() ;


GeomInt_TheComputeLineOfWLApprox myComputeLine;
GeomInt_TheComputeLineBezierOfWLApprox myComputeLineBezier;
Approx_MCurvesToBSpCurve myBezToBSpl;
Standard_Boolean myTolReached;
Standard_Boolean myApproxBez;
Standard_Boolean myWithTangency;
Standard_Real myTol3d;
Standard_Real myTol2d;
Standard_Boolean myRelativeTol;
Standard_Integer myDegMin;
Standard_Integer myDegMax;
Standard_Integer myNbPntMax;
Standard_Integer myNbIterMax;
Standard_Real myMinFactorXYZ;
Standard_Real myMinFactorUV;
Standard_Real myTolReached3d;
Standard_Real myTolReached2d;


};





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


#endif