Salome HOME
Fix for the issue #3033: ExtrusionCut error
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
1 # Copyright (C) 2014-2019  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 INCLUDE(Common)
21 INCLUDE(UnitTest)
22
23 SET(PROJECT_HEADERS
24     FeaturesPlugin.h
25     FeaturesPlugin_Plugin.h
26     FeaturesPlugin_Extrusion.h
27     FeaturesPlugin_Recover.h
28     FeaturesPlugin_Revolution.h
29     FeaturesPlugin_Rotation.h
30     FeaturesPlugin_Translation.h
31     FeaturesPlugin_VersionedBoolean.h
32     FeaturesPlugin_Boolean.h
33     FeaturesPlugin_BooleanCut.h
34     FeaturesPlugin_BooleanFuse.h
35     FeaturesPlugin_BooleanCommon.h
36     FeaturesPlugin_BooleanSmash.h
37     FeaturesPlugin_BooleanFill.h
38     FeaturesPlugin_Intersection.h
39     FeaturesPlugin_Partition.h
40     FeaturesPlugin_Pipe.h
41     FeaturesPlugin_Placement.h
42     FeaturesPlugin_CompositeBoolean.h
43     FeaturesPlugin_CompositeSketch.h
44     FeaturesPlugin_ExtrusionBoolean.h
45     FeaturesPlugin_ExtrusionCut.h
46     FeaturesPlugin_ExtrusionFuse.h
47     FeaturesPlugin_RevolutionBoolean.h
48     FeaturesPlugin_RevolutionCut.h
49     FeaturesPlugin_RevolutionFuse.h
50     FeaturesPlugin_Union.h
51     FeaturesPlugin_ValidatorTransform.h
52     FeaturesPlugin_Validators.h
53     FeaturesPlugin_RemoveSubShapes.h
54     FeaturesPlugin_Tools.h
55     FeaturesPlugin_Symmetry.h
56     FeaturesPlugin_Scale.h
57     FeaturesPlugin_MultiTranslation.h
58     FeaturesPlugin_MultiRotation.h
59     FeaturesPlugin_Fillet.h
60     FeaturesPlugin_Measurement.h
61     FeaturesPlugin_FusionFaces.h
62     FeaturesPlugin_RemoveResults.h
63     FeaturesPlugin_Chamfer.h
64 )
65
66 SET(PROJECT_SOURCES
67     FeaturesPlugin_Plugin.cpp
68     FeaturesPlugin_Extrusion.cpp
69     FeaturesPlugin_Recover.cpp
70     FeaturesPlugin_Revolution.cpp
71     FeaturesPlugin_Rotation.cpp
72     FeaturesPlugin_Translation.cpp
73     FeaturesPlugin_VersionedBoolean.cpp
74     FeaturesPlugin_Boolean.cpp
75     FeaturesPlugin_BooleanCut.cpp
76     FeaturesPlugin_BooleanFuse.cpp
77     FeaturesPlugin_BooleanCommon.cpp
78     FeaturesPlugin_BooleanSmash.cpp
79     FeaturesPlugin_BooleanFill.cpp
80     FeaturesPlugin_Intersection.cpp
81     FeaturesPlugin_Partition.cpp
82     FeaturesPlugin_Pipe.cpp
83     FeaturesPlugin_Placement.cpp
84     FeaturesPlugin_CompositeBoolean.cpp
85     FeaturesPlugin_CompositeSketch.cpp
86     FeaturesPlugin_ExtrusionBoolean.cpp
87     FeaturesPlugin_ExtrusionCut.cpp
88     FeaturesPlugin_ExtrusionFuse.cpp
89     FeaturesPlugin_RevolutionBoolean.cpp
90     FeaturesPlugin_RevolutionCut.cpp
91     FeaturesPlugin_RevolutionFuse.cpp
92     FeaturesPlugin_Union.cpp
93     FeaturesPlugin_ValidatorTransform.cpp
94     FeaturesPlugin_Validators.cpp
95     FeaturesPlugin_RemoveSubShapes.cpp
96     FeaturesPlugin_Tools.cpp
97     FeaturesPlugin_Symmetry.cpp
98     FeaturesPlugin_Scale.cpp
99     FeaturesPlugin_MultiTranslation.cpp
100     FeaturesPlugin_MultiRotation.cpp
101     FeaturesPlugin_Fillet.cpp
102     FeaturesPlugin_Measurement.cpp
103     FeaturesPlugin_FusionFaces.cpp
104     FeaturesPlugin_RemoveResults.cpp
105     FeaturesPlugin_Chamfer.cpp
106 )
107
108 SET(XML_RESOURCES
109   plugin-Features.xml
110   extrusion_widget.xml
111   extrusioncut_widget.xml
112   extrusionfuse_widget.xml
113   revolution_widget.xml
114   revolutioncut_widget.xml
115   revolutionfuse_widget.xml
116   rotation_widget.xml
117   translation_widget.xml
118   boolean_widget.xml
119   boolean_fuse_widget.xml
120   boolean_common_widget.xml
121   boolean_split_widget.xml
122   boolean_smash_widget.xml
123   recover_widget.xml
124   partition_widget.xml
125   placement_widget.xml
126   intersection_widget.xml
127   pipe_widget.xml
128   remove_subshapes_widget.xml
129   union_widget.xml
130   symmetry_widget.xml
131   scale_widget.xml
132   multitranslation_widget.xml
133   multirotation_widget.xml
134   fillet_widget.xml
135   measurement_widget.xml
136   fusion_faces_widget.xml
137   chamfer_widget.xml
138 )
139
140 SET(TEXT_RESOURCES
141     FeaturesPlugin_msg_en.ts
142     FeaturesPlugin_msg_ru.ts
143 )
144
145 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
146
147
148 INCLUDE_DIRECTORIES(
149   ../ModelAPI
150   ../GeomAPI
151   ../GeomAlgoAPI
152   ../GeomValidators
153   ../Events
154   ../Config
155   ${OpenCASCADE_INCLUDE_DIR}
156 )
157
158 SET(PROJECT_LIBRARIES
159     Events
160     ModelAPI
161     GeomAPI
162     GeomAlgoAPI
163     GeomValidators
164     Config
165     ${OpenCASCADE_Visualization_LIBRARIES}
166 )
167
168 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
169 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
170 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
171
172 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
173 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
174 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
175 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
176
177 ADD_UNIT_TESTS(TestExtrusion.py
178                TestExtrusionOfCompound.py
179                TestExtrusionCut.py
180                TestExtrusionCut_BySize.py
181                TestExtrusionCut_ByPlanesAndOffsets.py
182                TestExtrusionCut_ByFaces.py
183                TestExtrusionFuse.py
184                TestExtrusionFuse_BySize.py
185                TestExtrusionFuse_ByPlanesAndOffsets.py
186                TestExtrusion_ErrorMsg.py
187                TestExtrusion_ZeroOffsetError.py
188                TestExtrusion_ByFaces01.py
189                TestExtrusion_ByFaces02.py
190                TestExtrusion_ByFaces03.py
191                TestExtrusion_ByFaces04.py
192                TestExtrusion_ByFaces05.py
193                TestExtrusion_ByFaces06.py
194                TestExtrusion_ByFaces07.py
195                TestExtrusion_ByFaces08.py
196                TestExtrusion_ByFaces09.py
197                TestExtrusion_ByFaces10.py
198                TestExtrusion_ByFaces11.py
199                TestExtrusion_ByFaces12.py
200                TestExtrusion_ByFaces13.py
201                TestExtrusion_ByFaces14.py
202                TestExtrusion_ByFaces15.py
203                TestExtrusion_ByFaces16.py
204                TestExtrusion_ByFaces17.py
205                TestExtrusion_ByFaces18.py
206                TestExtrusion_ByFaces19.py
207                TestRevolution.py
208                TestRevolution_ByAngle.py
209                TestRevolutionOfPoint.py
210                TestRevolutionOfEdge.py
211                TestRevolutionOfCompound.py
212                TestRevolutionCut.py
213                TestRevolutionCut_ByAngle.py
214                TestRevolutionCut_ByPlanesAndOffsets.py
215                TestRevolutionFuse.py
216                TestRevolutionFuse_ByAngle.py
217                TestRevolutionFuse_ByPlanesAndOffsets.py
218                TestCompositeFeaturesOnCompSolids.py
219                TestPartition.py
220                TestPartition_ErrorMsg.py
221                TestPlacement_Vertex_Vertex.py
222                TestPlacement_Edge_Vertex.py
223                TestPlacement_Edge_Edge.py
224                TestPlacement_Face_Vertex.py
225                TestPlacement_Face_Edge.py
226                TestPlacement_Face_Face.py
227                TestPlacement_Part_Part.py
228                TestPlacement_Complex.py
229                TestPlacement_ErrorMsg.py
230                TestPlacement_BodyShapesValidator.py
231                TestTranslation.py
232                TestTranslation_Part.py
233                TestRotation.py
234                TestRotation_ByAxis.py
235                TestRotation_ByPoints.py
236                TestRotation_ErrorMsg.py
237                TestMultiRotation_Part.py
238                TestMultiRotation_ErrorMsg.py
239                TestMultiTranslation_Part.py
240                TestMultiTranslation_ErrorMsg.py
241                TestSymmetry_Part.py
242                TestBoolean1.py
243                TestBoolean2.py
244                TestBoolean3.py
245                TestBooleanCompSolids.py
246                TestBooleanSmash.py
247                TestBooleanSplit.py
248                TestBooleanSplitWithPlane.py
249                TestBooleanSplit_ErrorMsg.py
250                TestMultiBoolean.py
251                TestSerialBoolean.py
252                TestBoolean_ErrorMsg.py
253                TestIntersection.py
254                TestIntersection_ErrorMsg.py
255                TestUnion.py
256                TestUnionFaces.py
257                TestUnion_ErrorMsg.py
258                TestRemoveSubShapes.py
259                TestRemoveSubShapes2.py
260                TestRemoveSubShapes3.py
261                TestRemoveSubShapes4.py
262                TestRemoveSubShapes5.py
263                TestRemoveSubShapes6.py
264                TestPipe.py
265                TestPipe_Edge.py
266                TestPipe_Wire.py
267                TestPipe_Compound.py
268                TestPipe_ErrorMsg.py
269                TestRecover.py
270                TestRecover_Compound.py
271                TestRecover_Compsolid1.py
272                TestRecover_Compsolid2.py
273                TestRecover1798.py
274                TestSplitEdgeVertex.py
275                TestSplitEdgeEdge.py
276                TestSplitEdgeEdgeIntersected.py
277                TestSplitEdgeWire.py
278                TestSplitEdgeFace.py
279                TestSplitEdgeShell.py
280                TestSplitEdgeSolid.py
281                TestSplitEdgeSolidIntersected.py
282                TestSplitWireVertex.py
283                TestSplitWireEdge.py
284                TestSplitWireWire.py
285                TestSplitWireFace.py
286                TestSplitWireShell.py
287                TestSplitWireSolid.py
288                TestSplitFaceVertex.py
289                TestSplitFaceEdge.py
290                TestSplitFaceEdgeInside.py
291                TestSplitFaceEdgePerpendicular.py
292                TestSplitFaceWire.py
293                TestSplitFaceFace.py
294                TestSplitFaceShell.py
295                TestSplitFaceSolid.py
296                TestSplitCompFaceSolid.py
297                TestSplitShellVertex.py
298                TestSplitShellEdge.py
299                TestSplitShellConstrPlane.py
300                TestSplitShellWire.py
301                TestSplitShellFace.py
302                TestSplitShellShell.py
303                TestSplitShellSolid.py
304                TestSplitSolid2ConstructionPlanes.py
305                TestSplitSolidEdge.py
306                TestSplitSolidFace.py
307                TestSplitSolidCompFace.py
308                TestSplitSolidShell.py
309                TestSplitSolidCompShell.py
310                TestSplitCompsolidPlane.py
311                TestPartition2Faces.py
312                TestPartition2Solids.py
313                TestPartition2Wires.py
314                TestPartitionBox4Planes.py
315                TestPartitionEdgeSolid.py
316                TestPartitionFace2Solid.py
317                TestPartitionFaceSolid.py
318                TestPartitionFaceWire.py
319                TestPartitionInclinedFaceSolid.py
320                TestPartitionWireFaceSolid.py
321                TestUnion4CurvedFaces.py
322                TestUnion4CurvedFaces_2.py
323                TestUnion4Faces.py
324                TestUnionOfUnion.py
325                TestMeasurementLength.py
326                TestMeasurementDistance.py
327                TestMeasurementRadius.py
328                TestMeasurementAngle.py
329                TestMeasurementAngle3Points.py
330                TestMeasurementPresentation.py
331                TestFusionFaces.py
332                TestFusionFaces2697.py 
333                Test1379.py
334                Test1922.py
335                Test1942.py
336                Test1915.py
337                Test2023.py
338                Test2046.py
339                Test2038.py
340                Test2172.py
341                Test2194.py
342                Test2197_1.py
343                Test2197_2.py
344                Test2197_3.py
345                Test2197_4.py
346                Test2215.py
347                Test2222.py
348                Test2233.py
349                Test2231.py
350                Test2240.py
351                Test2246.py
352                Test2248.py
353                Test2251.py
354                Test2255.py
355                Test2289.py
356                Test2304.py
357                Test2304_2.py
358                Test2375.py
359                Test2377.py
360                Test2394.py
361                Test2395.py
362                Test2419_1.py
363                Test2419_2.py
364                Test2419_3.py
365                Test2465.py
366                Test2495.py
367                Test2514.py
368                Test2520.py
369                TestBooleanCut_CompSolid_CompSolid.py
370                TestBooleanCut_CompSolidCompound_CompSolidCompound.py
371                TestBooleanCut_Edge_Edge.py
372                TestBooleanCut_Edge_Face.py
373                TestBooleanCut_EdgeCompound_EdgeCompound.py
374                TestBooleanCut_EdgeCompound_Solid.py
375                TestBooleanCut_Face_Face.py
376                TestBooleanCut_Face_Solid.py
377                TestBooleanCut_FaceCompound_FaceCompound.py
378                TestBooleanCut_Shell_Shell.py
379                TestBooleanCut_ShellCompound_ShellCompound.py
380                TestBooleanCut_Solid_Solid.py
381                TestBooleanCut_SolidCompound_SolidCompound.py
382                TestBooleanCut_Vertex_Vertex.py
383                TestBooleanCut_VertexCompound_Solid.py
384                TestBooleanCut_VertexCompound_VertexCompound.py
385                TestBooleanCut_Wire_Face.py
386                TestBooleanCut_Wire_Wire.py
387                TestBooleanCut_WireCompound_WireCompound.py
388                TestBooleanCut_Compound_Solid.py
389                TestBooleanCut_ErrorMsg.py
390                TestBooleanCut_SolidsHistory.py
391                TestBooleanSmash_Face_Face.py
392                TestBooleanSmash_SubSolid_Solid.py
393                TestBooleanSmash_CompSolid_Solid.py
394                TestBooleanSmash_ErrorMsg.py
395                TestBooleanSmash_SolidsHistory.py
396                TestBooleanFuse_SimpleMode.py
397                TestBooleanFuse_RemoveEdges.py
398                TestBooleanFuse_ErrorMsg.py
399                TestBooleanCommon_Vertex_Vertex.py
400                TestBooleanCommon_VertexCompound_VertexCompound.py
401                TestBooleanCommon_Edge_Edge.py
402                TestBooleanCommon_EdgeCompound_EdgeCompound.py
403                TestBooleanCommon_Wire_Wire.py
404                TestBooleanCommon_WireCompound_WireCompound.py
405                TestBooleanCommon_Face_Face.py
406                TestBooleanCommon_Face_Plane.py
407                TestBooleanCommon_FaceCompound_FaceCompound.py
408                TestBooleanCommon_Shell_Shell.py
409                TestBooleanCommon_ShellCompound_ShellCompound.py
410                TestBooleanCommon_Solid_Face.py
411                TestBooleanCommon_Solid_Shell.py
412                TestBooleanCommon_Solid_Solid.py
413                TestBooleanCommon_SolidCompound_Face.py
414                TestBooleanCommon_SolidCompound_Shell.py
415                TestBooleanCommon_SolidCompound_SolidCompound.py
416                TestBooleanCommon_SubCompound_Solid.py
417                TestBooleanCommon_SubSolid_Solid.py
418                TestBooleanCommon_CompSolid_Face.py
419                TestBooleanCommon_CompSolid_Shell.py
420                TestBooleanCommon_CompSolid_CompSolid.py
421                TestBooleanCommon_CompSolidCompound_Face.py
422                TestBooleanCommon_CompSolidCompound_Shell.py
423                TestBooleanCommon_CompSolidCompound_CompSolidCompound.py
424                TestBooleanCommon_ErrorMsg.py
425                TestBooleanCommon_SolidsHistory.py
426                Test2596.py
427                Test2592.py
428                Test2588.py
429                Test1467.py
430                TestPartitionSubCompsolidWithCompSolid1.py
431                TestPartitionSubCompsolidWithCompSolid2.py
432                TestPartitionSubCompsolidWithCompSolid3.py
433                TestPartitionSubCompsolidWithSolid1.py
434                TestPartitionSubCompsolidWithSolid2.py
435                TestPartitionSubCompsolidWithSolid3.py
436                TestPartitionSubCompsolidWithSolid4.py
437                TestPartitionSubCompsolidWithSolid5.py
438                TestPartitionSubCompsolidWithFace1.py
439                TestPartitionSubCompsolidWithFace2.py
440                TestPartitionSubCompsolidWithFace3.py
441                TestPartitionSubCompsolidWithFace4.py
442                TestPartitionSubCompsolidWithFace5.py
443                TestPartitionSubCompsolidWithPlane1.py
444                TestPartitionSubCompsolidWithPlane2.py
445                TestPartitionSubCompsolidWithPlane3.py
446                TestPartitionSubCompsolidWithPlane4.py
447                TestPartitionSubCompsolidWithPlane5.py
448                TestPartitionArgsUpdate.py
449                TestPartition_SolidsHistory.py
450                TestBooleanFuse_Vertex_Vertex.py
451                TestBooleanFuse_VertexCompound_VertexCompound.py
452                TestBooleanFuse_Edge_Edge.py
453                TestBooleanFuse_EdgeCompound_EdgeCompound.py
454                TestBooleanFuse_Wire_Wire.py
455                TestBooleanFuse_WireCompound_WireCompound.py
456                TestBooleanFuse_Face_Face.py
457                TestBooleanFuse_FaceCompound_FaceCompound.py
458                TestBooleanFuse_Shell_Shell.py
459                TestBooleanFuse_ShellCompound_ShellCompound.py
460                TestBooleanFuse_Solid_Solid.py
461                TestBooleanFuse_SolidCompound_SolidCompound.py
462                TestBooleanFuse_CompSolid_Face.py
463                TestBooleanFuse_CompSolid_CompSolid.py
464                TestBooleanFuse_CompSolidCompound_CompSolidCompound.py
465                TestBooleanFuse_SolidsHistory.py
466                TestFillet.py
467                TestFillet1.py
468                TestFillet_ErrorMsg.py
469                TestFillet_History.py
470                TestScale1.py
471                TestScale2.py
472                Test1816.py
473                Test1876.py
474                Test2225.py
475                Test2631.py
476                Test2636.py
477                Test2650.py
478                Test2681.py
479                Test2686.py
480                Test2689.py
481                Test2693.py
482                Test2698.py
483                Test2701.py
484                Test2724.py
485                Test2692.py
486                Test2617.py
487                Test2729.py
488                Test2738.py
489                Test2751.py
490                Test2826.py
491                Test2854.py
492                Test2878.py
493                Test2971.py
494                Test3014.py
495                TestBooleanCommon_MultiLevelCompound_v0_1.py
496                TestBooleanCommon_MultiLevelCompound_v0_2.py
497                TestBooleanCommon_MultiLevelCompound_v20190506_1.py
498                TestBooleanCommon_MultiLevelCompound_v20190506_2.py
499                TestBooleanCut_MultiLevelCompound_v0_1.py
500                TestBooleanCut_MultiLevelCompound_v0_2.py
501                TestBooleanCut_MultiLevelCompound_v20190506_1.py
502                TestBooleanCut_MultiLevelCompound_v20190506_2.py
503                TestBooleanFuse_MultiLevelCompound_v0_1.py
504                TestBooleanFuse_MultiLevelCompound_v0_2.py
505                TestBooleanFuse_MultiLevelCompound_v0_3.py
506                TestBooleanFuse_MultiLevelCompound_v0_4.py
507                TestBooleanFuse_MultiLevelCompound_v20190506_1.py
508                TestBooleanFuse_MultiLevelCompound_v20190506_2.py
509                TestBooleanFuse_MultiLevelCompound_v20190506_3.py
510                TestBooleanFuse_MultiLevelCompound_v20190506_4.py
511                TestBooleanSmash_MultiLevelCompound_v0_1.py
512                TestBooleanSmash_MultiLevelCompound_v0_2.py
513                TestBooleanSmash_MultiLevelCompound_v20190506_1.py
514                TestBooleanSmash_MultiLevelCompound_v20190506_2.py
515                TestBooleanSplit_MultiLevelCompound_v0_1.py
516                TestBooleanSplit_MultiLevelCompound_v0_2.py
517                TestBooleanSplit_MultiLevelCompound_v20190506_1.py
518                TestBooleanSplit_MultiLevelCompound_v20190506_2.py
519                TestPartition_MultiLevelCompound_v0_1.py
520                TestPartition_MultiLevelCompound_v0_2.py
521                TestPartition_MultiLevelCompound_v0_3.py
522                TestPartition_MultiLevelCompound_v20190506_1.py
523                TestPartition_MultiLevelCompound_v20190506_2.py
524                TestPartition_MultiLevelCompound_v20190506_3.py
525                TestUnion_MultiLevelCompound_v0.py
526                TestUnion_MultiLevelCompound_v20190506.py
527                TestUnionFaces_v20190506.py
528                TestRemoveResultsBody.py
529                TestRemoveResultsConstruction.py
530                TestRemoveResultsPart.py
531                Test17000.py
532                Test17261.py
533                Test17281.py
534                TestChamfer.py
535                Test3033.py
536 )