@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
TypeScript
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>;
}