25 #ifndef WGRIDTRANSFORMORTHO_H
26 #define WGRIDTRANSFORMORTHO_H
28 #include "../common/exceptions/WPreconditionNotMet.h"
29 #include "../common/math/WMatrix.h"
30 #include "../common/math/linearAlgebra/WLinearAlgebra.h"
39 template<
typename T >
62 template<
typename InputType >
70 template<
typename InputType >
78 template<
typename InputType >
95 template<
typename InputType >
224 template<
typename VecType >
232 template<
typename VecType >
241 template<
typename InputType >
263 template<
typename T >
273 template<
typename T >
274 template<
typename InputType >
280 template<
typename T >
281 template<
typename InputType >
286 m_scaling( fabs( scaleX ), fabs( scaleY ), fabs( scaleZ ) ),
292 template<
typename T >
293 template<
typename InputType >
314 template<
typename T >
319 template<
typename T >
320 template<
typename InputType >
330 template<
typename T >
347 template<
typename T >
358 template<
typename T >
367 m_scaling[ 2 ] * direction[ 2 ] * m_unitDirectionZ[ 1 ],
371 m_scaling[ 2 ] * direction[ 2 ] * m_unitDirectionZ[ 2 ] );
374 template<
typename T >
384 template<
typename T >
390 template<
typename T >
396 template<
typename T >
402 template<
typename T >
408 template<
typename T >
414 template<
typename T >
420 template<
typename T >
426 template<
typename T >
432 template<
typename T >
438 template<
typename T >
444 template<
typename T >
450 template<
typename T >
456 mat( 1, 0 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 1 ];
457 mat( 2, 0 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 2 ];
459 mat( 1, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 1 ];
460 mat( 2, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 2 ];
462 mat( 1, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 1 ];
463 mat( 2, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 2 ];
470 template<
typename T >
475 mat( 0, 1 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 1 ];
476 mat( 0, 2 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 2 ];
478 mat( 1, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 1 ];
479 mat( 1, 2 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 2 ];
481 mat( 2, 1 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 1 ];
482 mat( 2, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 2 ];
489 template<
typename T >
497 template<
typename T >
498 template<
typename VecType >
506 template<
typename T >
507 template<
typename VecType>
515 template<
typename T >
516 template<
typename InputType >
526 #endif // WGRIDTRANSFORMORTHO_H