00001 #ifndef _SCENE_GRAPH_NODE_VISITOR_H_ 00002 #define _SCENE_GRAPH_NODE_VISITOR_H_ 00003 00004 #include "cglib/scene_graph_node.h" 00005 #include "cglib/mesh_node.h" 00006 #include "cglib/transform_node.h" 00007 #include "cglib/group_node.h" 00008 00010 class SceneGraphNodeVisitor 00011 { 00012 public: 00014 void visit(SceneGraphNode *node); 00015 00017 virtual void visit_MeshNode(MeshNode *node) = 0; 00018 00020 virtual void visit_TransformNode(TransformNode *node) = 0; 00021 00023 virtual void visit_GroupNode(GroupNode *node) = 0; 00024 }; 00025 00026 #endif /* _SCENE_GRAPH_NODE_VISITOR_H_ */