1 // Name : ExchangeAPI_Export.h
5 // 07/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_EXCHANGEAPI_EXCHANGEAPI_EXPORT_H_
8 #define SRC_EXCHANGEAPI_EXCHANGEAPI_EXPORT_H_
10 //--------------------------------------------------------------------------------------
11 #include "ExchangeAPI.h"
16 #include <ModelHighAPI_Interface.h>
17 #include <ModelHighAPI_Macro.h>
19 #include <ExchangePlugin_ExportFeature.h>
20 //--------------------------------------------------------------------------------------
21 class ModelHighAPI_Selection;
22 //--------------------------------------------------------------------------------------
23 /**\class ExchangeAPI_Export
25 * \brief Interface for Export feature
27 class ExchangeAPI_Export : public ModelHighAPI_Interface
30 /// Constructor without values
32 explicit ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature> & theFeature);
33 /// Constructor with values
35 ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature> & theFeature,
36 const std::string & theFilePath,
37 const std::string & theFileFormat,
38 const std::list<ModelHighAPI_Selection> & theSelectionList);
41 virtual ~ExchangeAPI_Export();
43 INTERFACE_3(ExchangePlugin_ExportFeature::ID(),
44 filePath, ExchangePlugin_ExportFeature::FILE_PATH_ID(), ModelAPI_AttributeString, /** File path */,
45 fileFormat, ExchangePlugin_ExportFeature::FILE_FORMAT_ID(), ModelAPI_AttributeString, /** File format */,
46 selectionList, ExchangePlugin_ExportFeature::SELECTION_LIST_ID(), ModelAPI_AttributeSelectionList, /** Selection list */
49 /// Set file path (without execute)
51 void setFilePath(const std::string & theFilePath);
53 /// Set file format (without execute)
55 void setFileFormat(const std::string & theFileFormat);
58 /// Set selection list (without execute)
60 void setSelectionList(const std::list<ModelHighAPI_Selection> & theSelectionList);
63 //! Pointer on Export object
64 typedef std::shared_ptr<ExchangeAPI_Export> ExportPtr;
66 /**\ingroup CPPHighAPI
67 * \brief Create Export feature
70 ExportPtr exportToFile(const std::shared_ptr<ModelAPI_Document> & thePart,
71 const std::string & theFilePath,
72 const std::string & theFileFormat,
73 const std::list<ModelHighAPI_Selection> & theSelectionList);
75 //--------------------------------------------------------------------------------------
76 //--------------------------------------------------------------------------------------
77 #endif /* SRC_EXCHANGEAPI_EXCHANGEAPI_EXPORT_H_ */