summaryrefslogtreecommitdiff
path: root/inc/BRepApprox_Approx.hxx
blob: 234263ff98e8ec2d328784918782359b77b94f2f (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
// 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 _BRepApprox_Approx_HeaderFile
#define _BRepApprox_Approx_HeaderFile

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

#ifndef _BRepApprox_TheComputeLineOfApprox_HeaderFile
#include <BRepApprox_TheComputeLineOfApprox.hxx>
#endif
#ifndef _BRepApprox_TheComputeLineBezierOfApprox_HeaderFile
#include <BRepApprox_TheComputeLineBezierOfApprox.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_BRepApprox_ApproxLine_HeaderFile
#include <Handle_BRepApprox_ApproxLine.hxx>
#endif
#ifndef _Approx_ParametrizationType_HeaderFile
#include <Approx_ParametrizationType.hxx>
#endif
class Standard_OutOfRange;
class StdFail_NotDone;
class BRepAdaptor_Surface;
class BRepApprox_SurfaceTool;
class IntSurf_Quadric;
class IntSurf_QuadricTool;
class BRepApprox_ApproxLine;
class BRepApprox_ThePrmPrmSvSurfacesOfApprox;
class BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox;
class BRepApprox_TheImpPrmSvSurfacesOfApprox;
class BRepApprox_TheZerImpFuncOfTheImpPrmSvSurfacesOfApprox;
class BRepApprox_TheMultiLineOfApprox;
class BRepApprox_TheMultiLineToolOfApprox;
class BRepApprox_TheComputeLineOfApprox;
class BRepApprox_MyBSplGradientOfTheComputeLineOfApprox;
class BRepApprox_MyGradientbisOfTheComputeLineOfApprox;
class BRepApprox_TheComputeLineBezierOfApprox;
class BRepApprox_MyGradientOfTheComputeLineBezierOfApprox;
class AppParCurves_MultiBSpCurve;



class BRepApprox_Approx  {
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   BRepApprox_Approx();
  
  Standard_EXPORT     void Perform(const BRepAdaptor_Surface& Surf1,const BRepAdaptor_Surface& Surf2,const Handle(BRepApprox_ApproxLine)& 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(BRepApprox_ApproxLine)& 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 BRepAdaptor_Surface& Surf1,const IntSurf_Quadric& Surf2,const Handle(BRepApprox_ApproxLine)& 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 BRepAdaptor_Surface& Surf2,const Handle(BRepApprox_ApproxLine)& 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() ;


BRepApprox_TheComputeLineOfApprox myComputeLine;
BRepApprox_TheComputeLineBezierOfApprox 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