91eb150ddb
- C3d aggiornamento delle librerie ( 117971).
486 lines
36 KiB
C++
486 lines
36 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
||
/**
|
||
\file
|
||
\brief \ru Построение фантомов операций.
|
||
\en Creation of phantom operations. \~
|
||
|
||
*/
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
|
||
#ifndef __ACTION_PHANTOM_H
|
||
#define __ACTION_PHANTOM_H
|
||
|
||
|
||
#include <templ_s_array.h>
|
||
#include <mb_cart_point3d.h>
|
||
#include <space_item.h>
|
||
#include <op_shell_parameter.h>
|
||
#include <op_swept_parameter.h>
|
||
#include <position_data.h>
|
||
#include <topology_faceset.h>
|
||
#include <mb_operation_result.h>
|
||
|
||
|
||
class MATH_CLASS MbCurve;
|
||
class MATH_CLASS MbCurve3D;
|
||
class MATH_CLASS MbSurface;
|
||
class MATH_CLASS MbCurveEdge;
|
||
class MATH_CLASS MbFace;
|
||
class MATH_CLASS MbSolid;
|
||
class MATH_CLASS MbSNameMaker;
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить фантомные поверхности скругления/фаски.
|
||
\en Create phantom surfaces of fillet/chamfer. \~
|
||
\details \ru Построить фантомные поверхности скругления/фаски и сложить в контейнер surfaces. \n
|
||
По окончании работ поверхности можно и нужно удалить. \n
|
||
\en Create phantom surfaces of fillet/chamfer and store them in the container 'surfaces'. \n
|
||
After finish working with the surfaces they should be deleted. \n \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothPhantom с набором параметров #MbSmoothPhantomParams.
|
||
\en The method is deprecated. Use instead #SmoothPhantom with the parameters #MbSmoothPhantomParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер для скругления/фаски.
|
||
\en An array of edges for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[out] result - \ru Поверхности скругления/фаски.
|
||
\en The fillet/chamfer surfaces. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothPhantom with MbSmoothPhantomParams )
|
||
MATH_FUNC (MbResultType) SmoothPhantom( const MbSolid & solid,
|
||
RPArray<MbCurveEdge> & edges,
|
||
const SmoothValues & params,
|
||
RPArray<MbSurface> & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить фантомные поверхности скругления/фаски.
|
||
\en Create phantom surfaces of fillet/chamfer.\~
|
||
\details \ru Построить фантомные поверхности скругления/фаски и сложить в контейнер surfaces. \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en Create phantom surfaces of fillet/chamfer and store them in the container 'surfaces'. \n
|
||
After finish working with the surfaces they should be deleted. \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothPhantom с набором параметров #MbSmoothPhantomParams.
|
||
\en The method is deprecated. Use instead #SmoothPhantom with the parameters #MbSmoothPhantomParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер и функций изменения радиуса для скругления/фаски.
|
||
\en An array of edges and radius laws for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[out] result - \ru Поверхности скругления/фаски.
|
||
\en The fillet/chamfer surfaces. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothPhantom with MbSmoothPhantomParams )
|
||
MATH_FUNC (MbResultType) SmoothPhantom( const MbSolid & solid,
|
||
SArray<MbEdgeFunction> & edges,
|
||
const SmoothValues & params,
|
||
RPArray<MbSurface> & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить фантомные поверхности скругления/фаски.
|
||
\en Create phantom surfaces of fillet/chamfer.\~
|
||
\details \ru Построить фантомные поверхности скругления/фаски и сложить в контейнер surfaces. \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en Create phantom surfaces of fillet/chamfer and store them in the container 'surfaces'. \n
|
||
After finish working with the surfaces they should be deleted. \~
|
||
\param[in] params - \ru Параметры построения фантомных поверхностей скругления/фаски.
|
||
\en Parameters of creating phantom surfaces of fillet/chamfer. \~
|
||
\param[out] result - \ru Поверхности скругления/фаски.
|
||
\en The fillet/chamfer surfaces. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC (MbResultType) SmoothPhantom( const MbSmoothPhantomParams & params,
|
||
MbSmoothPhantomResult & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить последовательности гладко стыкующихся рёбер.
|
||
\en \~
|
||
\details \ru Построить последовательности гладко стыкующихся рёбер, скругляемых одновременно,
|
||
а также поверхности скругления/фаски (массив surfaces). \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothSequence с набором параметров #MbSmoothSequenceParams.
|
||
\en The method is deprecated. Use instead #SmoothSequence with the parameters #MbSmoothSequenceParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер для скругления/фаски.
|
||
\en An array of edges for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[in] createSurfaces - \ru Создавать ли поверхности скругления/фаски для фантома?
|
||
\en Create a fillet/chamfer surfaces for phantom. \~
|
||
\param[out] sequences - \ru Последовательность гладко стыкующихся рёбер.
|
||
\en Sequence of smooth mating edges. \~
|
||
\param[out] result - \ru Поверхности скругления/фаски.
|
||
\en The fillet/chamfer surfaces. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothSequence with MbSmoothSequenceParams )
|
||
MATH_FUNC (MbResultType) SmoothSequence( const MbSolid & solid,
|
||
RPArray<MbCurveEdge> & edges,
|
||
const SmoothValues & params,
|
||
bool createSurfaces,
|
||
RPArray<MbEdgeSequence> & sequences,
|
||
RPArray<MbSurface> & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить последовательности гладко стыкующихся рёбер.
|
||
\en \~
|
||
\details \ru Построить последовательности гладко стыкующихся рёбер, скругляемых одновременно,
|
||
а также поверхности скругления/фаски (массив surfaces). \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothSequence с набором параметров #MbSmoothSequenceParams.
|
||
\en The method is deprecated. Use instead #SmoothSequence with the parameters #MbSmoothSequenceParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер и функций изменения радиуса для скругления/фаски.
|
||
\en An array of edges and radius laws for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[in] createSurfaces - \ru Создавать ли поверхности скругления/фаски для фантома?
|
||
\en Create a fillet/chamfer surfaces for phantom. \~
|
||
\param[out] sequences - \ru Последовательность гладко стыкующихся рёбер.
|
||
\en Sequence of smooth mating edges. \~
|
||
\param[out] result - \ru Поверхности скругления/фаски.
|
||
\en The fillet/chamfer surfaces. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothSequence with MbSmoothSequenceParams )
|
||
MATH_FUNC (MbResultType) SmoothSequence( const MbSolid & solid,
|
||
SArray<MbEdgeFunction> & edges,
|
||
const SmoothValues & params,
|
||
bool createSurfaces,
|
||
RPArray<MbEdgeSequence> & sequences,
|
||
RPArray<MbSurface> & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить последовательности гладко стыкующихся рёбер.
|
||
\en Create a sequence of smoothly connected edges.\~
|
||
\details \ru Построить последовательности гладко стыкующихся рёбер, скругляемых одновременно,
|
||
а также поверхности скругления/фаски. \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en Construct sequences of smoothly connected edges filleted at the same time,
|
||
and fillet/chamfer surfaces. \n
|
||
On the work completion, the surfaces can be and should deleted. \~
|
||
\param[in] params - \ru Параметры построения.
|
||
\en Construction parameters. \~
|
||
\param[out] result - \ru Результат операции (построенные последовательности гладко стыкующихся рёбер и поверхности скругления/фаски..
|
||
\en The operation result (constructed sequences of smoothly connected edges and fillet/chamfer surfaces). \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC (MbResultType) SmoothSequence( const MbSmoothSequenceParams & params,
|
||
MbSmoothSequenceResult & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить фантомные эквидистантные поверхности для граней оболочки.
|
||
\en Create phantom offset surfaces for faces of a shell. \~
|
||
\details \ru Построить фантомные эквидистантные поверхности для граней оболочки, \n
|
||
кроме имеющих перечислены кроме имеющих перечисленные индексы, и сложить в массив surfaces. \n
|
||
По окончании работ поверхности можно и нужно удалить.
|
||
\en Create phantom offset surfaces for faces of a shell, \n
|
||
except the faces with specified indices and store them in array 'surfaces'. \n
|
||
After finish working with the surfaces they should be deleted. \n \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] outFaces - \ru Множество вскрываемых граней тела.
|
||
\en An array of shelling faces of the solid. \~
|
||
\param[in] offFaces - \ru Множество граней, для которых заданы индивидуальные значения толщин.
|
||
\en An array of faces for which the individual values of thickness are specified. \~
|
||
\param[in] offDists - \ru Множество индивидуальных значений толщин (должен быть синхронизирован с массивом offFaces).
|
||
\en An array of individual values of thickness (must be synchronized with the array 'offFaces'). \~
|
||
\param[in] params - \ru Параметры операции.
|
||
\en The operation parameters. \~
|
||
\param[in] operNames - \ru Именователь.
|
||
\en An object for naming the new objects. \~
|
||
\param[out] result - \ru Результат операции.
|
||
\en The operation result. \~
|
||
\param[out] hpShellFaceInd - \ru Номер грани в исходной оболочки для построения хот-точки.
|
||
\en The face number in the initial shell for a hot-point creation. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Shell_Modeling
|
||
*/
|
||
// ---
|
||
MATH_FUNC (MbResultType) OffsetPhantom( const MbSolid & solid,
|
||
RPArray<MbFace> & outFaces,
|
||
RPArray<MbFace> & offFaces,
|
||
SArray<double> & offDists,
|
||
const SweptValues & params,
|
||
const MbSNameMaker & operNames,
|
||
MbFaceShell *& result,
|
||
size_t * hpShellFaceInd = nullptr ); // \ru Номер грани в исходной оболочки для построения хот-точки); \en The face number in the initial shell for a hot-point creation);
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить фантом габаритного куба в локальной системе координат.
|
||
\en Create a phantom of a bounding box in local coordinate system. \~
|
||
\details \ru Построить фантом габаритного куба в локальной системе координат. \n
|
||
\en Create a phantom of a bounding box in local coordinate system. \n \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] params - \ru Список параметров #MbLocalCubePhantomParams.
|
||
\en List of parameters #MbLocalCubePhantomParams. \~
|
||
\param[out] result - \ru Фантом локального куба.
|
||
\en The local bounding box phantom. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Shell_Modeling
|
||
*/
|
||
// ---
|
||
MATH_FUNC (MbResultType) LocalCubePhantom( const MbSolid & solid,
|
||
const MbLocalCubePhantomParams & params,
|
||
c3d::SolidSPtr & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Определить фантомное направление усечения.
|
||
\en Determine a phantom direction of truncation. \~
|
||
\details \ru Определить фантомное направление усечения по усеченной грани исходного тела. \n
|
||
\en Determine a phantom direction of truncation given the truncated face of the initial solid. \n \~
|
||
\param[in] truncatingEdge - \ru Ребро усеченной грани исходного тела.
|
||
\en An edge of truncated face of the initial solid. \~
|
||
\param[in] dirPlace - \ru Система координат направления усечения (Ось Z - направление усечения).
|
||
\en A coordinate system of truncation direction (Z-axis is a truncation direction). \~
|
||
\return \ru Возвращает true, если получилось определить направление.
|
||
\en Returns true if the direction has been successfully determined. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC (bool) TruncatDirection( const MbCurveEdge & truncatingEdge,
|
||
MbPlacement3D & dirPlace );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить опорные точки размеров операции скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes. \~
|
||
\details \ru Построить опорные точки размеров операции скругления/фаски и сложить в контейнер data. \n
|
||
Первые две точки лежат на краях поверхности скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes and store them in container 'data'. \n
|
||
The first two points lie on the fillet/chamfer surface boundary. \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothPositionData с набором параметров #MbSmoothPositionDataParams.
|
||
\en The method is deprecated. Use instead #SmoothPositionData with the parameters #MbSmoothPositionDataParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер для скругления/фаски.
|
||
\en An array of edges for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[out] result - \ru Опорные точки размеров операции скругления/фаски.
|
||
\en Support points of the fillet/chamfer operation sizes. \~
|
||
\param[in] edgeParam - \ru Параметр точки на ребре (0 <= edgeParam <= 1).
|
||
\en The parameter of a point on the edge (0 <= edgeParam <= 1). \~
|
||
\param[in] dimensionEdge - \ru Ребро, на котором дать опорные точки.
|
||
\en The edge on which the support points are to be created. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothPositionData with MbSmoothPositionDataParams )
|
||
MATH_FUNC (MbResultType) SmoothPositionData( const MbSolid & solid,
|
||
RPArray<MbCurveEdge> & edges,
|
||
const SmoothValues & params,
|
||
RPArray<MbPositionData> & result,
|
||
double edgeParam = 0.5,
|
||
const MbCurveEdge * dimensionEdge = nullptr );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить опорные точки размеров операции скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes. \~
|
||
\details \ru Построить опорные точки размеров операции скругления/фаски и сложить в контейнер data. \n
|
||
Первые две точки лежат на краях поверхности скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes and store them in container 'data'. \n
|
||
The first two points lie on the fillet/chamfer surface boundary. \~
|
||
\deprecated \ru Метод устарел. Взамен использовать #SmoothPositionData с набором параметров #MbSmoothPositionDataParams.
|
||
\en The method is deprecated. Use instead #SmoothPositionData with the parameters #MbSmoothPositionDataParams. \~
|
||
\param[in] solid - \ru Исходное тело.
|
||
\en The initial solid. \~
|
||
\param[in] edges - \ru Множество выбранных ребер для скругления/фаски и функций изменения радиуса для скругления/фаски.
|
||
\en The array of specified edges for fillet/chamfer and radius laws for fillet/chamfer. \~
|
||
\param[in] params - \ru Параметры операции скругления/фаски.
|
||
\en Parameters of the fillet/chamfer operation. \~
|
||
\param[out] result - \ru Опорные точки размеров операции скругления/фаски.
|
||
\en Support points of the fillet/chamfer operation sizes. \~
|
||
\param[in] edgeParam - \ru Параметр точки на ребре (0 <= edgeParam <= 1).
|
||
\en The parameter of a point on the edge (0 <= edgeParam <= 1). \~
|
||
\param[in] dimensionEdge - \ru Ребро, на котором дать опорные точки.
|
||
\en The edge on which the support points are to be created. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE( SmoothPositionData with MbSmoothPositionDataParams )
|
||
MATH_FUNC (MbResultType) SmoothPositionData( const MbSolid & solid,
|
||
SArray<MbEdgeFunction> & edges,
|
||
const SmoothValues & params,
|
||
RPArray<MbPositionData> & result,
|
||
double edgeParam = 0.5,
|
||
const MbCurveEdge * dimensionEdge = nullptr );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построить опорные точки размеров операции скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes. \~
|
||
\details \ru Построить опорные точки размеров операции скругления/фаски и сложить в контейнер data. \n
|
||
Первые две точки лежат на краях поверхности скругления/фаски.
|
||
\en Create support points of fillet/chamfer operation sizes and store them in container 'data'. \n
|
||
The first two points lie on the fillet/chamfer surface boundary. \~
|
||
\param[in] params - \ru Параметры для построения опорных точек размеров операции скругления/фаски.
|
||
\en Parameters for creating support points of fillet/chamfer operation sizes. \~
|
||
\param[out] result - \ru Выходные данные построения опорных точек размеров операции скругления/фаски.
|
||
\en The output data of creating support points of fillet/chamfer operation sizes. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC( MbResultType ) SmoothPositionData( const MbSmoothPositionDataParams & params,
|
||
MbSmoothPositionDataResults & result );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построение функции изменения указанной координаты кривой.
|
||
\en Create a function by one of three coordinates of curve. \~
|
||
\details \ru Для указанной координаты кривой построить склярную функцию её изменения, зависящую от параметра кривой. \n
|
||
\en A function creation for behavior of selected curve coordinate with curve parameter. \n
|
||
\deprecated \ru Метод устарел. Взамен использовать #CreateFunction с набором параметров #MbFunctionParameters.
|
||
\en The method is deprecated. Use instead #CreateFunction with the parameters #MbFunctionParameters. \~
|
||
\param[in] curve - \ru Кривая.
|
||
\en The curve. \~
|
||
\param[in] place - \ru Локальная система координат, в которой используется кривая.
|
||
\en The local coordinate system that uses the curve. \~
|
||
\param[in] coordinate - \ru Номер (0,1,2) координаты кривой в локальной системе координат для построения функции.
|
||
\en The number (0,1,2) of the curve coordinate in the local coordinate system for constructing the function. \~
|
||
\return \ru Возвращает построенную функцию.
|
||
\en Returns the created function. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
//DEPRECATE_DECLARE_REPLACE(CreateFunction with MbFunctionParameters)
|
||
MATH_FUNC (MbFunction *) CreateFunction( const MbCurve3D & curve,
|
||
const MbPlacement3D & place,
|
||
size_t coordinate );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Построение скалярной функции изменения Y-координаты кривой.
|
||
\en Create a scalar function by Y-coordinate of curve. \~
|
||
\details \ru Для Y-координаты кривой построить скалярную функцию её изменения, зависящую от X-координаты кривой. \n
|
||
\en A function creation for behavior of Y-curve coordinate with X-curve parameter. \n
|
||
\param[in] curve - \ru Кривая.
|
||
\en The curve. \~
|
||
\param[in] params - \ru Параметры скалярной функции.
|
||
\en The parameters of the scalar function. \~
|
||
\return \ru Возвращает построенную функцию.
|
||
\en Returns the created function. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC (c3d::FunctionSPtr) CreateFunction( const MbCurve & curve,
|
||
const MbFunctionParameters & params );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Вычисление данных фантома для торцев поверхности переменного сечения.
|
||
\en Calculation of the phantom data for the ends of the mutable section surface. \~
|
||
\details \ru Вычисление плоскости сечения, точек направляющих, сторон охватывающего треугольника и вершины на торце поверхности. \n
|
||
\en Calculating the section plane, guide points, sides of the enclosing triangle, and apex at the ends of the surface. \n
|
||
\param[in] sectionData - \ru Параметры поверхности переменного сечения.
|
||
\en The parameters of the mutable section surface. \~
|
||
\param[out] sctionPhantom - \ru Данные охватывающих треугольников на торцах поверхности переменного сечения.
|
||
\en The data of the enclosing triangles at the ends of the mutable section surface. \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
MATH_FUNC (MbResultType) SectionPhantom( const MbSectionData & sectionData,
|
||
MbSectionPhantom & sctionPhantom );
|
||
|
||
|
||
//------------------------------------------------------------------------------
|
||
/** \brief \ru Вычисление данных фантома для торцев поверхности переменного сечения.
|
||
\en Calculation of the phantom data for the ends of the mutable section surface. \~
|
||
\details \ru Вычисление плоскости сечения, точек направляющих, сторон охватывающего треугольника и вершины на торце поверхности. \n
|
||
\en Calculating the section plane, guide points, sides of the enclosing triangle, and apex at the ends of the surface. \n
|
||
\param[in] sectionData - \ru Параметры поверхности переменного сечения.
|
||
\en The parameters of the mutable section surface. \~
|
||
\param[out] begPlace - \ru XY плоскость локальной системы координат в начале поверхности.
|
||
\en The XY plane of the local coordinate system is the plane at the beginning of the surface. \~
|
||
\param[out] begGuideP1 - \ru Точка первой направляющей в начале поверхности.
|
||
\en The point of the first guide at the beginning of the surface. \~
|
||
\param[out] begGuideP2 - \ru Точка второй направляющей в начале поверхности.
|
||
\en The point of the second guide at the beginning of the surface. \~
|
||
\param[out] begVector1 - \ru Вектор направления от первой направляющей (сторона охватывающего треугольника) в начале поверхности.
|
||
\en The direction vector from the first guide (the side of the enclosing triangle) at the beginning of the surface. \~
|
||
\param[out] begVector2 - \ru Вектор направления от второй направляющей (сторона охватывающего треугольника) в начале поверхности.
|
||
\en The direction vector from the second guide (the side of the enclosing triangle) at the beginning of the surface. \~
|
||
\param[out] begApex - \ru Точка вершинной кривой в начале поверхности (может быть в бесконечности).
|
||
\en The point of the apex curve at the beginning of the surface (maybe in infinity). \~
|
||
\param[out] endPlace - \ru XY плоскость локальной системы координат в конце поверхности.
|
||
\en The XY plane of the local coordinate system is the plane at the end of the surface. \~
|
||
\param[out] endGuideP1 - \ru Точка первой направляющей в конце поверхности.
|
||
\en The point of the first guide at the end of the surface. \~
|
||
\param[out] endGuideP2 - \ru Точка второй направляющей в конце поверхности.
|
||
\en The point of the second guide at the end of the surface. \~
|
||
\param[out] endVector1 - \ru Вектор направления от первой направляющей (сторона охватывающего треугольника) в конце поверхности.
|
||
\en The direction vector from the first guide (the side of the enclosing triangle) at the end of the surface. \~
|
||
\param[out] endVector2 - \ru Вектор направления от второй направляющей (сторона охватывающего треугольника) в конце поверхности.
|
||
\en The direction vector from the second guide (the side of the enclosing triangle) at the end of the surface. \~
|
||
\param[out] endApex - \ru Точка вершинной кривой в конце поверхности (может быть в бесконечности).
|
||
\en The point of the apex curve at the end of the surface (maybe in infinity). \~
|
||
\return \ru Возвращает код результата построения.
|
||
\en Returns the creation result code. \~
|
||
\ingroup Algorithms_3D
|
||
*/
|
||
// ---
|
||
DEPRECATE_DECLARE_REPLACE(SectionPhantom with MbSectionPhantom)
|
||
MATH_FUNC (MbResultType) SectionPhantom( const MbSectionData & sectionData,
|
||
MbPlacement3D & begPlace,
|
||
MbCartPoint3D & begGuideP1,
|
||
MbCartPoint3D & begGuideP2,
|
||
MbVector3D & begVector1,
|
||
MbVector3D & begVector2,
|
||
MbCartPoint3D & begApex,
|
||
MbPlacement3D & endPlace,
|
||
MbCartPoint3D & endGuideP1,
|
||
MbCartPoint3D & endGuideP2,
|
||
MbVector3D & endVector1,
|
||
MbVector3D & endVector2,
|
||
MbCartPoint3D & endApex );
|
||
|
||
|
||
#endif // __ACTION_PHANTOM_H
|