From a71c6a5e82c6a3063a15503394415ba3c3c5f2b2 Mon Sep 17 00:00:00 2001 From: skv Date: Wed, 27 Nov 2013 08:27:46 +0000 Subject: [PATCH] 0022396: EDF GEOM: Common operation does not detect self-intersections --- .../gui/GEOM/input/common_operation.doc | 7 + doc/salome/gui/GEOM/input/cut_operation.doc | 7 + doc/salome/gui/GEOM/input/fuse_operation.doc | 7 + doc/salome/gui/GEOM/input/partition.doc | 7 + .../gui/GEOM/input/section_operation.doc | 7 + .../GEOM/input/using_boolean_operations.doc | 6 + src/GEOM_SWIG/geomBuilder.py | 172 ++++++++++++++++++ 7 files changed, 213 insertions(+) diff --git a/doc/salome/gui/GEOM/input/common_operation.doc b/doc/salome/gui/GEOM/input/common_operation.doc index c9bca9897..b317eed99 100644 --- a/doc/salome/gui/GEOM/input/common_operation.doc +++ b/doc/salome/gui/GEOM/input/common_operation.doc @@ -15,6 +15,13 @@ The \b Result will be a \b GEOM_Object. \image html bool2.png "Common dialog" +\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". + For a particular case with two shapes for the Common operation there is the following TUI command: TUI Command: geompy.MakeCommon(s1, s2, checkSelfInte)\n diff --git a/doc/salome/gui/GEOM/input/cut_operation.doc b/doc/salome/gui/GEOM/input/cut_operation.doc index 745a49c09..f4050a318 100644 --- a/doc/salome/gui/GEOM/input/cut_operation.doc +++ b/doc/salome/gui/GEOM/input/cut_operation.doc @@ -15,6 +15,13 @@ The \b Result will be a \b GEOM_Object. \image html bool3.png "Cut dialog" +\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". + For a particular case with two shapes (object and tool) for the Cut operation there is the following TUI command: TUI Command: geompy.MakeCut(s1, s2, checkSelfInte)\n diff --git a/doc/salome/gui/GEOM/input/fuse_operation.doc b/doc/salome/gui/GEOM/input/fuse_operation.doc index a185601e9..a2779fb00 100644 --- a/doc/salome/gui/GEOM/input/fuse_operation.doc +++ b/doc/salome/gui/GEOM/input/fuse_operation.doc @@ -16,6 +16,13 @@ The \b Result will be a \b GEOM_Object. \image html bool1.png "Fuse dialog" +\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". + For a particular case with two shapes to be fused there is the following TUI command: TUI Command: geompy.MakeFuse(s1, s2, checkSelfInte)\n diff --git a/doc/salome/gui/GEOM/input/partition.doc b/doc/salome/gui/GEOM/input/partition.doc index b6e85f29b..13b09a791 100644 --- a/doc/salome/gui/GEOM/input/partition.doc +++ b/doc/salome/gui/GEOM/input/partition.doc @@ -60,6 +60,13 @@ each input shape is checked for self-intersection. In case of its detection the operation is aborted. If this option is switched off, the partition algorithm is performed without self-intersection checks. +\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". + Advanced option: \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments". diff --git a/doc/salome/gui/GEOM/input/section_operation.doc b/doc/salome/gui/GEOM/input/section_operation.doc index 0fd316a40..b5909be83 100644 --- a/doc/salome/gui/GEOM/input/section_operation.doc +++ b/doc/salome/gui/GEOM/input/section_operation.doc @@ -16,6 +16,13 @@ The \b Result will be any \b GEOM_Object (EDGE or WIRE). \image html neo-section.png "Section dialog" +\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". + Example: \image html fusesn1.png "The initial shapes" diff --git a/doc/salome/gui/GEOM/input/using_boolean_operations.doc b/doc/salome/gui/GEOM/input/using_boolean_operations.doc index 628992bba..26b90020e 100644 --- a/doc/salome/gui/GEOM/input/using_boolean_operations.doc +++ b/doc/salome/gui/GEOM/input/using_boolean_operations.doc @@ -66,6 +66,12 @@ 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". diff --git a/src/GEOM_SWIG/geomBuilder.py b/src/GEOM_SWIG/geomBuilder.py index c70be2807..0665957d3 100644 --- a/src/GEOM_SWIG/geomBuilder.py +++ b/src/GEOM_SWIG/geomBuilder.py @@ -6688,6 +6688,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_fuse "Example" @@ -6707,6 +6715,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. """ @@ -6726,6 +6743,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_common "Example 1" @@ -6744,6 +6769,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. """ @@ -6760,6 +6794,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_cut "Example 1" @@ -6778,6 +6820,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6795,6 +6846,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_fuse "Example 1" @@ -6813,6 +6872,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6830,6 +6898,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_section "Example 1" @@ -6848,6 +6924,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6864,6 +6949,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_fuse "Example 1" @@ -6881,6 +6974,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6899,6 +7001,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_common "Example 1" @@ -6916,6 +7026,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6935,6 +7054,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_cut "Example 1" @@ -6953,6 +7080,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. @@ -6981,6 +7117,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # are kept also (if they exist). # @param checkSelfInte The flag that tells if the arguments should # be checked for self-intersection prior to the operation. + # + # @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 + # CheckSelfIntersections() method. + # # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. @@ -7021,6 +7166,16 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): checkSelfInte The flag that tells if the arguments should be checked for self-intersection prior to the operation. + + 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 + CheckSelfIntersections() method. + theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. @@ -7135,6 +7290,14 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # + # @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 + # CheckSelfIntersections() method. + # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_partition "Example" @@ -7152,6 +7315,15 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. + 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 + CheckSelfIntersections() method. + Returns: New GEOM.GEOM_Object, containing the result shape. """ -- 2.39.2