Class PointCloudParticleSystem¶
Defined in File pointcloud_particlesystem.hpp
Inheritance Relationships¶
Base Type¶
public legion::rendering::ParticleSystemBase
(Class ParticleSystemBase)
Class Documentation¶
-
class
PointCloudParticleSystem
: public legion::rendering::ParticleSystemBase¶ Public Functions
-
inline
PointCloudParticleSystem
(pointCloudParameters params)¶ Constructor of the point cloud particle system.
- Parameters
params
: A struct with a bunch of default parameters and some parameters needed to be set.positions
: A list of positions that the particle system uses to create its particles at.
-
inline void
setup
(ecs::component_handle<rendering::particle_emitter> emitter_handle) const override¶ Setup function that will be called to populate the emitter with the required particles.
- Parameters
emitter_handle
: The emitter that you are populating.
-
inline void
CreateParticles
(std::vector<std::pair<math::vec3, math::color>> *inputData, rendering::particle_emitter &emitter, rendering::point_emitter_data &data) const¶ Creates particles based on position for the emitter, checks for recycling.
-
inline void
decreaseDetail
(rendering::particle_emitter &emitter, rendering::point_emitter_data &data, int targetLod, int maxLod, ecs::component_handle<rendering::point_emitter_data> &dataHandle, ecs::EntityQuery &enities) const¶ Decreases the particles detail down to the specified target LOD.
-
inline void
increaseDetail
(rendering::particle_emitter &emitter, rendering::point_emitter_data &data, int targetLod, int maxLod, rendering::lod &lod, ecs::EntityQuery &enities) const¶ Increases the particles up to the specified target LOD.
-
inline void
populateEmitter
(ecs::component_handle<rendering::particle_emitter> emitter_handle, ecs::component_handle<rendering::point_emitter_data> data) const¶ populates the particle emitter with particles, creates LOD component and an Octree
-
inline void
animate
(rendering::particle_emitter &emitter, rendering::point_emitter_data &data)¶
-
inline void
SetColor
(rendering::particle_emitter &emitter, rendering::point_emitter_data &data) const¶
-
inline void
update
(std::vector<ecs::entity_handle> &entity, ecs::component_handle<rendering::particle_emitter> emitterHandle, ecs::EntityQuery &entities, time::span) const override¶ Checks if there has been LOD changes, decreases or increases LOD.
Public Members
-
mutable rendering::point_cloud_particle_container
container
¶
-
inline