UNPKG

primitive-geometry

Version:

Geometries for 3D rendering, including normals, UVs and cell indices (faces). Perfect if you want to supercharge your dependency folder... with 30KB of geometries.

42 lines (37 loc) 785 B
/** @module stadium */ import roundedRectangle from "./rounded-rectangle.js"; import { checkArguments } from "./utils.js"; /** * @typedef {object} StadiumOptions * @property {number} [sx=1] * @property {number} [sy=sx] * @property {number} [nx=1] * @property {number} [ny=nx] * @property {number} [roundSegments=8] * @property {number} [edgeSegments=1] */ /** * @alias module:stadium * @param {StadiumOptions} [options={}] * @returns {import("../types.js").SimplicialComplex} */ function stadium({ sx = 1, sy = 0.5, nx, ny, roundSegments, edgeSegments, } = {}) { checkArguments(arguments); return roundedRectangle({ sx, sy, nx, ny, radius: Math.min(sx, sy) * 0.5, roundSegments, edgeSegments, }); } export default stadium;