Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / occtdemo / Glue / Glue_Presentation.h
diff --git a/samples/mfc/occtdemo/Glue/Glue_Presentation.h b/samples/mfc/occtdemo/Glue/Glue_Presentation.h
new file mode 100755 (executable)
index 0000000..d1c2dd1
--- /dev/null
@@ -0,0 +1,56 @@
+// Glue_Presentation.h: interface for the Glue_Presentation class.
+// Glue two solid shapes with contiguous faces
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_Glue_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)
+#define AFX_Glue_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include <OCCDemo_Presentation.h>
+class GProp_Glue;
+class TCollection_AsciiString;
+class TopoDS_Shape;
+class Handle_AIS_InteractiveObject;
+class TopTools_ListOfShape;
+
+class Glue_Presentation : public OCCDemo_Presentation
+{
+public:
+  // Construction
+  Glue_Presentation();
+
+public:
+  // Iteration on samples
+  virtual void DoSample();
+  // one phase of iterations
+
+private:
+  // Sample functions
+
+  // displays the shapes to be glued, given same domain faces and edges
+  // and at last - the glued shape
+  Standard_Boolean displayShapesFaces(TopoDS_Shape&, TopoDS_Shape&,
+    TopoDS_Shape&, TopTools_ListOfShape&, TopTools_ListOfShape&,
+    TopTools_ListOfShape&, TopTools_ListOfShape&);
+
+  // display a given shape in wire frame mode
+  Standard_Boolean drawShapeWf(TopoDS_Shape&,Handle_AIS_InteractiveObject&);
+
+  // display a given shape in shaded mode
+  Standard_Boolean drawShapeSh(TopoDS_Shape&,Handle_AIS_InteractiveObject&);
+
+  void sampleBoxes();
+  void sampleCylinder();
+  void sampleMoreBoxes();
+
+private:
+  // Array of pointers to sample functions
+  typedef void (Glue_Presentation::*PSampleFuncType)();
+  static const PSampleFuncType SampleFuncs[];
+
+};
+
+#endif // !defined(AFX_Glue_Presentation_H__790EED7F_7BA2_11D5_BA4A_0060B0EE18EA__INCLUDED_)