Changeset View
Changeset View
Standalone View
Standalone View
source/blender/io/collada/BCAnimationSampler.cpp
| Show First 20 Lines • Show All 265 Lines • ▼ Show 20 Lines | void BCAnimationSampler::find_depending_animated(std::set<Object *> &animated_objects, | ||||
| std::set<Object *> &candidates) | std::set<Object *> &candidates) | ||||
| { | { | ||||
| bool found_more; | bool found_more; | ||||
| do { | do { | ||||
| found_more = false; | found_more = false; | ||||
| std::set<Object *>::iterator it; | std::set<Object *>::iterator it; | ||||
| for (it = candidates.begin(); it != candidates.end(); ++it) { | for (it = candidates.begin(); it != candidates.end(); ++it) { | ||||
| Object *cob = *it; | Object *cob = *it; | ||||
| ListBase *conlist = ED_object_constraint_list_from_context(cob); | ListBase *conlist = ED_object_constraint_active_list(cob); | ||||
| if (is_animated_by_constraint(cob, conlist, animated_objects)) { | if (is_animated_by_constraint(cob, conlist, animated_objects)) { | ||||
| animated_objects.insert(cob); | animated_objects.insert(cob); | ||||
| candidates.erase(cob); | candidates.erase(cob); | ||||
| found_more = true; | found_more = true; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } while (found_more && !candidates.empty()); | } while (found_more && !candidates.empty()); | ||||
| ▲ Show 20 Lines • Show All 379 Lines • Show Last 20 Lines | |||||