00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #ifndef QOCCINPUTOUTPUT_H
00026 #define QOCCINPUTOUTPUT_H
00027 
00028 #include <QtCore/QObject>
00029 #include "qocc.h"
00030 
00031 class QOCC_DECLSPEC QoccInputOutput : public QObject
00032 {
00033         Q_OBJECT
00034 
00035 public:
00036 
00037     enum FileFormat{    FormatBREP, 
00038                                                 FormatIGES, 
00039                                                 FormatSTEP, 
00040                                                 FormatCSFDB, 
00041                                                 FormatVRML, 
00042                                                 FormatSTL       };
00043 
00044         QoccInputOutput(void);
00045         ~QoccInputOutput(void);
00046 
00047     bool importModel( const QString& fileName, 
00048                                           const FileFormat format, 
00049                                           const Handle(AIS_InteractiveContext)& ic );
00050 
00051     bool exportModel( const QString& fileName, 
00052                                           const FileFormat format, 
00053                                           const Handle(AIS_InteractiveContext)& ic);
00054 
00055         bool importMesh( const QString& fileName,
00056                                          const FileFormat format,
00057                                          const Handle(AIS_InteractiveContext)& ic );
00058 
00059 
00060     QString info() const;
00061 
00062 signals:
00063 
00064         void error (int errorCode, QString& errorDescription);
00065 
00066 private:
00067 
00068     Handle(TopTools_HSequenceOfShape)  importModel( const FileFormat format, 
00069                                                                                             const QString& fileName );
00070     bool                               exportModel( const FileFormat format, 
00071                                                                                                     const QString&,
00072                                                     const Handle_TopTools_HSequenceOfShape& );
00073         
00074     Handle(TopTools_HSequenceOfShape) getShapes( const Handle_AIS_InteractiveContext& oc);
00075 
00076         Handle(TopTools_HSequenceOfShape) importBREP ( const QString& );
00077 
00078         Handle(TopTools_HSequenceOfShape) importIGES ( const QString& );
00079         Handle(TopTools_HSequenceOfShape) importSTEP ( const QString& );
00080         Handle(TopTools_HSequenceOfShape) importCSFDB( const QString& );
00081 
00082         bool exportBREP ( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00083         bool exportIGES ( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00084         bool exportSTEP ( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00085         bool exportCSFDB( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00086         bool exportSTL  ( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00087         bool exportVRML ( const QString& fileName, const Handle(TopTools_HSequenceOfShape)& shapes );
00088 
00089     bool checkFacetedBrep( const Handle(TopTools_HSequenceOfShape)& );
00090 
00091         
00092         
00093         QString myInfo;
00094 
00095 };
00096 
00097 #endif
00098