Построение составной кривой
Функция
MbResultType CreateContour( MbCurve3D & curve,
MbContour3D *& result )
выполняет построение составной кривой на базе одной исходной кривой.
Входным параметром функции является исходная кривая curve.
При успешном завершении работы функция возвращает rt_Success, в противном случае функция возвращает код ошибки из перечисления MbResultType.
Выходным параметром функции является построенная составная кривая (контур) result.
При успешном выполнении в result возвращается указатель на новый объект MbContour3D; удаление объекта возлагается на вызывающий код.
Функция объявлена в файле action_curve3d.h.
Функция создает составную кривую result на базе исходной кривой curve. Если исходная кривая curve является составной кривой, то в кривую result будут положены составляющие элементы исходной кривой. Составная кривая описана в параграфе Контур MbContour3D.
Функция
MbResultType AddCurveToContour( MbCurve3D & curve,
MbCurve3D & contour,
bool toEnd )
модифицирует составную кривую путём добавления кривой.
Входными параметрами функции являются:
curve — добавляемая кривая;
contour — модифицируемая составная кривая;
toEnd — флаг места добавления кривой.
Выходным параметром функции является модифицируемая кривая contour.
При успешном завершении работы функция возвращает rt_Success, в противном случае функция возвращает код ошибки из перечисления MbResultType.
Функция объявлена в файле action_curve3d.h.
Функция модифицирует составную кривую contour путём добавления кривой curve в начало или конец составной кривой. Если toEnd = true, то кривая curve будет добавлена в конец составной кривой contour, если toEnd = false, то кривая curve будет добавлена в начало составной кривой contour. Точки стыковки модифицируемой кривой и добавляемой кривой должны совпадать, рис. 1:
Рис. 1
Если добавляемая кривая curve является составной кривой, то в кривую contour будут добавлены составляющие элементы добавляемой кривой.
Функция
MbResultType CreateContours( RPArray<MbCurve3D> & curves,
double metricEps,
RPArray<MbContour3D> & result,
bool onlySmoothConnected = false,
VERSION version = Math::DefaultMathVersion() )
выполняет построение составных кривых из множества исходных кривых (оригиналов кривых).
Входными параметрами функции являются:
curves — множество исходных кривых;
metricEps — радиус захвата для стыковки исходных кривых;
onlySmoothConnected — флаг использования гладкой стыковки исходных кривых;
version — версия исполнения.
Выходным параметром функции является множество построенных составных кривых result.
При успешном завершении работы функция возвращает rt_Success, в противном случае функция возвращает код ошибки из перечисления MbResultType.
Функция объявлена в файле action_curve3d.h.
Функция на базе исходных кривых curves создает составные кривые и складывает их в множество result.
Если флаг onlySmoothConnected = true, то все построенные составные кривые будут гладкими, то есть в точках стыковки кривые будут иметь одинаково направленные касательные, но длина производной в точках стыковки может меняться скачком. Если какая-либо исходная кривая множества curves является составной кривой, то в составную кривую будут добавлены составляющие элементы такой исходной кривой.
Вырожденные кривые, кривые с нулевым указателем и дубликаты кривых удаляются из входного массива, если у них нет владельца.
Функция
MbResultType CreateContours( RPArray<MbCurve3D> & curves,
double metricAcc,
bool onlySmoothConnected = false,
VERSION version = Math::DefaultMathVersion() )
выполняет построение контуров по набору кривых с удалением вырожденных кривых (на оригиналах кривых).
Входными параметрами функции являются:
curves — множество исходных кривых (модифицируется);
metricAcc — радиус захвата для стыковки исходных кривых;
onlySmoothConnected — флаг использования в контуре только гладко стыкующихся сегментов;
version — версия исполнения.
Выходным параметром функции является множество curves, которое после выполнения содержит построенные составные кривые.
При успешном завершении работы функция возвращает rt_Success, в противном случае функция возвращает код ошибки из перечисления MbResultType.
Функция объявлена в файле action_curve3d.h.
Функция автоматически удаляет из массива curves вырожденные кривые (с нулевой длиной или с совпадающими начальной и конечной точками (для незамкнутых кривых)), кривые с нулевым указателем и дубликаты кривых, не имеющих владельца. Результирующие составные кривые складываются обратно в массив curves, заменяя исходные элементы.