+++ /dev/null
-#include "windingtest.h"
-
-namespace Msp {
-namespace GL {
-
-void operator>>(const LexicalConverter &conv, FaceWinding &winding)
-{
- if(conv.get()=="CLOCKWISE")
- winding = CLOCKWISE;
- else if(conv.get()=="COUNTERCLOCKWISE")
- winding = COUNTERCLOCKWISE;
- else
- throw InvalidParameterValue("Invalid FaceWinding");
-}
-
-WindingTest::WindingTest():
- test(false),
- winding(COUNTERCLOCKWISE)
-{ }
-
-WindingTest::WindingTest(FaceWinding w):
- test(true),
- winding(w)
-{ }
-
-void WindingTest::bind() const
-{
- if(set_current(this))
- {
- if(test)
- {
- glEnable(GL_CULL_FACE);
- glFrontFace(winding);
- }
- else
- glDisable(GL_CULL_FACE);
- }
-}
-
-void WindingTest::unbind()
-{
- if(set_current(0))
- glDisable(GL_CULL_FACE);
-}
-
-WindingTest &WindingTest::clockwise()
-{
- static WindingTest test(CLOCKWISE);
- return test;
-}
-
-WindingTest &WindingTest::counterclockwise()
-{
- static WindingTest test(COUNTERCLOCKWISE);
- return test;
-}
-
-} // namespace GL
-} // namespace Msp