X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FTransformer.cxx;h=e6e6c8b5ce8091c40d034173498d26ec8165a762;hb=bb6bffc75df349b5f74f4197206718a87b42e4a7;hp=ed1b25ba8021c4495a356b11295f03c941ccff9a;hpb=86c3482ce714b8d4201c8d819a10b59e4e4440c4;p=creaRigidRegistration.git diff --git a/lib/Transformer.cxx b/lib/Transformer.cxx index ed1b25b..e6e6c8b 100644 --- a/lib/Transformer.cxx +++ b/lib/Transformer.cxx @@ -15,10 +15,9 @@ Transformer::Transformer() //If the transform already exists, we delete it before we create a new transform //and set the matrix with the identity matrix _transform= vtkTransform::New(); - vtkMatrix4x4 *_matrix = vtkMatrix4x4::New(); + _matrix = vtkMatrix4x4::New(); _matrix->Identity(); - _transform->SetMatrix(_matrix); - + _transform->SetMatrix(_matrix); } /* @@ -28,6 +27,7 @@ Transformer::~Transformer() { //We delete the existing transform if (_transform != NULL ) { _transform->Delete(); } + if (_matrix != NULL ) { _matrix->Delete(); } } /* @@ -46,14 +46,6 @@ void Transformer::SetCenterPoint(std::vector point) _centerPoint=point; } -/* - SETS AXIS POINT -*/ -void Transformer::SetAxis(std::vector axis) -{ - _transformAxis=axis; -} - /* SETS THE ANGLE */ @@ -99,19 +91,13 @@ vtkTransform *Transformer::GetResult() /* MAKES THE TRANSFORMATIONS */ -void Transformer::Run(bool _3D) +void Transformer::Run() { _transform->Identity(); _transform->Translate(_centerPoint[0], _centerPoint[1], _centerPoint[2]); + + _transform->RotateWXYZ(_angle, 0, 0, 1); _transform->Scale(_scaleX, _scaleY,_scaleZ); - if(_3D) - { - _transform->RotateWXYZ(_angle, _transformAxis[0], _transformAxis[1], _transformAxis[2]); - } - else - { - _transform->RotateWXYZ(_angle, 0, 0, 1); - } - + _transform->Update(); }