/*! \page using_boolean_operations_page Boolean Operations For detail description of the Boolean operations please refer to this document. It provides a general review of the Partition and Boolean operations algorithms, describes the usage methodology and highlighs major limitations of these operations. You can use the following boolean operations for construction of more complex geometrical objects (2D & 3D elements): You can use advanced TUI commands performing these operations independently from each other: \par geompy.MakeFuseList(theShapesList, checkSelfInte), where \em theShapesList is the list of shapes for Fuse operation; \par geompy.MakeCommonList(theShapesList, checkSelfInte), where \em theShapesList is the list of shapes for Common operation; \par geompy.MakeCutList(theMainShape, theShapesList, checkSelfInte), where \em theMainShape is the object of the operation and \em theShapesList is the list of tools for Cut operation; \par geompy.MakeSection(Shape1, Shape2, checkSelfInte), where \em Shape1 is the first argument and \em Shape2 is the second argument of Section 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 geompy.MakeBoolean(Shape1, Shape2, Operation, checkSelfInte), 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 — Common, 2 — Cut, 3 — Fuse, 4 — Section). Besides, you can use advanced TUI commands performing these operations independently from each other: \par geompy.MakeFuse(Shape1, Shape2, checkSelfInte), where \em Shape1 is the first argument and \em Shape2 is the second argument of Fuse operation; \par geompy.MakeCommon(Shape1, Shape2, checkSelfInte), where \em Shape1 is the first argument and \em Shape2 is the second argument of Common operation; \par geompy.MakeCut(Shape1, Shape2, checkSelfInte), where \em Shape1 is the first argument and \em Shape2 is the second argument of Cut operation; The flag \em checkSelfInte tells whether 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 these shapes are not valid for boolean operations. \note This algorithm doesn't 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 please use \ref check_self_intersections_page "Detect Self-intersection tool". Our TUI Scripts provide you with useful examples of the use of \ref tui_boolean_operations_page "Boolean Operations". */