@types/three
Version:
TypeScript definitions for three
67 lines (58 loc) • 2.91 kB
TypeScript
import { BufferGeometry, NormalOrGLBufferAttributes } from "../core/BufferGeometry.js";
import { Object3D, Object3DEventMap } from "../core/Object3D.js";
import { Material } from "../materials/Material.js";
/**
* A class for displaying {@link Points}
* @remarks
* The {@link Points} are rendered by the {@link THREE.WebGLRenderer | WebGLRenderer} using {@link https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements | gl.POINTS}.
* @see {@link https://threejs.org/docs/index.html#api/en/objects/Points | Official Documentation}
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/Points.js | Source}
*/
export class Points<
TGeometry extends BufferGeometry<NormalOrGLBufferAttributes> = BufferGeometry,
TMaterial extends Material | Material[] = Material | Material[],
TEventMap extends Object3DEventMap = Object3DEventMap,
> extends Object3D<TEventMap> {
/**
* Create a new instance of {@link Points}
* @param geometry An instance of {@link THREE.BufferGeometry | BufferGeometry}. Default {@link THREE.BufferGeometry | `new THREE.BufferGeometry()`}.
* @param material A single or an array of {@link THREE.Material | Material}. Default {@link THREE.PointsMaterial | `new THREE.PointsMaterial()`}.
*/
constructor(geometry?: TGeometry, material?: TMaterial);
/**
* Read-only flag to check if a given object is of type {@link Points}.
* @remarks This is a _constant_ value
* @defaultValue `true`
*/
readonly isPoints: true;
/**
* @override
* @defaultValue `Points`
*/
override readonly type: string | "Points";
/**
* An array of weights typically from `0-1` that specify how much of the morph is applied.
* @defaultValue `undefined`, _but reset to a blank array by {@link updateMorphTargets | .updateMorphTargets()}._
*/
morphTargetInfluences?: number[] | undefined;
/**
* A dictionary of morphTargets based on the `morphTarget.name` property.
* @defaultValue `undefined`, _but rebuilt by {@link updateMorphTargets | .updateMorphTargets()}._
*/
morphTargetDictionary?: { [key: string]: number } | undefined;
/**
* An instance of {@link THREE.BufferGeometry | BufferGeometry} (or derived classes), defining the object's structure.
* @remarks each vertex designates the position of a particle in the system.
*/
geometry: TGeometry;
/**
* An instance of {@link THREE.Material | Material}, defining the object's appearance.
* @defaultValue {@link THREE.PointsMaterial | `new THREE.PointsMaterial()`}, _with randomised colour_.
*/
material: TMaterial;
/**
* Updates the morphTargets to have no influence on the object
* @remarks Resets the {@link morphTargetInfluences} and {@link morphTargetDictionary} properties.
*/
updateMorphTargets(): void;
}