Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / Glue / Glue_Presentation.h
1 // Glue_Presentation.h: interface for the Glue_Presentation class.
2 // Glue two solid shapes with contiguous faces
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_Glue_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6 #define AFX_Glue_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 GProp_Glue;
14 class TCollection_AsciiString;
15 class TopoDS_Shape;
16 class Handle_AIS_InteractiveObject;
17 class TopTools_ListOfShape;
18
19 class Glue_Presentation : public OCCDemo_Presentation
20 {
21 public:
22   // Construction
23   Glue_Presentation();
24
25 public:
26   // Iteration on samples
27   virtual void DoSample();
28   // one phase of iterations
29
30 private:
31   // Sample functions
32
33   // displays the shapes to be glued, given same domain faces and edges
34   // and at last - the glued shape
35   Standard_Boolean displayShapesFaces(TopoDS_Shape&, TopoDS_Shape&,
36     TopoDS_Shape&, TopTools_ListOfShape&, TopTools_ListOfShape&,
37     TopTools_ListOfShape&, TopTools_ListOfShape&);
38
39   // display a given shape in wire frame mode
40   Standard_Boolean drawShapeWf(TopoDS_Shape&,Handle_AIS_InteractiveObject&);
41
42   // display a given shape in shaded mode
43   Standard_Boolean drawShapeSh(TopoDS_Shape&,Handle_AIS_InteractiveObject&);
44
45   void sampleBoxes();
46   void sampleCylinder();
47   void sampleMoreBoxes();
48
49 private:
50   // Array of pointers to sample functions
51   typedef void (Glue_Presentation::*PSampleFuncType)();
52   static const PSampleFuncType SampleFuncs[];
53
54 };
55
56 #endif // !defined(AFX_Glue_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)