+ auto matrix = ma->GetUserMatrix( );
+ for( unsigned int d = 0; d < 3; ++d )
+ {
+ x[ d ] = matrix->GetElement( d, 0 );
+ y[ d ] = matrix->GetElement( d, 1 );
+ z[ d ] = matrix->GetElement( d, 2 );
+
+ } // rof
+ auto nx = x.GetNorm( );
+ auto ny = y.GetNorm( );
+ auto nz = z.GetNorm( );
+ if( nx > double( 0 ) ) x /= nx;
+ if( ny > double( 0 ) ) y /= ny;
+ if( nz > double( 0 ) ) z /= nz;
+ x *= v;
+ y *= v;
+ z *= v;
+ for( unsigned int d = 0; d < 3; ++d )
+ {
+ matrix->SetElement( d, 0, x[ d ] );
+ matrix->SetElement( d, 1, y[ d ] );
+ matrix->SetElement( d, 2, z[ d ] );
+
+ } // rof