Salome HOME
Merge branch 'fbt/addAngleInCylPrimitive'
[modules/geom.git] / doc / salome / gui / GEOM / input / using_boolean_operations.doc
index 84301523e8c22a91f813a962cec133b2cd82abfe..02a30251d246b12be9d52b9451f964e300c99f73 100644 (file)
@@ -2,10 +2,10 @@
 
 \page using_boolean_operations_page Boolean Operations
 
 
 \page using_boolean_operations_page Boolean Operations
 
-For detail description of the Boolean operations please refer to
+For a detailed description of Boolean operations refer to
 <a href="SALOME_BOA_PA.pdf">this document</a>. 
 It provides a general review of the Partition and Boolean
 <a href="SALOME_BOA_PA.pdf">this document</a>. 
 It provides a general review of the Partition and Boolean
-operations algorithms, describes the usage methodology and highlighs
+operations algorithms, describes the usage methodology and highlights
 major limitations of these operations.
 
 You can use the following boolean operations for construction of more
 major limitations of these operations.
 
 You can use the following boolean operations for construction of more
@@ -23,17 +23,17 @@ a list of others. </li>
 You can use advanced TUI commands performing these operations
 independently from each other:
 \par
 You can use advanced TUI commands performing these operations
 independently from each other:
 \par
-<em>geompy.MakeFuseList(theShapesList)</em>, where \em theShapesList is
+<em>geompy.MakeFuseList(theShapesList, checkSelfInte, rmExtraEdges)</em>, where \em theShapesList is
 the list of shapes for Fuse operation; 
 \par
 the list of shapes for Fuse operation; 
 \par
-<em>geompy.MakeCommonList(theShapesList)</em>, where \em theShapesList is
+<em>geompy.MakeCommonList(theShapesList, checkSelfInte)</em>, where \em theShapesList is
 the list of shapes for Common operation;
 \par
 the list of shapes for Common operation;
 \par
-<em>geompy.MakeCutList(theMainShape, theShapesList)</em>, where \em
+<em>geompy.MakeCutList(theMainShape, theShapesList, checkSelfInte)</em>, where \em
 theMainShape is the object of the operation and \em theShapesList is
 the list of tools for Cut operation;
 \par
 theMainShape is the object of the operation and \em theShapesList is
 the list of tools for Cut operation;
 \par
-<em>geompy.MakeSection(Shape1, Shape2)</em>, where \em Shape1 is the first
+<em>geompy.MakeSection(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
 argument and \em Shape2 is the second argument of Section operation;
 
 
 argument and \em Shape2 is the second argument of Section operation;
 
 
@@ -42,24 +42,48 @@ with only two arguments. There is a general TUI command covering these
 operations, which can be used alongside with separate commands for each
 operation.
 \par
 operations, which can be used alongside with separate commands for each
 operation.
 \par
-<em>geompy.MakeBoolean(Shape1, Shape2, Operation),</em> where \em
+<em>geompy.MakeBoolean(Shape1, Shape2, Operation, checkSelfInte),</em> where \em
 Shape1 is the first argument and \em Shape2 is the second argument of
 Shape1 is the first argument and \em Shape2 is the second argument of
-Boolean operation, \em Operation is a type of the Boolean operation (1
+a Boolean operation, \em Operation is the type of a Boolean operation (1
 &mdash; Common, 2 &mdash; Cut, 3 &mdash; Fuse, 4 &mdash; Section).
 
 
 Besides, you can use advanced TUI commands performing these operations
 independently from each other:
 \par
 &mdash; Common, 2 &mdash; Cut, 3 &mdash; Fuse, 4 &mdash; Section).
 
 
 Besides, you can use advanced TUI commands performing these operations
 independently from each other:
 \par
-<em>geompy.MakeFuse(Shape1, Shape2)</em>, where \em Shape1 is the first
+<em>geompy.MakeFuse(Shape1, Shape2, checkSelfInte, rmExtraEdges)</em>, where \em Shape1 is the first
 argument and \em Shape2 is the second argument of Fuse operation; 
 \par
 argument and \em Shape2 is the second argument of Fuse operation; 
 \par
-<em>geompy.MakeCommon(Shape1, Shape2)</em>, where \em Shape1 is the first
+<em>geompy.MakeCommon(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
 argument and \em Shape2 is the second argument of Common operation;
 \par
 argument and \em Shape2 is the second argument of Common operation;
 \par
-<em>geompy.MakeCut(Shape1, Shape2)</em>, where \em Shape1 is the first
+<em>geompy.MakeCut(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
 argument and \em Shape2 is the second argument of Cut operation;
 
 argument and \em Shape2 is the second argument of Cut operation;
 
+The flag \em checkSelfInte indicates whether the arguments should be checked for
+self-intersection prior to an operation. Its default value is \em False, which
+means that there is no need to check it. This option is provided to ensure that
+an operation is performed on not self-intersected shapes as they are
+not valid for boolean operations.
+
+\note This algorithm does not find all types of self-intersections. It is tuned
+      to detect vertex/vertex, vertex/edge, edge/edge, vertex/face and edge/face
+      intersections. Face/face intersections detection is switched off as it
+      is a time-consuming operation that gives an impact on performance. To find
+      all self-intersections use \ref check_self_intersections_page
+      "Detect Self-intersection tool".
+
+The flag \em rmExtraEdges is used for \em MakeFuseList and \em MakeFuse
+operations only. It indicates if Remove Extra Edges operation should be
+performed during the operation. Its default value is \em False, which
+means that there is no need to do it.
+
+\note \em rmExtraEdges is not available for \em MakeBoolean call with
+      operation type 3 (Fuse). \em MakeBoolean operation doesn't perform
+      Remove Extra Edges. So the call <em>geompy.MakeBoolean(Shape1, Shape2,
+      3, checkSelfInte)</em> is equivalent to <em>geompy.MakeFuse(Shape1,
+      Shape2, checkSelfInte, False)</em>.
+
 Our <b>TUI Scripts</b> provide you with useful examples of the use of 
 \ref tui_boolean_operations_page "Boolean Operations".
 
 Our <b>TUI Scripts</b> provide you with useful examples of the use of 
 \ref tui_boolean_operations_page "Boolean Operations".