Salome HOME
[bos #40619][CEA] Add Fuzzy parameter to partition and boolean operators
[modules/geom.git] / doc / salome / gui / GEOM / input / using_boolean_operations.doc
index d0bca5b6a86e3b64dbf696ed8cdb9c2508b5e42e..63351b45d8e0bbee4d141313c9b3c3d3e6416b1b 100644 (file)
@@ -2,47 +2,87 @@
 
 \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
-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
 complex geometrical objects (2D & 3D elements):
 
 <ul>
-<li>\subpage fuse_operation_page "Fuse" - creates a shape from two shapes.</li>
+<li>\subpage fuse_operation_page "Fuse" - creates a shape from a list of shapes.</li>
 <li>\subpage common_operation_page "Common" - transforms the common part
-of two objects into an independent object.</li>
+of a list of objects into an independent object.</li>
 <li>\subpage cut_operation_page "Cut" - cuts one shape with
-another. </li>
-<li>\subpage section_opeartion_page "Section" - creates a section between two shapes.</li>
+a list of others. </li>
+<li>\subpage section_operation_page "Intersection" - performs an intersection between two shapes.</li>
 </ul>
 
-There is a general TUI command covering all these operations, which
-can be used alongside with separate commands for each operation.
+You can use advanced TUI commands performing these operations
+independently from each other:
+\par
+<em>geompy.MakeFuseList(theShapesList, checkSelfInte, rmExtraEdges)</em>, where \em theShapesList is
+the list of shapes for Fuse operation; 
+\par
+<em>geompy.MakeCommonList(theShapesList, checkSelfInte)</em>, where \em theShapesList is
+the list of shapes for Common operation;
+\par
+<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
+<em>geompy.MakeSection(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
+argument and \em Shape2 is the second argument of Intersection operation;
+
+
+There are several TUI commands that can be used to perform boolean operations
+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
-<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
-Boolean operation, \em Operation is a type of the Boolean operation (1
-&mdash; Common, 2 &mdash; Cut, 3 &mdash; Fuse, 4 &mdash; Section).
+a Boolean operation, \em Operation is the type of a Boolean operation (1
+&mdash; Common, 2 &mdash; Cut, 3 &mdash; Fuse, 4 &mdash; Intersection).
 
 
 Besides, you can use advanced TUI commands performing these operations
 independently from each other:
 \par
-<em>geompy.MakeFuse(Shape1, Shape2)</em>, where \em Shape1 and \em
-Shape2 is the second argument of Fuse operation; 
-\par
-<em>geompy.MakeCommon(Shape1, Shape2)</em>, where \em Shape1 and \em
-Shape2 is the second argument of Common operation;
+<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
-<em>geompy.MakeCut(Shape1, Shape2)</em>, where \em Shape1 and \em
-Shape2 is the second argument of Cut operation;
+<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
-<em>geompy.MakeSection(Shape1, Shape2)</em>, where \em Shape1 and \em
-Shape2 is the second argument of Section operation;
+<em>geompy.MakeCut(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
+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".