From d0512f014b8b4f84d444d5c562f09c1e27dfdab5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me?= Date: Thu, 12 Nov 2020 11:06:46 +0100 Subject: [PATCH] clean source --- src/ConnectorAPI/Test/TestExportSTL.py | 159 -------------- src/ConnectorAPI/Test/TestImportSTEP.py | 124 ----------- src/ExchangeAPI/CMakeLists.txt | 2 - src/ExchangeAPI/ExchangeAPI_Export.cpp | 94 -------- src/ExchangeAPI/ExchangeAPI_Export.h | 42 +--- src/ExchangeAPI/ExchangeAPI_Import.cpp | 68 +----- src/ExchangeAPI/ExchangeAPI_Import.h | 39 +--- src/ExchangePlugin/CMakeLists.txt | 1 - .../ExchangePlugin_ExportFeature.cpp | 74 ------- .../ExchangePlugin_ExportFeature.h | 63 ------ src/ExchangePlugin/ExchangePlugin_Import.cpp | 93 ++------ src/ExchangePlugin/ExchangePlugin_Import.h | 47 ---- .../ExchangePlugin_ImportFeature.cpp | 201 +----------------- .../ExchangePlugin_ImportFeature.h | 44 ---- src/ExchangePlugin/ExchangePlugin_msg_fr.ts | 79 ------- src/ExchangePlugin/doc/importFeature.rst | 2 +- src/ExchangePlugin/export_widget.xml | 58 ----- src/ExchangePlugin/plugin-Exchange.xml | 61 +----- src/FeaturesAPI/FeaturesAPI_Fillet.cpp | 200 ++--------------- src/FeaturesAPI/FeaturesAPI_Fillet.h | 50 +---- 20 files changed, 55 insertions(+), 1446 deletions(-) delete mode 100644 src/ConnectorAPI/Test/TestExportSTL.py delete mode 100644 src/ConnectorAPI/Test/TestImportSTEP.py diff --git a/src/ConnectorAPI/Test/TestExportSTL.py b/src/ConnectorAPI/Test/TestExportSTL.py deleted file mode 100644 index edc7eaf01..000000000 --- a/src/ConnectorAPI/Test/TestExportSTL.py +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright (C) 2014-2020 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -""" - TestExport.py - Unit test of ExchangePlugin_TestExport class -""" -#========================================================================= -# Initialization of the test -#========================================================================= - -import salome - -import os -import math -from tempfile import TemporaryDirectory - -import GEOM - -from ModelAPI import * - -from salome.shaper import model - -from salome.geom import geomBuilder - -from GeomAlgoAPI import * - -__updated__ = "2015-05-22" - -salome.salome_init(1) -geompy = geomBuilder.New() - -#========================================================================= -# Help functions -#========================================================================= -def removeFile(theFileName): - try: os.remove(theFileName) - except OSError: pass - assert not os.path.exists(theFileName), \ - "Can not remove file {0}".format(theFileName) - -#========================================================================= -# test Export STL -#========================================================================= -def testExportSTL(theFile, theDelta, theErrorExpected = False): - - model.begin() - partSet = model.moduleDocument() - Part_1 = model.addPart(partSet) - Part_1_doc = Part_1.document() - Box_1 = model.addBox(Part_1_doc, 10, 10, 10) - Box_2 = model.addBox(Part_1_doc, 20, 20, 20) - model.do() - - # First export to GEOM - model.exportToGEOM(Part_1_doc) - model.end() - - theSurface = 600 - - print("theFile=",theFile) - - # deflection relative 0.0001 et Ascii - model.exportToSTL(Part_1_doc, theFile, model.selection("SOLID","Box_1_1"),0.0001, 0.5, True,False) - - #== assert os.path.exists(theFile) - - # Check results - test_stl_1 = geompy.ImportSTL(theFile) - Props = geompy.BasicProperties(test_stl_1) - print("\nBasic Properties:") - print(" Wires length: ", Props[0]) - print(" Surface area: ", Props[1]) - print(" Volume : ", Props[2]) - - aRefSurface = theSurface - aResSurface = Props[1] - assert (math.fabs(aResSurface - aRefSurface) < theDelta), "The volume is wrong: expected = {0}, real = {1}".format(aRefSurface, aResSurface) - - removeFile(theFile) - - theSurface = 600 - # deflection relative 0.0001 et binaire - model.exportToSTL(Part_1_doc, theFile, model.selection("SOLID", "Box_1_1" ),0.0001, 0.5, True,True) - - # Check results - test_stl_1 = geompy.ImportSTL(theFile) - Props = geompy.BasicProperties(test_stl_1) - print("\nBasic Properties:") - print(" Wires length: ", Props[0]) - print(" Surface area: ", Props[1]) - print(" Volume : ", Props[2]) - - aRefSurface = theSurface - aResSurface = Props[1] - assert (math.fabs(aResSurface - aRefSurface) < theDelta), "The volume is wrong: expected = {0}, real = {1}".format(aRefSurface, aResSurface) - - removeFile(theFile) - - theSurface = 600 - # deflection absolue et AScii - model.exportToSTL(Part_1_doc, theFile, model.selection("SOLID", "Box_1_1" ),0.0001, 0.5, False, False) - - # Check results - test_stl_1 = geompy.ImportSTL(theFile) - Props = geompy.BasicProperties(test_stl_1) - print("\nBasic Properties:") - print(" Wires length: ", Props[0]) - print(" Surface area: ", Props[1]) - print(" Volume : ", Props[2]) - - aRefSurface = theSurface - aResSurface = Props[1] - assert (math.fabs(aResSurface - aRefSurface) < theDelta), "The volume is wrong: expected = {0}, real = {1}".format(aRefSurface, aResSurface) - - theSurface = 600 - # deflection absolue et binaire - model.exportToSTL(Part_1_doc, theFile, model.selection("SOLID", "Box_1_1" ),0.0001, 0.5, False,True) - - # Check results - test_stl_1 = geompy.ImportSTL(theFile) - Props = geompy.BasicProperties(test_stl_1) - print("\nBasic Properties:") - print(" Wires length: ", Props[0]) - print(" Surface area: ", Props[1]) - print(" Volume : ", Props[2]) - - aRefSurface = theSurface - aResSurface = Props[1] - assert (math.fabs(aResSurface - aRefSurface) < theDelta), "The volume is wrong: expected = {0}, real = {1}".format(aRefSurface, aResSurface) - - model.end() - -if __name__ == '__main__': - with TemporaryDirectory() as tmp_dir: - aRealSurface = 0.00192878 - #========================================================================= - # Export a shape into STL - #========================================================================= - testExportSTL(os.path.join(tmp_dir, "export.stl"), 10 ** -5, True) - #========================================================================= - # End of test - #========================================================================= diff --git a/src/ConnectorAPI/Test/TestImportSTEP.py b/src/ConnectorAPI/Test/TestImportSTEP.py deleted file mode 100644 index f6094c1d2..000000000 --- a/src/ConnectorAPI/Test/TestImportSTEP.py +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (C) 2014-2020 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -""" - TestImportStep.py - Unit test of ExchangePlugin_ImportFeature class for STEP -""" -#========================================================================= -# Initialization of the test -#========================================================================= - -import salome - -import os -import math -from tempfile import TemporaryDirectory - -import GEOM - -from ModelAPI import * - -from salome.shaper import model - -from salome.geom import geomBuilder - -from GeomAPI import GeomAPI_Shape - -from GeomAlgoAPI import * - -__updated__ = "2015-05-22" - -salome.salome_init(1) -geompy = geomBuilder.New() - -#========================================================================= -# Help functions -#========================================================================= -def removeFile(theFileName): - try: os.remove(theFileName) - except OSError: pass - assert not os.path.exists(theFileName), \ - "Can not remove file {0}".format(theFileName) - -#========================================================================= -# test Import STEP -#========================================================================= -def testImportSTEP(): - - model.begin() - partSet = model.moduleDocument() - Part_1 = model.addPart(partSet) - Part_1_doc = Part_1.document() - aShapePath = os.path.join(os.getenv("DATA_DIR"), "Shapes", "Step", "black_and_white.step") - print("aShapePath=",aShapePath) - Import_1 = model.addImportStep(Part_1_doc,aShapePath, True, True, True) - - model.do() - - # Check results - Import_1_Feature = Import_1.feature() - assert Import_1_Feature.error() == '' - assert Import_1_Feature.name() == "black_and_white" - assert len(Import_1_Feature.results()) == 1 - model.testNbSubShapes(Import_1, GeomAPI_Shape.SOLID, [2]) - - aCompositeFeature = featureToCompositeFeature(Import_1_Feature) - assert aCompositeFeature.numberOfSubs(False) == 2 - - aFeature1 = aCompositeFeature.subFeature(0, False) - assert aFeature1.getKind() == "Group" - assert aFeature1.name() == "Color_1" - - aSelectionList = aFeature1.selectionList("group_list") - assert aSelectionList.size() == 1 - - aFeature1 = aCompositeFeature.subFeature(1, False) - assert aFeature1.getKind() == "Group" - assert aFeature1.name() == "Color_2" - - aSelectionList = aFeature1.selectionList("group_list") - assert aSelectionList.size() == 1 - - aFeature1 = aCompositeFeature.subFeature(2, False) - assert aFeature1.getKind() == "Group" - assert aFeature1.name() == "Material_black" - - aSelectionList = aFeature1.selectionList("group_list") - assert aSelectionList.size() == 1 - - - aFeature1 = aCompositeFeature.subFeature(3, False) - assert aFeature1.getKind() == "Group" - assert aFeature1.name() == "Material_white" - - aSelectionList = aFeature1.selectionList("group_list") - assert aSelectionList.size() == 1 - - model.end() - -if __name__ == '__main__': - with TemporaryDirectory() as tmp_dir: - #========================================================================= - # Export a shape into STL - #========================================================================= - testImportSTEP() - #========================================================================= - # End of test - #========================================================================= diff --git a/src/ExchangeAPI/CMakeLists.txt b/src/ExchangeAPI/CMakeLists.txt index b61f22ce9..bdf5bcb34 100644 --- a/src/ExchangeAPI/CMakeLists.txt +++ b/src/ExchangeAPI/CMakeLists.txt @@ -33,14 +33,12 @@ SET(PROJECT_SOURCES SET(PROJECT_LIBRARIES ModelAPI ModelHighAPI - GeomAlgoAPI ) INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/src/Events ${PROJECT_SOURCE_DIR}/src/ModelAPI ${PROJECT_SOURCE_DIR}/src/ModelHighAPI - ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI ) # Plugin headers dependency diff --git a/src/ExchangeAPI/ExchangeAPI_Export.cpp b/src/ExchangeAPI/ExchangeAPI_Export.cpp index 4e9b4b9c3..000e178ab 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.cpp +++ b/src/ExchangeAPI/ExchangeAPI_Export.cpp @@ -53,51 +53,6 @@ ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr& 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& theFeature, - const std::string & theFilePath, - const ModelHighAPI_Selection& theSelectedShape, - double aDeflectionRelative, - double aDeflectionAbsolute, - const bool anIsRelative, - const bool anIsASCII) - : ModelHighAPI_Interface(theFeature) -{ - initialize(); - fillAttribute("STL", theFeature->string(ExchangePlugin_ExportFeature::EXPORT_TYPE_ID())); - fillAttribute(theFilePath, theFeature->string(ExchangePlugin_ExportFeature::STL_FILE_PATH_ID())); - - if (anIsRelative) { - fillAttribute(ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_RELATIVE(), - theFeature->string(ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE()) ); - fillAttribute(aDeflectionRelative, - theFeature->real(ExchangePlugin_ExportFeature::STL_RELATIVE()) ); - } - else { - fillAttribute(ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_ABSOLUTE(), - theFeature->string(ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE()) ); - fillAttribute(aDeflectionAbsolute, - theFeature->real(ExchangePlugin_ExportFeature::STL_ABSOLUTE()) ); - } - - if(anIsASCII){ - fillAttribute(ExchangePlugin_ExportFeature::STL_FILE_TYPE_ASCII(), - theFeature->string(ExchangePlugin_ExportFeature::STL_FILE_TYPE())); - } - else - { - fillAttribute(ExchangePlugin_ExportFeature::STL_FILE_TYPE_BINARY(), - theFeature->string(ExchangePlugin_ExportFeature::STL_FILE_TYPE())); - } - - fillAttribute(theSelectedShape,theFeature->selection(ExchangePlugin_ExportFeature::STL_OBJECT_SELECTED())); - fillAttribute("STL", theFeature->string(ExchangePlugin_ExportFeature::FILE_FORMAT_ID())); - execute(); - apply(); // finish operation to make sure the export is done on the current state of the history -} - - - ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr& theFeature, const std::string & theFilePath, const ModelHighAPI_Selection& theResult, const std::string & theAuthor, const std::string & theGeometryName) @@ -119,7 +74,6 @@ ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr& } - /// Constructor with values for export in other formats than XAO. ExchangeAPI_Export::ExchangeAPI_Export(const std::shared_ptr& theFeature, const std::string & theFilePath, @@ -190,33 +144,6 @@ void ExchangeAPI_Export::dump(ModelHighAPI_Dumper& theDumper) const theDumper << ", '" << theGeometryName << "'"; theDumper << ")" << std::endl; } - else if (exportType == "STL") { - std::string aTmpSTLFile = - aBase->string(ExchangePlugin_ExportFeature::STL_FILE_PATH_ID())->value(); - correctSeparators(aTmpSTLFile); - theDumper << "exportToSTL(" << aDocName << ", '" << aTmpSTLFile << "'" ; - AttributeSelectionPtr aShapeSelected = - aBase->selection(ExchangePlugin_ExportFeature::STL_OBJECT_SELECTED()); - - theDumper<<","<< aShapeSelected; - - theDumper <<","<< stlabsolute() <<","<< stlrelative(); - - if (stldeflectionType()->value() == ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE_RELATIVE()) { - theDumper <<","<< "True"; - } - else { - theDumper <<","<< "False"; - } - - if (stlfileType()->value() == ExchangePlugin_ExportFeature::STL_FILE_TYPE_BINARY()) { - theDumper << "False"; - } - else { - theDumper << "True"; - } - theDumper << ")" << std::endl; - } else { std::string aFilePath = aBase->string(ExchangePlugin_ExportFeature::FILE_PATH_ID())->value(); correctSeparators(aFilePath); @@ -252,27 +179,6 @@ ExportPtr exportToXAO(const std::shared_ptr & thePart, return ExportPtr(new ExchangeAPI_Export(aFeature, theFilePath, theAuthor, theGeometryName)); } -ExportPtr exportToSTL(const std::shared_ptr & thePart, - const std::string & theFilePath, - const ModelHighAPI_Selection& theSelectedShape, - double aDeflectionRelative, - double aDeflectionAbsolute, - const bool anIsRelative, - const bool anIsASCII) -{ - apply(); // finish previous operation to make sure all previous operations are done - std::shared_ptr aFeature = - thePart->addFeature(ExchangePlugin_ExportFeature::ID()); - - return ExportPtr(new ExchangeAPI_Export(aFeature, - theFilePath, - theSelectedShape, - aDeflectionRelative, - aDeflectionAbsolute, - anIsRelative, - anIsASCII)); -} - ExportPtr exportToXAO(const std::shared_ptr & thePart, const std::string & theFilePath, const ModelHighAPI_Selection& theSelectedShape, const std::string & /*theAuthor*/, const std::string & /*theGeometryName*/) diff --git a/src/ExchangeAPI/ExchangeAPI_Export.h b/src/ExchangeAPI/ExchangeAPI_Export.h index d867da1bf..24211c9fa 100644 --- a/src/ExchangeAPI/ExchangeAPI_Export.h +++ b/src/ExchangeAPI/ExchangeAPI_Export.h @@ -51,16 +51,6 @@ public: const std::string & theFilePath, const std::string & theAuthor = std::string(), const std::string & theGeometryName = std::string()); - - /// Constructor with values for STL of selected result export. - EXCHANGEAPI_EXPORT - explicit ExchangeAPI_Export(const std::shared_ptr& theFeature, - const std::string & theFilePath, - const ModelHighAPI_Selection& theSelectedShape, - double aDeflectionRelative , - double aDeflectionAbsolute, - const bool anIsRelative, - const bool anIsASCII); /// Constructor with values for XAO of selected result export. EXCHANGEAPI_EXPORT @@ -81,7 +71,7 @@ public: EXCHANGEAPI_EXPORT virtual ~ExchangeAPI_Export(); - INTERFACE_15(ExchangePlugin_ExportFeature::ID(), + INTERFACE_7(ExchangePlugin_ExportFeature::ID(), exportType, ExchangePlugin_ExportFeature::EXPORT_TYPE_ID(), ModelAPI_AttributeString, /** ExportType */, filePath, ExchangePlugin_ExportFeature::FILE_PATH_ID(), @@ -95,23 +85,7 @@ public: 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 */) + ModelAPI_AttributeString, /** xao geometry name */) /// Dump wrapped feature EXCHANGEAPI_EXPORT @@ -139,18 +113,6 @@ ExportPtr exportToXAO(const std::shared_ptr & thePart, const std::string & theAuthor = std::string(), const std::string & theGeometryName = std::string()); -/**\ingroup CPPHighAPI - * \brief Exports to STL file the result of the current document - */ -EXCHANGEAPI_EXPORT -ExportPtr exportToSTL(const std::shared_ptr & thePart, - const std::string & theFilePath, - const ModelHighAPI_Selection& theSelectedShape, - double aDeflectionRelative, - double aDeflectionAbsolute, - const bool anIsRelative, - const bool anIsASCII); - /**\ingroup CPPHighAPI * \brief Exports to XAO file the selected result with groups parts related to it only. */ diff --git a/src/ExchangeAPI/ExchangeAPI_Import.cpp b/src/ExchangeAPI/ExchangeAPI_Import.cpp index d5d7ea2a9..b1a6c832d 100644 --- a/src/ExchangeAPI/ExchangeAPI_Import.cpp +++ b/src/ExchangeAPI/ExchangeAPI_Import.cpp @@ -28,8 +28,6 @@ #include #include #include -#include - //-------------------------------------------------------------------------------------- #include @@ -49,43 +47,16 @@ ExchangeAPI_Import::ExchangeAPI_Import( setFilePath(theFilePath); } -ExchangeAPI_Import::ExchangeAPI_Import( - const std::shared_ptr & theFeature, - const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor) -: ModelHighAPI_Interface(theFeature) -{ - if (initialize()) - setParameters(theFilePath,anScalInterUnits,anMaterials,anColor); -} - ExchangeAPI_Import::~ExchangeAPI_Import() { } -//-------------------------------------------------------------------------------------- -void ExchangeAPI_Import::setParameters(const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor) -{ - fillAttribute(theFilePath, mystepfilePath); - fillAttribute("STEP", feature()->string(ExchangePlugin_ImportFeature::IMPORT_TYPE_ID())); - fillAttribute(anScalInterUnits, feature()->boolean(ExchangePlugin_ImportFeature::STEP_SCALE_INTER_UNITS_ID())); - fillAttribute(anMaterials, feature()->boolean(ExchangePlugin_ImportFeature::STEP_MATERIALS_ID())); - fillAttribute(anColor, feature()->boolean(ExchangePlugin_ImportFeature::STEP_COLORS_ID())); - execute(); -} - //-------------------------------------------------------------------------------------- void ExchangeAPI_Import::setFilePath(const std::string & theFilePath) { fillAttribute(theFilePath, myfilePath); - std::string anExtension = GeomAlgoAPI_Tools::File_Tools::extension(theFilePath); - fillAttribute(anExtension, feature()->string(ExchangePlugin_ImportFeature::IMPORT_TYPE_ID())); + execute(); } @@ -95,16 +66,7 @@ void ExchangeAPI_Import::dump(ModelHighAPI_Dumper& theDumper) const FeaturePtr aBase = feature(); std::string aPartName = theDumper.name(aBase->document()); - AttributeStringPtr aImportTypeAttr = aBase->string(ExchangePlugin_ImportFeature::IMPORT_TYPE_ID()); - std::string aFormat = aImportTypeAttr->value(); - std::string aFilePath; - if (aFormat == "STEP" || aFormat == "STP") - { - aFilePath = aBase->string(ExchangePlugin_ImportFeature::STEP_FILE_PATH_ID())->value(); - }else{ - aFilePath = aBase->string(ExchangePlugin_ImportFeature::FILE_PATH_ID())->value(); - } - + std::string aFilePath = aBase->string(ExchangePlugin_ImportFeature::FILE_PATH_ID())->value(); std::string aFrom = "\\"; std::string aTo = "\\\\"; for(std::size_t aPos = aFilePath.find(aFrom); @@ -113,19 +75,9 @@ void ExchangeAPI_Import::dump(ModelHighAPI_Dumper& theDumper) const aFilePath.replace(aPos, aFrom.size(), aTo); aPos += aTo.size(); } - std::string anExtension = GeomAlgoAPI_Tools::File_Tools::extension(aFilePath); - if( anExtension == "STP" || anExtension == "STEP"){ - theDumper << aBase << " = model.addImportStep(" << aPartName << ", \"" - << aFilePath << "\"" ; - - theDumper << ", " << scalinterunits()->value() - << ", " << materials()->value() - << ", " << colors()->value() << ")"<< std::endl; - }else{ - theDumper << aBase << " = model.addImport(" << aPartName << ", \"" - << aFilePath << "\")" << std::endl; - } + theDumper << aBase << " = model.addImport(" << aPartName << ", \"" + << aFilePath << "\")" << std::endl; // to make import have results theDumper << "model.do()" << std::endl; @@ -150,18 +102,6 @@ ImportPtr addImport( return ImportPtr(new ExchangeAPI_Import(aFeature, theFilePath)); } -ImportPtr addImportStep( - const std::shared_ptr & thePart, - const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor ) -{ - std::shared_ptr aFeature = thePart->addFeature(ExchangeAPI_Import::ID()); - return ImportPtr(new ExchangeAPI_Import(aFeature, theFilePath, - anScalInterUnits, anMaterials, anColor)); -} - void importPart(const std::shared_ptr & thePart, const std::string & theFilePath, const ModelHighAPI_Reference & theAfterThis) diff --git a/src/ExchangeAPI/ExchangeAPI_Import.h b/src/ExchangeAPI/ExchangeAPI_Import.h index d95a45389..f38db9bbb 100644 --- a/src/ExchangeAPI/ExchangeAPI_Import.h +++ b/src/ExchangeAPI/ExchangeAPI_Import.h @@ -46,43 +46,18 @@ public: EXCHANGEAPI_EXPORT ExchangeAPI_Import(const std::shared_ptr & theFeature, const std::string & theFilePath); - - /// Constructor with values for Step file - EXCHANGEAPI_EXPORT - ExchangeAPI_Import(const std::shared_ptr & theFeature, - const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor); - /// Destructor EXCHANGEAPI_EXPORT virtual ~ExchangeAPI_Import(); - INTERFACE_6(ExchangePlugin_ImportFeature::ID(), + INTERFACE_1(ExchangePlugin_ImportFeature::ID(), filePath, ExchangePlugin_ImportFeature::FILE_PATH_ID(), - ModelAPI_AttributeString, /** File path */, - stepimporttype, ExchangePlugin_ImportFeature::IMPORT_TYPE_ID(), - ModelAPI_AttributeString, /**import type */, - stepfilePath, ExchangePlugin_ImportFeature::STEP_FILE_PATH_ID(), - ModelAPI_AttributeString, /**step File path */, - scalinterunits, ExchangePlugin_ImportFeature::STEP_SCALE_INTER_UNITS_ID(), - ModelAPI_AttributeBoolean, /** Scale internationals units */, - materials, ExchangePlugin_ImportFeature::STEP_MATERIALS_ID(), - ModelAPI_AttributeBoolean, /** Materials */, - colors, ExchangePlugin_ImportFeature::STEP_COLORS_ID(), - ModelAPI_AttributeBoolean, /** Colors */ + ModelAPI_AttributeString, /** File path */ ) /// Set point values EXCHANGEAPI_EXPORT void setFilePath(const std::string & theFilePath); - - EXCHANGEAPI_EXPORT - void setParameters(const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor); /// Dump wrapped feature EXCHANGEAPI_EXPORT @@ -99,16 +74,6 @@ EXCHANGEAPI_EXPORT ImportPtr addImport(const std::shared_ptr & thePart, const std::string & theFilePath); -/**\ingroup CPPHighAPI - * \brief Create Import Step feature - */ -EXCHANGEAPI_EXPORT -ImportPtr addImportStep(const std::shared_ptr & thePart, - const std::string & theFilePath, - const bool anScalInterUnits, - const bool anMaterials, - const bool anColor); - /** \ingroup CPPHighAPI * \brief Import features from the file to the document after the current feature (or to the end). */ diff --git a/src/ExchangePlugin/CMakeLists.txt b/src/ExchangePlugin/CMakeLists.txt index 3df98bece..67880c8e6 100644 --- a/src/ExchangePlugin/CMakeLists.txt +++ b/src/ExchangePlugin/CMakeLists.txt @@ -31,7 +31,6 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Events ${PROJECT_SOURCE_DIR}/src/XAO ${PROJECT_SOURCE_DIR}/src/ConstructionPlugin ${PROJECT_SOURCE_DIR}/src/PartSetPlugin - ${OpenCASCADE_INCLUDE_DIR} ) SET(PROJECT_HEADERS diff --git a/src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp b/src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp index 6a8f36cb1..d898a08e5 100644 --- a/src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp +++ b/src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp @@ -27,7 +27,6 @@ #include #endif - #include #include @@ -35,7 +34,6 @@ #include #include #include -#include #include #include @@ -50,7 +48,6 @@ #include #include #include -#include #include #include #include @@ -71,8 +68,6 @@ #include -#include - ExchangePlugin_ExportFeature::ExchangePlugin_ExportFeature() { } @@ -103,27 +98,9 @@ void ExchangePlugin_ExportFeature::initAttributes() ModelAPI_AttributeString::typeId()); data()->addAttribute(ExchangePlugin_ExportFeature::XAO_SELECTION_LIST_ID(), ModelAPI_AttributeSelectionList::typeId()); - data()->addAttribute(ExchangePlugin_ExportFeature::STL_FILE_PATH_ID(), - ModelAPI_AttributeString::typeId()); - data()->addAttribute(ExchangePlugin_ExportFeature::STL_OBJECT_SELECTED(), - ModelAPI_AttributeSelection::typeId()); - data()->addAttribute(ExchangePlugin_ExportFeature::STL_DEFLECTION_TYPE(), - ModelAPI_AttributeString::typeId()); - data()->addAttribute(ExchangePlugin_ExportFeature::STL_RELATIVE(), - ModelAPI_AttributeDouble::typeId()); - - double defelection = Config_PropManager::real("Visualization", "body_deflection"); - real(ExchangePlugin_ExportFeature::STL_RELATIVE())->setValue(defelection); - - data()->addAttribute(ExchangePlugin_ExportFeature::STL_ABSOLUTE(), - ModelAPI_AttributeDouble::typeId()); - data()->addAttribute(ExchangePlugin_ExportFeature::STL_FILE_TYPE(), - ModelAPI_AttributeString::typeId()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), ExchangePlugin_ExportFeature::XAO_FILE_PATH_ID()); - ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), - ExchangePlugin_ExportFeature::STL_FILE_PATH_ID()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), ExchangePlugin_ExportFeature::XAO_AUTHOR_ID()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), @@ -151,11 +128,6 @@ void ExchangePlugin_ExportFeature::attributeChanged(const std::string& theID) string(ExchangePlugin_ExportFeature::FILE_PATH_ID())->setValue( string(ExchangePlugin_ExportFeature::XAO_FILE_PATH_ID())->value()); } - else if (theID == STL_FILE_PATH_ID()) { - string(ExchangePlugin_ExportFeature::FILE_PATH_ID())->setValue( - string(ExchangePlugin_ExportFeature::STL_FILE_PATH_ID())->value()); - } - } /* @@ -198,9 +170,6 @@ void ExchangePlugin_ExportFeature::exportFile(const std::string& theFileName, if (aFormatName == "XAO") { exportXAO(theFileName); return; - }else if (aFormatName == "STL") { - exportSTL(theFileName); - return; } // make shape for export from selected shapes @@ -347,49 +316,6 @@ static bool isInResults(AttributeSelectionListPtr theSelection, return false; } -void ExchangePlugin_ExportFeature::exportSTL(const std::string& theFileName) -{ - // Get shape. - AttributeSelectionPtr aSelection = selection(STL_OBJECT_SELECTED()); - GeomShapePtr aShape = aSelection->value(); - if (!aShape.get()) { - aShape = aSelection->context()->shape(); - } - - // Get relative value and percent flag. - double aValue; - bool anIsRelative = false; - bool anIsASCII = false; - - if (string(STL_DEFLECTION_TYPE())->value() == STL_DEFLECTION_TYPE_RELATIVE()) { - aValue = real(STL_RELATIVE())->value(); - anIsRelative = true; - } else { - aValue = real(STL_ABSOLUTE())->value(); - } - - if (string(STL_FILE_TYPE())->value() == STL_FILE_TYPE_ASCII()) { - anIsASCII = true; - } - // Perform the export - std::string anError; - bool aResult = false; - - aResult = STLExport(theFileName, - "STL", - aShape, - aValue, - anIsRelative, - anIsASCII, - anError); - - if (!aResult || !anError.empty()) { - setError("An error occurred while exporting " + theFileName + ": " + anError); - return; - } -} - - void ExchangePlugin_ExportFeature::exportXAO(const std::string& theFileName) { try { diff --git a/src/ExchangePlugin/ExchangePlugin_ExportFeature.h b/src/ExchangePlugin/ExchangePlugin_ExportFeature.h index bc975ea5b..1067d99af 100644 --- a/src/ExchangePlugin/ExchangePlugin_ExportFeature.h +++ b/src/ExchangePlugin/ExchangePlugin_ExportFeature.h @@ -60,66 +60,6 @@ public: static const std::string MY_XAO_FILE_PATH_ID("xao_file_path"); return MY_XAO_FILE_PATH_ID; } - /// attribute name of stl file path - inline static const std::string& STL_FILE_PATH_ID() - { - static const std::string MY_STL_FILE_PATH_ID("stl_file_path"); - return MY_STL_FILE_PATH_ID; - } - /// Attribute name for selected object to export in stl file path. - inline static const std::string& STL_OBJECT_SELECTED() - { - static const std::string ATTR_ID("stl_object_selected"); - return ATTR_ID; - } - /// Attribute name for deflection type. - inline static const std::string& STL_DEFLECTION_TYPE() - { - static const std::string ATTR_ID("stl_deflection_type"); - return ATTR_ID; - } - /// Attribute name for deflection type relative. - inline static const std::string& STL_DEFLECTION_TYPE_RELATIVE() - { - static const std::string ATTR_ID("stl_deflection_type_relative"); - return ATTR_ID; - } - /// Attribute name for deflection type absolute. - inline static const std::string& STL_DEFLECTION_TYPE_ABSOLUTE() - { - static const std::string ATTR_ID("stl_deflection_type_absolute"); - return ATTR_ID; - } - /// Attribute name for relative. - inline static const std::string& STL_RELATIVE() - { - static const std::string ATTR_ID("stl_relative"); - return ATTR_ID; - } - /// Attribute name for absolute. - inline static const std::string& STL_ABSOLUTE() - { - static const std::string ATTR_ID("stl_absolute"); - return ATTR_ID; - } - /// Attribute name for stl file type. - inline static const std::string& STL_FILE_TYPE() - { - static const std::string ATTR_ID("stl_file_type"); - return ATTR_ID; - } - /// Attribute name for stl file type ascii. - inline static const std::string& STL_FILE_TYPE_ASCII() - { - static const std::string ATTR_ID("stl_file_type_acii"); - return ATTR_ID; - } - /// Attribute name for stl file type binary. - inline static const std::string& STL_FILE_TYPE_BINARY() - { - static const std::string ATTR_ID("stl_file_type_binary"); - return ATTR_ID; - } /// attribute name of file format inline static const std::string& FILE_FORMAT_ID() { @@ -189,9 +129,6 @@ protected: /// Performs export to XAO file EXCHANGEPLUGIN_EXPORT void exportXAO(const std::string& theFileName); - - /// Performs export to STL file - EXCHANGEPLUGIN_EXPORT void exportSTL(const std::string& theFileName); }; #endif /* EXPORT_EXPORTFEATURE_H_ */ diff --git a/src/ExchangePlugin/ExchangePlugin_Import.cpp b/src/ExchangePlugin/ExchangePlugin_Import.cpp index 304d456d5..b5a51ff08 100644 --- a/src/ExchangePlugin/ExchangePlugin_Import.cpp +++ b/src/ExchangePlugin/ExchangePlugin_Import.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -82,15 +81,8 @@ ExchangePlugin_Import::~ExchangePlugin_Import() void ExchangePlugin_Import::initAttributes() { data()->addAttribute(FILE_PATH_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(STEP_FILE_PATH_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(IMPORT_TYPE_ID(), ModelAPI_AttributeString::typeId()); data()->addAttribute(TARGET_PART_ID(), ModelAPI_AttributeInteger::typeId()); data()->addAttribute(TARGET_PARTS_LIST_ID(), ModelAPI_AttributeStringArray::typeId()); - data()->addAttribute(STEP_TARGET_PART_ID(), ModelAPI_AttributeInteger::typeId()); - data()->addAttribute(STEP_TARGET_PARTS_LIST_ID(), ModelAPI_AttributeStringArray::typeId()); - data()->addAttribute(STEP_MATERIALS_ID(), ModelAPI_AttributeBoolean::typeId()); - data()->addAttribute(STEP_COLORS_ID(), ModelAPI_AttributeBoolean::typeId()); - data()->addAttribute(STEP_SCALE_INTER_UNITS_ID(), ModelAPI_AttributeBoolean::typeId()); } /* @@ -98,61 +90,26 @@ void ExchangePlugin_Import::initAttributes() */ void ExchangePlugin_Import::execute() { - AttributeStringPtr aFormatAttr = - this->string(ExchangePlugin_Import::IMPORT_TYPE_ID()); - std::string aFormat = aFormatAttr->value(); - - AttributeStringPtr aFilePathAttr; - std::string aFilePath; - AttributeStringArrayPtr aPartsAttr; - AttributeIntegerPtr aTargetAttr; - if (aFormat == "STEP" || aFormat == "STP") - { - aFilePathAttr = string(ExchangePlugin_Import::STEP_FILE_PATH_ID()); - aFilePath = aFilePathAttr->value(); - // get the document where to import - aPartsAttr = stringArray(STEP_TARGET_PARTS_LIST_ID()); - aTargetAttr = integer(STEP_TARGET_PART_ID()); - }else{ - aFilePathAttr = string(ExchangePlugin_Import::FILE_PATH_ID()); - aFilePath = aFilePathAttr->value(); - // get the document where to import - aPartsAttr = stringArray(TARGET_PARTS_LIST_ID()); - aTargetAttr = integer(TARGET_PART_ID()); - } - + AttributeStringPtr aFilePathAttr = string(ExchangePlugin_Import::FILE_PATH_ID()); + std::string aFilePath = aFilePathAttr->value(); if (aFilePath.empty()) { - setError("File path is empty."); - return; + setError("File path is empty."); + return; } + + // get the document where to import + AttributeStringArrayPtr aPartsAttr = stringArray(TARGET_PARTS_LIST_ID()); + AttributeIntegerPtr aTargetAttr = integer(TARGET_PART_ID()); SessionPtr aSession = ModelAPI_Session::get(); - DocumentPtr aDoc = findDocument(aSession->moduleDocument(), + DocumentPtr aDoc = + findDocument(aSession->moduleDocument(), Locale::Convert::toWString(aPartsAttr->value(aTargetAttr->value()))); if (aDoc.get()) { FeaturePtr aImportFeature = aDoc->addFeature(ExchangePlugin_ImportFeature::ID()); DataPtr aData = aImportFeature->data(); - AttributeStringPtr aPathAttr; - if (aFormat == "STEP" || aFormat == "STP") - { - aPathAttr = aData->string(ExchangePlugin_ImportFeature::STEP_FILE_PATH_ID()); - }else - { - aPathAttr = aData->string(ExchangePlugin_ImportFeature::FILE_PATH_ID()); - } - - AttributeStringPtr aImportTypeAttr = aData->string(ExchangePlugin_ImportFeature::IMPORT_TYPE_ID()); - - aData->boolean(ExchangePlugin_ImportFeature::STEP_MATERIALS_ID()) - ->setValue(boolean(ExchangePlugin_Import::STEP_MATERIALS_ID())->value()); - aData->boolean(ExchangePlugin_ImportFeature::STEP_COLORS_ID()) - ->setValue(boolean(ExchangePlugin_Import::STEP_COLORS_ID())->value()); - aData->boolean(ExchangePlugin_ImportFeature::STEP_SCALE_INTER_UNITS_ID()) - ->setValue(boolean(ExchangePlugin_Import::STEP_SCALE_INTER_UNITS_ID())->value()); - + AttributeStringPtr aPathAttr = aData->string(ExchangePlugin_ImportFeature::FILE_PATH_ID()); aPathAttr->setValue(aFilePathAttr->value()); - aImportTypeAttr->setValue(aFormat); - aImportFeature->execute(); } } @@ -160,31 +117,14 @@ void ExchangePlugin_Import::execute() void ExchangePlugin_Import::attributeChanged(const std::string& theID) { - AttributeStringPtr aFilePathAttr; - AttributeStringArrayPtr aPartsAttr; - AttributeIntegerPtr aTargetAttr; - - if (theID == FILE_PATH_ID() ||theID == STEP_FILE_PATH_ID() ) { - aFilePathAttr = string(FILE_PATH_ID()); - if (theID == FILE_PATH_ID() && aFilePathAttr->value().empty()) + if (theID == FILE_PATH_ID()) { + AttributeStringPtr aFilePathAttr = string(FILE_PATH_ID()); + if (aFilePathAttr->value().empty()) return; - aPartsAttr = stringArray(TARGET_PARTS_LIST_ID()); - aTargetAttr = integer(TARGET_PART_ID()); - - updatePart(aPartsAttr, aTargetAttr); - aFilePathAttr = string(STEP_FILE_PATH_ID()); - if (theID == STEP_FILE_PATH_ID() && aFilePathAttr->value().empty()) - return; + AttributeStringArrayPtr aPartsAttr = stringArray(TARGET_PARTS_LIST_ID()); + AttributeIntegerPtr aTargetAttr = integer(TARGET_PART_ID()); - aPartsAttr = stringArray(STEP_TARGET_PARTS_LIST_ID()); - aTargetAttr = integer(STEP_TARGET_PART_ID()); - updatePart(aPartsAttr, aTargetAttr); - } -} - -void ExchangePlugin_Import::updatePart(AttributeStringArrayPtr &aPartsAttr, AttributeIntegerPtr &aTargetAttr) -{ // update the list of target parts SessionPtr aSession = ModelAPI_Session::get(); DocumentPtr aDoc = document(); @@ -219,4 +159,5 @@ void ExchangePlugin_Import::updatePart(AttributeStringArrayPtr &aPartsAttr, Attr aTargetAttr->setValue(0); } } + } } diff --git a/src/ExchangePlugin/ExchangePlugin_Import.h b/src/ExchangePlugin/ExchangePlugin_Import.h index 38d3e05e7..c09b3ebab 100644 --- a/src/ExchangePlugin/ExchangePlugin_Import.h +++ b/src/ExchangePlugin/ExchangePlugin_Import.h @@ -24,8 +24,6 @@ #include #include -#include -#include #include @@ -45,12 +43,6 @@ class ExchangePlugin_Import : public ModelAPI_Feature static const std::string MY_IMPORT_ID("ImportMacro"); return MY_IMPORT_ID; } - /// Feature kind - inline static const std::string& IMPORT_TYPE_ID() - { - static const std::string MY_IMPORT_TYPE_ID("ImportType"); - return MY_IMPORT_TYPE_ID; - } /// attribute name of file path inline static const std::string& FILE_PATH_ID() { @@ -69,42 +61,6 @@ class ExchangePlugin_Import : public ModelAPI_Feature static const std::string MY_TARGET_PARTS_LIST_ID("target_parts_list"); return MY_TARGET_PARTS_LIST_ID; } - /// attribute name of step file path - inline static const std::string& STEP_FILE_PATH_ID() - { - static const std::string MY_STEP_FILE_PATH_ID("step_file_path"); - return MY_STEP_FILE_PATH_ID; - } - /// attribute name of step target part - inline static const std::string& STEP_TARGET_PART_ID() - { - static const std::string MY_STEP_TARGET_PART_ID("step_target_part"); - return MY_STEP_TARGET_PART_ID; - } - /// attribute name of list ofstep target parts - inline static const std::string& STEP_TARGET_PARTS_LIST_ID() - { - static const std::string MY_STEP_TARGET_PARTS_LIST_ID("step_target_parts_list"); - return MY_STEP_TARGET_PARTS_LIST_ID; - } - /// attribute name of step Scale to International System Units - inline static const std::string& STEP_SCALE_INTER_UNITS_ID() - { - static const std::string MY_STEP_SCALE_INTER_UNITS_ID("step_scale_inter_units"); - return MY_STEP_SCALE_INTER_UNITS_ID; - } - /// attribute name of step materiels - inline static const std::string& STEP_MATERIALS_ID() - { - static const std::string MY_STEP_MATERIALS_ID("step_materials"); - return MY_STEP_MATERIALS_ID; - } - /// attribute name of step colors - inline static const std::string& STEP_COLORS_ID() - { - static const std::string MY_STEP_COLORS_ID("step_colours"); - return MY_STEP_COLORS_ID; - } /// Default constructor EXCHANGEPLUGIN_EXPORT ExchangePlugin_Import(); /// Default destructor @@ -123,9 +79,6 @@ class ExchangePlugin_Import : public ModelAPI_Feature /// \param theID identifier of changed attribute EXCHANGEPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID); - EXCHANGEPLUGIN_EXPORT - void updatePart(AttributeStringArrayPtr &aPartsAttr, AttributeIntegerPtr &aTargetAttr); - /// Computes or recomputes the results EXCHANGEPLUGIN_EXPORT virtual void execute(); diff --git a/src/ExchangePlugin/ExchangePlugin_ImportFeature.cpp b/src/ExchangePlugin/ExchangePlugin_ImportFeature.cpp index 402b660e9..ade0a3115 100644 --- a/src/ExchangePlugin/ExchangePlugin_ImportFeature.cpp +++ b/src/ExchangePlugin/ExchangePlugin_ImportFeature.cpp @@ -32,7 +32,6 @@ #include #include -#include #include #include @@ -43,8 +42,6 @@ #include #include #include -#include -#include #include #include #include @@ -63,10 +60,6 @@ #include -#include -#include - - ExchangePlugin_ImportFeature::ExchangePlugin_ImportFeature() { } @@ -84,16 +77,10 @@ void ExchangePlugin_ImportFeature::initAttributes() data()->addAttribute(ExchangePlugin_ImportFeature::FILE_PATH_ID(), ModelAPI_AttributeString::typeId()); AttributePtr aFeaturesAttribute = - data()->addAttribute(ExchangePlugin_ImportFeature::FEATURES_ID(), + data()->addAttribute(ExchangePlugin_ImportFeature::FEATURES_ID(), ModelAPI_AttributeRefList::typeId()); - data()->addAttribute(STEP_FILE_PATH_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(IMPORT_TYPE_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(STEP_MATERIALS_ID(), ModelAPI_AttributeBoolean::typeId()); - data()->addAttribute(STEP_COLORS_ID(), ModelAPI_AttributeBoolean::typeId()); - data()->addAttribute(STEP_SCALE_INTER_UNITS_ID(), ModelAPI_AttributeBoolean::typeId()); - aFeaturesAttribute->setIsArgument(false); - + ModelAPI_Session::get()->validators()->registerNotObligatory( getKind(), ExchangePlugin_ImportFeature::FEATURES_ID()); } @@ -103,15 +90,7 @@ void ExchangePlugin_ImportFeature::initAttributes() */ void ExchangePlugin_ImportFeature::execute() { - AttributeStringPtr aImportTypeAttr = string(ExchangePlugin_ImportFeature::IMPORT_TYPE_ID()); - std::string aFormat = aImportTypeAttr->value(); - AttributeStringPtr aFilePathAttr; - if (aFormat == "STEP" || aFormat == "STP") - { - aFilePathAttr = string(ExchangePlugin_ImportFeature::STEP_FILE_PATH_ID()); - }else{ - aFilePathAttr = string(ExchangePlugin_ImportFeature::FILE_PATH_ID()); - } + AttributeStringPtr aFilePathAttr = string(ExchangePlugin_ImportFeature::FILE_PATH_ID()); std::string aFilePath = aFilePathAttr->value(); if (aFilePath.empty()) { setError("File path is empty."); @@ -122,7 +101,7 @@ void ExchangePlugin_ImportFeature::execute() } std::shared_ptr ExchangePlugin_ImportFeature::createResultBody( - std::shared_ptr aGeomShape) + std::shared_ptr aGeomShape) { std::shared_ptr aResultBody = document()->createBody(data()); //LoadNamingDS of the imported shape @@ -143,47 +122,10 @@ void ExchangePlugin_ImportFeature::importFile(const std::string& theFileName) // Perform the import std::string anError; std::shared_ptr aGeomShape; - - std::map< std::wstring, std::list> theMaterialShape; - - std::string anObjectName = GeomAlgoAPI_Tools::File_Tools::name(theFileName); - data()->setName(Locale::Convert::toWString(anObjectName)); - - ResultBodyPtr result = document()->createBody(data()); - - bool anColorGroupSelected = boolean(ExchangePlugin_ImportFeature::STEP_COLORS_ID())->value(); - bool anMaterialsGroupSelected = boolean(ExchangePlugin_ImportFeature::STEP_MATERIALS_ID())->value(); - if (anExtension == "BREP" || anExtension == "BRP") { aGeomShape = BREPImport(theFileName, anExtension, anError); } else if (anExtension == "STEP" || anExtension == "STP") { - bool anScalInterUnits = boolean(ExchangePlugin_ImportFeature::STEP_SCALE_INTER_UNITS_ID())->value(); - - - try{ - - result->clearShapeNameAndColor(); - // Process groups/fields - std::shared_ptr aRefListOfGroups = - std::dynamic_pointer_cast(data()->attribute(FEATURES_ID())); - - // Remove previous groups/fields stored in RefList - std::list anGroupList = aRefListOfGroups->list(); - std::list::iterator anGroupIt = anGroupList.begin(); - for (; anGroupIt != anGroupList.end(); ++anGroupIt) { - std::shared_ptr aFeature = ModelAPI_Feature::feature(*anGroupIt); - if (aFeature) - document()->removeFeature(aFeature); - } - - aGeomShape = STEPImportAttributs(theFileName, result, anScalInterUnits, - anMaterialsGroupSelected, anColorGroupSelected,theMaterialShape,anError); - - } - catch (OSD_Exception& e) { - //Try to load STEP file without colors... - aGeomShape = STEPImport(theFileName, anExtension,anScalInterUnits,anError); - } + aGeomShape = STEPImport(theFileName, anExtension, anError); } else if (anExtension == "IGES" || anExtension == "IGS") { aGeomShape = IGESImport(theFileName, anExtension, anError); } else { @@ -197,138 +139,12 @@ void ExchangePlugin_ImportFeature::importFile(const std::string& theFileName) } // Pass the results into the model + std::string anObjectName = GeomAlgoAPI_Tools::File_Tools::name(theFileName); + data()->setName(Locale::Convert::toWString(anObjectName)); - loadNamingDS(aGeomShape, result); - - // create color group - if (anColorGroupSelected) - { - setColorGroups(result); - } - - // create Materiel group - if (anMaterialsGroupSelected){ - setMaterielGroup(result,theMaterialShape); - } - - setResult(result); - -} - -void ExchangePlugin_ImportFeature::setColorGroups(std::shared_ptr theResultBody) -{ - std::vector aColor; - int indice = 1; - std::list< std::vector > aColorsRead; - - - ModelAPI_Tools::getColor(theResultBody, aColor); - if (!aColor.empty() ){ - std::wstringstream colorName; - colorName< allRes; - ModelAPI_Tools::allSubs(theResultBody, allRes); - for(std::list::iterator aRes = allRes.begin(); aRes != allRes.end(); ++aRes) { - ModelAPI_Tools::getColor(*aRes, aColor); - if (!aColor.empty() ){ - auto it = std::find(aColorsRead.begin(), aColorsRead.end(), aColor); - if ( it == aColorsRead.end() ){ - std::wstringstream colorName; - colorName< theResultBody, - std::vector &theColor, - const std::wstring& theName ) -{ - std::vector aColor; - std::shared_ptr aGroupFeature = addFeature("Group"); - - // group name - aGroupFeature->data()->setName(theName); - - // fill selection - AttributeSelectionListPtr aSelectionList = aGroupFeature->selectionList("group_list"); - - ModelAPI_Tools::getColor(theResultBody, aColor); - if (!aColor.empty() ){ - if( aColor == theColor ) { - GeomShapePtr aShape = theResultBody->shape(); - aSelectionList->setSelectionType(aShape->shapeTypeStr() ); - aSelectionList->append(theResultBody,aShape); - } - } - // add element with the same color - std::list allRes; - ModelAPI_Tools::allSubs(theResultBody, allRes); - for(std::list::iterator aRes = allRes.begin(); - aRes != allRes.end(); ++aRes) { - ModelAPI_Tools::getColor(*aRes, aColor); - GeomShapePtr aShape = (*aRes)->shape(); - - if (!aColor.empty() ){ - if( aRes->get() && aColor == theColor ) { - aSelectionList->setSelectionType(aShape->shapeTypeStr() ); - aSelectionList->append(theResultBody,aShape); - } - } - } - - if (aSelectionList->size() == 0 ){ - document()->removeFeature(aGroupFeature); - } + setResult(createResultBody(aGeomShape)); } -void ExchangePlugin_ImportFeature::setMaterielGroup(std::shared_ptr theResultBody, - std::map< std::wstring, std::list> &theMaterialShape) -{ - int indice = 1; - std::map< std::wstring, std::list>::iterator it; - for( it = theMaterialShape.begin(); it != theMaterialShape.end(); ++it) { - - std::shared_ptr aGroupFeature = addFeature("Group"); - // group name - aGroupFeature->data()->setName((*it).first); - - // fill selection - AttributeSelectionListPtr aSelectionList = aGroupFeature->selectionList("group_list"); - std::string aSelectionType = "solid" ; - aSelectionList->setSelectionType(aSelectionType); - GeomShapePtr aShape = theResultBody->shape(); - - std::list allRes; - ModelAPI_Tools::allSubs(theResultBody, allRes); - for(std::list::iterator aRes = allRes.begin(); aRes != allRes.end(); ++aRes) { - - GeomShapePtr aShape = (*aRes)->shape(); - for(std::list::iterator aResMat = it->second.begin(); - aResMat != it->second.end(); ++aResMat) { - if( aRes->get() && ((*aRes)->data()->name() == (*aResMat))) - { - aSelectionList->append(theResultBody,aShape); - break; - } - } - } - if (aSelectionList->size() == 0){ - document()->removeFeature(aGroupFeature); - } - } -} - - - void ExchangePlugin_ImportFeature::importXAO(const std::string& theFileName) { try { @@ -599,6 +415,7 @@ void ExchangePlugin_ImportFeature::loadNamingDS( { //load result theResultBody->store(theGeomShape); + std::string aNameMS = "Shape"; theResultBody->loadFirstLevel(theGeomShape, aNameMS); } diff --git a/src/ExchangePlugin/ExchangePlugin_ImportFeature.h b/src/ExchangePlugin/ExchangePlugin_ImportFeature.h index 2875d83ab..c087af2ab 100644 --- a/src/ExchangePlugin/ExchangePlugin_ImportFeature.h +++ b/src/ExchangePlugin/ExchangePlugin_ImportFeature.h @@ -24,7 +24,6 @@ #include #include -#include #include @@ -44,48 +43,18 @@ class ExchangePlugin_ImportFeature : public ModelAPI_CompositeFeature static const std::string MY_IMPORT_ID("Import"); return MY_IMPORT_ID; } - /// Feature kind - inline static const std::string& IMPORT_TYPE_ID() - { - static const std::string MY_IMPORT_TYPE_ID("ImportType"); - return MY_IMPORT_TYPE_ID; - } /// attribute name of file path inline static const std::string& FILE_PATH_ID() { static const std::string MY_FILE_PATH_ID("file_path"); return MY_FILE_PATH_ID; } - /// attribute name of file path - inline static const std::string& STEP_FILE_PATH_ID() - { - static const std::string MY_STEP_FILE_PATH_ID("step_file_path"); - return MY_STEP_FILE_PATH_ID; - } /// All features (list of references) inline static const std::string& FEATURES_ID() { static const std::string MY_FEATURES_ID("Features"); return MY_FEATURES_ID; } - /// attribute name of step Scale to International System Units - inline static const std::string& STEP_SCALE_INTER_UNITS_ID() - { - static const std::string MY_STEP_SCALE_INTER_UNITS_ID("step_scale_inter_units"); - return MY_STEP_SCALE_INTER_UNITS_ID; - } - /// attribute name of step materiels - inline static const std::string& STEP_MATERIALS_ID() - { - static const std::string MY_STEP_MATERIALS_ID("step_materials"); - return MY_STEP_MATERIALS_ID; - } - /// attribute name of step colors - inline static const std::string& STEP_COLORS_ID() - { - static const std::string MY_STEP_COLORS_ID("step_colours"); - return MY_STEP_COLORS_ID; - } /// Default constructor EXCHANGEPLUGIN_EXPORT ExchangePlugin_ImportFeature(); /// Default destructor @@ -139,19 +108,6 @@ private: /// Loads Naming data structure to the document void loadNamingDS(std::shared_ptr theGeomShape, std::shared_ptr theResultBody); - - // Set groups of color - void setColorGroups(std::shared_ptr theResultBody); - - // set a group of color - void setColorGroup(std::shared_ptr theResultBody, - std::vector &aColor, - const std::wstring& theName ); - - // set Materiel group of color - void setMaterielGroup(std::shared_ptr theResultBody, - std::map< std::wstring, std::list> &theMaterialShape); - }; #endif /* IMPORT_IMPORTFEATURE_H_ */ diff --git a/src/ExchangePlugin/ExchangePlugin_msg_fr.ts b/src/ExchangePlugin/ExchangePlugin_msg_fr.ts index 110053a1d..3e4061b1e 100644 --- a/src/ExchangePlugin/ExchangePlugin_msg_fr.ts +++ b/src/ExchangePlugin/ExchangePlugin_msg_fr.ts @@ -134,10 +134,6 @@ XAO XAO - - STL - STL - Export:file_path @@ -197,81 +193,6 @@ Veuillez saisir le nom de la géométrie - - Export:stl_file_path - - Export file - Fichier d'export - - - - Export:stl_file_path:ExchangePlugin_ExportFormat - - %1 is not initialized. - %1 n'est pas initialisé. - - - File name is empty. - Le nom du fichier est vide. - - - - Export:stl_object_selected - - Object - Objet - - - Object to export. - Objet à exporter. - - - - Export:stl_file_type - - File type - type du fichier - - - Binary - Binaire - - - ASCII - ASCII - - - - Export:Deflection - - Deflection - Déflection - - - Relative - Relative - - - Relative value. - Valeur relative - - - Calculate by size of shape - Calcul par rapport à la taille de la shape - - - Absolute - Absolue - - - Value indicate by user - Valeur indiquée par l'utilisateur - - - Absolute value. - Valeur absolue. - - diff --git a/src/ExchangePlugin/doc/importFeature.rst b/src/ExchangePlugin/doc/importFeature.rst index 4692ec669..49436c043 100644 --- a/src/ExchangePlugin/doc/importFeature.rst +++ b/src/ExchangePlugin/doc/importFeature.rst @@ -97,4 +97,4 @@ The Result of the operation depends on the imported file content. Import of BREP file. -**See Also** a sample TUI Script of :ref:`tui_import_file` operation. +**See Also** a sample TUI Script of :ref:`tui_import_file` operation. \ No newline at end of file diff --git a/src/ExchangePlugin/export_widget.xml b/src/ExchangePlugin/export_widget.xml index d77786ee5..9e134b805 100644 --- a/src/ExchangePlugin/export_widget.xml +++ b/src/ExchangePlugin/export_widget.xml @@ -31,63 +31,5 @@ placeholder="Please input the geometry name"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/ExchangePlugin/plugin-Exchange.xml b/src/ExchangePlugin/plugin-Exchange.xml index 275ceb69b..7f240ba69 100644 --- a/src/ExchangePlugin/plugin-Exchange.xml +++ b/src/ExchangePlugin/plugin-Exchange.xml @@ -4,70 +4,19 @@ - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/src/FeaturesAPI/FeaturesAPI_Fillet.cpp b/src/FeaturesAPI/FeaturesAPI_Fillet.cpp index 9d4182788..332b58208 100644 --- a/src/FeaturesAPI/FeaturesAPI_Fillet.cpp +++ b/src/FeaturesAPI/FeaturesAPI_Fillet.cpp @@ -23,10 +23,6 @@ #include #include #include -#include -#include -#include -#include static GeomAPI_Shape::ShapeType typeOfSelection( const std::list& theBaseObjects) @@ -156,92 +152,6 @@ FeaturesAPI_Fillet2D::FeaturesAPI_Fillet2D(const std::shared_ptr& theFeature, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepoint, - const std::list& theRadius) - : FeaturesAPI_Fillet(theFeature) -{ - if (initialize()) { - fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_MULTIPLES_RADIUSES(), mycreationMethod); - fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_BY_POINTS(), mycreationMethodmulti); - fillAttribute(theedgeselected, edgeselected()); - fillAttribute(thepoint, myarraypointradiusbypoint); - - GeomEdgePtr anEdge = GeomEdgePtr(new GeomAPI_Edge( edgeselected()->value())); - GeomPointPtr first = anEdge->firstPoint(); - GeomPointPtr last = anEdge->lastPoint(); - double taille = first->distance(last); - - std::shared_ptr aCurve(new GeomAPI_Curve(edgeselected()->value())); - - ListOfShape aPoints; - std::set aContexts; - for (int anIndex = 0; anIndex < myarraypointradiusbypoint->size(); ++anIndex) { - AttributeSelectionPtr aSelection = myarraypointradiusbypoint->value(anIndex); - GeomShapePtr aShape = aSelection->value(); - ResultPtr aContext = aSelection->context(); - aContexts.insert(aContext->shape()); - - if (!aShape.get()) { - aShape = aContext->shape(); - } - aPoints.push_back(aShape); - } - std::list::const_iterator aRowsRadiusIter = theRadius.begin(); - ModelAPI_AttributeTables::Value aVal; - aVal.myDouble = 0.0; - myvaluescurv()->setValue(aVal, 0, 0 ); - aVal.myDouble = aRowsRadiusIter->value(); - myvaluescurv()->setValue(aVal, 0, 1 ); - aRowsRadiusIter++; - int aRowIndex = 1; - ListOfShape::const_iterator aPointsIt = aPoints.begin(); - for (; aPointsIt != aPoints.end(); ++aPointsIt, aRowsRadiusIter++) { - std::shared_ptr aPnt = GeomAlgoAPI_PointBuilder::point(*aPointsIt); - std::shared_ptr aPntCurv = aCurve->project(aPnt); - double res = (aPntCurv->distance(first) / taille); - aVal.myDouble = res; - myvaluescurv()->setValue(aVal, aRowIndex, 0 ); - aVal.myDouble = aRowsRadiusIter->value(); - myvaluescurv()->setValue(aVal, aRowIndex, 1 ); - aRowIndex++; - } - aVal.myDouble = 1.0; - myvaluescurv()->setValue(aVal, aRowIndex, 0 ); - aVal.myDouble = aRowsRadiusIter->value(); - myvaluescurv()->setValue(aVal, aRowIndex, 1 ); - execIfBaseNotEmpty(); - } -} - -FeaturesAPI_Fillet2D::FeaturesAPI_Fillet2D(const std::shared_ptr& theFeature, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepointCurvCood, - const std::list& theRadius) - : FeaturesAPI_Fillet(theFeature) -{ - if (initialize()) { - fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_MULTIPLES_RADIUSES(), mycreationMethod); - fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_BY_CURVILEAR_ABSCISSA(), mycreationMethodmulti); - fillAttribute(theedgeselected, edgeselected()); - - int aRowIndex = 0; - myvaluescurv()->setSize( thepointCurvCood.size(), 2 ); - std::list::const_iterator aRowsCoodIter = thepointCurvCood.begin(); - std::list::const_iterator aRowsRadiusIter = theRadius.begin(); - for(; aRowsCoodIter != thepointCurvCood.end(); aRowsCoodIter++, aRowsRadiusIter++, aRowIndex++) { - ModelAPI_AttributeTables::Value aVal; - aVal.myDouble = aRowsCoodIter->value(); - myvaluescurv()->setValue(aVal, aRowIndex, 0 ); - aVal.myDouble = aRowsRadiusIter->value(); - myvaluescurv()->setValue(aVal, aRowIndex, 1 ); - } - execIfBaseNotEmpty(); - } -} - FeaturesAPI_Fillet2D::~FeaturesAPI_Fillet2D() { } @@ -255,7 +165,7 @@ void FeaturesAPI_Fillet2D::setBase(const std::list& theB } void FeaturesAPI_Fillet2D::setRadius(const ModelHighAPI_Double& theRadius) -{ +{ fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_SINGLE_RADIUS(), mycreationMethod); fillAttribute(theRadius, myradius); @@ -264,7 +174,7 @@ void FeaturesAPI_Fillet2D::setRadius(const ModelHighAPI_Double& theRadius) void FeaturesAPI_Fillet2D::setRadius(const ModelHighAPI_Double& theRadius1, const ModelHighAPI_Double& theRadius2) -{ +{ fillAttribute(FeaturesPlugin_Fillet::CREATION_METHOD_VARYING_RADIUS(), mycreationMethod); fillAttribute(theRadius1, mystartRadius); fillAttribute(theRadius2, myendRadius); @@ -279,64 +189,18 @@ void FeaturesAPI_Fillet2D::dump(ModelHighAPI_Dumper& theDumper) const AttributeSelectionListPtr anAttrObjects = aBase->selectionList(FeaturesPlugin_Fillet::OBJECT_LIST_ID()); - - - if ( aBase->string(FeaturesPlugin_Fillet::CREATION_METHOD())->value() - == FeaturesPlugin_Fillet::CREATION_METHOD_MULTIPLES_RADIUSES() ) - { - AttributeSelectionPtr anAttrEdgeSelec = - aBase->selection(FeaturesPlugin_Fillet::EDGE_SELECTED_ID()); - - if( aBase->string(FeaturesPlugin_Fillet::CREATION_METHOD_MULTIPLES_RADIUSES())->value() - == FeaturesPlugin_Fillet::CREATION_METHOD_BY_POINTS() ) - { - AttributeSelectionListPtr anAttrPoint = - aBase->selectionList(FeaturesPlugin_Fillet::ARRAY_POINT_RADIUS_BY_POINTS()); - AttributeTablesPtr anAttrTable = - aBase->tables(FeaturesPlugin_Fillet::VALUES_ID()); - theDumper << aBase << " = model.addFillet(" << aDocName << ", " << anAttrEdgeSelec; - theDumper << ", " << anAttrPoint << ", "; - theDumper<<", ["; - for(int aRow = 0; aRow < myvalues()->rows(); aRow++) { - if (aRow != 0) - theDumper<<", "; - theDumper<value(aRow, 1).myDouble; - } - theDumper<<"]"; - - }else{ - AttributeTablesPtr anAttrTable = - aBase->tables(FeaturesPlugin_Fillet::VALUES_CURV_ID()); - theDumper << aBase << " = model.addFillet(" << aDocName << ", " << anAttrEdgeSelec; - theDumper << ", "; - theDumper<<"["; - for(int aRow = 1; aRow < myvalues()->rows()-1; aRow++) { - if (aRow != 1) - theDumper<<", "; - theDumper<value(aRow, 0).myDouble; - } - theDumper<<"],"; - theDumper<<"["; - for(int aRow = 0; aRow < myvalues()->rows(); aRow++) { - if (aRow != 0) - theDumper<<", "; - theDumper<value(aRow, 1).myDouble; - } - theDumper<<"]"; - } - }else - { theDumper << aBase << " = model.addFillet(" << aDocName << ", " << anAttrObjects; - - std::string aCreationMethod = aBase->string(FeaturesPlugin_Fillet::CREATION_METHOD())->value(); - - if(aCreationMethod == FeaturesPlugin_Fillet::CREATION_METHOD_SINGLE_RADIUS()) { - AttributeDoublePtr anAttrRadius = aBase->real(FeaturesPlugin_Fillet::RADIUS_ID()); - theDumper << ", " << anAttrRadius; - } else if(aCreationMethod == FeaturesPlugin_Fillet::CREATION_METHOD_VARYING_RADIUS()) { - AttributeDoublePtr anAttrRadius1 = aBase->real(FeaturesPlugin_Fillet::START_RADIUS_ID()); - AttributeDoublePtr anAttrRadius2 = aBase->real(FeaturesPlugin_Fillet::END_RADIUS_ID()); - theDumper << ", " << anAttrRadius1 << ", " << anAttrRadius2; - } + + theDumper << aBase << " = model.addFillet(" << aDocName << ", " << anAttrObjects; + + std::string aCreationMethod = aBase->string(FeaturesPlugin_Fillet::CREATION_METHOD())->value(); + + if(aCreationMethod == FeaturesPlugin_Fillet::CREATION_METHOD_SINGLE_RADIUS()) { + AttributeDoublePtr anAttrRadius = aBase->real(FeaturesPlugin_Fillet::RADIUS_ID()); + theDumper << ", " << anAttrRadius; + } else if(aCreationMethod == FeaturesPlugin_Fillet::CREATION_METHOD_VARYING_RADIUS()) { + AttributeDoublePtr anAttrRadius1 = aBase->real(FeaturesPlugin_Fillet::START_RADIUS_ID()); + AttributeDoublePtr anAttrRadius2 = aBase->real(FeaturesPlugin_Fillet::END_RADIUS_ID()); + theDumper << ", " << anAttrRadius1 << ", " << anAttrRadius2; } if (!aBase->data()->version().empty()) @@ -377,39 +241,3 @@ FilletPtr addFillet(const std::shared_ptr& thePart, aFillet.reset(new FeaturesAPI_Fillet2D(aFeature, theBaseObjects, theRadius1, theRadius2)); return aFillet; } - -FilletPtr addFillet(const std::shared_ptr& thePart, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepoint, - const std::list& theRadius, - const bool keepSubResults) -{ - - FeaturePtr aFeature = thePart->addFeature(FeaturesAPI_Fillet2D::ID()); - if (!keepSubResults) - aFeature->data()->setVersion(""); - - FilletPtr aFillet; - - aFillet.reset(new FeaturesAPI_Fillet2D(aFeature, theedgeselected, thepoint, theRadius)); - - return aFillet; -} - -FilletPtr addFillet(const std::shared_ptr& thePart, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepointCurvCood, - const std::list& theRadius, - const bool keepSubResults) -{ - - FeaturePtr aFeature = thePart->addFeature(FeaturesAPI_Fillet2D::ID()); - if (!keepSubResults) - aFeature->data()->setVersion(""); - - FilletPtr aFillet; - - aFillet.reset(new FeaturesAPI_Fillet2D(aFeature, theedgeselected, thepointCurvCood, theRadius)); - - return aFillet; -} \ No newline at end of file diff --git a/src/FeaturesAPI/FeaturesAPI_Fillet.h b/src/FeaturesAPI/FeaturesAPI_Fillet.h index 258d6e8ee..7eac5d6c8 100644 --- a/src/FeaturesAPI/FeaturesAPI_Fillet.h +++ b/src/FeaturesAPI/FeaturesAPI_Fillet.h @@ -28,7 +28,6 @@ #include #include #include -#include class ModelHighAPI_Selection; @@ -131,45 +130,17 @@ public: const ModelHighAPI_Double& theRadius1, const ModelHighAPI_Double& theRadius2); - /// Constructor with values. - FEATURESAPI_EXPORT - explicit FeaturesAPI_Fillet2D(const std::shared_ptr& theFeature, - const ModelHighAPI_Selection& theedgeselected, - const std::list& thepoint, - const std::list& theRadius); - - /// Constructor with values. - FEATURESAPI_EXPORT - explicit FeaturesAPI_Fillet2D(const std::shared_ptr& theFeature, - const ModelHighAPI_Selection& theedgeselected, - const std::list& thepointCurvCood, - const std::list& theRadius); /// Destructor. FEATURESAPI_EXPORT virtual ~FeaturesAPI_Fillet2D(); - INTERFACE_10(FeaturesPlugin_Fillet::ID(), + INTERFACE_5(FeaturesPlugin_Fillet::ID(), creationMethod, FeaturesPlugin_Fillet::CREATION_METHOD(), ModelAPI_AttributeString, /** Creation method */, - creationMethodmulti, FeaturesPlugin_Fillet::CREATION_METHOD_MULTIPLES_RADIUSES(), - ModelAPI_AttributeString, - /** Creation method */, baseObjects, FeaturesPlugin_Fillet::OBJECT_LIST_ID(), ModelAPI_AttributeSelectionList, /** Base objects */, - edgeselected, FeaturesPlugin_Fillet::EDGE_SELECTED_ID(), - ModelAPI_AttributeSelection, - /** Base objects */, - arraypointradiusbypoint, FeaturesPlugin_Fillet::ARRAY_POINT_RADIUS_BY_POINTS(), - ModelAPI_AttributeSelectionList, - /** Base objects */, - myvalues, FeaturesPlugin_Fillet::VALUES_ID(), - ModelAPI_AttributeTables, - /** table for methode multi-radiuses by point */, - myvaluescurv, FeaturesPlugin_Fillet::VALUES_CURV_ID(), - ModelAPI_AttributeTables, - /** table for methode multi-radiuses by curviliean coodinate */, radius, FeaturesPlugin_Fillet::RADIUS_ID(), ModelAPI_AttributeDouble, /** Value of the fixed radius fillet */, @@ -210,23 +181,4 @@ FilletPtr addFillet(const std::shared_ptr& thePart, const ModelHighAPI_Double& theRadius2 = ModelHighAPI_Double(-1.0), const bool keepSubResults = false); -/// \ingroup CPPHighAPI -/// \brief Create Fillet feature. -FEATURESAPI_EXPORT -FilletPtr addFillet(const std::shared_ptr& thePart, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepoint, - const std::list& theRadius, - const bool keepSubResults= false); - - -/// \ingroup CPPHighAPI -/// \brief Create Fillet feature. -FEATURESAPI_EXPORT -FilletPtr addFillet( const std::shared_ptr& thePart, - const ModelHighAPI_Selection & theedgeselected, - const std::list& thepointCurvCood, - const std::list& theRadius, - const bool keepSubResults= false); - #endif // FeaturesAPI_Fillet_H_ -- 2.39.2