39
39
OccluderGeometry(const OccluderGeometry& oc, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
41
41
virtual Object* cloneType() const { return new OccluderGeometry(); }
42
42
virtual Object* clone(const osg::CopyOp& copyop) const { return new OccluderGeometry(*this,copyop); }
43
43
virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const OccluderGeometry*>(obj)!=NULL; }
44
44
virtual const char* libraryName() const { return "osgShadow"; }
45
45
virtual const char* className() const { return "OccluderGeometry"; }
47
47
/** Compute an occluder geometry containing all the geometry in specified subgraph.*/
48
48
void computeOccluderGeometry(osg::Node* subgraph, osg::Matrix* matrix=0, float sampleRatio=1.0f);
50
50
/** Compute an occluder geometry containing the geometry in specified drawable.*/
51
51
void computeOccluderGeometry(osg::Drawable* drawable, osg::Matrix* matrix=0, float sampleRatio=1.0f);
54
54
/** Compute ShadowVolumeGeometry. */
55
55
void computeShadowVolumeGeometry(const osg::Vec4& lightpos, ShadowVolumeGeometry& svg) const;
58
58
/** Set the bounding polytope of the OccluderGeometry.*/
59
59
void setBoundingPolytope(const osg::Polytope& polytope) { _boundingPolytope = polytope; }