1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#pragma once
#include "glGrib/Object.h"
#include "glGrib/OpenGL.h"
#include "glGrib/View.h"
namespace glGrib
{
class Polygon : public Object3D
{
public:
Polygon () : VAID (this) {}
void setupVertexAttributes () const;
void render (const View &, const OptionsLight &) const override;
int getNumberOfPoints () const
{
return vertexbuffer->size () / 2;
}
int getNumberOfLines () const
{
return elementbuffer->size ();
}
void setup (const std::vector <float> & lonlat, const std::vector <unsigned int> & ind)
{
vertexbuffer = glGrib::OpenGLBufferPtr<float> (lonlat);
elementbuffer = glGrib::OpenGLBufferPtr<unsigned int> (ind);
}
private:
OpenGLBufferPtr<float> vertexbuffer;
OpenGLBufferPtr<unsigned int> elementbuffer;
OpenGLVertexArray<Polygon> VAID;
};
}
|