#include <msp/strings/format.h>
#include "primitivetype.h"
+using namespace std;
+
namespace Msp {
namespace GL {
+GLenum get_gl_primitive_type(PrimitiveType pt)
+{
+ switch(pt)
+ {
+ case POINTS: return GL_POINTS;
+ case LINES: return GL_LINES;
+ case LINE_STRIP: return GL_LINE_STRIP;
+ case LINE_LOOP: return GL_LINE_LOOP;
+ case TRIANGLES: return GL_TRIANGLES;
+ case TRIANGLE_STRIP: return GL_TRIANGLE_STRIP;
+ case TRIANGLE_FAN: return GL_TRIANGLE_FAN;
+ default: throw invalid_argument("get_gl_primitive_type");
+ }
+}
+
void operator>>(const LexicalConverter &conv, PrimitiveType &pt)
{
if(conv.get()=="POINTS")