Определение параметров для выдавливания или вращения
Функция
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().