C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Параметры поверхности по сетке кривых. Подробнее...

Открытые члены

 MeshSurfaceValues ()
 Конструктор по умолчанию.
 
 ~MeshSurfaceValues ()
 Деструктор.
 
bool Init (const RPArray< MbCurve3D > &curvesU, bool uClosed, const RPArray< MbCurve3D > &curvesV, bool vClosed, bool checkSelfInt, MbeMatingType type0=trt_Position, MbeMatingType type1=trt_Position, MbeMatingType type2=trt_Position, MbeMatingType type3=trt_Position, const MbSurface *surf_0=NULL, const MbSurface *surf_1=NULL, const MbSurface *surf_2=NULL, const MbSurface *surf_3=NULL, const MbPoint3D *pnt=NULL, bool modify=true, bool direct0=true, bool direct1=true, bool direct2=true, bool direct3=true)
 Функция инициализации. Подробнее...
 
void Init (const MeshSurfaceValues &pars, bool sameItems)
 Функция инициализации. Подробнее...
 
bool IsCurveOnSurface (const MbCurve3D &curve, const MbSurface &surf) const
 Лежит ли кривая на поверхности. Подробнее...
 
void AreCurvesMatingToSurface (const RPArray< MbCurve3D > &curves, const MbSurface &surf, const MbCurve3D *otherCurve, bool &isTangent, bool &isNormal, bool &isSmooth) const
 Сопрягаются ли кривые с поверхностью точках пересечения с otherCurve. Подробнее...
 
bool GetPointsOfCrossing (const MbCurve3D &curve, const RPArray< MbCurve3D > &otherCurves, SArray< MbCartPoint3D > &res) const
 Получить точки скрещивания-пересечения кривой с семейством кривых.
 
bool IsValid (const MbSNameMaker &snMaker) const
 Первичная проверка корректности параметров.
 
void InvertCurvesV ()
 Обратить порядок следования кривых по второму направлению, чтобы directOrderV был true.
 
const MbCurve3DGetBorderCurve (ptrdiff_t i) const
 Получить кривую на границе с номером i.
 
MbeMatingType GetTransitType (ptrdiff_t i) const
 Получить тип сопряжения на границе с номером i.
 
const MbSurfaceGetSurface (size_t i) const
 Получить поверхность сопряжения на границе с номером i.
 
MbSurfaceSetSurface (size_t i)
 Получить поверхность сопряжения на границе с номером i.
 
bool IsDefaultDirection (size_t i) const
 Получить направление сопряжения на границе с номером i.
 
bool GetUClosed () const
 Замкнутость по U направлению.
 
bool GetVClosed () const
 Замкнутость по V направлению.
 
void SetUClosed (bool cls)
 Замкнутость по U направлению.
 
void SetVClosed (bool cls)
 Замкнутость по V направлению.
 
size_t GetCurvesUCount () const
 Количество кривых по U.
 
ptrdiff_t GetCurvesUMaxIndex () const
 Максимальный индекс в массиве кривых по U.
 
const MbCurve3DGetCurveU (size_t k) const
 Получить кривую по индексу.
 
MbCurve3DSetCurveU (size_t k)
 Получить кривую по индексу.
 
void GetCurvesU (RPArray< MbCurve3D > &curves) const
 Получить кривые по U.
 
void SetCurvesU (const RPArray< MbCurve3D > &newCurves)
 Установить кривые по U.
 
void DetachCurvesU (RPArray< MbCurve3D > &curves)
 Отцепить кривые по U.
 
size_t FindCurveU (const MbCurve3D *curve) const
 Найти кривую.
 
size_t GetCurvesVCount () const
 Количество кривых по V.
 
ptrdiff_t GetCurvesVMaxIndex () const
 Максимальный индекс в массиве кривых по V.
 
const MbCurve3DGetCurveV (size_t k) const
 Получить кривую по индексу.
 
MbCurve3DSetCurveV (size_t k) const
 Получить кривую по индексу.
 
void GetCurvesV (RPArray< MbCurve3D > &curves) const
 Получить кривые по V.
 
void SetCurvesV (const RPArray< MbCurve3D > &newCurves)
 Установить кривые по V.
 
void DetachCurvesV (RPArray< MbCurve3D > &curves)
 Отцепить кривые по V.
 
