1 #ifndef OPENMW_COMPONENTS_SCENEUTIL_VISITOR_H
2 #define OPENMW_COMPONENTS_SCENEUTIL_VISITOR_H
4 #include <osg/MatrixTransform>
5 #include <osg/NodeVisitor>
17 : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
23 virtual void apply(osg::Group& group);
24 virtual void apply(osg::MatrixTransform& node);
25 virtual void apply(osg::Geometry& node);
37 : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
42 virtual void apply(osg::Node &node);
53 : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
57 virtual void apply(osg::MatrixTransform& node);
59 virtual void apply(osg::Drawable& drw);
66 typedef std::map<std::string, osg::ref_ptr<osg::MatrixTransform> >
NodeMap;
69 : osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN)
74 void apply(osg::MatrixTransform& trans);
87 : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
95 typedef std::vector<std::pair<osg::Node*, osg::Group*> >
RemoveVec;
96 std::vector<std::pair<osg::Node*, osg::Group*> >
mToRemove;
103 virtual void apply(osg::Drawable& drw);
104 virtual void apply(osg::Group& node);
105 virtual void apply(osg::MatrixTransform& node);
106 virtual void apply(osg::Node& node);
115 virtual void apply(osg::Drawable& drw);
116 virtual void apply(osg::Group& node);
117 virtual void apply(osg::MatrixTransform& node);
Definition: visitor.hpp:13
Definition: visitor.hpp:100
FindByNameVisitor(const std::string &nameToFind)
Definition: visitor.hpp:16
std::vector< osg::Node * > mFoundNodes
Definition: visitor.hpp:45
FindByClassVisitor(const std::string &nameToFind)
Definition: visitor.hpp:36
std::map< std::string, osg::ref_ptr< osg::MatrixTransform > > NodeMap
Definition: visitor.hpp:66
std::vector< std::pair< osg::Node *, osg::Group * > > RemoveVec
Definition: visitor.hpp:95
virtual void apply(osg::Drawable &drw)
Definition: visitor.cpp:81
virtual void apply(osg::MatrixTransform &node)
Definition: visitor.cpp:49
virtual void apply(osg::Node &node)
Definition: visitor.cpp:25
void applyDrawable(osg::Node &node)
Definition: visitor.cpp:112
Base class for visitors that remove nodes from a scene graph. Subclasses need to fill the mToRemove v...
Definition: visitor.hpp:83
void applyNode(osg::Node &node)
Definition: visitor.cpp:101
Definition: visitor.hpp:49
virtual void apply(osg::Group &group)
Definition: visitor.cpp:33
void applyImpl(osg::Node &node)
Definition: visitor.cpp:149
virtual void apply(osg::Drawable &drw)
Definition: visitor.cpp:134
osg::Group * mFoundNode
Definition: visitor.hpp:30
bool checkGroup(osg::Group &group)
Definition: visitor.cpp:15
NodeMapVisitor(NodeMap &map)
Definition: visitor.hpp:68
RemoveVisitor()
Definition: visitor.hpp:86
std::string mNameToFind
Definition: visitor.hpp:29
std::vector< std::pair< osg::Node *, osg::Group * > > mToRemove
Definition: visitor.hpp:96
Maps names to nodes.
Definition: visitor.hpp:63
void apply(osg::MatrixTransform &trans)
Definition: visitor.cpp:60
Definition: visitor.hpp:112
Definition: visitor.hpp:33
NodeMap & mMap
Definition: visitor.hpp:77
std::string mNameToFind
Definition: visitor.hpp:44
DisableFreezeOnCullVisitor()
Definition: visitor.hpp:52