1 #include <msp/strings/format.h>
2 #include "primitivetype.h"
9 GLenum get_gl_primitive_type(PrimitiveType pt)
13 case POINTS: return GL_POINTS;
14 case LINES: return GL_LINES;
15 case LINE_STRIP: return GL_LINE_STRIP;
16 case LINE_LOOP: return GL_LINE_LOOP;
17 case TRIANGLES: return GL_TRIANGLES;
18 case TRIANGLE_STRIP: return GL_TRIANGLE_STRIP;
19 case TRIANGLE_FAN: return GL_TRIANGLE_FAN;
20 default: throw invalid_argument("get_gl_primitive_type");
24 void operator>>(const LexicalConverter &conv, PrimitiveType &pt)
26 if(conv.get()=="POINTS")
28 else if(conv.get()=="LINES")
30 else if(conv.get()=="LINE_LOOP")
32 else if(conv.get()=="LINE_STRIP")
34 else if(conv.get()=="TRIANGLES")
36 else if(conv.get()=="TRIANGLE_STRIP")
38 else if(conv.get()=="TRIANGLE_FAN")
41 throw lexical_error(format("conversion of '%s' to PrimitiveType", conv.get()));