Pioneer
FindNodeVisitor.h
Go to the documentation of this file.
1 // Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2 // Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3 
4 #ifndef _SCENEGRAPH_FINDNODEVISITOR_H
5 #define _SCENEGRAPH_FINDNODEVISITOR_H
6 /*
7  * Returns a list of nodes according to search criteria
8  * Note, does not remove duplicates
9  */
10 #include "NodeVisitor.h"
11 
12 namespace SceneGraph {
13 
14  class FindNodeVisitor : public NodeVisitor {
15  public:
16  enum Criteria { //or criterion. whatever.
20  //match type etc.
21  };
22  FindNodeVisitor(Criteria crit, const std::string &searchstring);
23  virtual void ApplyNode(Node &);
24 
25  const std::vector<Node *> &GetResults() { return m_results; }
26 
27  private:
28  std::vector<Node *> m_results;
29  Criteria m_criteria;
30  std::string m_string;
31  };
32 
33 } // namespace SceneGraph
34 
35 #endif
Definition: FindNodeVisitor.h:14
Criteria
Definition: FindNodeVisitor.h:16
@ MATCH_NAME_ENDSWITH
Definition: FindNodeVisitor.h:19
@ MATCH_NAME_FULL
Definition: FindNodeVisitor.h:17
@ MATCH_NAME_STARTSWITH
Definition: FindNodeVisitor.h:18
FindNodeVisitor(Criteria crit, const std::string &searchstring)
Definition: FindNodeVisitor.cpp:10
const std::vector< Node * > & GetResults()
Definition: FindNodeVisitor.h:25
virtual void ApplyNode(Node &)
Definition: FindNodeVisitor.cpp:16
Definition: NodeVisitor.h:26
Definition: Node.h:72
Definition: CityOnPlanet.h:31