//--------------------------------------------------------------------------------------
#include <ModelHighAPI_Tools.h>
//--------------------------------------------------------------------------------------
-ExchangeAPI_Export::ExchangeAPI_Export(
- const std::shared_ptr<ModelAPI_Feature> & theFeature)
-: ModelHighAPI_Interface(theFeature)
+void exportToFile(const std::shared_ptr<ModelAPI_Document> & thePart,
+ const std::string & theFilePath,
+ const std::list<ModelHighAPI_Selection> & theSelectionList,
+ const std::string & theFileFormat)
{
- initialize();
-}
-
-ExchangeAPI_Export::ExchangeAPI_Export(
- const std::shared_ptr<ModelAPI_Feature> & theFeature,
- const std::string & theFilePath,
- const std::string & theFileFormat,
- const std::list<ModelHighAPI_Selection> & theSelectionList)
-: ModelHighAPI_Interface(theFeature)
-{
- if (initialize()) {
- setFilePath(theFilePath);
- setFileFormat(theFileFormat);
- setSelectionList(theSelectionList);
- execute();
- }
-}
-
-ExchangeAPI_Export::~ExchangeAPI_Export()
-{
-
-}
-
-//--------------------------------------------------------------------------------------
-void ExchangeAPI_Export::setFilePath(const std::string & theFilePath)
-{
- fillAttribute(theFilePath, myfilePath);
-}
-
-void ExchangeAPI_Export::setFileFormat(const std::string & theFileFormat)
-{
- fillAttribute(theFileFormat, myfileFormat);
+ // TODO(spo): check that thePart is not empty
+ std::shared_ptr<ModelAPI_Feature> aFeature = thePart->addFeature(ExchangePlugin_ExportFeature::ID());
+ fillAttribute(theFilePath, aFeature->string(ExchangePlugin_ExportFeature::FILE_PATH_ID()));
+ fillAttribute(theSelectionList, aFeature->selectionList(ExchangePlugin_ExportFeature::SELECTION_LIST_ID()));
+ fillAttribute(theFileFormat, aFeature->string(ExchangePlugin_ExportFeature::FILE_FORMAT_ID()));
+ aFeature->execute();
}
-void ExchangeAPI_Export::setSelectionList(
- const std::list<ModelHighAPI_Selection> & theSelectionList)
+void exportToXAO(const std::shared_ptr<ModelAPI_Document> & thePart,
+ const std::string & theFilePath,
+ const std::string & theAuthor,
+ const std::string & theGeometryName)
{
- fillAttribute(theSelectionList, myselectionList);
+ // TODO(spo): check that thePart is not empty
+ std::shared_ptr<ModelAPI_Feature> aFeature = thePart->addFeature(ExchangePlugin_ExportFeature::ID());
+ fillAttribute(theFilePath, aFeature->string(ExchangePlugin_ExportFeature::FILE_PATH_ID()));
+ fillAttribute(theAuthor, aFeature->string(ExchangePlugin_ExportFeature::XAO_AUTHOR_ID()));
+ fillAttribute(theGeometryName, aFeature->string(ExchangePlugin_ExportFeature::XAO_GEOMETRY_NAME_ID()));
+ aFeature->execute();
}
//--------------------------------------------------------------------------------------
-ExportPtr exportToFile(
- const std::shared_ptr<ModelAPI_Document> & thePart,
- const std::string & theFilePath,
- const std::string & theFileFormat,
- const std::list<ModelHighAPI_Selection> & theSelectionList)
-{
- // TODO(spo): check that thePart is not empty
- std::shared_ptr<ModelAPI_Feature> aFeature = thePart->addFeature(ExchangeAPI_Export::ID());
- return ExportPtr(new ExchangeAPI_Export(aFeature, theFilePath, theFileFormat, theSelectionList));
-}
//--------------------------------------------------------------------------------------
class ModelHighAPI_Selection;
//--------------------------------------------------------------------------------------
-/**\class ExchangeAPI_Export
- * \ingroup CPPHighAPI
- * \brief Interface for Export feature
+/**\ingroup CPPHighAPI
+ * \brief Export to file
*/
-class ExchangeAPI_Export : public ModelHighAPI_Interface
-{
-public:
- /// Constructor without values
- EXCHANGEAPI_EXPORT
- explicit ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature> & theFeature);
- /// Constructor with values
- EXCHANGEAPI_EXPORT
- ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature> & theFeature,
- const std::string & theFilePath,
- const std::string & theFileFormat,
- const std::list<ModelHighAPI_Selection> & theSelectionList);
- /// Destructor
- EXCHANGEAPI_EXPORT
- virtual ~ExchangeAPI_Export();
-
- INTERFACE_3(ExchangePlugin_ExportFeature::ID(),
- filePath, ExchangePlugin_ExportFeature::FILE_PATH_ID(), ModelAPI_AttributeString, /** File path */,
- fileFormat, ExchangePlugin_ExportFeature::FILE_FORMAT_ID(), ModelAPI_AttributeString, /** File format */,
- selectionList, ExchangePlugin_ExportFeature::SELECTION_LIST_ID(), ModelAPI_AttributeSelectionList, /** Selection list */
- )
-
- /// Set file path (without execute)
- EXCHANGEAPI_EXPORT
- void setFilePath(const std::string & theFilePath);
-
- /// Set file format (without execute)
- EXCHANGEAPI_EXPORT
- void setFileFormat(const std::string & theFileFormat);
-
-
- /// Set selection list (without execute)
- EXCHANGEAPI_EXPORT
- void setSelectionList(const std::list<ModelHighAPI_Selection> & theSelectionList);
-};
-
-//! Pointer on Export object
-typedef std::shared_ptr<ExchangeAPI_Export> ExportPtr;
+EXCHANGEAPI_EXPORT
+void exportToFile(const std::shared_ptr<ModelAPI_Document> & thePart,
+ const std::string & theFilePath,
+ const std::list<ModelHighAPI_Selection> & theSelectionList,
+ const std::string & theFileFormat = std::string());
/**\ingroup CPPHighAPI
- * \brief Create Export feature
+ * \brief Export XAO
*/
EXCHANGEAPI_EXPORT
-ExportPtr exportToFile(const std::shared_ptr<ModelAPI_Document> & thePart,
- const std::string & theFilePath,
- const std::string & theFileFormat,
- const std::list<ModelHighAPI_Selection> & theSelectionList);
+void exportToXAO(const std::shared_ptr<ModelAPI_Document> & thePart,
+ const std::string & theFilePath,
+ const std::string & theAuthor = std::string(),
+ const std::string & theGeometryName = std::string());
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------