28 _include_joints(copy._include_joints),
29 _exclude_joints(copy._exclude_joints)
38 _include_joints = copy._include_joints;
39 _exclude_joints = copy._exclude_joints;
52 _include_joints.push_back(name);
66 _exclude_joints.push_back(name);
75 Joints::const_iterator ji;
76 for (ji = other._include_joints.begin();
77 ji != other._include_joints.end();
79 _include_joints.push_back(*ji);
81 for (ji = other._exclude_joints.begin();
82 ji != other._exclude_joints.end();
84 _exclude_joints.push_back(*ji);
92 output(std::ostream &out)
const {
93 if (_include_joints.empty() && _exclude_joints.empty()) {
94 out <<
"PartSubset, empty";
96 out <<
"PartSubset, include: [";
97 Joints::const_iterator ji;
98 for (ji = _include_joints.begin(); ji != _include_joints.end(); ++ji) {
101 out <<
" ], exclude: [";
102 for (ji = _exclude_joints.begin(); ji != _exclude_joints.end(); ++ji) {
115 return _include_joints.empty();
124 Joints::const_iterator ji;
125 for (ji = _include_joints.begin(); ji != _include_joints.end(); ++ji) {
126 if ((*ji).matches(joint_name)) {
141 Joints::const_iterator ji;
142 for (ji = _exclude_joints.begin(); ji != _exclude_joints.end(); ++ji) {
143 if ((*ji).matches(joint_name)) {
bool is_include_empty() const
Returns true if the include list is completely empty, false otherwise.
bool matches_exclude(const std::string &joint_name) const
Returns true if the indicated name matches a name on the exclude list, false otherwise.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
bool matches_include(const std::string &joint_name) const
Returns true if the indicated name matches a name on the include list, false otherwise.
void add_exclude_joint(const GlobPattern &name)
Adds the named joint to the list of joints that will be explicitly exlcluded from the subset.
This class is used to define a subset of part names to apply to the PartBundle::bind_anim() operation...
void add_include_joint(const GlobPattern &name)
Adds the named joint to the list of joints that will be explicitly included in the subset.
This class can be used to test for string matches against standard Unix- shell filename globbing conv...
void append(const PartSubset &other)
Appends the include and exclude list from the other object onto this object's lists.