Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / LProps / LProps_Presentation.h
1 // LProps_Presentation.h: interface for the LProps_Presentation class.
2 // Presentation class: Local properties of curves and surfaces
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_LProps_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_LProps_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 <Geom2d_Curve.hxx>
14 class Quantity_Color;
15 class TopoDS_Wire;
16
17 class LProps_Presentation : public OCCDemo_Presentation
18 {
19 public:
20   // Construction
21   LProps_Presentation();
22
23 public:
24   // Iteration on samples
25   virtual void DoSample();
26   // one phase of iterations
27
28 private:
29   // Sample functions
30   void sampleBezier();
31   void samplePBSpline();
32   void sampleBezierSurface();
33
34   void showCurveLProps (Handle_Geom_Curve theCurve,
35     const Standard_CString theName,
36     const Standard_Integer theNbPoints,
37     const Standard_Real thePoints[]);
38   // Draws the curve, shows local properties and updates the result dialog
39
40   void showSurfaceLProps (Handle_Geom_Surface theSurface,
41     const Standard_CString theName,
42     const Standard_Integer theNbPoints,
43     const Standard_Real thePoints[][2]);
44
45 private:
46   // Array of pointers to sample functions
47   typedef void (LProps_Presentation::*PSampleFuncType)();
48   static const PSampleFuncType SampleFuncs[];
49
50 };
51
52 #endif // !defined(AFX_LProps_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)