Negatory. Postpone Mission.

    axis3d-extrude-geometry

    1.0.0 • Public • Published

    axis3d-extrude-geometry

    Geometry extrusion for Axis3D.

    This modules provides a class that accepts an array of 2D positions and extrudes that shape into 3D. It attempts to compute a simplicial complex from given parameters. Edges, cells, and path can also be provided, otherwise they are computed. This class leverages clean-pslg to remove duplicate vertices and edges from a planar straight line graph using iterated snap rounding. If cells are not given, this class uses Constrained Delaunay triangulation by way of cdt2d to compute them.

    Usage

    new ExtrudeGeometry({ positions: positions })

    Installation

    $ npm install axis3d axis3d-extrude-geometry

    Example

    const { PerspectiveCamera } = require('axis3d/camera')
    const { ExtrudeGeometry } = require('axis3d-extrude-geometry')
    const { Material } = require('axis3d/material')
    const { Context } = require('axis3d')
    const { Frame } = require('axis3d/frame')
    const { Mesh } = require('axis3d/mesh')
     
    const geometry = new ExtrudeGeometry({positions: [0.5, 1.0, -0.5]})
    const material = new Material(ctx)
    const camera = new PerspectiveCamera(ctx)
    const frame = new Frame(ctx)
    const mesh = new Mesh(ctx, {geometry})
     
    frame(() => {
      camera({position: [0, 0, 10]}, () => {
        material({wireframe: true}, () => {
          mesh()
        })
      })
    })

    API

    ExtrudeGeometry(opts)

    Extends the built-in Geometry class in Axis3D.

    new ExtrudeGeometry(opts)

    where opts contains

    • positions - An array of 2D vectors that form points in a polygon
    • edges - An array of 2D vectors of indices ([i, j]) to compute complex cells
    • cells - An array of 3D vectors of indices to the complex positions
    • path - An array of 3D ([x, y, z]) or 4D ([x, y, z, r]) vectors where r is the twist angle in radians
    • closed - Indicates a closed path. (Default: true)

    See Also

    License

    MIT

    Install

    npm i axis3d-extrude-geometry

    DownloadsWeekly Downloads

    2

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • werle