.. role:: blue :class: blue Построение триангуляции грани ============================= .. _Constructing_Triangulation_for_a_Face: .. версия ядра: Метод .. code-block:: cpp 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* описан в подразделе :ref:`Управление вычислением триангуляции `. Для различных значений *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*: .. figure:: ../../pictures/R.1.5.1.png :width: 9cm :align: center Рис. 1 На рис. 2 приведена триангуляция криволинейной грани с маской *ist_SpaceStep*. .. figure:: ../../pictures/R.1.5.2.png :width: 9cm :align: center Рис. 2 Рассматриваемый метод вызывается при построении полигональных объектов методами :blue:`CalculateMesh`\() и :blue:`AddYourMesh`\(), если *note.grid* == true.