9 #ifndef CREATEPLANARSHADOWVISITOR_H
10 #define CREATEPLANARSHADOWVISITOR_H
12 #include <osg/NodeVisitor>
15 #include <osg/Geometry>
16 #include <osg/Billboard>
17 #include <osg/Transform>
18 #include <osg/ref_ptr>
28 double distance = -1.0,
29 osg::Vec4 shadowColor = osg::Vec4(0,0,0,1) );
31 virtual void apply( osg::Geode& geode );
33 virtual void apply( osg::Billboard& billboard );
35 virtual void apply( osg::Transform& transform );
37 osg::Node*
getShadow() {
return _shadowNode.get(); }
43 osg::ref_ptr<osg::Group> _shadowNode;
45 osg::Vec3 _projectionAxis;
47 osg::Vec4 _shadowColor;
49 std::stack<osg::Matrix> _matrixStack;
Definition: CreatePlanarShadowVisitor.h:25
Definition: CreatePlanarShadowVisitor.h:25
CreatePlanarShadowVisitor(int projectionPlane=XZ_PLANE, double distance=-1.0, osg::Vec4 shadowColor=osg::Vec4(0, 0, 0, 1))
Definition: CreatePlanarShadowVisitor.cpp:20
Definition: CreatePlanarShadowVisitor.h:25
ProjectionPlane
Definition: CreatePlanarShadowVisitor.h:25
Definition: CreatePlanarShadowVisitor.h:22
osg::Node * getShadow()
Definition: CreatePlanarShadowVisitor.h:37
virtual void apply(osg::Geode &geode)
osg::Geode * buildShadowFromGeometry(osg::Geometry *geom)
Definition: CreatePlanarShadowVisitor.cpp:133