Bitbybit Docs
    Bereite Suchindex vor...

    Klasse ManifoldEvaluate

    Messen von Manifold-Volumenkörpern und Lesen ihrer Buchführung: Oberflächeninhalt und Volumen, Vertex-, Dreiecks- und Kantenanzahlen, der Begrenzungsrahmen, die Toleranz, das Geschlecht, die Lücke zu einem anderen Volumenkörper und die Id und der Status, die der Kernel für jeden Volumenkörper verfolgt. Nichts hier ändert den Volumenkörper.

    Index

    Konstruktoren

    basic

    • Misst den Gesamtoberflächeninhalt eines Volumenkörpers, in quadratischen Modelleinheiten.

      Parameter

      Rückgabewert Promise<number>

      Der Oberflächeninhalt

      const area = await bitbybit.manifold.manifold.evaluate.surfaceArea({ manifold: cube });
      
    • Misst das Volumen eines Volumenkörpers, in kubischen Modelleinheiten.

      Parameter

      Rückgabewert Promise<number>

      Das Volumen

      const volume = await bitbybit.manifold.manifold.evaluate.volume({ manifold: cube });
      
    • Sagt, ob ein Volumenkörper überhaupt keine Dreiecke hat, wie es das Ergebnis einer Verschneidung von Formen, die sich nicht überlappen, wäre.

      Parameter

      Rückgabewert Promise<boolean>

      True, wenn der Volumenkörper leer ist

      const empty = await bitbybit.manifold.manifold.evaluate.isEmpty({ manifold: shape });
      
    • Zählt die Vertices des Meshes eines Volumenkörpers, die Ecken, die seine Dreiecke teilen.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Vertices

      const vertices = await bitbybit.manifold.manifold.evaluate.numVert({ manifold: shape });
      
    • Zählt die Dreiecke des Meshes eines Volumenkörpers, die seine ganze Oberfläche sind.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Dreiecke

      const triangles = await bitbybit.manifold.manifold.evaluate.numTri({ manifold: shape });
      
    • Zählt die Kanten des Meshes eines Volumenkörpers, jede von zwei Dreiecken geteilt.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Kanten

      const edges = await bitbybit.manifold.manifold.evaluate.numEdge({ manifold: shape });
      
    • Zählt die Eigenschaftskanäle, die jeder Vertex eines Volumenkörpers trägt; die Position allein nimmt drei.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Eigenschaften pro Vertex

      const channels = await bitbybit.manifold.manifold.evaluate.numProp({ manifold: shape });
      
    • Zählt die Eigenschafts-Vertices eines Volumenkörpers, was mindestens numVert ist: ein Vertex, dessen benachbarte Dreiecke unterschiedliche Eigenschaften tragen, etwa eine scharfe Kante mit zwei Normalen, wird mehr als einmal gespeichert.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Eigenschafts-Vertices

      const propVertices = await bitbybit.manifold.manifold.evaluate.numPropVert({ manifold: shape });
      
    • Ermittelt den achsenparallelen Quader um jeden Vertex eines Volumenkörpers.

      Parameter

      Rückgabewert Promise<Vector3[]>

      Die minimale Ecke und die maximale Ecke

      const [min, max] = await bitbybit.manifold.manifold.evaluate.boundingBox({ manifold: shape });
      
    • Liest die Toleranz eines Volumenkörpers, den Rundungsfehler, der sich über die Transformationen und Operationen angesammelt hat, die ihn erzeugt haben.

      Dreiecke, die dünner als dieser Wert sind, gelten als entartet und werden entfernt.

      Parameter

      Rückgabewert Promise<number>

      Die Toleranz in Modelleinheiten

      const tolerance = await bitbybit.manifold.manifold.evaluate.tolerance({ manifold: shape });
      
    • Zählt die Löcher durch einen Volumenkörper, so wie ein Ring eines hat und eine Kugel keines.

      Es ergibt nur für ein einzelnes zusammenhängendes Stück Sinn, also führen Sie bei einem Volumenkörper aus mehreren zuerst operations.decompose aus.

      Parameter

      Rückgabewert Promise<number>

      Die Anzahl der Löcher durch den Volumenkörper

      const holes = await bitbybit.manifold.manifold.evaluate.genus({ manifold: shape });
      
    • Misst den kleinsten Abstand zwischen zwei Volumenkörpern und sucht nicht weiter als searchLength.

      Das Ergebnis liegt zwischen 0 und der Suchlänge.

      Parameter

      Rückgabewert Promise<number>

      Die kleinste Lücke zwischen ihnen

      const gap = await bitbybit.manifold.manifold.evaluate.minGap({ manifold1: cube, manifold2: sphere, searchLength: 100 });
      
    • Liest die Id eines Volumenkörpers, der ein Original ist, wie operations.asOriginal oder ein frisch gebauter Volumenkörper es macht; ein durch eine Operation aus anderen erzeugter Volumenkörper meldet -1.

      Parameter

      Rückgabewert Promise<number>

      Die ursprüngliche Id oder -1

      const id = await bitbybit.manifold.manifold.evaluate.originalID({ manifold: shape });
      
    • Sagt, warum ein Volumenkörper leer herauskam: NoError, oder ein Grund wie NotManifold oder InvalidConstruction, wenn das Mesh, aus dem er gebaut wurde, keine geschlossene Oberfläche war.

      Der Status wird durch spätere Operationen mitgeführt, damit eine kaputte Eingabe nicht verloren geht; ein leerer Volumenkörper kann trotzdem NoError melden, wie es das Verschneiden sich nicht überlappender Formen tut.

      Parameter

      Rückgabewert Promise<string>

      Der Statusname

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

    spatial

    • Schießt ein Strahlsegment von einem Punkt zu einem anderen und listet jede Stelle auf, an der es die Oberfläche eines Volumenkörpers durchquert, die nächste zuerst; eine leere Liste, wenn es verfehlt.

      Ein Treffer trägt den Punkt, die dortige Normale, die ursprüngliche Flächen-ID und seinen Abstand entlang des Segments als Bruchteil der Segmentlänge.

      Parameter

      Rückgabewert Promise<RayHit[]>

      Die Treffer nach Abstand sortiert

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