Salome HOME
Implementation of [bos #35140] [EDF] (2023-T1) Memory communication between SHAPER...
[modules/geom.git] / doc / salome / gui / GEOM / input / add_point_on_edge_operation.doc
index f16624bbd6e840c74b73a723740661f7e9183e4e..92d6c31a11e968a6fbc79966bac824b4e18c4ca2 100644 (file)
@@ -5,32 +5,65 @@
 \n To <b>Add Point on Edge</b> in the <b>Main Menu</b> select
 <b>Repair - > Add Point on Edge</b>.
 
-\n This operation splits an edge in two in accordance with the
-specified mode (by length or by parameter) and a value specifying the
-position of the point on edge (for example val =0.5; mode =
-Length). This operation is available in <b>OCC Viewer</b> only.
+This operation splits an edge in two or more new edges.
+This operation is available in <b>OCC Viewer</b> only.
 
-\n The \b Result will be a \b GEOM_Object.
+The \b Result will be a \b GEOM_Object.
 
-\n <b>TUI Command:</b> <em>geompy.DivideEdge(Shape, EdgeID, Value,
-IsByParameter), </em> where \em Shape is a shape which contains an edge to
-be divided, \em EdgeID is the ID of the edge to be divided, if it = -1,
-then Shape is an edge, \em Value is a paramter on the edge or a
-length. \em IsByParameter if it is True then Value is the edge parameter
-in the range [0:1] otherwise it is a part of the length of the edge in the range
-[0: full length of the edge]
-\n <b>Arguments:</b> Name + 1 Edge + 1 value setting the position of
-the point according to one of the selected modes.
+\n The location of a new vertex on the selected edge can be defined in two ways:
+<ol>
+  <li> By specifying the position (ranging from 0.0 to 1.0) by length or by parameter.
+    <p>
+    <b>TUI Command:</b> <em>geompy.DivideEdge(Shape, EdgeID, Value,
+      IsByParameter)</em>
+    <ul>
+      <li> \em Shape is a shape, which contains an edge to be divided;</li>
+      <li>\em EdgeID is the ID of the edge to be divided, if it is = -1,
+        then \em Shape should be an edge itself;</li>
+      <li> \em Value is a value of parameter on edge or length parameter,
+        depending on \em IsByParameter;</li>
+      <li> \em IsByParameter is a boolean flag, specifying the operation mode:
+        - \c True: \em Value is treated as a curve parameter; [0..1]
+        - \c False: \em Value is treated as a length parameter. [0..1] </li>
+    </ul>
+    \b Arguments: Name + 1 Edge + 1 Value setting the position of
+    the point according to the selected mode.
 
-\image html repair8.png
+    The difference between "by parameter" and "by length" modes becomes
+    apparent on the edges with irregular parametrization (for example,
+    b-splines which usually have irregular density by the length).
+    For example, value 0.5 "by length" on such edge will produce the point
+    in the middle of this edge (equidistant from both its ends); the same
+    0.5 value "by parameter" will result in the point situated closer to
+    one of the ends (depending on the actual parametrization).
+
+    \image html repair8.png
+    \n\n
+  </li>
+  <li> By selecting several points that will be projected to the selected
+    edge to find the location of new vertices.
+    <p>
+    <b>TUI Command:</b> <em>geompy.DivideEdgeByPoint(Shape, Edge, Points):</em>
+    <ul>
+      <li> \em Shape is a shape, which contains an edge to be divided;</li>
+      <li>\em Edge is an edge to be divided (or its ID, if it is = -1,
+        then \em Shape should be an edge itself);</li>
+      <li> \em Points is a list of points to be projected to the \a Edge.</li>
+    </ul>
+    \b Arguments: Name + 1 Edge + 1 or more Points.
+
+    \image html divedgebypoint.png
+
+  </li>
+</ol>
 
 \n <b>Example:</b>
 
-\image html image167.jpg "The initial edge"
+\image html image167.png "The initial edge"
 
-\image html image168.jpg "The edge split in two segments" 
+\image html image168.png "The edge split in two segments"
 
-Our <b>TUI Scripts</b> provide you with useful examples of the use of 
+Our <b>TUI Scripts</b> provide you with useful examples of the use of
 \ref tui_add_point_on_edge "Repairing Operations".
 
 */