apply(); // finish operation to make sure the export is done on the current state of the history
}
+/// Constructor with values for ROOT export.
+ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature>& theFeature,
+ const std::string & theFilePath,
+ const ModelHighAPI_Selection & theSelectedShape)
+: ModelHighAPI_Interface(theFeature)
+{
+ initialize();
+ fillAttribute("ROOT", theFeature->string(ExchangePlugin_ExportFeature::EXPORT_TYPE_ID()));
+ fillAttribute("ROOT", theFeature->string(ExchangePlugin_ExportFeature::FILE_FORMAT_ID()));
+ fillAttribute("manager_name", theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_NAME_ID()));
+ fillAttribute("manager_title", theFeature->string(ExchangePlugin_ExportFeature::ROOT_MANAGER_TITLE_ID()));
+ fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::EXP_NAME_FILE_ID()));
+ fillAttribute(theSelectedShape, theFeature->selection(ExchangePlugin_ExportFeature::MAIN_OBJECT_ID()));
+ fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::ROOT_FILE_PATH_ID()));
+ theFeature->execute();
+ apply(); // finish operation to make sure the export is done on the current state of the history
+}
+
// Constructor with values for STL of selected result export.
ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature>& theFeature,
const std::string & theFilePath,
return ExportPtr(new ExchangeAPI_Export(aFeature, theFilePath, theAuthor, theGeometryName));
}
+ExportPtr exportToROOT(const std::shared_ptr<ModelAPI_Document> &thePart,
+ const std::string &theFilePath,
+ const ModelHighAPI_Selection &theSelectedShape)
+{
+ apply(); // finish previous operation to make sure all previous operations are done
+ std::shared_ptr<ModelAPI_Feature> aFeature =
+ thePart->addFeature(ExchangePlugin_ExportFeature::ID());
+ if (theFilePath.substr(theFilePath.size() - 2) != ".C")
+ aFeature->setError(std::string("Error: the file seems to not have a .C extension file for ROOT. Aborting"));
+ return ExportPtr(new ExchangeAPI_Export(aFeature, theFilePath, theSelectedShape));
+}
+
+
ExportPtr exportToSTL(const std::shared_ptr<ModelAPI_Document> & thePart,
const std::string & theFilePath,
const ModelHighAPI_Selection& theSelectedShape,
const std::string & theAuthor = std::string(),
const std::string & theGeometryName = std::string());
+ /// Constructor with values for ROOT export.
+ EXCHANGEAPI_EXPORT
+ explicit ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature> &theFeature,
+ const std::string &theFilePath,
+ const ModelHighAPI_Selection &theSelectedShape);
+
/// Constructor with values for STL of selected result export.
EXCHANGEAPI_EXPORT
explicit ExchangeAPI_Export(const std::shared_ptr<ModelAPI_Feature>& theFeature,
EXCHANGEAPI_EXPORT
virtual ~ExchangeAPI_Export();
- INTERFACE_15(ExchangePlugin_ExportFeature::ID(),
- exportType, ExchangePlugin_ExportFeature::EXPORT_TYPE_ID(),
- ModelAPI_AttributeString, /** ExportType */,
- filePath, ExchangePlugin_ExportFeature::FILE_PATH_ID(),
- ModelAPI_AttributeString, /** file path */,
- xaoFilePath, ExchangePlugin_ExportFeature::XAO_FILE_PATH_ID(),
- ModelAPI_AttributeString, /** xao_file_path */,
- fileFormat, ExchangePlugin_ExportFeature::FILE_FORMAT_ID(),
- ModelAPI_AttributeString, /** file format */,
- selectionList, ExchangePlugin_ExportFeature::SELECTION_LIST_ID(),
- ModelAPI_AttributeString, /** selection list */,
- xaoAuthor, ExchangePlugin_ExportFeature::XAO_AUTHOR_ID(),
- ModelAPI_AttributeString, /** xao author */,
- xaoGeometryName, ExchangePlugin_ExportFeature::XAO_GEOMETRY_NAME_ID(),
- ModelAPI_AttributeString, /** xao geometry name */,
- stlFilePath, ExchangePlugin_ExportFeature::STL_FILE_PATH_ID(),
- ModelAPI_AttributeString, /** stl_file_path */,
- stlobjectselected, ExchangePlugin_ExportFeature::STL_OBJECT_SELECTED(),
- ModelAPI_AttributeSelection, /** Object selected to export in stl file*/,
- stldeflectionType, ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE(),
- ModelAPI_AttributeString, /** Type of the defelection */,
- stlrelative, ExchangePlugin_ExportFeature::STL_RELATIVE(),
- ModelAPI_AttributeDouble, /** Relative*/,
- stlabsolute, ExchangePlugin_ExportFeature::STL_ABSOLUTE(),
- ModelAPI_AttributeDouble, /** Absolute */,
- stlfileType, ExchangePlugin_ExportFeature::STL_FILE_TYPE(),
- ModelAPI_AttributeString, /** Type of the stl file*/,
- stldeflectionTypeabsolute,
- ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_ABSOLUTE(),
- ModelAPI_AttributeString, /** Type of the defelection */,
- stldeflectionTyperelative,
- ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_RELATIVE(),
- ModelAPI_AttributeString, /** Type of the defelection */)
+ INTERFACE_20(ExchangePlugin_ExportFeature::ID(),
+ exportType, ExchangePlugin_ExportFeature::EXPORT_TYPE_ID(),
+ ModelAPI_AttributeString, /** ExportType */,
+ filePath, ExchangePlugin_ExportFeature::FILE_PATH_ID(),
+ ModelAPI_AttributeString, /** file path */,
+ xaoFilePath, ExchangePlugin_ExportFeature::XAO_FILE_PATH_ID(),
+ ModelAPI_AttributeString, /** xao_file_path */,
+ fileFormat, ExchangePlugin_ExportFeature::FILE_FORMAT_ID(),
+ ModelAPI_AttributeString, /** file format */,
+ selectionList, ExchangePlugin_ExportFeature::SELECTION_LIST_ID(),
+ ModelAPI_AttributeString, /** selection list */,
+ xaoAuthor, ExchangePlugin_ExportFeature::XAO_AUTHOR_ID(),
+ ModelAPI_AttributeString, /** xao author */,
+ xaoGeometryName, ExchangePlugin_ExportFeature::XAO_GEOMETRY_NAME_ID(),
+ ModelAPI_AttributeString, /** xao geometry name */,
+ rootFilePath, ExchangePlugin_ExportFeature::ROOT_FILE_PATH_ID(),
+ ModelAPI_AttributeString, /** root_file_path */,
+ rootManagerName, ExchangePlugin_ExportFeature::ROOT_MANAGER_NAME_ID(),
+ ModelAPI_AttributeString, /** root manager name */,
+ rootManagerTitle, ExchangePlugin_ExportFeature::ROOT_MANAGER_TITLE_ID(),
+ ModelAPI_AttributeString, /** root manager title */,
+ rootNameFile, ExchangePlugin_ExportFeature::EXP_NAME_FILE_ID(),
+ ModelAPI_AttributeString, /** root name file */,
+ rootMainObject, ExchangePlugin_ExportFeature::MAIN_OBJECT_ID(),
+ ModelAPI_AttributeSelection, /** root main object */,
+ stlFilePath, ExchangePlugin_ExportFeature::STL_FILE_PATH_ID(),
+ ModelAPI_AttributeString, /** stl_file_path */,
+ stlobjectselected, ExchangePlugin_ExportFeature::STL_OBJECT_SELECTED(),
+ ModelAPI_AttributeSelection, /** Object selected to export in stl file*/,
+ stldeflectionType, ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE(),
+ ModelAPI_AttributeString, /** Type of the defelection */,
+ stlrelative, ExchangePlugin_ExportFeature::STL_RELATIVE(),
+ ModelAPI_AttributeDouble, /** Relative*/,
+ stlabsolute, ExchangePlugin_ExportFeature::STL_ABSOLUTE(),
+ ModelAPI_AttributeDouble, /** Absolute */,
+ stlfileType, ExchangePlugin_ExportFeature::STL_FILE_TYPE(),
+ ModelAPI_AttributeString, /** Type of the stl file*/,
+ stldeflectionTypeabsolute,
+ ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_ABSOLUTE(),
+ ModelAPI_AttributeString, /** Type of the defelection */,
+ stldeflectionTyperelative,
+ ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_RELATIVE(),
+ ModelAPI_AttributeString,
+ /** Type of the defelection */)
/// Dump wrapped feature
EXCHANGEAPI_EXPORT
const std::string & theAuthor = std::string(),
const std::string & theGeometryName = std::string());
+/**\ingroup CPPHighAPI
+ * \brief Exports to XAO file all results of the current document
+ */
+EXCHANGEAPI_EXPORT
+ExportPtr exportToROOT(const std::shared_ptr<ModelAPI_Document> &thePart,
+ const std::string &theFilePath,
+ const ModelHighAPI_Selection &theSelectedShape);
/** \ingroup CPPHighAPI
* \brief Export selected features or the whole part to the binary file.