25 #include "../common/exceptions/WPreconditionNotMet.h"
27 #include "WGridTransformOrtho.h"
30 : m_directionX( 1.0, 0.0, 0.0 ),
31 m_directionY( 0.0, 1.0, 0.0 ),
32 m_directionZ( 0.0, 0.0, 1.0 ),
33 m_scaling( 1.0, 1.0, 1.0 ),
34 m_origin( 0.0, 0.0, 0.0 )
39 : m_directionX( ( scaleX > 0.0 ) - ( scaleX < 0.0 ), 0.0, 0.0 ),
40 m_directionY( 0.0, ( scaleY > 0.0 ) - ( scaleY < 0.0 ), 0.0 ),
41 m_directionZ( 0.0, 0.0, ( scaleZ > 0.0 ) - ( scaleZ < 0.0 ) ),
42 m_scaling( fabs( scaleX ), fabs( scaleY ), fabs( scaleZ ) ),
43 m_origin( 0.0, 0.0, 0.0 )
62 WPrecondLess( fabs( dot( m_directionX,
m_directionY ) ), 0.0001 );
63 WPrecondLess( fabs( dot( m_directionX,
m_directionZ ) ), 0.0001 );
97 +
m_scaling[ 2 ] * direction[ 2 ] * m_directionZ[ 1 ],
99 +
m_scaling[ 2 ] * direction[ 2 ] * m_directionZ[ 2 ] );
166 mat( 1, 0 ) =
m_scaling[ 0 ] * m_directionX[ 1 ];
167 mat( 2, 0 ) =
m_scaling[ 0 ] * m_directionX[ 2 ];
169 mat( 1, 1 ) =
m_scaling[ 1 ] * m_directionY[ 1 ];
170 mat( 2, 1 ) =
m_scaling[ 1 ] * m_directionY[ 2 ];
172 mat( 1, 2 ) =
m_scaling[ 2 ] * m_directionZ[ 1 ];
173 mat( 2, 2 ) =
m_scaling[ 2 ] * m_directionZ[ 2 ];
190 mat( 0, 0 ) = m_scaling[ 0 ] * m_directionX[ 0 ];
191 mat( 0, 1 ) = m_scaling[ 0 ] * m_directionX[ 1 ];
192 mat( 0, 2 ) = m_scaling[ 0 ] * m_directionX[ 2 ];
193 mat( 1, 0 ) = m_scaling[ 1 ] * m_directionY[ 0 ];
194 mat( 1, 1 ) = m_scaling[ 1 ] * m_directionY[ 1 ];
195 mat( 1, 2 ) = m_scaling[ 1 ] * m_directionY[ 2 ];
196 mat( 2, 0 ) = m_scaling[ 2 ] * m_directionZ[ 0 ];
197 mat( 2, 1 ) = m_scaling[ 2 ] * m_directionZ[ 1 ];
198 mat( 2, 2 ) = m_scaling[ 2 ] * m_directionZ[ 2 ];
199 mat( 3, 0 ) = m_origin[ 0 ];
200 mat( 3, 1 ) = m_origin[ 1 ];
201 mat( 3, 2 ) = m_origin[ 2 ];