|
@@ -27772,6 +27772,7 @@ declare module "babylonjs/Particles/solidParticleSystem" {
|
|
|
import { DepthSortedParticle, SolidParticle } from "babylonjs/Particles/solidParticle";
|
|
|
import { Material } from "babylonjs/Materials/material";
|
|
|
import { MultiMaterial } from "babylonjs/Materials/multiMaterial";
|
|
|
+ import { PickingInfo } from "babylonjs/Collisions/pickingInfo";
|
|
|
/**
|
|
|
* The SPS is a single updatable mesh. The solid particles are simply separate parts or faces fo this big mesh.
|
|
|
*As it is just a mesh, the SPS has all the same properties than any other BJS mesh : not more, not less. It can be scaled, rotated, translated, enlighted, textured, moved, etc.
|
|
@@ -27822,6 +27823,9 @@ declare module "babylonjs/Particles/solidParticleSystem" {
|
|
|
* Each element of this array is an object `{idx: int, faceId: int}`.
|
|
|
* `idx` is the picked particle index in the `SPS.particles` array
|
|
|
* `faceId` is the picked face index counted within this particle.
|
|
|
+ * This array is the first element of the pickedBySubMesh array : sps.pickBySubMesh[0].
|
|
|
+ * It's not pertinent to use it when using a SPS with the support for MultiMaterial enabled.
|
|
|
+ * Use the method SPS.pickedParticle(pickingInfo) instead.
|
|
|
* Please read : http://doc.babylonjs.com/how_to/Solid_Particle_System#pickable-particles
|
|
|
*/
|
|
|
pickedParticles: {
|
|
@@ -27829,6 +27833,21 @@ declare module "babylonjs/Particles/solidParticleSystem" {
|
|
|
faceId: number;
|
|
|
}[];
|
|
|
/**
|
|
|
+ * This array is populated when the SPS is set as 'pickable'
|
|
|
+ * Each key of this array is a submesh index.
|
|
|
+ * Each element of this array is a second array defined like this :
|
|
|
+ * Each key of this second array is a `faceId` value that you can get from a pickResult object.
|
|
|
+ * Each element of this second array is an object `{idx: int, faceId: int}`.
|
|
|
+ * `idx` is the picked particle index in the `SPS.particles` array
|
|
|
+ * `faceId` is the picked face index counted within this particle.
|
|
|
+ * It's better to use the method SPS.pickedParticle(pickingInfo) rather than using directly this array.
|
|
|
+ * Please read : http://doc.babylonjs.com/how_to/Solid_Particle_System#pickable-particles
|
|
|
+ */
|
|
|
+ pickedBySubMesh: {
|
|
|
+ idx: number;
|
|
|
+ faceId: number;
|
|
|
+ }[][];
|
|
|
+ /**
|
|
|
* This array is populated when `enableDepthSort` is set to true.
|
|
|
* Each element of this array is an instance of the class DepthSortedParticle.
|
|
|
*/
|
|
@@ -28074,6 +28093,17 @@ declare module "babylonjs/Particles/solidParticleSystem" {
|
|
|
* Disposes the SPS.
|
|
|
*/
|
|
|
dispose(): void;
|
|
|
+ /** Returns an object {idx: numbern faceId: number} for the picked particle from the passed pickingInfo object.
|
|
|
+ * idx is the particle index in the SPS
|
|
|
+ * faceId is the picked face index counted within this particle.
|
|
|
+ * Returns null if the pickInfo can't identify a picked particle.
|
|
|
+ * @param pickingInfo (PickingInfo object)
|
|
|
+ * @returns {idx: number, faceId: number} or null
|
|
|
+ */
|
|
|
+ pickedParticle(pickingInfo: PickingInfo): Nullable<{
|
|
|
+ idx: number;
|
|
|
+ faceId: number;
|
|
|
+ }>;
|
|
|
/**
|
|
|
* Returns a SolidParticle object from its identifier : particle.id
|
|
|
* @param id (integer) the particle Id
|
|
@@ -28424,6 +28454,10 @@ declare module "babylonjs/Particles/solidParticle" {
|
|
|
*/
|
|
|
materialIndex: Nullable<number>;
|
|
|
/**
|
|
|
+ * Custom object or properties.
|
|
|
+ */
|
|
|
+ props: Nullable<any>;
|
|
|
+ /**
|
|
|
* The culling strategy to use to check whether the solid particle must be culled or not when using isInFrustum().
|
|
|
* The possible values are :
|
|
|
* - AbstractMesh.CULLINGSTRATEGY_STANDARD
|
|
@@ -28563,6 +28597,10 @@ declare module "babylonjs/Particles/solidParticle" {
|
|
|
*/
|
|
|
export class DepthSortedParticle {
|
|
|
/**
|
|
|
+ * Particle index
|
|
|
+ */
|
|
|
+ idx: number;
|
|
|
+ /**
|
|
|
* Index of the particle in the "indices" array
|
|
|
*/
|
|
|
ind: number;
|
|
@@ -28582,7 +28620,7 @@ declare module "babylonjs/Particles/solidParticle" {
|
|
|
* Creates a new sorted particle
|
|
|
* @param materialIndex
|
|
|
*/
|
|
|
- constructor(ind: number, indLength: number, materialIndex: number);
|
|
|
+ constructor(idx: number, ind: number, indLength: number, materialIndex: number);
|
|
|
}
|
|
|
}
|
|
|
declare module "babylonjs/Collisions/meshCollisionData" {
|
|
@@ -46148,6 +46186,11 @@ declare module "babylonjs/XR/features/WebXRControllerPointerSelection" {
|
|
|
*/
|
|
|
selectionMeshPickedColor: Color3;
|
|
|
/**
|
|
|
+ * Optional filter to be used for ray selection. This predicate shares behavior with
|
|
|
+ * scene.pointerMovePredicate which takes priority if it is also assigned.
|
|
|
+ */
|
|
|
+ raySelectionPredicate: (mesh: AbstractMesh) => boolean;
|
|
|
+ /**
|
|
|
* constructs a new background remover module
|
|
|
* @param _xrSessionManager the session manager for this module
|
|
|
* @param _options read-only options to be used in this module
|
|
@@ -52011,6 +52054,9 @@ declare module "babylonjs/Misc/brdfTextureTools" {
|
|
|
* Class used to host texture specific utilities
|
|
|
*/
|
|
|
export class BRDFTextureTools {
|
|
|
+ /**
|
|
|
+ * Prevents texture cache collision
|
|
|
+ */
|
|
|
private static _instanceNumber;
|
|
|
/**
|
|
|
* Gets a default environment BRDF for MS-BRDF Height Correlated BRDF
|
|
@@ -100434,6 +100480,9 @@ declare module BABYLON {
|
|
|
* Each element of this array is an object `{idx: int, faceId: int}`.
|
|
|
* `idx` is the picked particle index in the `SPS.particles` array
|
|
|
* `faceId` is the picked face index counted within this particle.
|
|
|
+ * This array is the first element of the pickedBySubMesh array : sps.pickBySubMesh[0].
|
|
|
+ * It's not pertinent to use it when using a SPS with the support for MultiMaterial enabled.
|
|
|
+ * Use the method SPS.pickedParticle(pickingInfo) instead.
|
|
|
* Please read : http://doc.babylonjs.com/how_to/Solid_Particle_System#pickable-particles
|
|
|
*/
|
|
|
pickedParticles: {
|
|
@@ -100441,6 +100490,21 @@ declare module BABYLON {
|
|
|
faceId: number;
|
|
|
}[];
|
|
|
/**
|
|
|
+ * This array is populated when the SPS is set as 'pickable'
|
|
|
+ * Each key of this array is a submesh index.
|
|
|
+ * Each element of this array is a second array defined like this :
|
|
|
+ * Each key of this second array is a `faceId` value that you can get from a pickResult object.
|
|
|
+ * Each element of this second array is an object `{idx: int, faceId: int}`.
|
|
|
+ * `idx` is the picked particle index in the `SPS.particles` array
|
|
|
+ * `faceId` is the picked face index counted within this particle.
|
|
|
+ * It's better to use the method SPS.pickedParticle(pickingInfo) rather than using directly this array.
|
|
|
+ * Please read : http://doc.babylonjs.com/how_to/Solid_Particle_System#pickable-particles
|
|
|
+ */
|
|
|
+ pickedBySubMesh: {
|
|
|
+ idx: number;
|
|
|
+ faceId: number;
|
|
|
+ }[][];
|
|
|
+ /**
|
|
|
* This array is populated when `enableDepthSort` is set to true.
|
|
|
* Each element of this array is an instance of the class DepthSortedParticle.
|
|
|
*/
|
|
@@ -100686,6 +100750,17 @@ declare module BABYLON {
|
|
|
* Disposes the SPS.
|
|
|
*/
|
|
|
dispose(): void;
|
|
|
+ /** Returns an object {idx: numbern faceId: number} for the picked particle from the passed pickingInfo object.
|
|
|
+ * idx is the particle index in the SPS
|
|
|
+ * faceId is the picked face index counted within this particle.
|
|
|
+ * Returns null if the pickInfo can't identify a picked particle.
|
|
|
+ * @param pickingInfo (PickingInfo object)
|
|
|
+ * @returns {idx: number, faceId: number} or null
|
|
|
+ */
|
|
|
+ pickedParticle(pickingInfo: PickingInfo): Nullable<{
|
|
|
+ idx: number;
|
|
|
+ faceId: number;
|
|
|
+ }>;
|
|
|
/**
|
|
|
* Returns a SolidParticle object from its identifier : particle.id
|
|
|
* @param id (integer) the particle Id
|
|
@@ -101028,6 +101103,10 @@ declare module BABYLON {
|
|
|
*/
|
|
|
materialIndex: Nullable<number>;
|
|
|
/**
|
|
|
+ * Custom object or properties.
|
|
|
+ */
|
|
|
+ props: Nullable<any>;
|
|
|
+ /**
|
|
|
* The culling strategy to use to check whether the solid particle must be culled or not when using isInFrustum().
|
|
|
* The possible values are :
|
|
|
* - AbstractMesh.CULLINGSTRATEGY_STANDARD
|
|
@@ -101167,6 +101246,10 @@ declare module BABYLON {
|
|
|
*/
|
|
|
export class DepthSortedParticle {
|
|
|
/**
|
|
|
+ * Particle index
|
|
|
+ */
|
|
|
+ idx: number;
|
|
|
+ /**
|
|
|
* Index of the particle in the "indices" array
|
|
|
*/
|
|
|
ind: number;
|
|
@@ -101186,7 +101269,7 @@ declare module BABYLON {
|
|
|
* Creates a new sorted particle
|
|
|
* @param materialIndex
|
|
|
*/
|
|
|
- constructor(ind: number, indLength: number, materialIndex: number);
|
|
|
+ constructor(idx: number, ind: number, indLength: number, materialIndex: number);
|
|
|
}
|
|
|
}
|
|
|
declare module BABYLON {
|
|
@@ -118040,6 +118123,11 @@ declare module BABYLON {
|
|
|
*/
|
|
|
selectionMeshPickedColor: Color3;
|
|
|
/**
|
|
|
+ * Optional filter to be used for ray selection. This predicate shares behavior with
|
|
|
+ * scene.pointerMovePredicate which takes priority if it is also assigned.
|
|
|
+ */
|
|
|
+ raySelectionPredicate: (mesh: AbstractMesh) => boolean;
|
|
|
+ /**
|
|
|
* constructs a new background remover module
|
|
|
* @param _xrSessionManager the session manager for this module
|
|
|
* @param _options read-only options to be used in this module
|
|
@@ -123369,6 +123457,9 @@ declare module BABYLON {
|
|
|
* Class used to host texture specific utilities
|
|
|
*/
|
|
|
export class BRDFTextureTools {
|
|
|
+ /**
|
|
|
+ * Prevents texture cache collision
|
|
|
+ */
|
|
|
private static _instanceNumber;
|
|
|
/**
|
|
|
* Gets a default environment BRDF for MS-BRDF Height Correlated BRDF
|