Public Types | |
enum | DrawMode { GEOMETRY, STENCIL_TWO_PASS, STENCIL_TWO_SIDED } |
typedef std::vector < osg::Vec3 > | Vec3List |
typedef std::vector < GLuint > | UIntList |
Public Member Functions | |
ShadowVolumeGeometry () | |
ShadowVolumeGeometry (const ShadowVolumeGeometry &oc, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const |
Clone the type of an object, with Object* return type. | |
virtual Object * | clone (const osg::CopyOp ©op) const |
Clone an object, with Object* return type. | |
virtual bool | isSameKindAs (const osg::Object *obj) const |
virtual const char * | libraryName () const |
return the name of the object's library. | |
virtual const char * | className () const |
return the name of the object's class type. | |
void | setDrawMode (DrawMode mode) |
DrawMode | getDrawMode () const |
void | setVertices (const Vec3List &vertices) |
Vec3List & | getVertices () |
const Vec3List & | getVertices () const |
void | setNormals (const Vec3List &normals) |
Vec3List & | getNormals () |
const Vec3List & | getNormals () const |
virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
Render the occluder geometry. | |
virtual osg::BoundingBox | computeBound () const |
Compute the bounding box around occluder geometry. | |
Protected Member Functions | |
virtual | ~ShadowVolumeGeometry () |
Protected Attributes | |
DrawMode | _drawMode |
Vec3List | _vertices |
Vec3List | _normals |
UIntList | _indices |
typedef std::vector<osg::Vec3> osgShadow::ShadowVolumeGeometry::Vec3List |
typedef std::vector<GLuint> osgShadow::ShadowVolumeGeometry::UIntList |
osgShadow::ShadowVolumeGeometry::ShadowVolumeGeometry | ( | ) |
osgShadow::ShadowVolumeGeometry::ShadowVolumeGeometry | ( | const ShadowVolumeGeometry & | oc, | |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
) |
virtual osgShadow::ShadowVolumeGeometry::~ShadowVolumeGeometry | ( | ) | [inline, protected, virtual] |
virtual Object* osgShadow::ShadowVolumeGeometry::cloneType | ( | ) | const [inline, virtual] |
Clone the type of an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
virtual Object* osgShadow::ShadowVolumeGeometry::clone | ( | const osg::CopyOp & | ) | const [inline, virtual] |
Clone an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
virtual bool osgShadow::ShadowVolumeGeometry::isSameKindAs | ( | const osg::Object * | obj | ) | const [inline, virtual] |
Reimplemented from osg::Drawable.
virtual const char* osgShadow::ShadowVolumeGeometry::libraryName | ( | ) | const [inline, virtual] |
return the name of the object's library.
Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Reimplemented from osg::Drawable.
virtual const char* osgShadow::ShadowVolumeGeometry::className | ( | ) | const [inline, virtual] |
return the name of the object's class type.
Must be defined by derived classes.
Reimplemented from osg::Drawable.
void osgShadow::ShadowVolumeGeometry::setDrawMode | ( | DrawMode | mode | ) | [inline] |
DrawMode osgShadow::ShadowVolumeGeometry::getDrawMode | ( | ) | const [inline] |
void osgShadow::ShadowVolumeGeometry::setVertices | ( | const Vec3List & | vertices | ) | [inline] |
Vec3List& osgShadow::ShadowVolumeGeometry::getVertices | ( | ) | [inline] |
const Vec3List& osgShadow::ShadowVolumeGeometry::getVertices | ( | ) | const [inline] |
void osgShadow::ShadowVolumeGeometry::setNormals | ( | const Vec3List & | normals | ) | [inline] |
Vec3List& osgShadow::ShadowVolumeGeometry::getNormals | ( | ) | [inline] |
const Vec3List& osgShadow::ShadowVolumeGeometry::getNormals | ( | ) | const [inline] |
virtual void osgShadow::ShadowVolumeGeometry::drawImplementation | ( | osg::RenderInfo & | renderInfo | ) | const [virtual] |
virtual osg::BoundingBox osgShadow::ShadowVolumeGeometry::computeBound | ( | ) | const [virtual] |
DrawMode osgShadow::ShadowVolumeGeometry::_drawMode [protected] |
Vec3List osgShadow::ShadowVolumeGeometry::_vertices [protected] |
Vec3List osgShadow::ShadowVolumeGeometry::_normals [protected] |
UIntList osgShadow::ShadowVolumeGeometry::_indices [protected] |