float Controller::getSurface(std::string state, std::string attr){ RTT::TaskContext* t = (TaskContext*)(getPeer(state)); if(not t){ return 0; } //TODO - We need to account for the case where this lookup fails RTT::Attribute<float> a = t->attributes()->getAttribute(attr); return a.get(); }