Bitbybit Docs
    Preparing search index...

    Class MeshEvaluate

    Ler dados de malha Manifold: a posição e as propriedades extra de um vértice, os vértices de um triângulo, a tangente de uma meia-aresta, a transformação de uma sequência de triângulos, e as contagens de propriedades, vértices, triângulos e sequências. Os índices contam a partir de 0.

    Index

    Constructors

    basic

    • Lê a posição de um vértice de uma malha.

      Parameters

      Returns Promise<Point3>

      A posição do vértice

      const point = await bitbybit.manifold.mesh.evaluate.position({ mesh, vertexIndex: 0 });
      
    • Lê os três índices de vértice de um triângulo de uma malha, no sentido anti-horário.

      Parameters

      Returns Promise<number[]>

      Os três índices dos vértices

      const corners = await bitbybit.manifold.mesh.evaluate.verts({ mesh, triangleIndex: 0 });
      
    • Lê a tangente de uma meia-aresta de uma malha suavizada: a direção em que a superfície sai do vértice inicial da aresta, como três números mais um peso.

      A meia-aresta três vezes o índice do triângulo mais j é a aresta do triângulo t que começa no seu j-ésimo vértice; uma malha sem tangentes de suavização não tem nenhuma.

      Parameters

      Returns Promise<number[]>

      A tangente como [x, y, z, weight]

      const tangent = await bitbybit.manifold.mesh.evaluate.tangent({ mesh: smoothedMesh, halfEdgeIndex: 0 });
      
    • Lê as propriedades de um vértice além da sua posição, como normais ou cores guardadas em canais extra.

      Parameters

      Returns Promise<number[]>

      Os valores das propriedades extra, pela ordem dos canais

      const props = await bitbybit.manifold.mesh.evaluate.extras({ mesh, vertexIndex: 0 });
      
    • Lê a matriz 4x4 ordenada por colunas que leva a malha original para uma sequência de triângulos, a colocação dessa instância.

      Parameters

      Returns Promise<number[]>

      Os 16 números da matriz

      const placement = await bitbybit.manifold.mesh.evaluate.transform({ mesh, triangleRunIndex: 0 });
      
    • Indica se uma série de triângulos está virada para o lado oposto à malha original de onde veio, como a superfície interior deixada por uma subtração. Informativo: as normais que uma malha entrega já estão orientadas para o resultado.

      Parameters

      Returns Promise<boolean>

      Verdadeiro quando a série é uma face posterior

      const flipped = await bitbybit.manifold.mesh.evaluate.backside({ mesh, triangleRunIndex: 0 });
      
    • Indica se os três primeiros canais de propriedades extra de uma série de triângulos contêm normais de vértice, que manifold.operations.calculateNormals escreve aí.

      Parameters

      Returns Promise<boolean>

      Verdadeiro quando a série carrega normais nas suas propriedades

      const lit = await bitbybit.manifold.mesh.evaluate.hasNormals({ mesh, triangleRunIndex: 0 });
      
    • Conta os canais de propriedades que cada vértice de uma malha transporta; só a posição ocupa três.

      Parameters

      Returns Promise<number>

      O número de propriedades por vértice

      const channels = await bitbybit.manifold.mesh.evaluate.numProp({ mesh });
      
    • Conta os vértices de propriedades de uma malha, que podem exceder os vértices geométricos onde triângulos vizinhos transportam propriedades diferentes.

      Parameters

      Returns Promise<number>

      O número de vértices

      const vertices = await bitbybit.manifold.mesh.evaluate.numVert({ mesh });
      
    • Conta os triângulos de uma malha, que juntos formam toda a sua superfície.

      Parameters

      Returns Promise<number>

      O número de triângulos

      const triangles = await bitbybit.manifold.mesh.evaluate.numTri({ mesh });
      
    • Conta as sequências de triângulos de uma malha: cada sequência é um troço de triângulos consecutivos que vieram da mesma instância da mesma forma de entrada.

      Parameters

      Returns Promise<number>

      O número de sequências

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