1 #ifndef TRANSLATE_H
2 #define TRANSLATE_H
3 #include "IESample.h"
4 
5 #include <Standard_WarningsDisable.hxx>
6 #include <QObject>
7 #include <Standard_WarningsRestore.hxx>
8 
9 #include <AIS_InteractiveContext.hxx>
10 #include <TopTools_HSequenceOfShape.hxx>
11 
12 class TranslateDlg;
13 
14 class IESAMPLE_EXPORT Translate: public QObject
15 {
16 	Q_OBJECT
17 
18 public:
19     enum { FormatBREP, FormatIGES, FormatSTEP, FormatVRML, FormatSTL };
20 
21 	Translate( QObject* );
22 	~Translate();
23 
24     bool                                  importModel( const int, const Handle(AIS_InteractiveContext)& );
25     bool                                  exportModel( const int, const Handle(AIS_InteractiveContext)& );
26 
27     QString                               info() const;
28 
29 protected:
30     virtual Handle(TopTools_HSequenceOfShape) importModel( const int, const QString& );
31     virtual bool                              exportModel( const int, const QString&,
32                                                     const Handle(TopTools_HSequenceOfShape)& );
33     virtual bool                              displayShSequence(const Handle(AIS_InteractiveContext)&,
34                                                     const Handle(TopTools_HSequenceOfShape)& );
35     QString                                   selectFileName( const int, const bool );
36 
37 private:
38     TranslateDlg*                             getDialog( const int, const bool );
39     Handle(TopTools_HSequenceOfShape)         getShapes( const Handle(AIS_InteractiveContext)& );
40 
41 	  Handle(TopTools_HSequenceOfShape)         importBREP( const QString& );
42 	  Handle(TopTools_HSequenceOfShape)         importIGES( const QString& );
43 	  Handle(TopTools_HSequenceOfShape)         importSTEP( const QString& );
44 
45 	  bool exportBREP( const QString&, const Handle(TopTools_HSequenceOfShape)& );
46 	  bool exportIGES( const QString&, const Handle(TopTools_HSequenceOfShape)& );
47 	  bool exportSTEP( const QString&, const Handle(TopTools_HSequenceOfShape)& );
48   	bool exportSTL( const QString&, const Handle(TopTools_HSequenceOfShape)& );
49   	bool exportVRML( const QString&, const Handle(TopTools_HSequenceOfShape)& );
50 
51     bool checkFacetedBrep( const Handle(TopTools_HSequenceOfShape)& );
52 
53 protected:
54     TranslateDlg*                     myDlg;
55     QString                           myInfo;
56 };
57 
58 #endif
59 
60