Salome HOME
Issue #17342: 3D Model defeaturing
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
index 35459c7f348fc297960e938edc875152c03dc6b3..80d67e4692de9beb5760aed1af8b0a187ec6fba2 100644 (file)
@@ -1,22 +1,21 @@
-## Copyright (C) 2014-2017  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<mailto:webmaster.salome@opencascade.com>
-##
+# Copyright (C) 2014-2019  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
+#
 
 INCLUDE(Common)
 INCLUDE(UnitTest)
@@ -29,6 +28,7 @@ SET(PROJECT_HEADERS
     FeaturesPlugin_Revolution.h
     FeaturesPlugin_Rotation.h
     FeaturesPlugin_Translation.h
+    FeaturesPlugin_VersionedBoolean.h
     FeaturesPlugin_Boolean.h
     FeaturesPlugin_BooleanCut.h
     FeaturesPlugin_BooleanFuse.h
@@ -59,6 +59,11 @@ SET(PROJECT_HEADERS
     FeaturesPlugin_Fillet.h
     FeaturesPlugin_Measurement.h
     FeaturesPlugin_FusionFaces.h
+    FeaturesPlugin_RemoveResults.h
+    FeaturesPlugin_Chamfer.h
+    FeaturesPlugin_Copy.h
+    FeaturesPlugin_ImportResult.h
+    FeaturesPlugin_Defeaturing.h
 )
 
 SET(PROJECT_SOURCES
@@ -68,6 +73,7 @@ SET(PROJECT_SOURCES
     FeaturesPlugin_Revolution.cpp
     FeaturesPlugin_Rotation.cpp
     FeaturesPlugin_Translation.cpp
+    FeaturesPlugin_VersionedBoolean.cpp
     FeaturesPlugin_Boolean.cpp
     FeaturesPlugin_BooleanCut.cpp
     FeaturesPlugin_BooleanFuse.cpp
@@ -98,6 +104,11 @@ SET(PROJECT_SOURCES
     FeaturesPlugin_Fillet.cpp
     FeaturesPlugin_Measurement.cpp
     FeaturesPlugin_FusionFaces.cpp
+    FeaturesPlugin_RemoveResults.cpp
+    FeaturesPlugin_Chamfer.cpp
+    FeaturesPlugin_Copy.cpp
+    FeaturesPlugin_ImportResult.cpp
+    FeaturesPlugin_Defeaturing.cpp
 )
 
 SET(XML_RESOURCES
@@ -113,7 +124,7 @@ SET(XML_RESOURCES
   boolean_widget.xml
   boolean_fuse_widget.xml
   boolean_common_widget.xml
-  boolean_fill_widget.xml
+  boolean_split_widget.xml
   boolean_smash_widget.xml
   recover_widget.xml
   partition_widget.xml
@@ -129,10 +140,15 @@ SET(XML_RESOURCES
   fillet_widget.xml
   measurement_widget.xml
   fusion_faces_widget.xml
+  chamfer_widget.xml
+  copy_widget.xml
+  import_result_widget.xml
+  defeaturing_widget.xml
 )
 
 SET(TEXT_RESOURCES
     FeaturesPlugin_msg_en.ts
+    FeaturesPlugin_msg_fr.ts
     FeaturesPlugin_msg_ru.ts
 )
 
@@ -169,13 +185,50 @@ INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Featu
 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 
 ADD_UNIT_TESTS(TestExtrusion.py
+               TestExtrusionOfCompound.py
                TestExtrusionCut.py
+               TestExtrusionCut_BySize.py
+               TestExtrusionCut_ByPlanesAndOffsets.py
+               TestExtrusionCut_ByFaces.py
+               TestExtrusionCut_ThroughAll.py
                TestExtrusionFuse.py
+               TestExtrusionFuse_BySize.py
+               TestExtrusionFuse_ByPlanesAndOffsets.py
+               TestExtrusionFuse_ThroughAll.py
                TestExtrusion_ErrorMsg.py
                TestExtrusion_ZeroOffsetError.py
+               TestExtrusion_ByFaces01.py
+               TestExtrusion_ByFaces02.py
+               TestExtrusion_ByFaces03.py
+               TestExtrusion_ByFaces04.py
+               TestExtrusion_ByFaces05.py
+               TestExtrusion_ByFaces06.py
+               TestExtrusion_ByFaces07.py
+               TestExtrusion_ByFaces08.py
+               TestExtrusion_ByFaces09.py
+               TestExtrusion_ByFaces10.py
+               TestExtrusion_ByFaces11.py
+               TestExtrusion_ByFaces12.py
+               TestExtrusion_ByFaces13.py
+               TestExtrusion_ByFaces14.py
+               TestExtrusion_ByFaces15.py
+               TestExtrusion_ByFaces16.py
+               TestExtrusion_ByFaces17.py
+               TestExtrusion_ByFaces18.py
+               TestExtrusion_ByFaces19.py
                TestRevolution.py
+               TestRevolution_ByAngle.py
+               TestRevolutionOfPoint.py
+               TestRevolutionOfEdge.py
+               TestRevolutionOfCompound.py
                TestRevolutionCut.py
+               TestRevolutionCut_ByAngle.py
+               TestRevolutionCut_ByPlanesAndOffsets.py
+               TestRevolutionCut_ThroughAll.py
                TestRevolutionFuse.py
+               TestRevolutionFuse_ByAngle.py
+               TestRevolutionFuse_ByPlanesAndOffsets.py
+               TestRevolutionFuse_ThroughAll.py
                TestCompositeFeaturesOnCompSolids.py
                TestPartition.py
                TestPartition_ErrorMsg.py
@@ -186,11 +239,14 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestPlacement_Face_Edge.py
                TestPlacement_Face_Face.py
                TestPlacement_Part_Part.py
+               TestPlacement_Complex.py
                TestPlacement_ErrorMsg.py
                TestPlacement_BodyShapesValidator.py
                TestTranslation.py
                TestTranslation_Part.py
                TestRotation.py
+               TestRotation_ByAxis.py
+               TestRotation_ByPoints.py
                TestRotation_ErrorMsg.py
                TestMultiRotation_Part.py
                TestMultiRotation_ErrorMsg.py
@@ -202,9 +258,9 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestBoolean3.py
                TestBooleanCompSolids.py
                TestBooleanSmash.py
-               TestBooleanFill.py
-               TestBooleanFillWithPlane.py
-               TestBooleanFill_ErrorMsg.py
+               TestBooleanSplit.py
+               TestBooleanSplitWithPlane.py
+               TestBooleanSplit_ErrorMsg.py
                TestMultiBoolean.py
                TestSerialBoolean.py
                TestBoolean_ErrorMsg.py
@@ -225,51 +281,54 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestPipe_Compound.py
                TestPipe_ErrorMsg.py
                TestRecover.py
+               TestRecover_Compound.py
+               TestRecover_Compsolid1.py
+               TestRecover_Compsolid2.py
                TestRecover1798.py
-               TestFillEdgeVertex.py
-               TestFillEdgeEdge.py
-               TestFillEdgeEdgeIntersected.py
-               TestFillEdgeWire.py
-               TestFillEdgeFace.py
-               TestFillEdgeShell.py
-               TestFillEdgeSolid.py
-               TestFillEdgeSolidIntersected.py
-               TestFillWireVertex.py
-               TestFillWireEdge.py
-               TestFillWireWire.py
-               TestFillWireFace.py
-               TestFillWireShell.py
-               TestFillWireSolid.py
-               TestFillFaceVertex.py
-               TestFillFaceEdge.py
-               TestFillFaceEdgeInside.py
-               TestFillFaceEdgePerpendicular.py
-               TestFillFaceWire.py
-               TestFillFaceFace.py
-               TestFillFaceShell.py
-               TestFillFaceSolid.py
-               TestFillCompFaceSolid.py
-               TestFillShellVertex.py
-               TestFillShellEdge.py
-               TestFillShellConstrPlane.py
-               TestFillShellWire.py
-               TestFillShellFace.py
-               TestFillShellShell.py
-               TestFillShellSolid.py
-               TestFillSolid2ConstructionPlanes.py
-               TestFillSolidEdge.py
-               TestFillSolidFace.py
-               TestFillSolidCompFace.py
-               TestFillSolidShell.py
-               TestFillSolidCompShell.py
-               TestFillCompsolidPlane.py
+               TestSplitEdgeVertex.py
+               TestSplitEdgeEdge.py
+               TestSplitEdgeEdgeIntersected.py
+               TestSplitEdgeWire.py
+               TestSplitEdgeFace.py
+               TestSplitEdgeShell.py
+               TestSplitEdgeSolid.py
+               TestSplitEdgeSolidIntersected.py
+               TestSplitWireVertex.py
+               TestSplitWireEdge.py
+               TestSplitWireWire.py
+               TestSplitWireFace.py
+               TestSplitWireShell.py
+               TestSplitWireSolid.py
+               TestSplitFaceVertex.py
+               TestSplitFaceEdge.py
+               TestSplitFaceEdgeInside.py
+               TestSplitFaceEdgePerpendicular.py
+               TestSplitFaceWire.py
+               TestSplitFaceFace.py
+               TestSplitFaceShell.py
+               TestSplitFaceSolid.py
+               TestSplitCompFaceSolid.py
+               TestSplitShellVertex.py
+               TestSplitShellEdge.py
+               TestSplitShellConstrPlane.py
+               TestSplitShellWire.py
+               TestSplitShellFace.py
+               TestSplitShellShell.py
+               TestSplitShellSolid.py
+               TestSplitSolid2ConstructionPlanes.py
+               TestSplitSolidEdge.py
+               TestSplitSolidFace.py
+               TestSplitSolidCompFace.py
+               TestSplitSolidShell.py
+               TestSplitSolidCompShell.py
+               TestSplitCompsolidPlane.py
                TestPartition2Faces.py
                TestPartition2Solids.py
                TestPartition2Wires.py
                TestPartitionBox4Planes.py
                TestPartitionEdgeSolid.py
                TestPartitionFace2Solid.py
-#               TestPartitionFaceSolid.py
+               TestPartitionFaceSolid.py
                TestPartitionFaceWire.py
                TestPartitionInclinedFaceSolid.py
                TestPartitionWireFaceSolid.py
@@ -284,6 +343,7 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestMeasurementAngle3Points.py
                TestMeasurementPresentation.py
                TestFusionFaces.py
+               TestFusionFaces2697.py 
                Test1379.py
                Test1922.py
                Test1942.py
@@ -341,10 +401,12 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestBooleanCut_WireCompound_WireCompound.py
                TestBooleanCut_Compound_Solid.py
                TestBooleanCut_ErrorMsg.py
+               TestBooleanCut_SolidsHistory.py
                TestBooleanSmash_Face_Face.py
                TestBooleanSmash_SubSolid_Solid.py
                TestBooleanSmash_CompSolid_Solid.py
                TestBooleanSmash_ErrorMsg.py
+               TestBooleanSmash_SolidsHistory.py
                TestBooleanFuse_SimpleMode.py
                TestBooleanFuse_RemoveEdges.py
                TestBooleanFuse_ErrorMsg.py
@@ -374,6 +436,7 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestBooleanCommon_CompSolidCompound_Shell.py
                TestBooleanCommon_CompSolidCompound_CompSolidCompound.py
                TestBooleanCommon_ErrorMsg.py
+               TestBooleanCommon_SolidsHistory.py
                Test2596.py
                Test2592.py
                Test2588.py
@@ -396,6 +459,8 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestPartitionSubCompsolidWithPlane3.py
                TestPartitionSubCompsolidWithPlane4.py
                TestPartitionSubCompsolidWithPlane5.py
+               TestPartitionArgsUpdate.py
+               TestPartition_SolidsHistory.py
                TestBooleanFuse_Vertex_Vertex.py
                TestBooleanFuse_VertexCompound_VertexCompound.py
                TestBooleanFuse_Edge_Edge.py
@@ -411,11 +476,18 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestBooleanFuse_CompSolid_Face.py
                TestBooleanFuse_CompSolid_CompSolid.py
                TestBooleanFuse_CompSolidCompound_CompSolidCompound.py
+               TestBooleanFuse_SolidsHistory.py
                TestFillet.py
                TestFillet1.py
                TestFillet_ErrorMsg.py
+               TestFillet_History.py
+               TestScale1.py
+               TestScale2.py
                Test1816.py
+               Test1876.py
+               Test2225.py
                Test2631.py
+               Test2636.py
                Test2650.py
                Test2681.py
                Test2686.py
@@ -427,5 +499,71 @@ ADD_UNIT_TESTS(TestExtrusion.py
                Test2692.py
                Test2617.py
                Test2729.py
+               Test2738.py
                Test2751.py
+               Test2826.py
+               Test2854.py
+               Test2878.py
+               Test2920.py
+               Test2971.py
+               Test3014.py
+               TestBooleanCommon_MultiLevelCompound_v0_1.py
+               TestBooleanCommon_MultiLevelCompound_v0_2.py
+               TestBooleanCommon_MultiLevelCompound_v20190506_1.py
+               TestBooleanCommon_MultiLevelCompound_v20190506_2.py
+               TestBooleanCut_MultiLevelCompound_v0_1.py
+               TestBooleanCut_MultiLevelCompound_v0_2.py
+               TestBooleanCut_MultiLevelCompound_v20190506_1.py
+               TestBooleanCut_MultiLevelCompound_v20190506_2.py
+               TestBooleanFuse_MultiLevelCompound_v0_1.py
+               TestBooleanFuse_MultiLevelCompound_v0_2.py
+               TestBooleanFuse_MultiLevelCompound_v0_3.py
+               TestBooleanFuse_MultiLevelCompound_v0_4.py
+               TestBooleanFuse_MultiLevelCompound_v20190506_1.py
+               TestBooleanFuse_MultiLevelCompound_v20190506_2.py
+               TestBooleanFuse_MultiLevelCompound_v20190506_3.py
+               TestBooleanFuse_MultiLevelCompound_v20190506_4.py
+               TestBooleanSmash_MultiLevelCompound_v0_1.py
+               TestBooleanSmash_MultiLevelCompound_v0_2.py
+               TestBooleanSmash_MultiLevelCompound_v20190506_1.py
+               TestBooleanSmash_MultiLevelCompound_v20190506_2.py
+               TestBooleanSplit_MultiLevelCompound_v0_1.py
+               TestBooleanSplit_MultiLevelCompound_v0_2.py
+               TestBooleanSplit_MultiLevelCompound_v20190506_1.py
+               TestBooleanSplit_MultiLevelCompound_v20190506_2.py
+               TestPartition_MultiLevelCompound_v0_1.py
+               TestPartition_MultiLevelCompound_v0_2.py
+               TestPartition_MultiLevelCompound_v0_3.py
+               TestPartition_MultiLevelCompound_v20190506_1.py
+               TestPartition_MultiLevelCompound_v20190506_2.py
+               TestPartition_MultiLevelCompound_v20190506_3.py
+               TestUnion_MultiLevelCompound_v0.py
+               TestUnion_MultiLevelCompound_v20190506.py
+               TestUnionFaces_v20190506.py
+               TestRemoveResultsBody.py
+               TestRemoveResultsConstruction.py
+               TestRemoveResultsPart.py
+               Test17000.py
+               Test17261.py
+               Test17281.py
+               TestChamfer.py
+               Test3033.py
+               Test3076.py
+               Test17909.py
+               TestCopyFeature.py
+               TestCopyFeatureMoveGroupOfFeature.py
+               TestCopyMoveResult.py
+               TestCopyMoveSubShapes.py
+               TestCopyNames.py
+               TestCopySubShapes.py
+               TestCopyWholeFeature.py
+               TestImportResult.py
+               TestDefeaturing_ErrorMsg.py
+               TestDefeaturing_OnSolid1.py
+               TestDefeaturing_OnSolid2.py
+               TestDefeaturing_OnSolid3.py
+               TestDefeaturing_OnCompsolid1.py
+               TestDefeaturing_OnCompsolid2.py
+               TestDefeaturing_OnCompsolid3.py
+               TestDefeaturing_OnCompound.py
 )