size_t FindCurveV (const MbCurve3D *curve) const
 Найти кривую.
 
void SetPoint (const MbPoint3D *pnt)
 Установить точку.
 
const MbPoint3DGetPoint () const
 Получить точку.
 
MbPoint3DSetPoint ()
 Получить точку.
 
bool IsSame (const MeshSurfaceValues &, double accuracy) const
 Являются ли объекты равными?
 
bool AreSurfacesEmpty () const
 Набор граничных поверхность пуст?
 
bool CheckSelfInt () const
 Нужно ли проверять самопересечения?
 
Вспомогательные функции геометрических преобразований.
void Transform (const MbMatrix3D &, MbRegTransform *ireg)
 Преобразовать кривые согласно матрице.
 
void Move (const MbVector3D &, MbRegTransform *ireg)
 Сдвинуть кривые вдоль вектора.
 
void Rotate (const MbAxis3D &, double angle, MbRegTransform *ireg)
 Повернуть кривые вокруг оси на заданный угол.
 
bool TransformCurves ()
 Привести кривые к поверхностной форме (кривые на поверхности)
 

Друзья

class MbMeshShell
 

Подробное описание

Параметры поверхности по сетке кривых.

Параметры содержат необходимые данные для построения поверхности по сетке кривых.

Методы

◆ Init() [1/2]

bool MeshSurfaceValues::Init ( const RPArray< MbCurve3D > &  curvesU,
bool  uClosed,
const RPArray< MbCurve3D > &  curvesV,
bool  vClosed,
bool  checkSelfInt,
MbeMatingType  type0 = trt_Position,
MbeMatingType  type1 = trt_Position,
MbeMatingType  type2 = trt_Position,
MbeMatingType  type3 = trt_Position,
const MbSurface surf_0 = NULL,
const MbSurface surf_1 = NULL,
const MbSurface surf_2 = NULL,
const MbSurface surf_3 = NULL,
const MbPoint3D pnt = NULL,
bool  modify = true,
bool  direct0 = true,
bool  direct1 = true,
bool  direct2 = true,
bool  direct3 = true 
)

Функция инициализации.

Функция инициализации на оригиналах кривых и копиях поверхностей.

Аргументы
[in]curvesU,curvesV- Наборы кривых по первому и второму направлению.
[in]uClosed,vClosed- Признак замкнутости по направлениям u и v.
[in]checkSelfInt- Флаг проверки на самопересечение.
[in]type0,type1,type2,type3- Типы сопряжений на границах.
[in]surfaces0,surfaces1,surfaces2,surfaces3- Соответствующие сопрягаемые поверхности.
[in]modify- Флаг модификации кривых по сопряжениям.

◆ Init() [2/2]

void MeshSurfaceValues::Init ( const MeshSurfaceValues pars,
bool  sameItems 
)

Функция инициализации.

Функция инициализации на оригиналах или копиях кривых и поверхностей.

Аргументы
[in]pars- Исходные параметры.
[in]sameItems- Флаг использования оригиналов кривых и поверхностей.

◆ IsCurveOnSurface()

bool MeshSurfaceValues::IsCurveOnSurface ( const MbCurve3D curve,
const MbSurface surf 
) const

Лежит ли кривая на поверхности.

Лежит ли кривая полностью на поверхности.

Аргументы
[in]curve- Проверяемая кривая.
[in]surf- Проверяемая поверхность.

◆ AreCurvesMatingToSurface()

void MeshSurfaceValues::AreCurvesMatingToSurface ( const RPArray< MbCurve3D > &  curves,
const MbSurface surf,
const MbCurve3D otherCurve,
bool &  isTangent,
bool &  isNormal,
bool &  isSmooth 
) const

Сопрягаются ли кривые с поверхностью точках пересечения с otherCurve.

Сопрягаются ли кривые (касательно, по нормали, гладко) с поверхностью в точках пересечения с otherCurve.

Аргументы
[in]curves- Набор проверяемых кривых.
[in]surf- Поверхность.
[in]otherCurve- Кривая на этой поверхности.
[out]isTangent- Признак касательного сопряжения.
[out]isNormal- Признак сопряжения по нормали.
[out]isSmooth- Признак гладкого сопряжения.

Объявления и описания членов структуры находятся в файле: