Salome HOME
Extrusion: fix error with offset plane. Make Extrusion CUT and FUSE be able to be...
[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                TestExtrusionCut_ByFaces.py
180                TestExtrusionFuse.py
181                TestExtrusionFuse_BySize.py
182                TestExtrusionFuse_ByPlanesAndOffsets.py
183                TestExtrusion_ErrorMsg.py
184                TestExtrusion_ZeroOffsetError.py
185                TestExtrusion_ByFaces01.py
186                TestExtrusion_ByFaces02.py
187                TestExtrusion_ByFaces03.py
188                TestExtrusion_ByFaces04.py
189                TestExtrusion_ByFaces05.py
190                TestExtrusion_ByFaces06.py
191                TestExtrusion_ByFaces07.py
192                TestExtrusion_ByFaces08.py
193                TestExtrusion_ByFaces09.py
194                TestExtrusion_ByFaces10.py
195                TestExtrusion_ByFaces11.py
196                TestExtrusion_ByFaces12.py
197                TestExtrusion_ByFaces13.py
198                TestExtrusion_ByFaces14.py
199                TestExtrusion_ByFaces15.py
200                TestExtrusion_ByFaces16.py
201                TestExtrusion_ByFaces17.py
202                TestExtrusion_ByFaces18.py
203                TestExtrusion_ByFaces19.py
204                TestRevolution.py
205                TestRevolution_ByAngle.py
206                TestRevolutionOfPoint.py
207                TestRevolutionOfEdge.py
208                TestRevolutionOfCompound.py
209                TestRevolutionCut.py
210                TestRevolutionCut_ByAngle.py
211                TestRevolutionCut_ByPlanesAndOffsets.py
212                TestRevolutionFuse.py
213                TestRevolutionFuse_ByAngle.py
214                TestRevolutionFuse_ByPlanesAndOffsets.py
215                TestCompositeFeaturesOnCompSolids.py
216                TestPartition.py
217                TestPartition_ErrorMsg.py
218                TestPlacement_Vertex_Vertex.py
219                TestPlacement_Edge_Vertex.py
220                TestPlacement_Edge_Edge.py
221                TestPlacement_Face_Vertex.py
222                TestPlacement_Face_Edge.py
223                TestPlacement_Face_Face.py
224                TestPlacement_Part_Part.py
225                TestPlacement_Complex.py
226                TestPlacement_ErrorMsg.py
227                TestPlacement_BodyShapesValidator.py
228                TestTranslation.py
229                TestTranslation_Part.py
230                TestRotation.py
231                TestRotation_ByAxis.py
232                TestRotation_ByPoints.py
233                TestRotation_ErrorMsg.py
234                TestMultiRotation_Part.py
235                TestMultiRotation_ErrorMsg.py
236                TestMultiTranslation_Part.py
237                TestMultiTranslation_ErrorMsg.py
238                TestSymmetry_Part.py
239                TestBoolean1.py
240                TestBoolean2.py
241                TestBoolean3.py
242                TestBooleanCompSolids.py
243                TestBooleanSmash.py
244                TestBooleanSplit.py
245                TestBooleanSplitWithPlane.py
246                TestBooleanSplit_ErrorMsg.py
247                TestMultiBoolean.py
248                TestSerialBoolean.py
249                TestBoolean_ErrorMsg.py
250                TestIntersection.py
251                TestIntersection_ErrorMsg.py
252                TestUnion.py
253                TestUnionFaces.py
254                TestUnion_ErrorMsg.py
255                TestRemoveSubShapes.py
256                TestRemoveSubShapes2.py
257                TestRemoveSubShapes3.py
258                TestRemoveSubShapes4.py
259                TestRemoveSubShapes5.py
260                TestRemoveSubShapes6.py
261                TestPipe.py
262                TestPipe_Edge.py
263                TestPipe_Wire.py
264                TestPipe_Compound.py
265                TestPipe_ErrorMsg.py
266                TestRecover.py
267                TestRecover_Compound.py
268                TestRecover_Compsolid1.py
269                TestRecover_Compsolid2.py
270                TestRecover1798.py
271                TestSplitEdgeVertex.py
272                TestSplitEdgeEdge.py
273                TestSplitEdgeEdgeIntersected.py
274                TestSplitEdgeWire.py
275                TestSplitEdgeFace.py
276                TestSplitEdgeShell.py
277                TestSplitEdgeSolid.py
278                TestSplitEdgeSolidIntersected.py
279                TestSplitWireVertex.py
280                TestSplitWireEdge.py
281                TestSplitWireWire.py
282                TestSplitWireFace.py
283                TestSplitWireShell.py
284                TestSplitWireSolid.py
285                TestSplitFaceVertex.py
286                TestSplitFaceEdge.py
287                TestSplitFaceEdgeInside.py
288                TestSplitFaceEdgePerpendicular.py
289                TestSplitFaceWire.py
290                TestSplitFaceFace.py
291                TestSplitFaceShell.py
292                TestSplitFaceSolid.py
293                TestSplitCompFaceSolid.py
294                TestSplitShellVertex.py
295                TestSplitShellEdge.py
296                TestSplitShellConstrPlane.py
297                TestSplitShellWire.py
298                TestSplitShellFace.py
299                TestSplitShellShell.py
300                TestSplitShellSolid.py
301                TestSplitSolid2ConstructionPlanes.py
302                TestSplitSolidEdge.py
303                TestSplitSolidFace.py
304                TestSplitSolidCompFace.py
305                TestSplitSolidShell.py
306                TestSplitSolidCompShell.py
307                TestSplitCompsolidPlane.py
308                TestPartition2Faces.py
309                TestPartition2Solids.py
310                TestPartition2Wires.py
311                TestPartitionBox4Planes.py
312                TestPartitionEdgeSolid.py
313                TestPartitionFace2Solid.py
314                TestPartitionFaceSolid.py
315                TestPartitionFaceWire.py
316                TestPartitionInclinedFaceSolid.py
317                TestPartitionWireFaceSolid.py
318                TestUnion4CurvedFaces.py
319                TestUnion4CurvedFaces_2.py
320                TestUnion4Faces.py
321                TestUnionOfUnion.py
322                TestMeasurementLength.py
323                TestMeasurementDistance.py
324                TestMeasurementRadius.py
325                TestMeasurementAngle.py
326                TestMeasurementAngle3Points.py
327                TestMeasurementPresentation.py
328                TestFusionFaces.py
329                TestFusionFaces2697.py 
330                Test1379.py
331                Test1922.py
332                Test1942.py
333                Test1915.py
334                Test2023.py
335                Test2046.py
336                Test2038.py
337                Test2172.py
338                Test2194.py
339                Test2197_1.py
340                Test2197_2.py
341                Test2197_3.py
342                Test2197_4.py
343                Test2215.py
344                Test2222.py
345                Test2233.py
346                Test2231.py
347                Test2240.py
348                Test2246.py
349                Test2248.py
350                Test2251.py
351                Test2255.py
352                Test2289.py
353                Test2304.py
354                Test2304_2.py
355                Test2375.py
356                Test2377.py
357                Test2394.py
358                Test2395.py
359                Test2419_1.py
360                Test2419_2.py
361                Test2419_3.py
362                Test2465.py
363                Test2495.py
364                Test2514.py
365                Test2520.py
366                TestBooleanCut_CompSolid_CompSolid.py
367                TestBooleanCut_CompSolidCompound_CompSolidCompound.py
368                TestBooleanCut_Edge_Edge.py
369                TestBooleanCut_Edge_Face.py
370                TestBooleanCut_EdgeCompound_EdgeCompound.py
371                TestBooleanCut_EdgeCompound_Solid.py
372                TestBooleanCut_Face_Face.py
373                TestBooleanCut_Face_Solid.py
374                TestBooleanCut_FaceCompound_FaceCompound.py
375                TestBooleanCut_Shell_Shell.py
376                TestBooleanCut_ShellCompound_ShellCompound.py
377                TestBooleanCut_Solid_Solid.py
378                TestBooleanCut_SolidCompound_SolidCompound.py
379                TestBooleanCut_Vertex_Vertex.py
380                TestBooleanCut_VertexCompound_Solid.py
381                TestBooleanCut_VertexCompound_VertexCompound.py
382                TestBooleanCut_Wire_Face.py
383                TestBooleanCut_Wire_Wire.py
384                TestBooleanCut_WireCompound_WireCompound.py
385                TestBooleanCut_Compound_Solid.py
386                TestBooleanCut_ErrorMsg.py
387                TestBooleanCut_SolidsHistory.py
388                TestBooleanSmash_Face_Face.py
389                TestBooleanSmash_SubSolid_Solid.py
390                TestBooleanSmash_CompSolid_Solid.py
391                TestBooleanSmash_ErrorMsg.py
392                TestBooleanSmash_SolidsHistory.py
393                TestBooleanFuse_SimpleMode.py
394                TestBooleanFuse_RemoveEdges.py
395                TestBooleanFuse_ErrorMsg.py
396                TestBooleanCommon_Vertex_Vertex.py
397                TestBooleanCommon_VertexCompound_VertexCompound.py
398                TestBooleanCommon_Edge_Edge.py
399                TestBooleanCommon_EdgeCompound_EdgeCompound.py
400                TestBooleanCommon_Wire_Wire.py
401                TestBooleanCommon_WireCompound_WireCompound.py
402                TestBooleanCommon_Face_Face.py
403                TestBooleanCommon_Face_Plane.py
404                TestBooleanCommon_FaceCompound_FaceCompound.py
405                TestBooleanCommon_Shell_Shell.py
406                TestBooleanCommon_ShellCompound_ShellCompound.py
407                TestBooleanCommon_Solid_Face.py
408                TestBooleanCommon_Solid_Shell.py
409                TestBooleanCommon_Solid_Solid.py
410                TestBooleanCommon_SolidCompound_Face.py
411                TestBooleanCommon_SolidCompound_Shell.py
412                TestBooleanCommon_SolidCompound_SolidCompound.py
413                TestBooleanCommon_SubCompound_Solid.py
414                TestBooleanCommon_SubSolid_Solid.py
415                TestBooleanCommon_CompSolid_Face.py
416                TestBooleanCommon_CompSolid_Shell.py
417                TestBooleanCommon_CompSolid_CompSolid.py
418                TestBooleanCommon_CompSolidCompound_Face.py
419                TestBooleanCommon_CompSolidCompound_Shell.py
420                TestBooleanCommon_CompSolidCompound_CompSolidCompound.py
421                TestBooleanCommon_ErrorMsg.py
422                TestBooleanCommon_SolidsHistory.py
423                Test2596.py
424                Test2592.py
425                Test2588.py
426                Test1467.py
427                TestPartitionSubCompsolidWithCompSolid1.py
428                TestPartitionSubCompsolidWithCompSolid2.py
429                TestPartitionSubCompsolidWithCompSolid3.py
430                TestPartitionSubCompsolidWithSolid1.py
431                TestPartitionSubCompsolidWithSolid2.py
432                TestPartitionSubCompsolidWithSolid3.py
433                TestPartitionSubCompsolidWithSolid4.py
434                TestPartitionSubCompsolidWithSolid5.py
435                TestPartitionSubCompsolidWithFace1.py
436                TestPartitionSubCompsolidWithFace2.py
437                TestPartitionSubCompsolidWithFace3.py
438                TestPartitionSubCompsolidWithFace4.py
439                TestPartitionSubCompsolidWithFace5.py
440                TestPartitionSubCompsolidWithPlane1.py
441                TestPartitionSubCompsolidWithPlane2.py
442                TestPartitionSubCompsolidWithPlane3.py
443                TestPartitionSubCompsolidWithPlane4.py
444                TestPartitionSubCompsolidWithPlane5.py
445                TestPartitionArgsUpdate.py
446                TestPartition_SolidsHistory.py
447                TestBooleanFuse_Vertex_Vertex.py
448                TestBooleanFuse_VertexCompound_VertexCompound.py
449                TestBooleanFuse_Edge_Edge.py
450                TestBooleanFuse_EdgeCompound_EdgeCompound.py
451                TestBooleanFuse_Wire_Wire.py
452                TestBooleanFuse_WireCompound_WireCompound.py
453                TestBooleanFuse_Face_Face.py
454                TestBooleanFuse_FaceCompound_FaceCompound.py
455                TestBooleanFuse_Shell_Shell.py
456                TestBooleanFuse_ShellCompound_ShellCompound.py
457                TestBooleanFuse_Solid_Solid.py
458                TestBooleanFuse_SolidCompound_SolidCompound.py
459                TestBooleanFuse_CompSolid_Face.py
460                TestBooleanFuse_CompSolid_CompSolid.py
461                TestBooleanFuse_CompSolidCompound_CompSolidCompound.py
462                TestBooleanFuse_SolidsHistory.py
463                TestFillet.py
464                TestFillet1.py
465                TestFillet_ErrorMsg.py
466                TestFillet_History.py
467                TestScale1.py
468                TestScale2.py
469                Test1816.py
470                Test1876.py
471                Test2225.py
472                Test2631.py
473                Test2636.py
474                Test2650.py
475                Test2681.py
476                Test2686.py
477                Test2689.py
478                Test2693.py
479                Test2698.py
480                Test2701.py
481                Test2724.py
482                Test2692.py
483                Test2617.py
484                Test2729.py
485                Test2738.py
486                Test2751.py
487                Test2826.py
488                Test2854.py
489                Test2878.py
490                Test2971.py
491                TestBooleanCommon_MultiLevelCompound_v0_1.py
492                TestBooleanCommon_MultiLevelCompound_v0_2.py
493                TestBooleanCommon_MultiLevelCompound_v20190506_1.py
494                TestBooleanCommon_MultiLevelCompound_v20190506_2.py
495                TestBooleanCut_MultiLevelCompound_v0_1.py
496                TestBooleanCut_MultiLevelCompound_v0_2.py
497                TestBooleanCut_MultiLevelCompound_v20190506_1.py
498                TestBooleanCut_MultiLevelCompound_v20190506_2.py
499                TestBooleanFuse_MultiLevelCompound_v0_1.py
500                TestBooleanFuse_MultiLevelCompound_v0_2.py
501                TestBooleanFuse_MultiLevelCompound_v0_3.py
502                TestBooleanFuse_MultiLevelCompound_v0_4.py
503                TestBooleanFuse_MultiLevelCompound_v20190506_1.py
504                TestBooleanFuse_MultiLevelCompound_v20190506_2.py
505                TestBooleanFuse_MultiLevelCompound_v20190506_3.py
506                TestBooleanFuse_MultiLevelCompound_v20190506_4.py
507                TestBooleanSmash_MultiLevelCompound_v0_1.py
508                TestBooleanSmash_MultiLevelCompound_v0_2.py
509                TestBooleanSmash_MultiLevelCompound_v20190506_1.py
510                TestBooleanSmash_MultiLevelCompound_v20190506_2.py
511                TestBooleanSplit_MultiLevelCompound_v0_1.py
512                TestBooleanSplit_MultiLevelCompound_v0_2.py
513                TestBooleanSplit_MultiLevelCompound_v20190506_1.py
514                TestBooleanSplit_MultiLevelCompound_v20190506_2.py
515                TestPartition_MultiLevelCompound_v0_1.py
516                TestPartition_MultiLevelCompound_v0_2.py
517                TestPartition_MultiLevelCompound_v0_3.py
518                TestPartition_MultiLevelCompound_v20190506_1.py
519                TestPartition_MultiLevelCompound_v20190506_2.py
520                TestPartition_MultiLevelCompound_v20190506_3.py
521                TestUnion_MultiLevelCompound_v0.py
522                TestUnion_MultiLevelCompound_v20190506.py
523                TestUnionFaces_v20190506.py
524                TestRemoveResultsBody.py
525                TestRemoveResultsConstruction.py
526                TestRemoveResultsPart.py
527                Test17000.py
528                Test17261.py
529                Test17281.py
530 )