Усечённая кривая MbTrimmedCurve3D
Класс MbTrimmedCurve3D объявлен в файле cur_trimmed_curve3d.h.
Усечённая кривая описывается базовой кривой MbCurve3D* basisCurve, начальным параметром усечения базовой кривой trim1, конечным параметром усечения базовой кривой trim2 и признаком совпадения направлений базовой кривой и усечённой кривой sense.
Усечённая кривая совпадает с базовой кривой на участке, определённом параметрами trim1 и trim2, но может иметь противоположное с ним направление. Если sense = 1, то trim1 < trim2 и усечённая кривая совпадает по направлению с базовой кривой. Если sense = -1, то trim2 < trim1 и усечённая кривая направлена против базовой кривой.
В методе
PointOn( double & t,
MbCartPoint3D & r)
радиус-вектор кривой r описывается векторной функцией
Усеченная кривая приведена на рисунке:
Параметр кривой t принимает значения на отрезке:
Усечённая кривая теоретически может применяться для изменения направления кривой, но лучше пользоваться методом Inverse().
Усечённая кривая может применяться для изменения положения начальной точки периодической кривой. Для этого базовая кривая должна быть периодической и trim2 = trim1 + period. В этом случае усечённая кривая так же будет периодической.
В качестве базовой кривой не следует использовать другую усечённую кривую. Следует использовать её базовую кривую, предварительно пересчитав параметры усечения.
Каждая кривая может построить свою усеченную копию виртуальным методом
Trimmed( double t1, double t2, int sense).