bfcc8fe026f59d669429c587bf7a26b9c6ef0533
[occt.git] / samples / mfc / occtdemo / Chamfers / Chamfers_Presentation.h
1 // Chamfers_Presentation.h: interface for the Chamfers_Presentation class.
2 // Presentation class: Example on chamfers and fillets
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Chamfers_PRESENTATION_H)
6 #define AFX_Chamfers_PRESENTATION_H
7
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11
12 #include <OCCDemo_Presentation.h>
13 #include <ChFi3d_FilletShape.hxx>
14
15 class AIS_InteractiveObject;
16 class TopoDS_Solid;
17
18 class Chamfers_Presentation : public OCCDemo_Presentation
19 {
20 public:
21   // Construction
22   Chamfers_Presentation();
23
24 public:
25   // Iteration on samples
26   virtual void DoSample();
27   // one phase of iterations
28
29 private:
30   Standard_Boolean createChamferOnBox(
31     TopoDS_Solid&, Standard_Real, Standard_Real, 
32     Handle(AIS_InteractiveObject)&);
33
34   Standard_Boolean createDiverseChamferOnBox(
35     TopoDS_Solid&, Standard_Real, Standard_Real, 
36     Standard_Real, Handle(AIS_InteractiveObject)&);
37
38   Standard_Boolean createFilletOnBox(
39     TopoDS_Solid&, Standard_Real, ChFi3d_FilletShape, 
40     Handle(AIS_InteractiveObject)&);
41
42   // Sample functions
43   void sampleBoxChamfer();
44   void sampleBoxFillet();
45   void sampleBoxCylChamfer();
46   void sampleBoxCylAngChamfer();
47   void sampleBoxCylFillet();
48   void sampleBoxCylAngFillet();
49
50 private:
51   // Array of pointers to sample functions
52   typedef void (Chamfers_Presentation::*PSampleFuncType)();
53   static const PSampleFuncType SampleFuncs[];
54
55 };
56
57 #endif // !defined(AFX_Chamfers_PRESENTATION_H)