X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FTransformer.cxx;h=e6e6c8b5ce8091c40d034173498d26ec8165a762;hb=bb6bffc75df349b5f74f4197206718a87b42e4a7;hp=3fa55077343044b8af26c3fcda458be4c0e15871;hpb=0c0807563f54ac3149d9bd23815c4ddacbc5b223;p=creaRigidRegistration.git diff --git a/lib/Transformer.cxx b/lib/Transformer.cxx index 3fa5507..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,24 +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]); - std::cout << "Transformer: Center points: X = " << _centerPoint[0] << " Y = " << _centerPoint[1] << " Z = " << _centerPoint[2] << std::endl; - std::cout << "Transformer Angle: " << _angle << std::endl; - + _transform->RotateWXYZ(_angle, 0, 0, 1); _transform->Scale(_scaleX, _scaleY,_scaleZ); - if(_3D) - { - _transform->RotateWXYZ(_angle, _transformAxis[0], _transformAxis[1], _transformAxis[2]); - std::cout << "Transformer 3D Version" << std::endl; - } - else - { - _transform->RotateWXYZ(_angle, 0, 0, 1); - } - + _transform->Update(); }