00001
00002
00008 #if !defined(__geom_decomposition_h__)
00009 #define __geom_decomposition_h__
00010
00011 #if defined(DEBUG_geom) && !defined(DEBUG_decomposition)
00012 #define DEBUG_decomposition
00013 #endif
00014
00015 #include "../../../ads/tensor/SquareMatrix.h"
00016
00017 BEGIN_NAMESPACE_GEOM
00018
00019
00021 template<typename T>
00022 void
00023 decompose(const ads::SquareMatrix<2,T>& jacobian,
00024 ads::SquareMatrix<2,T>* orientation,
00025 ads::SquareMatrix<2,T>* skew,
00026 ads::SquareMatrix<2,T>* aspectRatio);
00027
00028
00030 template<typename T>
00031 void
00032 decompose(const ads::SquareMatrix<3,T>& jacobian,
00033 ads::SquareMatrix<3,T>* orientation,
00034 ads::SquareMatrix<3,T>* skew,
00035 ads::SquareMatrix<3,T>* aspectRatio);
00036
00037
00038 END_NAMESPACE_GEOM
00039
00040 #define __geom_decomposition_ipp__
00041 #include "decomposition.ipp"
00042 #undef __geom_decomposition_ipp__
00043
00044 #endif