Go to the documentation of this file.
14 #ifndef FINDAPPROXPATH_H
15 #define FINDAPPROXPATH_H
36 bool add_flags(
const std::string &str_flags);
59 void output(std::ostream &out)
const;
62 #if !defined(WIN32_VC) && !defined(WIN64_VC)
69 CT_match_name_insensitive,
72 CT_match_inexact_type,
86 void output(std::ostream &out)
const;
100 bool _return_stashed;
101 bool _case_insensitive;
103 friend std::ostream &operator << (std::ostream &, FindApproxPath::ComponentType);
104 friend INLINE std::ostream &operator << (std::ostream &,
const FindApproxPath::Component &);
108 operator << (std::ostream &out, FindApproxPath::ComponentType type);
110 INLINE std::ostream &
111 operator << (std::ostream &out,
const FindApproxPath::Component &component) {
112 component.output(out);
116 INLINE std::ostream &
void output_component(std::ostream &out, int index) const
Formats the nth component of the path to the indicated output stream.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
bool case_insensitive() const
Returns true if the search is case-insensitive, false if it is case- sensitive.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void add_match_name_glob(const std::string &glob, int flags)
Adds a component that must match the name of a node using standard shell globbing rules,...
void add_match_exact_type(TypeHandle type, int flags)
Adds a component that must match the type of a node exactly, with no derived types matching.
int get_num_components() const
Returns the number of components in the path.
bool add_flags(const std::string &str_flags)
Adds a sequence of control flags.
void add_match_pointer(PandaNode *pointer, int flags)
Adds a component that must match a particular node exactly, by pointer.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
bool add_component(std::string str_component)
Adds a single component to the path sequence, defined by a string as might appear between slashes in ...
bool return_stashed() const
Returns true if this path allows returning of stashed nodes, false otherwise.
bool return_hidden() const
Returns true if this path allows returning of hidden nodes, false otherwise.
bool matches_stashed(int index) const
Returns true if the nth component of the path matches a stashed node only, false otherwise.
This class is local to this package only; it doesn't get exported.
void add_match_one(int flags)
Adds a component that will match any node (but not a chain of many nodes).
void add_match_name(const std::string &name, int flags)
Adds a component that must match the name of a node exactly.
void add_match_tag_value(const std::string &key, const std::string &value, int flags)
Adds a component that will match a node that has a tag with the indicated key.
void add_match_tag(const std::string &key, int flags)
Adds a component that will match a node that has a tag with the indicated key, no matter what the val...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void add_match_inexact_type(TypeHandle type, int flags)
Adds a component that must match the type of a node or be a base class of the node's type.
A basic node of the scene graph or data graph.
This class can be used to test for string matches against standard Unix- shell filename globbing conv...
bool is_component_match_many(int index) const
Returns true if the nth component is of type match_many, which will require special handling.
bool add_string(const std::string &str_path)
Adds a sequence of components separated by slashes, followed optionally by a semicolon and a sequence...
bool matches_component(int index, PandaNode *node) const
Returns true if the nth component of the path matches the indicated node, false otherwise.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void add_match_many(int flags)
Adds a component that will match a chain of zero or more consecutive nodes.