00001 /* 00002 * R3Helper.hpp 00003 * 00004 * Created on: Dec 14, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef R3HELPER_HPP_ 00009 #define R3HELPER_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 00013 #include <telekyb_base/Spaces/R3.hpp> 00014 00015 namespace TELEKYB_NAMESPACE { 00016 00017 class R3Helper { 00018 public: 00019 static double azimuth(const Vector3D& vector); 00020 static double zenith(const Vector3D& vector); 00021 }; 00022 00023 inline 00024 double R3Helper::azimuth(const Vector3D& vector) { 00025 return atan2(vector(1) , vector(0)); 00026 } 00027 00028 inline 00029 double R3Helper::zenith(const Vector3D& vector) { 00030 return atan2(sqrt(vector(0)*vector(0) + vector(1)*vector(1)) , vector(2)); 00031 } 00032 00033 } /* namespace telekyb */ 00034 #endif /* R3HELPER_HPP_ */