Bitbybit Docs
    Preparing search index...

    Class MeshEvaluate

    Чтение данных меша Manifold: позиция и дополнительные свойства вершины, вершины треугольника, касательная полуребра, преобразование серии треугольников и число свойств, вершин, треугольников и серий. Индексы считаются с 0.

    Index

    Constructors

    basic

    • Читает позицию одной вершины меша.

      Parameters

      Returns Promise<Point3>

      Позиция вершины

      const point = await bitbybit.manifold.mesh.evaluate.position({ mesh, vertexIndex: 0 });
      
    • Читает три индекса вершин одного треугольника меша, в порядке против часовой стрелки.

      Parameters

      Returns Promise<number[]>

      Три индекса вершин

      const corners = await bitbybit.manifold.mesh.evaluate.verts({ mesh, triangleIndex: 0 });
      
    • Читает касательную одного полуребра сглаженного меша: направление, в котором поверхность отходит от начальной вершины ребра, как три числа плюс вес.

      Полуребро с номером три раза индекс треугольника плюс j - ребро треугольника t, начинающееся в его j-й вершине; у меша без касательных сглаживания их нет.

      Parameters

      Returns Promise<number[]>

      Касательная как [x, y, z, weight]

      const tangent = await bitbybit.manifold.mesh.evaluate.tangent({ mesh: smoothedMesh, halfEdgeIndex: 0 });
      
    • Читает свойства одной вершины помимо ее позиции, такие как нормали или цвета, хранящиеся в дополнительных каналах.

      Parameters

      Returns Promise<number[]>

      Значения дополнительных свойств, в порядке каналов

      const props = await bitbybit.manifold.mesh.evaluate.extras({ mesh, vertexIndex: 0 });
      
    • Читает матрицу 4x4 в порядке по столбцам, которая переносит исходный меш на одну серию треугольников, размещение этого экземпляра.

      Parameters

      Returns Promise<number[]>

      16 чисел матрицы

      const placement = await bitbybit.manifold.mesh.evaluate.transform({ mesh, triangleRunIndex: 0 });
      
    • Сообщает, обращена ли серия треугольников в другую сторону, чем исходная сетка, из которой она пришла, как внутренняя поверхность, оставшаяся после вычитания. Справочно: нормали, которые выдаёт сетка, уже ориентированы для результата.

      Parameters

      Returns Promise<boolean>

      Истина, когда серия является обратной стороной

      const flipped = await bitbybit.manifold.mesh.evaluate.backside({ mesh, triangleRunIndex: 0 });
      
    • Сообщает, содержат ли первые три дополнительных канала свойств серии треугольников нормали вершин, которые туда записывает manifold.operations.calculateNormals.

      Parameters

      Returns Promise<boolean>

      Истина, когда серия несёт нормали в своих свойствах

      const lit = await bitbybit.manifold.mesh.evaluate.hasNormals({ mesh, triangleRunIndex: 0 });
      
    • Считает каналы свойств, которые несет каждая вершина меша; одна только позиция занимает три.

      Parameters

      Returns Promise<number>

      Число свойств на вершину

      const channels = await bitbybit.manifold.mesh.evaluate.numProp({ mesh });
      
    • Считает вершины свойств меша, которых может быть больше геометрических вершин там, где соседние треугольники несут разные свойства.

      Parameters

      Returns Promise<number>

      Число вершин

      const vertices = await bitbybit.manifold.mesh.evaluate.numVert({ mesh });
      
    • Считает треугольники меша, которые вместе составляют всю его поверхность.

      Parameters

      Returns Promise<number>

      Число треугольников

      const triangles = await bitbybit.manifold.mesh.evaluate.numTri({ mesh });
      
    • Считает серии треугольников меша: каждая серия - отрезок последовательных треугольников, пришедших из одного и того же экземпляра одной и той же входной формы.

      Parameters

      Returns Promise<number>

      Число серий

      const runs = await bitbybit.manifold.mesh.evaluate.numRun({ mesh });