UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

90 lines (89 loc) 3.3 kB
import type { Scene } from "../../scene.js"; import type { NodeParticleConnectionPoint } from "./nodeParticleBlockConnectionPoint.js"; import { NodeParticleContextualSources } from "./Enums/nodeParticleContextualSources.js"; import type { Particle } from "../particle.js"; import type { Nullable } from "../../types.js"; import { NodeParticleBlockConnectionPointTypes } from "./Enums/nodeParticleBlockConnectionPointTypes.js"; import { Vector2, Vector3 } from "../../Maths/math.vector.js"; import type { ThinParticleSystem } from "../thinParticleSystem.js"; import { Color4 } from "../../Maths/math.color.js"; import { NodeParticleSystemSources } from "./Enums/nodeParticleSystemSources.js"; import type { AbstractMesh } from "../../Meshes/abstractMesh.js"; /** * Class used to store node based geometry build state */ export declare class NodeParticleBuildState { /** * Gets the capactity of the particle system to build */ capacity: number; /** * Gets the scene where the particle system is built */ scene: Scene; /** Gets or sets the build identifier */ buildId: number; /** Gets or sets the list of non connected mandatory inputs */ notConnectedNonOptionalInputs: NodeParticleConnectionPoint[]; /** Gets or sets a boolean indicating that verbose mode is on */ verbose: boolean; /** * Gets or sets the particle context for contextual data */ particleContext: Nullable<Particle>; /** * Gets or sets the system context for contextual data */ systemContext: Nullable<ThinParticleSystem>; /** * Gets or sets the index of the gradient to use */ gradientIndex: number; /** * Gets or sets next gradient in line */ nextGradientIndex: number; /** * Gets or sets the next gradient value */ nextGradientValue: any; /** * Emits errors if any */ emitErrors(): void; /** * Adapt a value to a target type * @param source defines the value to adapt * @param targetType defines the target type * @returns the adapted value */ adapt(source: NodeParticleConnectionPoint, targetType: NodeParticleBlockConnectionPointTypes): any; /** * Gets the value associated with a contextual source * @param source Source of the contextual value * @returns the value associated with the source */ getContextualValue(source: NodeParticleContextualSources): number | Vector3 | Color4 | Vector2 | null; /** * Gets a boolean indicating if the emitter is a transform node (or a simple vector3) */ get isEmitterTransformNode(): boolean; /** * Gets the emitter world matrix */ get emitterWorldMatrix(): import("../../Maths/math.vector.js").Matrix | null; /** * Gets the emitter inverse world matrix */ get emitterInverseWorldMatrix(): import("../../Maths/math.vector.js").Matrix | null; /** * Gets the emitter position */ get emitterPosition(): Vector3 | null; /** * Gets the value associated with a system source * @param source Source of the system value * @returns the value associated with the source */ getSystemValue(source: NodeParticleSystemSources): number | Nullable<Vector3 | AbstractMesh>; }