OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::ParticleSystem2D Class Reference

#include <ParticleSystem2D.hpp>

Public Member Functions

SIV3D_NODISCARD_CXX20 ParticleSystem2D ()
 
SIV3D_NODISCARD_CXX20 ParticleSystem2D (const Vec2 &position, const Vec2 &force=Vec2{ 0, 0 })
 
SIV3D_NODISCARD_CXX20 ParticleSystem2D (const Vec2 &position, const Vec2 &force, std::unique_ptr< IEmitter2D > &&emitter, const ParticleSystem2DParameters &parameters, const Texture &texture)
 
template<class Emitter , std::enable_if_t< std::is_base_of_v< IEmitter2D, Emitter >> * = nullptr>
SIV3D_NODISCARD_CXX20 ParticleSystem2D (const Vec2 &position, const Vec2 &force, const Emitter &emitter, const ParticleSystem2DParameters &parameters, const Texture &texture)
 
 ~ParticleSystem2D ()
 
void setPosition (const Vec2 &position) noexcept
 
void setForce (const Vec2 &force) noexcept
 
void setEmitter (std::unique_ptr< IEmitter2D > &&emitter)
 
template<class Emitter , std::enable_if_t< std::is_base_of_v< IEmitter2D, Emitter >> * = nullptr>
void setEmitter (const Emitter &emitter)
 
void setParameters (const ParticleSystem2DParameters &parameters)
 
void setTexture (const Texture &texture) noexcept
 
size_t num_particles () const noexcept
 
void prewarm ()
 
void update (double deltaTime=Scene::DeltaTime())
 
void draw () const
 
void drawDebug () const
 

Constructor & Destructor Documentation

◆ ParticleSystem2D() [1/4]

SIV3D_NODISCARD_CXX20 s3d::ParticleSystem2D::ParticleSystem2D ( )

◆ ParticleSystem2D() [2/4]

SIV3D_NODISCARD_CXX20 s3d::ParticleSystem2D::ParticleSystem2D ( const Vec2 position,
const Vec2 force = Vec2{ 0, 0 } 
)
explicit

◆ ParticleSystem2D() [3/4]

SIV3D_NODISCARD_CXX20 s3d::ParticleSystem2D::ParticleSystem2D ( const Vec2 position,
const Vec2 force,
std::unique_ptr< IEmitter2D > &&  emitter,
const ParticleSystem2DParameters parameters,
const Texture texture 
)

◆ ParticleSystem2D() [4/4]

template<class Emitter , std::enable_if_t< std::is_base_of_v< IEmitter2D, Emitter >> * = nullptr>
SIV3D_NODISCARD_CXX20 s3d::ParticleSystem2D::ParticleSystem2D ( const Vec2 position,
const Vec2 force,
const Emitter &  emitter,
const ParticleSystem2DParameters parameters,
const Texture texture 
)

◆ ~ParticleSystem2D()

s3d::ParticleSystem2D::~ParticleSystem2D ( )

Member Function Documentation

◆ draw()

void s3d::ParticleSystem2D::draw ( ) const

◆ drawDebug()

void s3d::ParticleSystem2D::drawDebug ( ) const

◆ num_particles()

size_t s3d::ParticleSystem2D::num_particles ( ) const
noexcept

◆ prewarm()

void s3d::ParticleSystem2D::prewarm ( )

◆ setEmitter() [1/2]

template<class Emitter , std::enable_if_t< std::is_base_of_v< IEmitter2D, Emitter >> * = nullptr>
void s3d::ParticleSystem2D::setEmitter ( const Emitter &  emitter)

◆ setEmitter() [2/2]

void s3d::ParticleSystem2D::setEmitter ( std::unique_ptr< IEmitter2D > &&  emitter)

◆ setForce()

void s3d::ParticleSystem2D::setForce ( const Vec2 force)
noexcept

◆ setParameters()

void s3d::ParticleSystem2D::setParameters ( const ParticleSystem2DParameters parameters)

◆ setPosition()

void s3d::ParticleSystem2D::setPosition ( const Vec2 position)
noexcept

◆ setTexture()

void s3d::ParticleSystem2D::setTexture ( const Texture texture)
noexcept

◆ update()

void s3d::ParticleSystem2D::update ( double  deltaTime = Scene::DeltaTime())

The documentation for this class was generated from the following file: