]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/OrthoNormalBase.hxx
193ff7215ddec51246de654acb756fb1e60d6145
[cpPlugins.git] / lib / cpPlugins / OrthoNormalBase.hxx
1 #ifndef __CPPLUGINS__ORTHONORMALBASE__HXX__
2 #define __CPPLUGINS__ORTHONORMALBASE__HXX__
3
4 #include <vtkMatrix4x4.h>
5
6 // -------------------------------------------------------------------------
7 template< class _TMatrix >
8 void cpPlugins::OrthoNormalBase::
9 SetITK( const _TMatrix& m )
10 {
11   vtkMatrix4x4* matrix = vtkMatrix4x4::New( );
12   matrix->Identity( );
13   for( unsigned int i = 0; i < 4; ++i )
14     if( i < _TMatrix::RowDimensions )
15       for( unsigned int j = 0; j < 4; ++j )
16         if( j < _TMatrix::ColumnDimensions )
17           matrix->SetElement( i, j, m[ i ][ j ] );
18   this->m_VTKObject = matrix;
19   this->_CreateVTKActor( );
20 }
21
22 // -------------------------------------------------------------------------
23 template< class _TMatrix, class _TVector >
24 void cpPlugins::OrthoNormalBase::
25 SetITK( const _TMatrix& m, const _TVector& v )
26 {
27   vtkMatrix4x4* matrix = vtkMatrix4x4::New( );
28   matrix->Identity( );
29   for( unsigned int i = 0; i < 3; ++i )
30     if( i < _TMatrix::RowDimensions )
31       for( unsigned int j = 0; j < 3; ++j )
32         if( j < _TMatrix::ColumnDimensions )
33           matrix->SetElement( i, j, m[ i ][ j ] );
34   for( unsigned int i = 0; i < 3; ++i )
35     if( i < _TVector::Dimension )
36       matrix->SetElement( i, 3, v[ i ] );
37   this->m_VTKObject = matrix;
38   this->_CreateVTKActor( );
39 }
40
41 #endif // __CPPLUGINS__ORTHONORMALBASE__HXX__
42
43 // eof - $RCSfile$