#pragma once #ifndef _SHAPECAGE_H_ #define _SHAPECAGE_H_ #include #include class Grid; class ShapeCage { public: ShapeCage(); virtual ~ShapeCage(); void load(const std::string &meshName); void setGrid(std::shared_ptr g) { grid = g; } void toLocal(); void toWorld(); void init(); void draw(int h_pos, int h_tex) const; private: std::vector elemBuf; std::vector posBuf; std::vector norBuf; std::vector texBuf; std::vector posLocalBuf; std::vector tileIndexBuf; unsigned posBufID; unsigned texBufID; unsigned elemBufID; std::shared_ptr grid; }; #endif