Построение триангуляции грани

Метод

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:

../../../../_images/R.1.5.1.png

Рис. 1

На рис. 2 приведена триангуляция криволинейной грани с маской ist_SpaceStep.

../../../../_images/R.1.5.2.png

Рис. 2

Рассматриваемый метод вызывается при построении полигональных объектов методами CalculateMesh() и AddYourMesh(), если note.grid == true.