1 #include <msp/strings/format.h>
3 #include "primitivetype.h"
10 unsigned get_gl_primitive_type(PrimitiveType pt)
14 case POINTS: return GL_POINTS;
15 case LINES: return GL_LINES;
16 case LINE_STRIP: return GL_LINE_STRIP;
17 case LINE_LOOP: return GL_LINE_LOOP;
18 case TRIANGLES: return GL_TRIANGLES;
19 case TRIANGLE_STRIP: return GL_TRIANGLE_STRIP;
20 case TRIANGLE_FAN: return GL_TRIANGLE_FAN;
21 default: throw invalid_argument("get_gl_primitive_type");
25 void operator>>(const LexicalConverter &conv, PrimitiveType &pt)
27 if(conv.get()=="POINTS")
29 else if(conv.get()=="LINES")
31 else if(conv.get()=="LINE_LOOP")
33 else if(conv.get()=="LINE_STRIP")
35 else if(conv.get()=="TRIANGLES")
37 else if(conv.get()=="TRIANGLE_STRIP")
39 else if(conv.get()=="TRIANGLE_FAN")
42 throw lexical_error(format("conversion of '%s' to PrimitiveType", conv.get()));