Class SolidParticle
Constructors
constructor
-
new SolidParticle(
particleIndex: number,
particleId: number,
positionIndex: number,
indiceIndex: number,
model: Nullable<ModelShape>,
shapeId: number,
idxInShape: number,
sps: SolidParticleSystem,
modelBoundingInfo?: Nullable<BoundingInfo>,
materialIndex?: Nullable<number>,
): SolidParticleCreates a Solid Particle object. Don't create particles manually, use instead the Solid Particle System internal tools like _addParticle()
Parameters
- particleIndex: number
(integer) is the particle index in the Solid Particle System pool.
- particleId: number
(integer) is the particle identifier. Unless some particles are removed from the SPS, it's the same value than the particle idx.
- positionIndex: number
(integer) is the starting index of the particle vertices in the SPS "positions" array.
- indiceIndex: number
(integer) is the starting index of the particle indices in the SPS "indices" array.
- model: Nullable<ModelShape>
(ModelShape) is a reference to the model shape on what the particle is designed.
- shapeId: number
(integer) is the model shape identifier in the SPS.
- idxInShape: number
(integer) is the index of the particle in the current model (ex: the 10th box of addShape(box, 30))
- sps: SolidParticleSystem
defines the sps it is associated to
- modelBoundingInfo: Nullable<BoundingInfo> = null
is the reference to the model BoundingInfo used for intersection computations.
- materialIndex: Nullable<number> = null
is the particle material identifier (integer) when the MultiMaterials are enabled in the SPS.
Returns SolidParticle
- particleIndex: number
Properties
age
The current age of the particle.
alive
Is the particle active or not ?
color
The color of the particle
culling Strategy
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
- AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY
- AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION
- AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY The default value for solid particles is AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY Please read each static variable documentation in the class AbstractMesh to get details about the culling process.
id
particle identifier
idx
particle global index
idx In Shape
Index of the particle in its shape id
is Visible
Is the particle visible or not ?
life Time
Defines how long will the life of the particle be. Set to Infinity for particles that should never die (default behavior for SolidParticleSystem).
material Index
The particle material identifier (integer) when MultiMaterials are enabled in the SPS.
parent Id
Parent particle Id, if any. Default null.
pivot
The pivot point in the particle local space.
position
The world space position of the particle.
props
Custom object or properties.
rotation
The world space rotation of the particle. (Not use if rotationQuaternion is set)
rotation Quaternion
The world space rotation quaternion of the particle.
scaling
The scaling of the particle.
shape Id
ModelShape id of this particle
translate From Pivot
Must the particle be translated from its pivot point in its local space ? In this case, the pivot point is set at the origin of the particle local space and the particle is translated. Default : false
uvs
The uvs of the particle.
velocity
The current speed of the particle.
Accessors
has Bounding Info
-
get hasBoundingInfo(): boolean
Returns true if there is already a bounding info
Returns boolean
quaternion
-
Legacy support, changed quaternion to rotationQuaternion
Returns Nullable<Quaternion>
-
Legacy support, changed quaternion to rotationQuaternion
Parameters
- q: Nullable<Quaternion>
Returns void
scale
-
Legacy support, changed scale to scaling
Returns Vector3
Methods
copy To Ref
-
Copies the particle property values into the existing target : position, rotation, scaling, uvs, colors, pivot, parent, visibility, alive
Parameters
- target: SolidParticle
the particle target
Returns SolidParticle
the current particle
- target: SolidParticle
get Bounding Info
intersects Mesh
-
Returns a boolean. True if the particle intersects another particle or another mesh, else false. The intersection is computed on the particle bounding sphere and Axis Aligned Bounding Box (AABB)
Parameters
- target: Mesh | SolidParticle
is the object (solid particle or mesh) what the intersection is computed against.
Returns boolean
true if it intersects
- target: Mesh | SolidParticle
is In Frustum
-
Returns
trueif the solid particle is within the frustum defined by the passed array of planes. A particle is in the frustum if its bounding box intersects the frustumParameters
- frustumPlanes: Plane[]
defines the frustum to test
Returns boolean
true if the particle is in the frustum planes
- frustumPlanes: Plane[]
Represents one particle of a solid particle system.