Bitbybit Docs
    Preparing search index...

    Class ManifoldEvaluate

    Medir sólidos Manifold y leer su contabilidad: área de superficie y volumen, número de vértices, triángulos y aristas, la caja delimitadora, la tolerancia, el género, el hueco hasta otro sólido, y el id y el estado que el núcleo registra para cada sólido. Nada de aquí cambia el sólido.

    Index

    Constructors

    basic

    • Mide el área total de la superficie de un sólido, en unidades del modelo al cuadrado.

      Parameters

      Returns Promise<number>

      El área de la superficie

      const area = await bitbybit.manifold.manifold.evaluate.surfaceArea({ manifold: cube });
      
    • Mide el volumen de un sólido, en unidades del modelo al cubo.

      Parameters

      Returns Promise<number>

      El volumen

      const volume = await bitbybit.manifold.manifold.evaluate.volume({ manifold: cube });
      
    • Indica si un sólido no tiene ningún triángulo, como lo estaría el resultado de una intersección de formas que no se solapan.

      Parameters

      Returns Promise<boolean>

      True cuando el sólido está vacío

      const empty = await bitbybit.manifold.manifold.evaluate.isEmpty({ manifold: shape });
      
    • Cuenta los vértices de la malla de un sólido, las esquinas que comparten sus triángulos.

      Parameters

      Returns Promise<number>

      El número de vértices

      const vertices = await bitbybit.manifold.manifold.evaluate.numVert({ manifold: shape });
      
    • Cuenta los triángulos de la malla de un sólido, que son toda su superficie.

      Parameters

      Returns Promise<number>

      El número de triángulos

      const triangles = await bitbybit.manifold.manifold.evaluate.numTri({ manifold: shape });
      
    • Cuenta las aristas de la malla de un sólido, cada una compartida por dos triángulos.

      Parameters

      Returns Promise<number>

      El número de aristas

      const edges = await bitbybit.manifold.manifold.evaluate.numEdge({ manifold: shape });
      
    • Cuenta los canales de propiedades que lleva cada vértice de un sólido; solo la posición ocupa tres.

      Parameters

      Returns Promise<number>

      El número de propiedades por vértice

      const channels = await bitbybit.manifold.manifold.evaluate.numProp({ manifold: shape });
      
    • Cuenta los vértices de propiedades de un sólido, que es al menos numVert: un vértice cuyos triángulos vecinos llevan propiedades distintas, como una arista afilada con dos normales, se guarda más de una vez.

      Parameters

      Returns Promise<number>

      El número de vértices de propiedades

      const propVertices = await bitbybit.manifold.manifold.evaluate.numPropVert({ manifold: shape });
      
    • Encuentra la caja alineada con los ejes alrededor de cada vértice de un sólido.

      Parameters

      Returns Promise<Vector3[]>

      La esquina mínima y la esquina máxima

      const [min, max] = await bitbybit.manifold.manifold.evaluate.boundingBox({ manifold: shape });
      
    • Lee la tolerancia de un sólido, el error de redondeo que se ha acumulado a lo largo de las transformaciones y operaciones que lo crearon.

      Los triángulos más finos que esto se tratan como degenerados y se eliminan.

      Parameters

      Returns Promise<number>

      La tolerancia en unidades del modelo

      const tolerance = await bitbybit.manifold.manifold.evaluate.tolerance({ manifold: shape });
      
    • Cuenta los agujeros que atraviesan un sólido, como un anillo tiene uno y una esfera ninguno.

      Solo tiene sentido para una sola pieza conectada, así que ejecuta primero operations.decompose en un sólido hecho de varias.

      Parameters

      Returns Promise<number>

      El número de agujeros que atraviesan el sólido

      const holes = await bitbybit.manifold.manifold.evaluate.genus({ manifold: shape });
      
    • Mide la distancia más pequeña entre dos sólidos, buscando no más lejos que searchLength.

      El resultado está entre 0 y la longitud de búsqueda.

      Parameters

      Returns Promise<number>

      El hueco más pequeño entre ellos

      const gap = await bitbybit.manifold.manifold.evaluate.minGap({ manifold1: cube, manifold2: sphere, searchLength: 100 });
      
    • Lee el id de un sólido que es un original, tal como lo hace operations.asOriginal o un sólido recién construido; un sólido producido a partir de otros por una operación informa -1.

      Parameters

      Returns Promise<number>

      El id original, o -1

      const id = await bitbybit.manifold.manifold.evaluate.originalID({ manifold: shape });
      
    • Indica por qué un sólido salió vacío: NoError, o una razón como NotManifold o InvalidConstruction cuando la malla a partir de la que se construyó no era una superficie cerrada.

      El estado se arrastra por las operaciones posteriores, de modo que una entrada rota no se pierde; un sólido vacío puede seguir informando NoError, como lo hace intersecar formas que no se solapan.

      Parameters

      Returns Promise<string>

      El nombre del estado

      const status = await bitbybit.manifold.manifold.evaluate.status({ manifold: shape });
      

    spatial

    • Lanza un segmento de rayo de un punto a otro y lista cada lugar donde cruza la superficie de un sólido, el más cercano primero; una lista vacía cuando falla.

      Un impacto lleva el punto, la normal en él, el id de la cara original y su distancia a lo largo del segmento como fracción de la longitud del segmento.

      Parameters

      Returns Promise<RayHit[]>

      Los impactos ordenados por distancia

      const hits = await bitbybit.manifold.manifold.evaluate.rayCast({ manifold: shape, origin: [0, 10, 0], endpoint: [0, -10, 0] });