Program Listing for File MeshCluster.hpp

Return to documentation for file (include/lvr2/display/MeshCluster.hpp)

/*
 * MeshCluster.hpp
 *
 *  Created on: 12.04.2012
 *      Author: Thomas Wiemann
 */

#ifndef MESHCLUSTER_HPP_
#define MESHCLUSTER_HPP_

#include <list>

#include "lvr2/display/Renderable.hpp"
#include "lvr2/display/StaticMesh.hpp"

namespace lvr2
{

class MeshCluster : public Renderable
{
public:
    MeshCluster() {};

    void addMesh(MeshBufferPtr buffer, string name);

    virtual ~MeshCluster() { for (StaticMesh* sm : m_meshes) delete sm;};

    virtual inline void render()
    {
        std::list<StaticMesh*>::iterator it;
        for(it = m_meshes.begin(); it != m_meshes.end(); it++)
        {
            (*it)->render();
        }
    }

    std::list<StaticMesh*> getMeshes() { return m_meshes;}

private:
    std::list<StaticMesh*> m_meshes;
};

} // namespace lvr2

#endif /* MESHCLUSTER_HPP_ */