Gl Graph
Gl Graph Source of mapabstract.h
#ifndef MAPABSTRACT_H #define MAPABSTRACT_H #include <vector> #include <iostream> #include <fstream> #include <string> #include <algorithm> #define GL_GLEXT_PROTOTYPES #include <GL/gl.h> #include <drawabledatareader.h> #include <globjectdata.h> class MapAbstract : public DrawableDataReader { public: MapAbstract(); MapAbstract(std::string * filename, std::string * format, int maxline,std::unordered_map<std::string, std::string> * args); void addData(float x, float y, float z); void draw(); virtual void init(); void print(); int getElementNb() const; void updateMinMax() { min=rawdata[0]; max=rawdata[0]; unsigned int size = rawdata.size(); for (unsigned int i = 1; i < size; i++) { min.setMin(min,rawdata[i]); max.setMax(max,rawdata[i]); } } float getMinX() { return min.getX(); }; float getMaxX() { return max.getX(); }; float getMinY() { return min.getY(); }; float getMaxY() { return max.getY(); }; float getMinZ() { return min.getZ(); }; float getMaxZ() { return max.getZ(); }; void onFileOpen(); bool onLineRead(std::string line); void onFileClose(); protected: Vec3f min; Vec3f max; int xsize; int ysize; std::vector<Vec3f> rawdata; std::vector<GlQuad> quadlist; GlQuadData glquaddata; bool isInMap(int x, int y); bool layoutXY; unsigned int getIndex(int x, int y); virtual void processVertex(Vec3f &vecin,Vec3f &vecout); virtual void processVertexColor(Vec3f &vecin,Vec3f &vecout); void setVertex(int x, int y,Vec3f &vec); void setColor(int x, int y,Vec3f &vec); void setNormalVertex(int x, int y,Vec3f &vec); void pushMapVertex(); void pushMapColor(); void pushMapNormalVertex(); void pushMap(); void buildMap(); }; #endif