Salome HOME
updated copyright message
[modules/shaper.git] / src / FeaturesPlugin / Test / TestSerialBoolean.py
index c7361d2741bbdec4b397e1e07dc9108640cdf5e2..f29c1cfdc10f6259a82211dd4273aa00d4a7da93 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-2023  CEA, EDF
+#
+# 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
+#
 
 """
       TestExtrusion.py
@@ -67,8 +66,8 @@ radius = 95. / N / 2.
 
 aSession.startOperation()
 aSketchFeatures = []
-for i in xrange(0, N):
-    for j in xrange(0, N):
+for i in range(0, N):
+    for j in range(0, N):
         # Create circle
         aSketchFeature = featureToCompositeFeature(aPart.addFeature("Sketch"))
         origin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
@@ -95,31 +94,18 @@ aSession.finishOperation()
 aSession.startOperation()
 
 anExtrusions = []
-for i in xrange(0, N * N):
-    aSketchResult = aSketchFeatures[i].firstResult()
-    aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape()
-    origin = geomDataAPI_Point(aSketchFeatures[i].attribute("Origin")).pnt()
-    dirX = geomDataAPI_Dir(aSketchFeatures[i].attribute("DirX")).dir()
-    norm = geomDataAPI_Dir(aSketchFeatures[i].attribute("Norm")).dir()
-    aSketchFaces = ShapeList()
-    GeomAlgoAPI_SketchBuilder.createFaces(
-        origin, dirX, norm, aSketchEdges, aSketchFaces)
-
+for i in range(0, N * N):
+    aSketchResult = modelAPI_ResultConstruction(aSketchFeatures[i].firstResult())
     anExtrusionFt = aPart.addFeature("Extrusion")
     assert (anExtrusionFt.getKind() == "Extrusion")
 
     anExtrusionFt.selectionList("base").append(
-        aSketchResult, aSketchFaces[0])
+        aSketchResult, aSketchResult.face(0))
     anExtrusionFt.string("CreationMethod").setValue("BySizes")
     anExtrusionFt.real("from_size").setValue(0)
     anExtrusionFt.real("to_size").setValue(10)
     anExtrusionFt.real("to_offset").setValue(0) #TODO: remove
-    anExtrusionFt.real("from_offset").setValue(0) #TODO: remove        
-    # v1.0.2 from master
-    # anExtrusionFt.selection("extrusion_face").setValue(
-    #    aSketchResult, aSketchFaces[0])
-    # anExtrusionFt.real("extrusion_size").setValue(10)
-    # anExtrusionFt.boolean("extrusion_reverse").setValue(False)
+    anExtrusionFt.real("from_offset").setValue(0) #TODO: remove
     anExtrusions.append(anExtrusionFt)
 
 aSession.finishOperation()
@@ -162,28 +148,16 @@ aSession.startOperation()
 #=========================================================================
 # Build a big box extrusion
 #=========================================================================
-aSketchResult = aQuadrangleSketchFeature.firstResult()
-aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape()
-origin = geomDataAPI_Point(aQuadrangleSketchFeature.attribute("Origin")).pnt()
-dirX = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("DirX")).dir()
-norm = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("Norm")).dir()
-aSketchFaces = ShapeList()
-GeomAlgoAPI_SketchBuilder.createFaces(
-    origin, dirX, norm, aSketchEdges, aSketchFaces)
+aSketchResult = modelAPI_ResultConstruction(aQuadrangleSketchFeature.firstResult())
 # Create extrusion on them
 aBox = aPart.addFeature("Extrusion")
 aBox.selectionList("base").append(
-    aSketchResult, aSketchFaces[0])
+    aSketchResult, aSketchResult.face(0))
 aBox.string("CreationMethod").setValue("BySizes")
 aBox.real("from_size").setValue(0)
 aBox.real("to_size").setValue(10)
 aBox.real("to_offset").setValue(0) #TODO: remove
 aBox.real("from_offset").setValue(0) #TODO: remove
-# v 1.0.2 from master
-# aBox.selection("extrusion_face").setValue(
-#     aSketchResult, aSketchFaces[0])
-# aBox.real("extrusion_size").setValue(10)
-# aBox.boolean("extrusion_reverse").setValue(False)
 
 aSession.finishOperation()
 
@@ -195,13 +169,11 @@ aSession.finishOperation()
 aCurrentResult = modelAPI_ResultBody(aBox.firstResult())
 aSession.startOperation()
 aFactory = ModelAPI_Session.get().validators()
-for i in xrange(0, N * N):
+for i in range(0, N * N):
     anExtrusionResult = modelAPI_ResultBody(anExtrusions[i].firstResult())
-    aBooleanFt = aPart.addFeature("Boolean")
+    aBooleanFt = aPart.addFeature("Cut")
     aBooleanFt.selectionList("main_objects").append(aCurrentResult, aCurrentResult.shape())
     aBooleanFt.selectionList("tool_objects").append(anExtrusionResult, anExtrusionResult.shape())
-    kBooleanTypeCut = 0
-    aBooleanFt.integer("bool_type").setValue(kBooleanTypeCut)
     aBooleanFt.execute()
     assert (aFactory.validate(aBooleanFt))
     assert (len(aBooleanFt.results()) > 0)