@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
41 lines (40 loc) • 1.34 kB
TypeScript
import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { Vector2, Vector3 } from 'three';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
interface SphereSopParams extends DefaultOperationParams {
type: number;
radius: number;
resolution: Vector2;
open: boolean;
phiStart: number;
phiLength: number;
thetaStart: number;
thetaLength: number;
detail: number;
center: Vector3;
asLines: boolean;
}
declare enum SphereType {
DEFAULT = "default",
ISOCAHEDRON = "isocahedron"
}
type SphereTypes = {
[key in SphereType]: number;
};
export declare const SPHERE_TYPE: SphereTypes;
export declare const SPHERE_TYPES: Array<SphereType>;
export declare class SphereSopOperation extends BaseSopOperation {
static readonly DEFAULT_PARAMS: SphereSopParams;
static readonly INPUT_CLONED_STATE = InputCloneMode.NEVER;
static type(): Readonly<'sphere'>;
cook(inputCoreGroups: CoreGroup[], params: SphereSopParams): CoreGroup;
private _cookWithoutInput;
private _cookWithInput;
private _createSphereObject;
private _createRequiredGeometry;
private _createDefaultSphere;
private _createDefaultIsocahedron;
}
export {};