00001 #ifndef Impala_Core_Matrix_MatMakeRotate2dRad_h
00002 #define Impala_Core_Matrix_MatMakeRotate2dRad_h
00003
00004 #include <cmath>
00005 #include "Core/Matrix/Mat.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Matrix
00012 {
00013
00014
00015 inline Mat*
00016 MatMakeRotate2dRad(double alpha)
00017 {
00018 Mat* m = MatCreate<Mat>(3, 3);
00019 MatStorType* ptr = MatE(m, 0, 0);
00020 *ptr++ = ::cos(alpha); *ptr++ = -::sin(alpha); *ptr++ = 0;
00021 *ptr++ = ::sin(alpha); *ptr++ = ::cos(alpha); *ptr++ = 0;
00022 *ptr++ = 0; *ptr++ = 0; *ptr++ = 1;
00023 return m;
00024 }
00025
00026 }
00027 }
00028 }
00029
00030 #endif