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/WPosition.h"
31 #include "../common/math/linearAlgebra/WMatrixFixed.h"
38 template<
typename T >
61 template<
typename InputType >
69 template<
typename InputType >
77 template<
typename InputType >
94 template<
typename InputType >
223 template<
typename VecType >
231 template<
typename VecType >
256 template<
typename InputType >
278 template<
typename T >
288 template<
typename T >
289 template<
typename InputType >
295 template<
typename T >
296 template<
typename InputType >
301 m_scaling( fabs( scaleX ), fabs( scaleY ), fabs( scaleZ ) ),
307 template<
typename T >
308 template<
typename InputType >
329 template<
typename T >
334 template<
typename T >
335 template<
typename InputType >
345 template<
typename T >
362 template<
typename T >
373 template<
typename T >
382 m_scaling[ 2 ] * direction[ 2 ] * m_unitDirectionZ[ 1 ],
386 m_scaling[ 2 ] * direction[ 2 ] * m_unitDirectionZ[ 2 ] );
389 template<
typename T >
399 template<
typename T >
405 template<
typename T >
411 template<
typename T >
417 template<
typename T >
423 template<
typename T >
429 template<
typename T >
435 template<
typename T >
441 template<
typename T >
447 template<
typename T >
453 template<
typename T >
459 template<
typename T >
465 template<
typename T >
471 mat( 1, 0 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 1 ];
472 mat( 2, 0 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 2 ];
474 mat( 1, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 1 ];
475 mat( 2, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 2 ];
477 mat( 1, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 1 ];
478 mat( 2, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 2 ];
485 template<
typename T >
490 mat( 0, 1 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 1 ];
491 mat( 0, 2 ) =
m_scaling[ 0 ] * m_unitDirectionX[ 2 ];
493 mat( 1, 1 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 1 ];
494 mat( 1, 2 ) =
m_scaling[ 1 ] * m_unitDirectionY[ 2 ];
496 mat( 2, 1 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 1 ];
497 mat( 2, 2 ) =
m_scaling[ 2 ] * m_unitDirectionZ[ 2 ];
504 template<
typename T >
512 template<
typename T >
513 template<
typename VecType >
521 template<
typename T >
522 template<
typename VecType>
530 template<
typename T >
538 template<
typename T >
539 template<
typename InputType >
549 template<
typename T >
559 #endif // WGRIDTRANSFORMORTHO_H