Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / Interpol / Interpol_Presentation.h
1 // Interpol_Presentation.h: interface for the Interpol_Presentation class.
2 // Presentation class: Interpolation of a set of points to form a curve
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Interpol_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_Interpol_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
14 class Handle_Geom_BSplineCurve;
15 class Handle_TColgp_HArray1OfPnt;
16 class TColStd_Array1OfInteger;
17 class TColStd_Array1OfReal;
18
19 class Interpol_Presentation : public OCCDemo_Presentation
20 {
21 public:
22   // Construction
23   Interpol_Presentation();
24
25 public:
26   // Iteration on samples
27   virtual void DoSample();
28   // one phase of iterations
29
30 private:
31   void interpolate (Standard_Real[][3], 
32     Standard_Integer, TCollection_AsciiString&,
33     const TColStd_Array1OfInteger& thePointIndexes,
34     const TColStd_Array1OfReal& theAngles);
35
36   // Sample functions
37   void sample1();
38   void sample2();
39   void sample3();
40
41 private:
42   // Array of pointers to sample functions
43   typedef void (Interpol_Presentation::*PSampleFuncType)();
44   static const PSampleFuncType SampleFuncs[];
45
46 };
47
48 #endif // !defined(AFX_Interpol_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)