Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / Extrema / Extrema_Presentation.h
1 // Extrema_Presentation.h: interface for the Extrema_Presentation class.
2 // Calculation of extrema between geometries or shapes
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Extrema_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_Extrema_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 gp_Pnt;
14
15 class Extrema_Presentation : public OCCDemo_Presentation
16 {
17 public:
18   // Construction
19   Extrema_Presentation();
20
21 public:
22   // Iteration on samples
23   virtual void DoSample();
24   // one phase of iterations
25
26 private:
27   void displayExtemaEdge(const gp_Pnt&, const gp_Pnt&);
28   void doShapeShapeExtrema(const TopoDS_Shape&, const TopoDS_Shape&,
29     TCollection_AsciiString& theText);
30
31   // Sample functions
32   void sampleCurveCurve();
33   void sampleCurveSur();
34   void sampleSurSur();
35   void sampleShapeShape();
36   void sampleShellShell();
37
38 private:
39   // Array of pointers to sample functions
40   typedef void (Extrema_Presentation::*PSampleFuncType)();
41   static const PSampleFuncType SampleFuncs[];
42
43 };
44
45 #endif // !defined(AFX_Extrema_PRESENTATION_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)