## 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 ## 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_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 ) SET(PROJECT_SOURCES FeaturesPlugin_Plugin.cpp FeaturesPlugin_Extrusion.cpp FeaturesPlugin_Recover.cpp FeaturesPlugin_Revolution.cpp FeaturesPlugin_Rotation.cpp FeaturesPlugin_Translation.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 ) 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_fill_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 ) SET(TEXT_RESOURCES FeaturesPlugin_msg_en.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 TestExtrusionFuse.py TestExtrusionFuse_BySize.py TestExtrusionFuse_ByPlanesAndOffsets.py TestExtrusion_ErrorMsg.py TestExtrusion_ZeroOffsetError.py TestRevolution.py TestRevolution_ByAngle.py TestRevolutionOfPoint.py TestRevolutionOfEdge.py TestRevolutionOfCompound.py TestRevolutionCut.py TestRevolutionCut_ByAngle.py TestRevolutionCut_ByPlanesAndOffsets.py TestRevolutionFuse.py TestRevolutionFuse_ByAngle.py TestRevolutionFuse_ByPlanesAndOffsets.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 TestBooleanFill.py TestBooleanFillWithPlane.py TestBooleanFill_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 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 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 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 TestBooleanSmash_Face_Face.py TestBooleanSmash_SubSolid_Solid.py TestBooleanSmash_CompSolid_Solid.py TestBooleanSmash_ErrorMsg.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 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 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 TestFillet.py TestFillet1.py TestFillet_ErrorMsg.py TestScale1.py TestScale2.py Test1816.py Test2631.py Test2650.py Test2681.py Test2686.py Test2689.py Test2693.py Test2698.py Test2701.py Test2724.py Test2692.py Test2617.py Test2729.py Test2751.py )