Files
OpenSceneGraph/src/osg/PolygonMode.cpp
Robert Osfield 12226e4371 Converted the instances of const built in types being returned from methods
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00

67 lines
1.3 KiB
C++

#include <osg/GL>
#include <osg/PolygonMode>
#include <osg/Notify>
using namespace osg;
PolygonMode::PolygonMode()
{
_frontAndBack = true;
_modeFront = FILL;
_modeBack = FILL;
}
PolygonMode::~PolygonMode()
{
}
void PolygonMode::setMode(Face face,Mode mode)
{
switch(face)
{
case(FRONT):
_frontAndBack = false;
_modeFront = mode;
break;
case(BACK):
_frontAndBack = false;
_modeBack = mode;
break;
case(FRONT_AND_BACK):
_frontAndBack = true;
_modeFront = mode;
_modeBack = mode;
break;
}
}
PolygonMode::Mode PolygonMode::getMode(Face face) const
{
switch(face)
{
case(FRONT):
return _modeFront;
case(BACK):
return _modeBack;
case(FRONT_AND_BACK):
return _modeFront;
}
notify(WARN)<<"Warning : invalid Face passed to PolygonMode::getMode(Face face)"<<std::endl;
return _modeFront;
}
void PolygonMode::apply(State&) const
{
if (_frontAndBack)
{
glPolygonMode(GL_FRONT_AND_BACK,(GLenum)_modeFront);
}
else
{
glPolygonMode(GL_FRONT,(GLenum)_modeFront);
glPolygonMode(GL_BACK,(GLenum)_modeBack);
}
}