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