.. role:: blue :class: blue Polyline MbPolyline3D ===================== .. _MbPolyline3D_Polyline_: .. kernel version: The :blue:`MbPolyline3D` class is declared in the *cur\_polyline3d.h* file. The polyline is derived from the :blue:`MbPolyCurve3D` curve. The :blue:`MbPolyline3D` polyline is defined by the number of segments *segmentsCount*, the set of control points SArray\<:ref:`MbCartPoint3D `\> **pointList** and the curve periodicity flag *closed*. The curve passes through the set of points **pointList**\[*i*\], *i* = 0,..., *segmentsCount*, at parameter values *t* = 0,..., *segmentsCount*. If *closed* = true, then the curve contains a segment connecting the last point of the set **pointList**\[*segmentsCount* - 1\] with the first point **pointList**\[0\]. The curve parameter *t* takes values on the interval 0 ≤ *t* ≤ *segmentsCount*. In the :blue:`PointOn`\( double & *t*, :ref:`MbCartPoint3D ` & **r** ) method, the radius vector of the curve **r** is defined by a vector function .. math:: \mathbf{r}(t) = \mathbf{pointList}[i] \cdot (1 - w) + \mathbf{pointList}[i + 1] \cdot w, where .. math:: w = \frac{t - t_{i}}{t_{i+1} - t_{i}}, and *t*\ :sub:`i` ≤ *t* ≤ *t*\ :sub:`i+1`. The polyline is the simplest curve constructed from a set of points. It consists of segments that consecutively connect the control points. The polyline is shown in the figure: .. figure:: /MODELER/CURVES/pictures/O.4.5.1.png :width: 12cm :align: center The curve may be periodic. The period of a periodic curve is equal to *segmentsCount*. The derivatives of the curve at the control points (for integer parameter values) lose continuity in length and direction. The derivatives of the curve at the control points have a specific direction and length. The polyline has a number of useful properties: it requires a minimum of computations, and the projection of a polyline is also a polyline.