Построение триангуляции грани
Метод
void CalculateGrid( const MbFace & face,
const MbStepData & stepData,
bool edgePoints,
MbGrid & grid,
bool dualSeams = true );
аппроксимирует грань треугольными и четырёхугольными пластинами.
Входными параметрами метода являются:
face – грань;
stepData – данные для вычисления шага аппроксимации;
edgePoints – флаг использования пространственных точек;
dualSeams – флаг обработки швов.
Выходным параметром метода является триангуляция grid.
Метод объявлен в файле tri_face.h.
Параметр stepData управляет густотой триангуляции и содержит данные для вычисления шага при движении вдоль поверхности грани. Параметр stepData описан в подразделе Управление вычислением триангуляции. Для различных значений stepData.stepType заполняются различные данные триангуляции grid. Если stepData.stepType содержит маску ist_MipStep, то заполняется множество grid.params. Если stepData.stepType содержит маску ist_CollisionStep или ist_ParamStep, то заполняются множества grid.params, grid.points и grid.normals. В остальных случаях заполняются множества grid.params и grid.points.
На рис. 1 приведена триангуляция плоской грани с маской ist_SpaceStep:
Рис. 1
На рис. 2 приведена триангуляция криволинейной грани с маской ist_SpaceStep.
Рис. 2
Рассматриваемый метод вызывается при построении полигональных объектов методами CalculateMesh() и AddYourMesh(), если note.grid == true.