# 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) SET(PROJECT_HEADERS FeaturesPlugin.h FeaturesPlugin_Plugin.h FeaturesPlugin_Extrusion.h FeaturesPlugin_Recover.h FeaturesPlugin_Revolution.h FeaturesPlugin_Rotation.h FeaturesPlugin_Translation.h FeaturesPlugin_VersionedBoolean.h FeaturesPlugin_Boolean.h FeaturesPlugin_BooleanCut.h FeaturesPlugin_BooleanFuse.h FeaturesPlugin_BooleanCommon.h FeaturesPlugin_BooleanSmash.h FeaturesPlugin_BooleanFill.h FeaturesPlugin_Intersection.h FeaturesPlugin_Partition.h FeaturesPlugin_Pipe.h FeaturesPlugin_Placement.h FeaturesPlugin_CompositeBoolean.h FeaturesPlugin_CompositeSketch.h FeaturesPlugin_ExtrusionBoolean.h FeaturesPlugin_ExtrusionCut.h FeaturesPlugin_ExtrusionFuse.h FeaturesPlugin_RevolutionBoolean.h FeaturesPlugin_RevolutionCut.h FeaturesPlugin_RevolutionFuse.h FeaturesPlugin_Union.h FeaturesPlugin_ValidatorTransform.h FeaturesPlugin_Validators.h FeaturesPlugin_RemoveSubShapes.h FeaturesPlugin_Tools.h FeaturesPlugin_Symmetry.h FeaturesPlugin_Scale.h FeaturesPlugin_MultiTranslation.h FeaturesPlugin_MultiRotation.h FeaturesPlugin_Fillet.h FeaturesPlugin_Measurement.h FeaturesPlugin_FusionFaces.h FeaturesPlugin_RemoveResults.h FeaturesPlugin_Chamfer.h ) SET(PROJECT_SOURCES FeaturesPlugin_Plugin.cpp FeaturesPlugin_Extrusion.cpp FeaturesPlugin_Recover.cpp FeaturesPlugin_Revolution.cpp FeaturesPlugin_Rotation.cpp FeaturesPlugin_Translation.cpp FeaturesPlugin_VersionedBoolean.cpp FeaturesPlugin_Boolean.cpp FeaturesPlugin_BooleanCut.cpp FeaturesPlugin_BooleanFuse.cpp FeaturesPlugin_BooleanCommon.cpp FeaturesPlugin_BooleanSmash.cpp FeaturesPlugin_BooleanFill.cpp FeaturesPlugin_Intersection.cpp FeaturesPlugin_Partition.cpp FeaturesPlugin_Pipe.cpp FeaturesPlugin_Placement.cpp FeaturesPlugin_CompositeBoolean.cpp FeaturesPlugin_CompositeSketch.cpp FeaturesPlugin_ExtrusionBoolean.cpp FeaturesPlugin_ExtrusionCut.cpp FeaturesPlugin_ExtrusionFuse.cpp FeaturesPlugin_RevolutionBoolean.cpp FeaturesPlugin_RevolutionCut.cpp FeaturesPlugin_RevolutionFuse.cpp FeaturesPlugin_Union.cpp FeaturesPlugin_ValidatorTransform.cpp FeaturesPlugin_Validators.cpp FeaturesPlugin_RemoveSubShapes.cpp FeaturesPlugin_Tools.cpp FeaturesPlugin_Symmetry.cpp FeaturesPlugin_Scale.cpp FeaturesPlugin_MultiTranslation.cpp FeaturesPlugin_MultiRotation.cpp FeaturesPlugin_Fillet.cpp FeaturesPlugin_Measurement.cpp FeaturesPlugin_FusionFaces.cpp FeaturesPlugin_RemoveResults.cpp FeaturesPlugin_Chamfer.cpp ) SET(XML_RESOURCES plugin-Features.xml extrusion_widget.xml extrusioncut_widget.xml extrusionfuse_widget.xml revolution_widget.xml revolutioncut_widget.xml revolutionfuse_widget.xml rotation_widget.xml translation_widget.xml boolean_widget.xml boolean_fuse_widget.xml boolean_common_widget.xml boolean_split_widget.xml boolean_smash_widget.xml recover_widget.xml partition_widget.xml placement_widget.xml intersection_widget.xml pipe_widget.xml remove_subshapes_widget.xml union_widget.xml symmetry_widget.xml scale_widget.xml multitranslation_widget.xml multirotation_widget.xml fillet_widget.xml measurement_widget.xml fusion_faces_widget.xml chamfer_widget.xml ) SET(TEXT_RESOURCES FeaturesPlugin_msg_en.ts FeaturesPlugin_msg_fr.ts FeaturesPlugin_msg_ru.ts ) SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES}) INCLUDE_DIRECTORIES( ../ModelAPI ../GeomAPI ../GeomAlgoAPI ../GeomValidators ../Events ../Config ${OpenCASCADE_INCLUDE_DIR} ) SET(PROJECT_LIBRARIES Events ModelAPI GeomAPI GeomAlgoAPI GeomValidators Config ${OpenCASCADE_Visualization_LIBRARIES} ) ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS) ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES}) TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES}) INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES}) INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}) INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features) 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 TestPlacement_Vertex_Vertex.py TestPlacement_Edge_Vertex.py TestPlacement_Edge_Edge.py TestPlacement_Face_Vertex.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 TestMultiTranslation_Part.py TestMultiTranslation_ErrorMsg.py TestSymmetry_Part.py TestBoolean1.py TestBoolean2.py TestBoolean3.py TestBooleanCompSolids.py TestBooleanSmash.py TestBooleanSplit.py TestBooleanSplitWithPlane.py TestBooleanSplit_ErrorMsg.py TestMultiBoolean.py TestSerialBoolean.py TestBoolean_ErrorMsg.py TestIntersection.py TestIntersection_ErrorMsg.py TestUnion.py TestUnionFaces.py TestUnion_ErrorMsg.py TestRemoveSubShapes.py TestRemoveSubShapes2.py TestRemoveSubShapes3.py TestRemoveSubShapes4.py TestRemoveSubShapes5.py TestRemoveSubShapes6.py TestPipe.py TestPipe_Edge.py TestPipe_Wire.py TestPipe_Compound.py TestPipe_ErrorMsg.py TestRecover.py TestRecover_Compound.py TestRecover_Compsolid1.py TestRecover_Compsolid2.py TestRecover1798.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 TestPartitionFaceWire.py TestPartitionInclinedFaceSolid.py TestPartitionWireFaceSolid.py TestUnion4CurvedFaces.py TestUnion4CurvedFaces_2.py TestUnion4Faces.py TestUnionOfUnion.py TestMeasurementLength.py TestMeasurementDistance.py TestMeasurementRadius.py TestMeasurementAngle.py TestMeasurementAngle3Points.py TestMeasurementPresentation.py TestFusionFaces.py TestFusionFaces2697.py Test1379.py Test1922.py Test1942.py Test1915.py Test2023.py Test2046.py Test2038.py Test2172.py Test2194.py Test2197_1.py Test2197_2.py Test2197_3.py Test2197_4.py Test2215.py Test2222.py Test2233.py Test2231.py Test2240.py Test2246.py Test2248.py Test2251.py Test2255.py Test2289.py Test2304.py Test2304_2.py Test2375.py Test2377.py Test2394.py Test2395.py Test2419_1.py Test2419_2.py Test2419_3.py Test2465.py Test2495.py Test2514.py Test2520.py TestBooleanCut_CompSolid_CompSolid.py TestBooleanCut_CompSolidCompound_CompSolidCompound.py TestBooleanCut_Edge_Edge.py TestBooleanCut_Edge_Face.py TestBooleanCut_EdgeCompound_EdgeCompound.py TestBooleanCut_EdgeCompound_Solid.py TestBooleanCut_Face_Face.py TestBooleanCut_Face_Solid.py TestBooleanCut_FaceCompound_FaceCompound.py TestBooleanCut_Shell_Shell.py TestBooleanCut_ShellCompound_ShellCompound.py TestBooleanCut_Solid_Solid.py TestBooleanCut_SolidCompound_SolidCompound.py TestBooleanCut_Vertex_Vertex.py TestBooleanCut_VertexCompound_Solid.py TestBooleanCut_VertexCompound_VertexCompound.py TestBooleanCut_Wire_Face.py TestBooleanCut_Wire_Wire.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 TestBooleanCommon_Vertex_Vertex.py TestBooleanCommon_VertexCompound_VertexCompound.py TestBooleanCommon_Edge_Edge.py TestBooleanCommon_EdgeCompound_EdgeCompound.py TestBooleanCommon_Wire_Wire.py TestBooleanCommon_WireCompound_WireCompound.py TestBooleanCommon_Face_Face.py TestBooleanCommon_Face_Plane.py TestBooleanCommon_FaceCompound_FaceCompound.py TestBooleanCommon_Shell_Shell.py TestBooleanCommon_ShellCompound_ShellCompound.py TestBooleanCommon_Solid_Face.py TestBooleanCommon_Solid_Shell.py TestBooleanCommon_Solid_Solid.py TestBooleanCommon_SolidCompound_Face.py TestBooleanCommon_SolidCompound_Shell.py TestBooleanCommon_SolidCompound_SolidCompound.py TestBooleanCommon_SubCompound_Solid.py TestBooleanCommon_SubSolid_Solid.py TestBooleanCommon_CompSolid_Face.py TestBooleanCommon_CompSolid_Shell.py TestBooleanCommon_CompSolid_CompSolid.py TestBooleanCommon_CompSolidCompound_Face.py TestBooleanCommon_CompSolidCompound_Shell.py TestBooleanCommon_CompSolidCompound_CompSolidCompound.py TestBooleanCommon_ErrorMsg.py TestBooleanCommon_SolidsHistory.py Test2596.py Test2592.py Test2588.py Test1467.py TestPartitionSubCompsolidWithCompSolid1.py TestPartitionSubCompsolidWithCompSolid2.py TestPartitionSubCompsolidWithCompSolid3.py TestPartitionSubCompsolidWithSolid1.py TestPartitionSubCompsolidWithSolid2.py TestPartitionSubCompsolidWithSolid3.py TestPartitionSubCompsolidWithSolid4.py TestPartitionSubCompsolidWithSolid5.py TestPartitionSubCompsolidWithFace1.py TestPartitionSubCompsolidWithFace2.py TestPartitionSubCompsolidWithFace3.py TestPartitionSubCompsolidWithFace4.py TestPartitionSubCompsolidWithFace5.py TestPartitionSubCompsolidWithPlane1.py TestPartitionSubCompsolidWithPlane2.py TestPartitionSubCompsolidWithPlane3.py TestPartitionSubCompsolidWithPlane4.py TestPartitionSubCompsolidWithPlane5.py TestPartitionArgsUpdate.py TestPartition_SolidsHistory.py TestBooleanFuse_Vertex_Vertex.py TestBooleanFuse_VertexCompound_VertexCompound.py TestBooleanFuse_Edge_Edge.py TestBooleanFuse_EdgeCompound_EdgeCompound.py TestBooleanFuse_Wire_Wire.py TestBooleanFuse_WireCompound_WireCompound.py TestBooleanFuse_Face_Face.py TestBooleanFuse_FaceCompound_FaceCompound.py TestBooleanFuse_Shell_Shell.py TestBooleanFuse_ShellCompound_ShellCompound.py TestBooleanFuse_Solid_Solid.py TestBooleanFuse_SolidCompound_SolidCompound.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 Test2689.py Test2693.py Test2698.py Test2701.py Test2724.py Test2692.py Test2617.py Test2729.py Test2738.py Test2751.py Test2826.py Test2854.py Test2878.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 )