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.
39 lines (38 loc) • 1.35 kB
TypeScript
export default superellipse;
export type SuperellipseOptions = {
sx?: number;
sy?: number;
radius?: number;
segments?: number;
innerSegments?: number;
theta?: number;
thetaOffset?: number;
mergeCentroid?: boolean;
mapping?: Function;
m?: number;
n?: number;
};
/**
* @typedef {object} SuperellipseOptions
* @property {number} [sx=1]
* @property {number} [sy=0.5]
* @property {number} [radius=0.5]
* @property {number} [segments=32]
* @property {number} [innerSegments=16]
* @property {number} [theta=TAU]
* @property {number} [thetaOffset=0]
* @property {boolean} [mergeCentroid=true]
* @property {Function} [mapping=mappings.lamé]
* @property {number} [m=2]
* @property {number} [n=m]
*/
/**
* Lamé curve
* See elliptical-mapping example for a few special cases
* @see [Wolfram MathWorld – Superellipse]{@link https://mathworld.wolfram.com/Superellipse.html}
* @see [Wikipedia – Superellipse]{@link https://en.wikipedia.org/wiki/Superellipse}
* @alias module:superellipse
* @param {SuperellipseOptions} [options={}]
* @returns {import("../types.js").SimplicialComplex}
*/
declare function superellipse({ sx, sy, radius, segments, innerSegments, theta, thetaOffset, mergeCentroid, mapping, m, n, }?: SuperellipseOptions, ...args: any[]): import("../types.js").SimplicialComplex;