Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / Approx / Approx_Presentation.h
1 // Approx_Presentation.h: interface for the Approx_Presentation class.
2 // Presentation class: Approximation of curves and surfaces.
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Approx_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_Approx_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_
7
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11
12 #include <OCCDemo_Presentation.h>
13 #include <Geom_BSplineSurface.hxx>
14
15 class Approx_Presentation : public OCCDemo_Presentation
16 {
17 public:
18   // Construction
19   Approx_Presentation();
20
21 public:
22   // Iteration on samples
23   virtual void DoSample();
24   // one phase of iterations
25
26 private:
27   // Sample functions
28   void sample1();
29   void sample2();
30   void sample3();
31   void sample4();
32   Standard_Boolean DrawModifyBSplineSurface(TColStd_Array2OfReal& ,
33                                             Standard_Real ,Standard_Real ,
34                                             Standard_Integer ,Standard_Integer ,
35                                             Standard_Real,Handle_AIS_InteractiveObject&,
36                                             Handle_AIS_InteractiveObject&,
37                                             Standard_Integer);
38
39   Handle_Geom_BSplineSurface CreateBSplineSurface(TColStd_Array2OfReal& ,
40                                                   Standard_Real ,Standard_Real,
41                                                   Standard_Integer);
42
43 private:
44   // Array of pointers to sample functions
45   typedef void (Approx_Presentation::*PSampleFuncType)();
46   static const PSampleFuncType SampleFuncs[];
47  
48 };
49
50 #endif // !defined(AFX_Approx_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)