Bitbybit Docs
    Preparing search index...

    Class ManifoldEvaluate

    Mesurer des solides Manifold et lire leur comptabilité : aire de surface et volume, nombres de sommets, de triangles et d'arêtes, la boîte englobante, la tolérance, le genre, l'écart avec un autre solide, et l'id et le statut que le noyau suit pour chaque solide. Rien ici ne modifie le solide.

    Index

    Constructors

    basic

    • Mesure l'aire totale de la surface d'un solide, en unités du modèle au carré.

      Parameters

      Returns Promise<number>

      L'aire de la surface

      const area = await bitbybit.manifold.manifold.evaluate.surfaceArea({ manifold: cube });
      
    • Mesure le volume d'un solide, en unités du modèle au cube.

      Parameters

      Returns Promise<number>

      Le volume

      const volume = await bitbybit.manifold.manifold.evaluate.volume({ manifold: cube });
      
    • Indique si un solide n'a aucun triangle, comme le serait le résultat d'une intersection de formes qui ne se chevauchent pas.

      Parameters

      Returns Promise<boolean>

      Vrai quand le solide est vide

      const empty = await bitbybit.manifold.manifold.evaluate.isEmpty({ manifold: shape });
      
    • Compte les sommets du maillage d'un solide, les coins que ses triangles partagent.

      Parameters

      Returns Promise<number>

      Le nombre de sommets

      const vertices = await bitbybit.manifold.manifold.evaluate.numVert({ manifold: shape });
      
    • Compte les triangles du maillage d'un solide, ce qui est toute sa surface.

      Parameters

      Returns Promise<number>

      Le nombre de triangles

      const triangles = await bitbybit.manifold.manifold.evaluate.numTri({ manifold: shape });
      
    • Compte les arêtes du maillage d'un solide, chacune partagée par deux triangles.

      Parameters

      Returns Promise<number>

      Le nombre d'arêtes

      const edges = await bitbybit.manifold.manifold.evaluate.numEdge({ manifold: shape });
      
    • Compte les canaux de propriétés que chaque sommet d'un solide porte ; la position seule en prend trois.

      Parameters

      Returns Promise<number>

      Le nombre de propriétés par sommet

      const channels = await bitbybit.manifold.manifold.evaluate.numProp({ manifold: shape });
      
    • Compte les sommets de propriétés d'un solide, ce qui vaut au moins numVert : un sommet dont les triangles voisins portent des propriétés différentes, comme une arête vive avec deux normales, est stocké plus d'une fois.

      Parameters

      Returns Promise<number>

      Le nombre de sommets de propriétés

      const propVertices = await bitbybit.manifold.manifold.evaluate.numPropVert({ manifold: shape });
      
    • Trouve la boîte alignée sur les axes autour de chaque sommet d'un solide.

      Parameters

      Returns Promise<Vector3[]>

      Le coin minimum et le coin maximum

      const [min, max] = await bitbybit.manifold.manifold.evaluate.boundingBox({ manifold: shape });
      
    • Lit la tolérance d'un solide, l'erreur d'arrondi qui s'est accumulée au fil des transformations et opérations qui l'ont produit.

      Les triangles plus fins que cette valeur sont considérés comme dégénérés et retirés.

      Parameters

      Returns Promise<number>

      La tolérance en unités du modèle

      const tolerance = await bitbybit.manifold.manifold.evaluate.tolerance({ manifold: shape });
      
    • Compte les trous qui traversent un solide, comme un anneau en a un et une sphère aucun.

      Cela n'a de sens que pour un seul morceau connexe, exécutez donc d'abord operations.decompose sur un solide fait de plusieurs.

      Parameters

      Returns Promise<number>

      Le nombre de trous traversant le solide

      const holes = await bitbybit.manifold.manifold.evaluate.genus({ manifold: shape });
      
    • Mesure la plus petite distance entre deux solides, en ne cherchant pas plus loin que searchLength.

      Le résultat est entre 0 et la longueur de recherche.

      Parameters

      Returns Promise<number>

      Le plus petit écart entre eux

      const gap = await bitbybit.manifold.manifold.evaluate.minGap({ manifold1: cube, manifold2: sphere, searchLength: 100 });
      
    • Lit l'id d'un solide qui est un original, tel que operations.asOriginal ou un solide fraîchement construit le produit ; un solide produit à partir d'autres par une opération rapporte -1.

      Parameters

      Returns Promise<number>

      L'id d'origine, ou -1

      const id = await bitbybit.manifold.manifold.evaluate.originalID({ manifold: shape });
      
    • Indique pourquoi un solide est ressorti vide : NoError, ou une raison telle que NotManifold ou InvalidConstruction quand le maillage dont il a été construit n'était pas une surface fermée.

      Le statut est transmis aux opérations ultérieures, une entrée cassée ne se perd donc pas ; un solide vide peut quand même rapporter NoError, comme le fait l'intersection de formes qui ne se chevauchent pas.

      Parameters

      Returns Promise<string>

      Le nom du statut

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

    spatial

    • Lance un segment de rayon d'un point à un autre et liste chaque endroit où il traverse la surface d'un solide, le plus proche en premier ; une liste vide s'il manque.

      Un impact porte le point, la normale à cet endroit, l'identifiant de la face d'origine et sa distance le long du segment en fraction de la longueur du segment.

      Parameters

      Returns Promise<RayHit[]>

      Les impacts triés par distance

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