C3D Kernel  102057
Функции
Триангуляция
Методы геометрических вычислений
Граф связей класса Триангуляция:

Функции

void CalculateBoundsSltFast (const MbGrid &grid, const MbMatrix3D &matrix, bool perspective, RPArray< MbFloatPoint3D > &points)
 Построить силуэтные линий по триангуляционной сетке.
void CalculateBoundsSlt (const MbGrid &grid, const MbMatrix3D &matrix, bool perspective, SArray< MbFloatPoint3D > &points)
 Построить силуэтные линий по триангуляционной сетке.
void CalculateSections (const MbGrid &grid, const MbMatrix3D &matrix, SArray< MbFloatPoint3D > &points)
 Построить линии сечения по триангуляционной сетке.
bool PolygonTubeGrid (const MbPolygon3D &poly, double radius, double sag, MbGrid &grid)
 Построить триангуляции в форме трубы заданного радиуса вокруг полигона.
bool PolygonToGrid (const MbPolygon &poly, MbGrid &grid)
 Преобразовать двумерный полигон в триангуляцию.
void CalculateGrid (const MbSolid &solid, const MbStepData &stepData, RPArray< MbGrid > &grids)
 Аппроксимировать твердое тело.
void CalculateGrid (const RPArray< MbSolid > &solids, const MbStepData &stepData, RPArray< MbMesh > &meshs)
 Построить массив триангуляций.
void CalculateGrid (const MbFace &face, const MbStepData &stepData, MbGrid &grid, bool dualSeams=true)
 Аппроксимировать грань.
bool StepDataTune (const MbCube &cube, size_t count, MbStepData &stepData)
 Настройка данных вычисления шага триангуляции stepData.

Функции

void CalculateBoundsSltFast ( const MbGrid grid,
const MbMatrix3D matrix,
bool  perspective,
RPArray< MbFloatPoint3D > &  points 
)

Выдать силуэтные линии в виде пар указателей на существующие точки в массиве триангуляции.

Аргументы:
[in]grid- Триангуляционная сетка.
[in]matrix- Матрица для задания вектора взгляда.
[in]perspective- Признак перспективного отображения.
[out]points- Результат - набор точек.
void CalculateBoundsSlt ( const MbGrid grid,
const MbMatrix3D matrix,
bool  perspective,
SArray< MbFloatPoint3D > &  points 
)

Выдать силуэтные линии в виде пар точек.

Аргументы:
[in]grid- Триангуляционная сетка.
[in]matrix- Матрица для задания вектора взгляда.
[in]perspective- Признак перспективного отображения.
[out]points- Результат - набор точек.
void CalculateSections ( const MbGrid grid,
const MbMatrix3D matrix,
SArray< MbFloatPoint3D > &  points 
)

Выдать линии сечения в виде пар точек.

Аргументы:
[in]grid- Триангуляционная сетка.
[in]matrix- Матрица для задания плоскости сечения.
[out]points- Результат - набор точек.
bool PolygonTubeGrid ( const MbPolygon3D poly,
double  radius,
double  sag,
MbGrid grid 
)

Построить триангуляции в форме трубы заданного радиуса вокруг полигона.

Аргументы:
[in]poly- Полигон.
[in]radius- Радиус трубы.
[in]sag- Максимальное отклонение триангуляции от окружности (стрелка прогиба).
[out]grid- Триангуляция - результат построения.
bool PolygonToGrid ( const MbPolygon poly,
MbGrid grid 
)

Преобразовать двумерный полигон в триангуляцию.

Аргументы:
[in]poly- Двумерный полигон.
[out]grid- Построенная триангуляция.
void CalculateGrid ( const MbSolid solid,
const MbStepData stepData,
RPArray< MbGrid > &  grids 
)

Аппроксимировать твердое тело массивом треугольных и четырёхугольных пластин.

Аргументы:
[in]solid- Тело.
[in]stepData- Тип триангуляции и величина стрелки прогиба. Параметр, управляющий густотой триангуляции.
[out]grids- Результат - триангуляция тела.
void CalculateGrid ( const RPArray< MbSolid > &  solids,
const MbStepData stepData,
RPArray< MbMesh > &  meshs 
)

Построить массив триангуляций для массива твердых тел. Если массив триангуляций пуст, то он наполняется. Имеющаяся в элементах массива триангуляция будет удалена.

Заметки:
В многопоточном режиме выполняется параллельно.
Аргументы:
[in]solids- Набор тел.
[in]stepData- Тип триангуляции и величина стрелки прогиба. Параметр, управляющий густотой триангуляции.
[out]gridirons- Результат - полигональный геометрический объект.
void CalculateGrid ( const MbFace face,
const MbStepData stepData,
MbGrid grid,
bool  dualSeams = true 
)

Аппроксимировать грань массивом треугольных и четырёхугольных пластин.

Аргументы:
[in]face- Грань.
[in]stepData- Данные для вычисления шага при триангуляции.
[out]grid- Результат - триангуляции: для визуализации заполняются массивы params, points и normals;
для вычисления масс-инерционных характеристик - params;
для проверки столкновений тел - params и points;
для разбивки на конечные элементы - points и normals.
[in]dualSeams- Флаг сохранения полигонов шовных ребер и их совпадающих точек.
bool StepDataTune ( const MbCube cube,
size_t  count,
MbStepData stepData 
)

Проверка и коррекция данных вычисления шага stepData так, чтобы количество точек триангуляции не превосходило заданную величину на порядок.

Аргументы:
[in]cube- Габаритный куб.
[in]count- Предположительное предельное количество точек триангуляции для одной грани (10 000 000).
[in]stepData- Данные для вычисления шага при триангуляции.
Возвращает:
true - были внесены изменения в stepData, false - изменений не было.
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы