C3D Kernel  104598
Открытые члены | Друзья
Структура NurbsSurfaceValues

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

Граф связей класса NurbsSurfaceValues:
Collaboration graph
[см. легенду]

Полный список членов класса

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

 NurbsSurfaceValues ()
 Конструктор по умолчанию.
 NurbsSurfaceValues (const NurbsSurfaceValues &)
 Конструктор копирования.
 ~NurbsSurfaceValues ()
 Деструктор.
bool InitMesh (ptrdiff_t uDeg, bool uCls, ptrdiff_t vDeg, bool vCls, const Array2< MbCartPoint3D > &pnts, bool checkSelfInt)
 Инициализация по сетке точек.
bool InitMesh (ptrdiff_t uDeg, bool uCls, ptrdiff_t vDeg, bool vCls, const Array2< MbCartPoint3D > &pnts, const Array2< double > *wts, bool checkSelfInt)
 Инициализация по сетке точек.
bool InitCloud (ptrdiff_t uvDeg, const Array2< MbCartPoint3D > &pnts, const MbPlacement3D *cloudPlace, bool checkSelfInt)
 Инициализация по облаку точек.
void operator= (const NurbsSurfaceValues &)
 Оператор копирования.
bool IsValid (bool checkPoints) const
 Первичная проверка корректности параметров.
ptrdiff_t GetUDegree () const
 Получить порядок сплайнов по U.
ptrdiff_t GetVDegree () const
 Получить порядок сплайнов по V.
bool GetUClosed () const
 Замкнутость по U.
bool GetVClosed () const
 Замкнутость по V.
size_t GetUCount () const
 Количество точек по U.
size_t GetVCount () const
 Количество точек по V.
bool SetUDegree (size_t uDeg)
 Установить порядок сплайна по u.
bool SetVDegree (size_t vDeg)
 Установить порядок сплайна по v.
void SetUClosed (bool uCls)
 Установить замкнутость по U.
void SetVClosed (bool vCls)
 Установить замкнутость по V.
bool GetUVPoint (size_t ui, size_t vi, MbCartPoint3D &) const
 Получить точку по позиции.
bool GetUVWeight (size_t ui, size_t vi, double &) const
 Получить вес по позиции.
bool GetCommonWeight (double &) const
 Получить общий вес (вернет true, если вес у всех точек одинаковый).
bool SetUVPoint (size_t ui, size_t vi, const MbCartPoint3D &)
 Установить точки по позиции.
bool SetUVWeight (size_t ui, size_t vi, const double &)
 Установить вес по позиции.
bool SetCommonWeight (double)
 Установить общий вес.
void Transform (const MbMatrix3D &, MbRegTransform *ireg)
 Преобразовать данные согласно матрице.
void Move (const MbVector3D &, MbRegTransform *ireg)
 Сдвинуть данные вдоль вектора.
void Rotate (const MbAxis3D &, double angle, MbRegTransform *ireg)
 Повернуть данные вокруг оси на заданный угол.
bool IsSame (const NurbsSurfaceValues &, double accuracy) const
bool SetSize (size_t ucnt, size_t vcnt, bool keepData=false)
 Установить размерность массивов точек и весов без сохранения или с сохранением имеющихся данных.
void SetThroughPoints (bool tp)
 Установить флаг прохождения поверхности через точки.
bool IsThroughPoints () const
 Будет ли поверхность проходить через точки?
bool IsPointsCloud () const
 Является ли массив облаком точек?
bool IsOwnCloudPlane () const
 Используется ли собственная плоскость проецирования (в случае массива по облаку точек)?
bool CheckSelfInt () const
 Нужно ли проверять самопересечения?
void GetCheckLines (CSSArray< size_t > &checkNumbers) const
 Получить массив номеров проверяемых строк.
void GetCheckCols (CSSArray< size_t > &checkNumbers) const
 Получить массив номеров проверяемых столбцов.
size_t GetPointsLines () const
 Получить количество строк.
size_t GetPointsColumns () const
 Получить количество столбцов.
bool GetPoints (Array2< MbCartPoint3D > &pnts) const
 Получить массив точек.
bool IsWeighted () const
 Если ли веса?
bool GetWeights (Array2< double > &wts) const
 Получить массив весов.
const MbPlaneGetCloudPlane () const
 Получить плоскость проецирования.
ptrdiff_t GetMinCloudDegree () const
 Минимально возможный порядок сплайнов в случае облака точек.
ptrdiff_t GetMaxCloudDegree () const
 Максимально возможный порядок сплайнов в случае облака точек.
bool SetCloudDegreeRange (const NurbsSurfaceValues &meshParam) const
 Выставить максимально возможный порядок по обработанному (регуляризованному) облаку точек.

Друзья

class MbNurbsSurfacesSolid

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

Параметры определяют контрольные точки, веса, узлы сплайновой поверхности.


Конструктор(ы)

NurbsSurfaceValues::NurbsSurfaceValues ( )

Конструктор параметров не замкнутой сплайновой поверхности второго порядка по направлениям u и v.


Методы

bool NurbsSurfaceValues::InitMesh ( ptrdiff_t  uDeg,
bool  uCls,
ptrdiff_t  vDeg,
bool  vCls,
const Array2< MbCartPoint3D > &  pnts,
bool  checkSelfInt 
)

Инициализация параметров сплайновой поверхности по сетке точек.

Аргументы:
[in]uDeg,vDeg- Порядок по u и по v.
[in]uCls,vCls- Признаки замкнутости поверхности по u и по v.
[in]pnts- Набор точек.
[in]checkSelfInt- Признак проверки на самопересечение.
Возвращает:
false при некорректных параметрах.
bool NurbsSurfaceValues::InitMesh ( ptrdiff_t  uDeg,
bool  uCls,
ptrdiff_t  vDeg,
bool  vCls,
const Array2< MbCartPoint3D > &  pnts,
const Array2< double > *  wts,
bool  checkSelfInt 
)

Инициализация параметров сплайновой поверхности по сетке точек.

Аргументы:
[in]uDeg,vDeg- Порядок по u и по v.
[in]uCls,vCls- Признаки замкнутости поверхности по u и по v.
[in]pnts- Набор точек.
[in]wts- Веса точек.
[in]checkSelfInt- Признак проверки на самопересечение.
Возвращает:
false при некорректных параметрах.
bool NurbsSurfaceValues::InitCloud ( ptrdiff_t  uvDeg,
const Array2< MbCartPoint3D > &  pnts,
const MbPlacement3D cloudPlace,
bool  checkSelfInt 
)

Инициализация по облаку точек (используется оригинал плоскости).
Если uvDeg < 0, то будет создаваться набор треугольных пластин
(триангуляцией проекций точек на cloudPlace)

Аргументы:
[in]uvDeg- Порядок по u и по v.
[in]pnts- Множество точек.
Набор точек подходит для инициализации (является облаком точек) в случае, если это одномерный массив точек, не лежащих на одной прямой, без совпадений.
[in]cloudPlace- Опорная плоскость облака точек.
[in]checkSelfInt- Признак проверки на самопересечение.
Возвращает:
true при корректных параметрах.
ptrdiff_t NurbsSurfaceValues::GetMinCloudDegree ( ) const [inline]

Минимально возможный порядок сплайнов в случае облака точек.
Запрашивать после успешного создания поверхности, иначе вернет отрицательное значение.

ptrdiff_t NurbsSurfaceValues::GetMaxCloudDegree ( ) const [inline]

Максимально возможный порядок сплайнов в случае облака точек.
Запрашивать после успешного создания поверхности, иначе вернет отрицательное значение.


Объявления и описания членов структуры находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы