.. role:: code :class: code Усечённая кривая MbTrimmedCurve3D ================================= .. _MbTrimmedCurve3D_Trimmed_Curve: .. версия ядра: 118065 Класс :code:`MbTrimmedCurve3D` объявлен в файле *cur_trimmed_curve3d.h*. Усечённая кривая описывается базовой кривой :ref:`MbCurve3D `\ * **basisCurve**, начальным параметром усечения базовой кривой **trim1**, конечным параметром усечения базовой кривой **trim2** и признаком совпадения направлений базовой кривой и усечённой кривой **sense**. Усечённая кривая совпадает с базовой кривой на участке, определённом параметрами **trim1** и **trim2**, но может иметь противоположное с ним направление. Если **sense** = 1, то **trim1** < **trim2** и усечённая кривая совпадает по направлению с базовой кривой. Если **sense** = -1, то **trim2** < **trim1** и усечённая кривая направлена против базовой кривой. В методе .. code-block:: cpp PointOn( double & t, MbCartPoint3D & r) радиус-вектор кривой **r** описывается векторной функцией .. math:: \mathbf{r}(t) = \mathbf{basisCurve}(trim1 + sense \cdot t). Усеченная кривая приведена на рисунке: .. figure:: ../../pictures/O.4.10.1.png :width: 12cm :align: center Параметр кривой *t* принимает значения на отрезке: .. math:: 0 ≤ t ≤ sense \cdot (trim2 - trim1). Усечённая кривая теоретически может применяться для изменения направления кривой, но лучше пользоваться методом :code:`Inverse`\(). Усечённая кривая может применяться для изменения положения начальной точки периодической кривой. Для этого базовая кривая должна быть периодической и **trim2** = **trim1** + **period**. В этом случае усечённая кривая так же будет периодической. В качестве базовой кривой не следует использовать другую усечённую кривую. Следует использовать её базовую кривую, предварительно пересчитав параметры усечения. Каждая кривая может построить свою усеченную копию виртуальным методом .. code-block:: cpp Trimmed( double t1, double t2, int sense).