Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / HLR / HLR_Presentation.h
1 // HLR_Presentation.h: interface for the HLR_Presentation class.
2 // Hidden lines removal
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_HLR_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_HLR_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 TopoDS_Shape;
14 class Handle_Prs3d_Projector;
15 class gp_Trsf;
16 class TopLoc_Location;
17
18
19 class HLR_Presentation : public OCCDemo_Presentation
20 {
21 public:
22   // Construction
23   HLR_Presentation();
24
25 public:
26   // Iteration on samples
27   virtual void DoSample();
28   // one phase of iterations
29
30 private:
31   Handle_Prs3d_Projector Projector(gp_Trsf& theTrsf);
32   Standard_Boolean HLR(const TopoDS_Shape&, const Standard_Integer nbIso);
33   Standard_Boolean PolyHLR(const TopoDS_Shape&);
34   Standard_Boolean drawHLR(TopoDS_Shape&, TopoDS_Shape&, const TopLoc_Location&, 
35     const enum Quantity_NameOfColor);
36
37   // Sample functions
38   void sampleCylinder();
39   void sampleTorus();
40   void sampleBrepShape2();
41   void sampleBrepShape1();
42
43 private:
44   // Array of pointers to sample functions
45   typedef void (HLR_Presentation::*PSampleFuncType)();
46   static const PSampleFuncType SampleFuncs[];
47
48 };
49
50 #endif // !defined(AFX_HLR_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)