Salome HOME
Merge branch 'master' into occ/bsplines
[modules/shaper.git] / src / SketchPlugin / CMakeLists.txt
index c0e7415007d85c9bc2b6fe4cf67224f45c87c50d..27965e742648c96ed226431afd726e030ca30892 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)
@@ -24,11 +23,15 @@ INCLUDE(UnitTest)
 SET(PROJECT_HEADERS
     SketchPlugin.h
     SketchPlugin_Arc.h
+    SketchPlugin_BSpline.h
+    SketchPlugin_BSplineBase.h
+    SketchPlugin_BSplinePeriodic.h
     SketchPlugin_Circle.h
     SketchPlugin_Constraint.h
     SketchPlugin_ConstraintAngle.h
     SketchPlugin_ConstraintBase.h
     SketchPlugin_ConstraintCoincidence.h
+    SketchPlugin_ConstraintCoincidenceInternal.h
     SketchPlugin_ConstraintCollinear.h
     SketchPlugin_ConstraintDistance.h
     SketchPlugin_ConstraintDistanceAlongDir.h
@@ -47,20 +50,24 @@ SET(PROJECT_HEADERS
     SketchPlugin_ConstraintTangent.h
     SketchPlugin_ConstraintVertical.h
     SketchPlugin_Ellipse.h
+    SketchPlugin_EllipticArc.h
     SketchPlugin_ExternalValidator.h
     SketchPlugin_Feature.h
     SketchPlugin_IntersectionPoint.h
     SketchPlugin_Line.h
     SketchPlugin_MacroArc.h
     SketchPlugin_MacroArcReentrantMessage.h
+    SketchPlugin_MacroBSpline.h
     SketchPlugin_MacroCircle.h
     SketchPlugin_MacroEllipse.h
+    SketchPlugin_MacroEllipticArc.h
     SketchPlugin_MultiRotation.h
     SketchPlugin_MultiTranslation.h
     SketchPlugin_Plugin.h
     SketchPlugin_Point.h
     SketchPlugin_Projection.h
     SketchPlugin_Sketch.h
+    SketchPlugin_SketchDrawer.h
     SketchPlugin_SketchEntity.h
     SketchPlugin_Split.h
     SketchPlugin_Tools.h
@@ -70,11 +77,14 @@ SET(PROJECT_HEADERS
 
 SET(PROJECT_SOURCES
     SketchPlugin_Arc.cpp
+    SketchPlugin_BSpline.cpp
+    SketchPlugin_BSplineBase.cpp
+    SketchPlugin_BSplinePeriodic.cpp
     SketchPlugin_Circle.cpp
     SketchPlugin_Constraint.cpp
     SketchPlugin_ConstraintAngle.cpp
-    SketchPlugin_ConstraintBase.cpp
     SketchPlugin_ConstraintCoincidence.cpp
+    SketchPlugin_ConstraintCoincidenceInternal.cpp
     SketchPlugin_ConstraintCollinear.cpp
     SketchPlugin_ConstraintDistance.cpp
     SketchPlugin_ConstraintDistanceAlongDir.cpp
@@ -93,19 +103,23 @@ SET(PROJECT_SOURCES
     SketchPlugin_ConstraintTangent.cpp
     SketchPlugin_ConstraintVertical.cpp
     SketchPlugin_Ellipse.cpp
+    SketchPlugin_EllipticArc.cpp
     SketchPlugin_ExternalValidator.cpp
     SketchPlugin_Feature.cpp
     SketchPlugin_IntersectionPoint.cpp
     SketchPlugin_Line.cpp
     SketchPlugin_MacroArc.cpp
+    SketchPlugin_MacroBSpline.cpp
     SketchPlugin_MacroCircle.cpp
     SketchPlugin_MacroEllipse.cpp
+    SketchPlugin_MacroEllipticArc.cpp
     SketchPlugin_MultiRotation.cpp
     SketchPlugin_MultiTranslation.cpp
     SketchPlugin_Plugin.cpp
     SketchPlugin_Point.cpp
     SketchPlugin_Projection.cpp
     SketchPlugin_Sketch.cpp
+    SketchPlugin_SketchDrawer.cpp
     SketchPlugin_SketchEntity.cpp
     SketchPlugin_Split.cpp
     SketchPlugin_Tools.cpp
@@ -119,22 +133,29 @@ SET(PROJECT_LIBRARIES
     GeomAlgoAPI
     ModelAPI
     ModelGeomAlgo
+    ModuleBase
     SketcherPrs
     GeomDataAPI
 )
 
 SET(XML_RESOURCES
   plugin-Sketch.xml
+  plugin-SketchDrawer.xml
 )
 
 SET(TEXT_RESOURCES
-       SketchPlugin_msg_en.ts
+    SketchPlugin_msg_en.ts
+    SketchPlugin_msg_fr.ts
 )
 
+# sources / moc wrappings
+QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_MOC_HEADERS})
+
+SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC})
 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
 
 ADD_DEFINITIONS(-DSKETCHPLUGIN_EXPORTS)
-ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
+ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES} ${PROJECT_AUTOMOC})
 TARGET_LINK_LIBRARIES(SketchPlugin ${PROJECT_LIBRARIES})
 
 INCLUDE_DIRECTORIES(
@@ -142,10 +163,12 @@ INCLUDE_DIRECTORIES(
   ../Events
   ../ModelAPI
   ../ModelGeomAlgo
+  ../ModuleBase
   ../GeomAPI
   ../GeomAlgoAPI
   ../GeomDataAPI
   ../SketcherPrs
+  ${OpenCASCADE_INCLUDE_DIR}
 )
 
 INSTALL(TARGETS SketchPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
@@ -153,89 +176,196 @@ INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Sketch)
 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 
-ADD_UNIT_TESTS(TestSketchPointLine.py
-               TestCreateArcByCenterStartEnd.py
-               TestCreateArcByThreePoints.py
-               TestCreateArcByTangentEdge.py
-               TestCreateArcChangeType.py
-               TestCreateCircleByCenterAndPassed.py
-               TestCreateCircleByThreePoints.py
-               TestCreateCircleChangeType.py
-               TestConstraintCoincidence.py
-               TestConstraintCollinear.py
-               TestConstraintLength.py
-               TestConstraintDistance.py
-               TestConstraintDistanceHorizontal.py
-               TestConstraintDistanceVertical.py
-               TestConstraintDistanceBehavior.py
-               TestConstraintParallel.py
-               TestConstraintPerpendicular.py
-               TestConstraintRadius.py
-               TestConstraintFixed.py
-               TestConstraintHorizontal.py
-               TestConstraintHorizontalValidator.py
-               TestConstraintVertical.py
-               TestConstraintEqual.py
-               TestConstraintTangent.py
-               TestConstraintAngle.py
-               TestConstraintMiddlePoint.py
-               TestEdgesOrder.py
-               TestMirror.py
-               TestMultiRotation.py
-               TestMultiTranslation.py
-               TestFillet.py
-               TestFilletInteracting.py
-               TestRectangle.py
-               TestProjection.py
-               TestProjectionIntoResult.py
-               TestSplit.py
-               TestHighload.py
-               TestSnowflake.py
-               TestArcBehavior.py
-               TestRemoveSketch.py
-               Test1061.py
-               Test1673.py
-               Test1924.py
-               Test1966.py
-               Test1967.py
-               Test2095.py
-               Test2115.py
-               TestTrimArc01.py
-               TestTrimArc02.py
-               TestTrimArc03.py
-               TestTrimArc04.py
-               TestTrimArc05.py
-               TestTrimArc06.py
-               TestTrimArc07.py
-               TestTrimCircle01.py
-               TestTrimCircle02.py
-               TestTrimCircle03.py
-               TestTrimCircle04.py
-               TestTrimCircle05.py
-               TestTrimCircleAndArc01.py
-               TestTrimLine01.py
-               TestTrimLine02.py
-               Test2229.py
-               Test2239.py
-               TestDistanceSignedVsUnsigned01.py
-               TestDistanceSignedVsUnsigned02.py
-               TestDistanceSignedVsUnsigned03.py
-               TestDistanceSignedVsUnsigned04.py
-               TestDistanceSignedVsUnsigned05.py
-               TestSignedDistancePointPoint.py
-               TestSignedDistancePointLine.py
-               Test2273.py
-               Test2280.py
-               Test2287.py
-               Test2341.py
+ADD_UNIT_TESTS(
+  Test1061.py
+  Test1577.py
+  Test1578.py
+  Test1673.py
+  Test1779.py
+  Test1924.py
+  Test1963.py
+  Test1966.py
+  Test1967.py
+  Test2034_1.py
+  Test2034_2.py
+  Test2034_3.py
+  Test2062.py
+  Test2095.py
+  Test2115.py
+  Test2119.py
+  Test2134.py
+  Test2157.py
+  Test2157_2.py
+  Test2224.py
+  Test2229.py
+  Test2239.py
+  Test2273.py
+  Test2280.py
+  Test2287.py
+  Test2341.py
+  Test2376.py
+  Test2390.py
+  Test2393.py
+  Test2425.py
+  Test2427.py
+  Test2440.py
+  Test2481.py
+  Test2654.py
+  Test2711.py
+  Test2741.py
+  Test2810.py
+  Test2824.py
+  Test2860.py
+  Test2894.py
+  Test3019.py
+  Test3087_1.py
+  Test3087_2.py
+  TestArcBehavior.py
+  TestChangeSketchPlane1.py
+  TestChangeSketchPlane2.py
+  TestChangeSketchPlane3.py
+  TestChangeSketchPlane4.py
+  TestConstraintAngle.py
+  TestConstraintAngle_v0_1.py
+  TestConstraintAngle_v0_2.py
+  TestConstraintAngle_v20191210_1.py
+  TestConstraintAngle_v20191210_2.py
+  TestConstraintAngleBehaviorDirect.py
+  TestConstraintAngleBehaviorSupplementary_1.py
+  TestConstraintAngleBehaviorSupplementary_2.py
+  TestConstraintAngleBehaviorBackward_1.py
+  TestConstraintAngleBehaviorBackward_2.py
+  TestConstraintAngleEllipse.py
+  TestConstraintCoincidence.py
+  TestConstraintCoincidenceBSpline.py
+  TestConstraintCoincidenceEllipse.py
+  TestConstraintCoincidenceEllipticArc.py
+  TestConstraintCollinear.py
+  TestConstraintCollinearEllipse.py
+  TestConstraintDistance.py
+  TestConstraintDistanceEllipse.py
+  TestConstraintDistanceBehavior.py
+  TestConstraintDistanceHorizontal.py
+  TestConstraintDistanceVertical.py
+  TestConstraintDistanceZero.py
+  TestConstraintDistanceHorizontalZero.py
+  TestConstraintDistanceVerticalZero.py
+  TestConstraintEqual.py
+  TestConstraintEqualEllipse.py
+  TestConstraintFixed.py
+  TestConstraintHorizontal.py
+  TestConstraintHorizontalValidator.py
+  TestConstraintLength.py
+  TestConstraintMiddlePoint.py
+  TestConstraintMiddlePointOnArc.py
+  TestConstraintMiddlePointOnEllipticArc.py
+  TestConstraintParallel.py
+  TestConstraintPerpendicular.py
+  TestConstraintPerpendicularArcLine.py
+  TestConstraintPerpendicularEllipseLine.py
+  TestConstraintRadius.py
+  TestConstraintRadiusFailure.py
+  TestConstraintTangent.py
+  TestConstraintTangentBSpline.py
+  TestConstraintTangentEllipse.py
+  TestConstraintTangentEllipticArc.py
+  TestConstraintVertical.py
+  TestCreateArcByCenterStartEnd.py
+  TestCreateArcByTangentEdge.py
+  TestCreateArcByThreePoints.py
+  TestCreateArcByTransversalLine.py
+  TestCreateArcChangeType.py
+  TestCreateBSpline.py
+  TestCreateBSplinePeriodic.py
+  TestCreateCircleByCenterAndPassed.py
+  TestCreateCircleByThreePoints.py
+  TestCreateCircleChangeType.py
+  TestCreateEllipseByCenterSemiaxisAndPassed.py
+  TestCreateEllipseByMajorAxisAndPassed.py
+  TestCreateEllipseByExternal.py
+  TestCreateEllipticArc.py
+  TestCreateEllipticArcByExternal.py
+  TestDegeneratedGeometry.py
+  TestDistanceDump.py
+  TestDistanceSignedVsUnsigned01.py
+  TestDistanceSignedVsUnsigned02.py
+  TestDistanceSignedVsUnsigned03.py
+  TestDistanceSignedVsUnsigned04.py
+  TestDistanceSignedVsUnsigned05.py
+  TestEdgesOrder.py
+  TestFillet.py
+  TestFilletAfterFolder.py
+  TestFilletInteracting.py
+  TestHighload.py
+  TestIntersectionChangeEdge.py
+  TestIntersectionWithCircle.py
+  TestIntersectionWithLine.py
+  TestIntersectionWithSpline.py
+  TestMirror.py
+  TestMultiRotation.py
+  TestMultiRotation01.py
+  TestMultiRotation02.py
+  TestMultiRotation03.py
+  TestMultiRotation04.py
+  TestMultiRotation05.py
+  TestMultiRotationWithParameter.py
+  TestMultiTranslation.py
+  TestPresentation.py
+  TestProjection.py
+  TestProjectionBSpline.py
+  TestProjectionBSplinePeriodic.py
+  TestProjectionEllipse.py
+  TestProjectionEllipticArc.py
+  TestProjectionIntoResult.py
+  TestProjectionUpdate.py
+  TestRectangle.py
+  TestRemainingDoF.py
+  TestRemoveBSpline.py
+  TestRemoveBSplinePeriodic.py
+  TestRemoveEllipse.py
+  TestRemoveEllipticArc.py
+  TestRemoveSketch.py
+  TestSignedDistancePointLine.py
+  TestSignedDistancePointPoint.py
+  TestSketchDrawer.py
+  TestSketchPointLine.py
+  TestSnowflake.py
+  TestSplit.py
+  TestSplitEllipse.py
+  TestSplitLine.py
+  TestSplitPreview.py
+  TestTrimArc01.py
+  TestTrimArc02.py
+  TestTrimArc03.py
+  TestTrimArc04.py
+  TestTrimArc05.py
+  TestTrimArc06.py
+  TestTrimArc07.py
+  TestTrimArc08.py
+  TestTrimCircle01.py
+  TestTrimCircle02.py
+  TestTrimCircle03.py
+  TestTrimCircle04.py
+  TestTrimCircle05.py
+  TestTrimCircleAndArc01.py
+  TestTrimEllipse.py
+  TestTrimLine01.py
+  TestTrimLine02.py
+  TestTrimLine03.py
+  TestTrimPreview.py
+  TestUpdateSketch.py
 )
 
 if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
   ADD_UNIT_TESTS(
-               TestMovePoint.py
-               TestMoveLine.py
-               TestMoveCircle.py
-               TestMoveArc.py
-               TestMovementComplex.py
+    TestMoveArc.py
+    TestMoveBSpline.py
+    TestMoveBSplinePeriodic.py
+    TestMoveCircle.py
+    TestMoveEllipse.py
+    TestMoveEllipticArc.py
+    TestMoveLine.py
+    TestMovementComplex.py
+    TestMovePoint.py
   )
-endif()
\ No newline at end of file
+endif()