// Copyright (C) 2017 Jérôme Leclercq // This file is part of the "Nazara Engine - Graphics module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_PARTICLEMAPPER_HPP #define NAZARA_PARTICLEMAPPER_HPP #include #include #include #include namespace Nz { class NAZARA_GRAPHICS_API ParticleMapper { public: ParticleMapper(void* buffer, const ParticleDeclaration* declaration); ~ParticleMapper(); template SparsePtr GetComponentPtr(ParticleComponent component); template SparsePtr GetComponentPtr(ParticleComponent component) const; inline void* GetPointer(); private: const ParticleDeclaration* m_declaration; UInt8* m_ptr; }; } #include #endif // NAZARA_PARTICLEMAPPER_HPP