X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FGEOM%2Finput%2Fpartition.doc;h=48d56c0366c71c68d346862ef646f30101740e41;hb=ef20f40494c9ede9394c4465ed565a5a30332611;hp=532f4c375ac6a433ac707b01ae1212e0aee187c2;hpb=392885c1a8d50369708bbe5e6b44033ed8b8ba51;p=modules%2Fgeom.git
diff --git a/doc/salome/gui/GEOM/input/partition.doc b/doc/salome/gui/GEOM/input/partition.doc
old mode 100644
new mode 100755
index 532f4c375..48d56c036
--- a/doc/salome/gui/GEOM/input/partition.doc
+++ b/doc/salome/gui/GEOM/input/partition.doc
@@ -2,55 +2,123 @@
\page partition_page Partition
-\n To produce a \b Partition in the Main Menu select Operations - > Partition
+For a detailed description of the Partition operation please refer to this document.
+It provides a general review of the Partition and Boolean operations algorithms, describes the usage methodology and highlights
+major limitations of these operations.
-\n This operation builds a compound by intersection of several shapes with a tool object or a plane.
-\n The \b Result will be any \b GEOM_Object.
+Perhaps you also ask yourself : \ref partition_explanation "What's the difference between partition, compounds and fuse operation ?"
+
+To produce a \b Partition in the Main Menu select Operations - > Partition
+
+This operation builds a compound by intersection of several shapes
+with a set of tool objects or with a plane.
+The \b Result will be a \b GEOM_Object.
Intersection of two shapes.
-\n As far as the intersection of two objects can produce any type of
+\image html partition1.png
+
+Arguments: Name + 2 lists of shapes (the shapes from the
+first list will be intersected with the shapes from the second list) +
+Resulting Type of shape.
+
+As far as the intersection of two objects can produce any type of
geometrical objects, Resulting type box allows choosing the
-preferrable result, i.e. a solid, a shell, a list of faces, etc.
-\n TUI Command: geompy.MakePartition(ListOfShapes,
+preferable result, i.e. a solid, a shell, a list of faces, etc.
+
+The Resulting type has to be equal or lower than the type of the
+\em Objects. In other words, if the \em Objects don't contain any
+shape of this type, Partition fails.
+
+Keep shapes of lower type checkbox manages standalone shapes of
+type other than the \em Limit. If it is checked, lower dimension
+objects will be preserved, else they will be lost.
+
+For example, you partition a box (Solid) and a face (Face)
+without any tool (the box is split in two parts by the shape). If you
+choose the Resulting Type "Solid", you will
+obtain a compound of two solids, but if you also check Keep shapes of lower
+type checkbox, you will obtain a compound of two solids and one
+face (there will be a hole in the resulting face, where the original
+face intersects with the box, see the corresponding \ref partition_picture_3 "picture" below).
+
+No sub-shapes intersection (Compounds only) check box affects
+only input shapes of the Compound type.
+- If this option is switched off (default behavior) each input compound will be automatically
+exploded into sub-shapes and the intersection between these shapes will be also computed.
+- If this option is switched on, the intersection between sub-shapes will not be performed.
+In this case the Partition algorithm will work faster, but the result might differ from the
+default behavior.
+
+Detect Self-intersections check box is used to check self-intersection of arguments.
+It is enabled only if No sub-shapes intersection (Compounds only) is checked.
+- If this option is switched off (by default), the partition algorithm is
+performed without self-intersection checks.
+- If this option is switched on, each input shape is checked for self-intersection.
+If self-intersection is detected, the operation is aborted.
+
+\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 please use \ref check_self_intersections_page
+ "Detect Self-intersection tool".
+
+- Activate \ref restore_presentation_parameters_page "Advanced options" if required.
+
+\note Partition is a complex operation, so its result of it depends
+ on the quality of the initial shapes. Sometimes, if partition fails,
+ such healing operations as Shape Processing
+ and Limit Tolerance can help to attune source shapes to obtain correct result of the Partition.
+ See also \ref tui_limit_tolerance "TUI example" of shape healing.
+
+TUI Command (with sub-shapes intersection):
+
+geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside,
+ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials,
+KeepNonlimitShapes)
+
+TUI Command (without sub-shapes intersection):
+
+geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes,
ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs,
-ListOfMaterials), where where \em ListOfShapes is a list of shapes to
-be intersected and \em ListOfTools is a list of shapes to intersect the
-shapes from ListOfShapes.
-\n Since the implementation of a new version of PartitionAlgo other
-parameters are ignored by the current functionality and remain there
-only to support the old scripts.
-\n Arguments: Name + 2 lists of shapes (the shapes from the
-first list will be intersected with the shapes from the second list) +
-reconstruction limit.
-\n Advanced option:
- \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
+ListOfMaterials, KeepNonlimitShapes, checkSelfInte)
+
+Here,
+- \em ListOfShapes is a list of shapes to be intersected
+- \em ListOfTools is a list of shapes to intersect the shapes from
+\em ListOfShapes
+- \em Limit is a Type of resulting shapes
+- \em KeepNonlimitShapes is a flag that allows to preserve standalone
+shapes of low dimension (than \em Limit) in the result.
+- \em checkSelfInte is a flag that indicates if the arguments should
+be checked for self-intersection prior to the operation.
+- Other parameters are obsolete and kept only for compatibility with
+previous versions of SALOME.
-\image html partition1.png
+
Intersection of a Shape and a Plane.
-Keep shapes of lower type checkbox allows building geometrical objects.
-Only lower type objects will be preserved without the upper ones.
+\image html partition2.png
+Arguments: Name + 1 shape to be intersected + 1 cutting plane.
-
Intersection of a Shape and a Plane.
+Activate \ref restore_presentation_parameters_page "Advanced options" if required.
-\n TUI Command: geompy.MakeHalfPartition(Shapes,
-Plane), where \em Shapes are a list of Shapes to be intersected
-and \em Plane is a Tool shape, to intersect the \em Shapes.
-\n Arguments: Name + a list of shapes which will be intersected
-+ 1 cutting plane.
-\n Advanced option:
- \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
+TUI Command:
-\image html partition2.png
+geompy.MakeHalfPartition(Shape, Plane), where:
+- \em Shape is a source shape to be intersected by the \em Plane
+- \em Plane is a tool shape, to intersect the \em Shape.
-\n Example:
+Examples:
\image html partitionsn1.png "Box intersected by a plane"
\image html partitionsn2.png "Result of intersection"
-Our TUI Scripts provide you with useful examples of the use of
-\ref tui_partition "Basic Operations".
+\anchor partition_picture_3
+\image html partitionsn3.png "Result of intersection of a box and a plane (both as \em Objects, no tools) with the Resulting type \em Solid and checked 'Keep shapes of lower type'"
+
+Our TUI Scripts provide you with useful examples of \ref tui_partition "Basic Operations".
*/