Определение параметров для выдавливания или вращения

Функция

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 – код результата операции: при удачной работе функция возвращает rt_Success, в противном случае функция возвращает код ошибки из перечисления MbResultType (см. mb_operation_result.h).

Функция является вспомогательной для функций ExtrusionSolid(), RevolutionSolid(), ExtrusionResult() и RevolutionResult().