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