1.0.3 • Published 8 years ago
axis3d-geometry v1.0.3
axis3d-geometry
Common geometry for Axis3D. All
the geometry in this module extends the Geometry class exposing
positions, normals, uvs, and cells as properties on the
instance effectively creating a
simplicial-complex.
Installation
$ npm install axis3d-geometryEnsure axis3d is already installed as a peer dependency.
Example
const {
PerspectiveCamera,
Material,
Context,
Frame,
Mesh
} = require('axis3d')
const { BoxGeometry } = require('axis3d-geometry')
const ctx = new Context()
const material = new Material(ctx)
const geometry = new BoxGeometry()
const camera = new PerspectiveCamera(ctx)
const frame = new Frame(ctx)
const box = new Mesh(ctx, {geometry})
frame(({time}) => {
camera({position: [0, 0, 10]}, () => {
material({}, () => {
box({wireframe: true})
})
})
})API
BoxGeometry(opts)
const box = new BoxGeometry(opts)where opts contains:
segments- defaults tox- Size along the x-axis. (default:1)y- Size along the y-axis. (default:1)z- Size along the z-axis. (default:1)
and are passed directly to primitive-cube.
TriangleGeometry
const triangle = new TriangleGeometry()CylinderGeometry
const cylinder = new CylinderGeometry(opts)where opts contains:
height- Size along the y-axis. (default:5)radiusTop- Radius of the top cross-section, or circle. (default:1)radiusBottom- Radius of the bottom cross-section, or circle. (default:1)radialSegments- Number of radial segments in the complex. (default:50)heightSegments- Number of height segments in the complex. (default:50)
and are passed directly to primitive-cylinder.
SphereGeometry
const sphere = new SphereGeometry(opts)where opts contains:
segments- Number of segments in the complex. (default:32)radius- Spherical radius. (default:1)
and are passed directly to primitive-sphere.
PlaneGeometry
const plane = new PlaneGeometry(opts)where opts contains:
segments- Number of segments along the xy-axis. (default:{x: 5, y: 5})segments.x- Number of segments along the x-axis. (default:5)segments.y- Number of segments along the y-axis. (default:5)
size- Size of complex along the xy-axis. (default:{x: 1, y: 1})size.x- Size of complex along the x-axis. (default:1)size.y- Size of complex along the y-axis. (default:1)
quads- Indication to generate quads instead of triangles. (default:false)
and are passed directly to primitive-plane.
TorusGeometry
const torus = new TorusGeometry(opts)where opts contains:
majorSegments- The number of segments for the major ring. (default:32)minorSegments- The number of segments for the minor rigg. (default:64)majorRadius- The radius of the major ring. (default:1)minorRadius- The radius of the minor ring. (default:0.5)arc- The torus arc path. (default:2*Math.PI)
and are passed directly to primitive-torus.
CapsuleGeometry
const capsule = new CapsuleGeometry(opts)where opts contains:
radius- The radius of the inner circle cross-section. (default:0.5)height- The size along the y-axix. (default:1)segments- The number of segments in complex. (default:12)
and are passed directly to primitive-capsule.
License
MIT