three
Version:
JavaScript 3D library
46 lines (38 loc) • 1.5 kB
TypeScript
import { Geometry } from './../core/Geometry';
import { Material } from './../materials/Material';
import { Raycaster } from './../core/Raycaster';
import { Object3D } from './../core/Object3D';
import { BufferGeometry } from '../core/BufferGeometry';
import { Intersection } from '../core/Raycaster';
/**
* A class for displaying particles in the form of variable size points. For example, if using the WebGLRenderer, the particles are displayed using GL_POINTS.
*
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/ParticleSystem.js|src/objects/ParticleSystem.js}
*/
export class Points <
TGeometry extends Geometry | BufferGeometry = Geometry | BufferGeometry,
TMaterial extends Material | Material[] = Material | Material[]
> extends Object3D {
/**
* @param geometry An instance of Geometry or BufferGeometry.
* @param material An instance of Material (optional).
*/
constructor(
geometry?: TGeometry,
material?: TMaterial
);
type: 'Points';
morphTargetInfluences?: number[];
morphTargetDictionary?: { [key: string]: number };
readonly isPoints: true;
/**
* An instance of Geometry or BufferGeometry, where each vertex designates the position of a particle in the system.
*/
geometry: TGeometry;
/**
* An instance of Material, defining the object's appearance. Default is a PointsMaterial with randomised colour.
*/
material: TMaterial;
raycast( raycaster: Raycaster, intersects: Intersection[] ): void;
updateMorphTargets(): void;
}