Graphics/ParticleSystem: Update interface

Former-commit-id: b58c3f194a32411eba2e321b00987d3c76e03cb0
This commit is contained in:
Lynix 2015-06-24 12:41:54 +02:00
parent 0895a9273d
commit 58f91d6e39
2 changed files with 11 additions and 17 deletions

View File

@ -24,13 +24,13 @@ class NAZARA_GRAPHICS_API NzParticleSystem : public NzRenderable
{
public:
NzParticleSystem(unsigned int maxParticleCount, nzParticleLayout layout);
NzParticleSystem(unsigned int maxParticleCount, const NzParticleDeclaration* declaration);
NzParticleSystem(unsigned int maxParticleCount, NzParticleDeclarationConstRef declaration);
NzParticleSystem(const NzParticleSystem& emitter);
~NzParticleSystem();
void AddController(NzParticleController* controller);
void AddController(NzParticleControllerRef controller);
void AddEmitter(NzParticleEmitter* emitter);
void AddGenerator(NzParticleGenerator* generator);
void AddGenerator(NzParticleGeneratorRef generator);
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const;
void ApplyControllers(NzParticleMapper& mapper, unsigned int particleCount, float elapsedTime);
@ -43,13 +43,12 @@ class NAZARA_GRAPHICS_API NzParticleSystem : public NzRenderable
void* GenerateParticle();
void* GenerateParticles(unsigned int count);
const NzParticleDeclaration* GetDeclaration() const;
const NzParticleDeclarationConstRef& GetDeclaration() const;
float GetFixedStepSize() const;
unsigned int GetMaxParticleCount() const;
unsigned int GetParticleCount() const;
unsigned int GetParticleSize() const;
bool IsDrawable() const;
bool IsFixedStepEnabled() const;
void KillParticle(unsigned int index);

View File

@ -16,8 +16,8 @@ NzParticleSystem(maxParticleCount, NzParticleDeclaration::Get(layout))
{
}
NzParticleSystem::NzParticleSystem(unsigned int maxParticleCount, const NzParticleDeclaration* declaration) :
m_declaration(declaration),
NzParticleSystem::NzParticleSystem(unsigned int maxParticleCount, NzParticleDeclarationConstRef declaration) :
m_declaration(std::move(declaration)),
m_processing(false),
m_maxParticleCount(maxParticleCount),
m_particleCount(0)
@ -51,11 +51,11 @@ m_particleSize(system.m_particleSize)
NzParticleSystem::~NzParticleSystem() = default;
void NzParticleSystem::AddController(NzParticleController* controller)
void NzParticleSystem::AddController(NzParticleControllerRef controller)
{
NazaraAssert(controller, "Invalid particle controller");
m_controllers.emplace_back(controller);
m_controllers.emplace_back(std::move(controller));
}
void NzParticleSystem::AddEmitter(NzParticleEmitter* emitter)
@ -65,11 +65,11 @@ void NzParticleSystem::AddEmitter(NzParticleEmitter* emitter)
m_emitters.emplace_back(emitter);
}
void NzParticleSystem::AddGenerator(NzParticleGenerator* generator)
void NzParticleSystem::AddGenerator(NzParticleGeneratorRef generator)
{
NazaraAssert(generator, "Invalid particle generator");
m_generators.emplace_back(generator);
m_generators.emplace_back(std::move(generator));
}
void NzParticleSystem::AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const
@ -152,7 +152,7 @@ void* NzParticleSystem::GenerateParticles(unsigned int count)
return ptr;
}
const NzParticleDeclaration* NzParticleSystem::GetDeclaration() const
const NzParticleDeclarationConstRef& NzParticleSystem::GetDeclaration() const
{
return m_declaration;
}
@ -177,11 +177,6 @@ unsigned int NzParticleSystem::GetParticleSize() const
return m_particleSize;
}
bool NzParticleSystem::IsDrawable() const
{
return true;
}
void NzParticleSystem::KillParticle(unsigned int index)
{
///FIXME: Vérifier index