File size: 1,230 Bytes
2b7aae2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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 points. The points are rendered by the WebGLRenderer using gl.POINTS.
 */
export class Points<TGeometry extends BufferGeometry = BufferGeometry, TMaterial extends Material | Material[] = Material | Material[]> extends Object3D {
	/**
	 * @param geometry An instance of BufferGeometry.
	 * @param material An instance of Material (optional).
	 */
	constructor(geometry?: TGeometry, material?: TMaterial);

	type: 'Points';
	morphTargetInfluences?: number[] | undefined;
	morphTargetDictionary?: { [key: string]: number } | undefined;
	readonly isPoints: true;

	/**
	 * An instance of 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;
}