void LLAgentListener::getAxes(const LLSD& event) const { LLQuaternion quat(mAgent.getQuat()); F32 roll, pitch, yaw; quat.getEulerAngles(&roll, &pitch, &yaw); // The official query API for LLQuaternion's [x, y, z, w] values is its // public member mQ... sendReply(LLSDMap ("quat", llsd_copy_array(boost::begin(quat.mQ), boost::end(quat.mQ))) ("euler", LLSDMap("roll", roll)("pitch", pitch)("yaw", yaw)), event); }
void LLAgentListener::getAxes(const LLSD& event_data) const { LLQuaternion quat(mAgent.getQuat()); F32 roll, pitch, yaw; quat.getEulerAngles(&roll, &pitch, &yaw); // The official query API for LLQuaternion's [x, y, z, w] values is its // public member mQ... LLSD reply = LLSD::emptyMap(); reply["quat"] = llsd_copy_array(boost::begin(quat.mQ), boost::end(quat.mQ)); reply["euler"] = LLSD::emptyMap(); reply["euler"]["roll"] = roll; reply["euler"]["pitch"] = pitch; reply["euler"]["yaw"] = yaw; sendReply(reply, event_data); }
void LLAgentListener::getPosition(const LLSD& event_data) const { F32 roll, pitch, yaw; LLQuaternion quat(mAgent.getQuat()); quat.getEulerAngles(&roll, &pitch, &yaw); LLSD reply = LLSD::emptyMap(); reply["quat"] = llsd_copy_array(boost::begin(quat.mQ), boost::end(quat.mQ)); reply["euler"] = LLSD::emptyMap(); reply["euler"]["roll"] = roll; reply["euler"]["pitch"] = pitch; reply["euler"]["yaw"] = yaw; reply["region"] = ll_sd_from_vector3(mAgent.getPositionAgent()); reply["global"] = ll_sd_from_vector3d(mAgent.getPositionGlobal()); sendReply(reply, event_data); }