Bitbybit Docs
    Preparing search index...

    Class ManifoldShapes

    Построение тел Manifold: примитивы куба, сферы, цилиндра и тетраэдра, а также тела из треугольных мешей или списков треугольников. Ядро держит Z как ось, направленную вверх, поэтому цилиндр стоит вдоль Z, а size куба идет вдоль X, Y и Z; каждое тело возвращается как замкнутый треугольный меш.

    Index

    Constructors

    create

    • Строит тело из простых данных меша, в форме, которую выдает manifoldToMesh, так что меш может совершить круговой путь через другие инструменты.

      Меш должен быть замкнутым и согласованно ориентированным, иначе выбрасывается ошибка; вырожденные треугольники и ненужные вершины удаляются на входе.

      Parameters

      Returns Promise<ManifoldPointer>

      Тело

      const solid = await bitbybit.manifold.manifold.shapes.manifoldFromMesh({ mesh });
      
    • Строит тело из списка треугольников, каждый заданный тремя точками, объединяя совпадающие точки.

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

      Parameters

      Returns Promise<ManifoldPointer>

      Тело

      const solid = await bitbybit.manifold.manifold.shapes.fromPolygonPoints({ polygonPoints: triangles });
      

    primitives

    • Создает тело куба с заданной длиной стороны.

      При center равном true куб центрируется на начале координат; иначе его угол находится в начале координат, и он продолжается вдоль положительных осей.

      Parameters

      Returns Promise<ManifoldPointer>

      Тело параллелепипеда

      const box = await bitbybit.manifold.manifold.shapes.cube({ size: 10, center: true });
      
    • Создает тело сферы заданного радиуса, центрированное на начале координат.

      circularSegments - число сегментов вокруг сферы; оно округляется вверх до кратного четырем, поскольку сфера строится уточнением октаэдра.

      Parameters

      Returns Promise<ManifoldPointer>

      Тело сферы

      const ball = await bitbybit.manifold.manifold.shapes.sphere({ radius: 5, circularSegments: 32 });
      
    • Создает тело тетраэдра, центрированное на начале координат, с одним углом в [1, 1, 1] и остальными, размещенными симметрично.

      Returns Promise<ManifoldPointer>

      Тело тетраэдра

      const tetra = await bitbybit.manifold.manifold.shapes.tetrahedron();
      
    • Создает тело цилиндра, стоящего вдоль Z, или конуса, когда верхний радиус отличается от нижнего.

      radiusLow - нижний радиус, должен быть больше 0, radiusHigh - верхний радиус, который может быть 0 для точки; circularSegments задает, насколько круглы стороны. center центрирует цилиндр на начале координат вместо того, чтобы ставить его на него.

      Parameters

      • inputs: Bit.Inputs.Manifold.CylinderDto

        Высота, нижний и верхний радиусы, число сегментов и центрировать ли его

      Returns Promise<ManifoldPointer>

      Тело цилиндра или конуса

      const cone = await bitbybit.manifold.manifold.shapes.cylinder({ height: 10, radiusLow: 4, radiusHigh: 1, circularSegments: 32, center: false });