24 #include <aspect/inifins/vision.h>
25 #include <aspect/inifins/vision_master.h>
26 #include <aspect/vision.h>
27 #include <core/threading/thread_finalizer.h>
40 : AspectIniFin(
"VisionAspect")
42 master_inifin_ = master_inifin;
50 if (vision_thread == 0) {
52 "VisionAspect, but RTTI says it "
61 "continuous mode but thread does not",
66 throw CannotInitializeThreadException(
"Vision thread '%s' operates in "
67 "cyclic mode but thread does not "
68 "operate in wait-for-wakeup mode.",
73 vision_thread->init_VisionAspect(master_inifin_->
vision_master());
74 }
catch (DependencyViolationException &e) {
75 CannotInitializeThreadException ce(
"Dependency violation for "
76 "VisionAspect detected");
85 VisionAspect *vision_thread;
86 vision_thread =
dynamic_cast<VisionAspect *
>(thread);
87 if (vision_thread == 0) {
103 VisionAspect *vision_thread;
104 vision_thread =
dynamic_cast<VisionAspect *
>(thread);
105 if (vision_thread == 0) {
106 throw CannotFinalizeThreadException(
"Thread '%s' claims to have the "
107 "VisionAspect, but RTTI says it "
114 }
catch (DependencyViolationException &e) {
115 CannotFinalizeThreadException ce(
"Dependency violation for "
116 "VisionAspect detected");