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.27 kB
TypeScript
export default squircle;
export type SquircleOptions = {
sx?: number;
sy?: number;
radius?: number;
segments?: number;
innerSegments?: number;
theta?: number;
thetaOffset?: number;
mergeCentroid?: boolean;
mapping?: Function;
/**
* Squareness (0 < s <= 1)
*/
squareness?: number;
};
/**
* @typedef {object} SquircleOptions
* @property {number} [sx=1]
* @property {number} [sy=1]
* @property {number} [radius=0.5]
* @property {number} [segments=128]
* @property {number} [innerSegments=16]
* @property {number} [theta=TAU]
* @property {number} [thetaOffset=0]
* @property {boolean} [mergeCentroid=true]
* @property {Function} [mapping=mappings.fgSquircular]
* @property {number} [squareness=0.95] Squareness (0 < s <= 1)
*/
/**
* Fernández-Guasti squircle
* @see [Squircular Calculations – Chamberlain Fong]{@link https://arxiv.org/vc/arxiv/papers/1604/1604.02174v1.pdf}
*
* @alias module:squircle
* @param {SquircleOptions} [options={}]
* @returns {import("../types.js").SimplicialComplex}
*/
declare function squircle({ sx, sy, radius, segments, innerSegments, theta, thetaOffset, mergeCentroid, mapping, squareness, }?: SquircleOptions, ...args: any[]): import("../types.js").SimplicialComplex;