3715ae336f6186ccef380d5638ab832d11f1a2ac
[occt.git] / samples / mfc / standard / 10_Convert / src / Convert_Presentation.h
1 // Convert_Presentation.h: interface for the Convert_Presentation class.
2 // Conversion of elementary geometry to BSpline curves and surfaces
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Convert_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_Convert_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 class Handle_Geom_Curve;
14 class Handle_Geom_Surface;
15
16 class Quantity_Color;
17
18 class Convert_Presentation : public OCCDemo_Presentation
19 {
20 public:
21   // Construction
22   Convert_Presentation();
23
24 public:
25   // Iteration on samples
26   virtual void DoSample();
27   // one phase of iterations
28
29 private:
30   // Sample functions
31   void sampleCircle();
32   void sampleEllipse();
33   void sampleBezier();
34   void sampleBezierSurface();
35   void sampleCylindricalSurface();
36   void sampleRevolSurface();
37   void sampleToroidalSurface();
38   void sampleConicalSurface(); 
39   void sampleSphericalSurface(); 
40
41   void drawCurveAndItsBSpline (Handle_Geom_Curve theCurve, 
42     const Standard_CString theName, TCollection_AsciiString& theText);
43
44   void drawSurfaceAndItsBSpline (Handle_Geom_Surface theSurface, 
45     const Standard_CString theName, TCollection_AsciiString& theText);
46
47 private:
48   // Array of pointers to sample functions
49   typedef void (Convert_Presentation::*PSampleFuncType)();
50   static const PSampleFuncType SampleFuncs[];
51
52   int myNbFuncs;
53 };
54
55 #endif // !defined(AFX_Convert_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)