.. role:: blue :class: blue Определение параметров для выдавливания или вращения ==================================================== .. _Determining_Extrusion_or_Rotation_Parameters: .. версия ядра: 118059 Функция .. code-block:: cpp void GetRangeToSurface( const MbSurface & surface, const MbCurve3D & curve, const MbVector3D & direction, const MbAxis3D & axis, const bool rotation, const bool operationDirection, const MbCartPoint & imagePosition, double range, MbRect & rectOnSurface, MbResultType & resType ); вычисляет глубины выдавливания в прямом и обратном направлениях или углы вращения в прямом и обратном направлениях для последующего построения тела путем выдавливания или вращения образующей кривой до заданной поверхности, а также габарит образа кривой. Входными параметрами функции являются: - **surface** – поверхность, до которой будет выполняться выдавливание или вращение кривой. - **curve** – образующая кривая. - **direction** – направление выдавливания (для расчёта выдавливания). - **axis** – ось вращения (для расчёта вращения). - **rotation** – флаг выполнения расчёта: *true* для вращения, *false* для выдавливания. - **operationDirection** – направление выполнения последующей операции: вперед (*true*), назад (*false*). - **imagePosition** – точка на поверхности, в которой лежит образ образующей кривой. Выходными параметрами функции являются: - **range** – расстояния до поверхности: range\[0\] – в обратном направлении, range\[1\] – в прямом направлении. - **rectOnSurface** – габарит образа кривой на поверхности. - **resType** – код результата операции: при удачной работе функция возвращает :blue:`rt_Success`, в противном случае функция возвращает код ошибки из перечисления :ref:`MbResultType ` (см. *mb_operation_result.h*). Функция является вспомогательной для функций :blue:`ExtrusionSolid`\(), :blue:`RevolutionSolid`\(), :blue:`ExtrusionResult`\() и :blue:`RevolutionResult`\().