diff --git a/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.cpp b/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.cpp deleted file mode 100644 index 72e408ea87..0000000000 --- a/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/*========================================================================= - -Program: Medical Imaging & Interaction Toolkit -Language: C++ -Date: $Date: 2010-03-31 16:40:27 +0200 (Mi, 31 Mrz 2010) $ -Version: $Revision: 16011 $ - -Copyright (c) German Cancer Research Center, Division of Medical and -Biological Informatics. All rights reserved. -See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ - -#include "mitkNavigationDataToOpenGLFilter.h" -#include - -mitk::NavigationDataToOpenGLFilter::NavigationDataToOpenGLFilter() - : mitk::NavigationDataToNavigationDataFilter() -{ -} - - -mitk::NavigationDataToOpenGLFilter::~NavigationDataToOpenGLFilter() -{ -} - -void mitk::NavigationDataToOpenGLFilter::GenerateData() -{ - this->CreateOutputsForAllInputs(); // make sure that we have the same number of outputs as inputs - - /* update outputs with tracking data from tools */ - unsigned int numberOfOutputs = this->GetNumberOfOutputs(); - for (unsigned int i = 0; i < numberOfOutputs ; ++i) - { - mitk::NavigationData* output = this->GetOutput(i); - assert(output); - const mitk::NavigationData* input = this->GetInput(i); - assert(input); - - if (input->IsDataValid() == false || !input->GetHasOrientation() - || !input->GetHasOrientation()) - { - MITK_WARN("mitk::NavigationDataToOpenGLFilter::GenerateData()") - << "Input Navigation Data is either invalid or has no position or " - << "has no orientation."; - continue; - } - - /* - vnl_vector vnlTranslation - = input->GetPosition().GetVnlVector(); - - vnl_matrix vnlRotation( - input->GetOrientation().rotation_matrix_transpose()); - - vnl_matrix_fixed m; - m.fill(0); - m(3,3) = 1; - m.update(vnlRotation); - m.set_column(3, vnlTranslation); - MITK_DEBUG << "left handed matrix: " << m; - - // switch to right/left handed - m[1][0] = -m[1][0]; - m[1][1] = -m[1][1]; - m[1][2] = -m[1][2]; - m[1][3] = -m[1][3]; - m[2][0] = -m[2][0]; - m[2][1] = -m[2][1]; - m[2][2] = -m[2][2]; - m[2][3] = -m[2][3]; - - MITK_DEBUG << "right handed matrix: " << m; - - vnlTranslation = m.get_column(3); - vnlTranslation = vnlTranslation.extract(3); - vnlRotation = m.extract(3, 3); - - output->SetPosition( mitk::Point3D( vnlTranslation.data_block() ) ); - output->SetOrientation( vnl_quaternion ( vnlRotation ) ); - */ - - output->Graft(input); // First, copy all information from input to output - - vnl_matrix vnlRotation( - input->GetOrientation().rotation_matrix_transpose()); - - // normalize rows of rotation matrix - vnlRotation.normalize_rows(); - - vnl_matrix vnlInverseRotation(3,3); - // invert rotation - vnlInverseRotation = vnl_matrix_inverse(vnlRotation); - - vnl_vector vnlTranslation - = input->GetPosition().GetVnlVector(); - // rotate translation vector by inverse rotation P = P' - vnlTranslation = vnlInverseRotation * vnlTranslation; - vnlTranslation *= -1; // save -P' - - // set new translation and rotation on output navdata objects - mitk::Point3D position; - mitk::FillVector3D(position, - vnlTranslation[0], - vnlTranslation[1], - vnlTranslation[2]); - - // set position - output->SetPosition( mitk::Point3D( vnlTranslation.data_block() ) ); - output->SetOrientation( mitk::Quaternion( vnlRotation ) ); - - } -} diff --git a/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.h b/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.h deleted file mode 100644 index 691d1a156f..0000000000 --- a/Modules/IGT/IGTFilters/mitkNavigationDataToOpenGLFilter.h +++ /dev/null @@ -1,60 +0,0 @@ -/*========================================================================= - -Program: Medical Imaging & Interaction Toolkit -Language: C++ -Date: $Date: 2010-03-31 16:40:27 +0200 (Mi, 31 Mrz 2010) $ -Version: $Revision: 16011 $ - -Copyright (c) German Cancer Research Center, Division of Medical and -Biological Informatics. All rights reserved. -See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ - -#ifndef MITKNavigationDataToOpenGLFilter_H_HEADER_INCLUDED_ -#define MITKNavigationDataToOpenGLFilter_H_HEADER_INCLUDED_ - -#include -#include -#include -#include -#include - - -namespace mitk { - - /**Documentation - * \brief A filter that transforms input NavigationData that are defined in a left-handed - * coordinate system into a right-handed coordinate system like OpenGL - * - * OpenGL uses a right handed coordinate system (\see http://www2.evl.uic.edu/ralph/508S98/coordinates.html). - * When using IGT for Augmented Reality applications the transform of navigation datas - * into the OpenGL coordinate system is mandatory. - * \see mitk::CameraVisualizationFilter - * - * \ingroup IGT - */ - class MitkIGT_EXPORT NavigationDataToOpenGLFilter : public NavigationDataToNavigationDataFilter - { - public: - mitkClassMacro(NavigationDataToOpenGLFilter, NavigationDataToNavigationDataFilter); - itkNewMacro(Self); - /** - * \brief Constructor - **/ - NavigationDataToOpenGLFilter(); - virtual ~NavigationDataToOpenGLFilter(); - - /** - * \brief transforms input NDs according to the calculated LandmarkTransform - * - */ - virtual void GenerateData(); - - }; -} // namespace mitk -#endif /* MITKNavigationDataToOpenGLFilter_H_HEADER_INCLUDED_ */ diff --git a/Modules/IGT/files.cmake b/Modules/IGT/files.cmake index 7e59880088..858260c4e0 100644 --- a/Modules/IGT/files.cmake +++ b/Modules/IGT/files.cmake @@ -1,60 +1,59 @@ SET(CPP_FILES IGTFilters/mitkNavigationDataLandmarkTransformFilter.cpp IGTFilters/mitkNavigationDataReferenceTransformFilter.cpp IGTFilters/mitkNavigationDataTransformFilter.cpp IGTFilters/mitkNavigationDataRecorder.cpp IGTFilters/mitkNavigationDataPlayer.cpp IGTFilters/mitkNavigationDataPlayerBase.cpp IGTFilters/mitkNavigationDataObjectVisualizationFilter.cpp IGTFilters/mitkCameraVisualization.cpp IGTFilters/mitkNavigationData.cpp IGTFilters/mitkNavigationDataDisplacementFilter.cpp IGTFilters/mitkNavigationDataSequentialPlayer.cpp IGTFilters/mitkNavigationDataSource.cpp IGTFilters/mitkNavigationDataToMessageFilter.cpp IGTFilters/mitkNavigationDataToNavigationDataFilter.cpp - IGTFilters/mitkNavigationDataToOpenGLFilter.cpp IGTFilters/mitkNavigationDataToPointSetFilter.cpp IGTFilters/mitkNavigationDataEvaluationFilter.cpp IGTFilters/mitkTrackingDeviceSource.cpp IGTFilters/mitkTrackingVolumeGenerator.cpp IGTFilters/mitkTimeStamp.cpp IGTFilters/mitkRealTimeClock.cpp IGTFilters/mitkTrackingDeviceSourceConfigurator.cpp IGTTrackingDevices/mitkClaronTool.cpp IGTTrackingDevices/mitkClaronTrackingDevice.cpp IGTTrackingDevices/mitkInternalTrackingTool.cpp IGTTrackingDevices/mitkNDIPassiveTool.cpp IGTTrackingDevices/mitkNDIProtocol.cpp IGTTrackingDevices/mitkNDITrackingDevice.cpp IGTTrackingDevices/mitkSerialCommunication.cpp IGTTrackingDevices/mitkTrackingDevice.cpp IGTTrackingDevices/mitkTrackingTool.cpp IGTTrackingDevices/mitkVirtualTrackingDevice.cpp IGTTrackingDevices/mitkVirtualTrackingTool.cpp IGTToolManagement/mitkNavigationToolStorage.cpp IGTToolManagement/mitkNavigationToolStorageSerializer.cpp IGTToolManagement/mitkNavigationToolStorageDeserializer.cpp IGTToolManagement/mitkNavigationTool.cpp IGTToolManagement/mitkNavigationToolReader.cpp IGTToolManagement/mitkNavigationToolWriter.cpp ) IF(MITK_USE_MICRON_TRACKER) SET(CPP_FILES ${CPP_FILES} IGTTrackingDevices/mitkClaronInterface.cpp) ELSE() SET(CPP_FILES ${CPP_FILES} IGTTrackingDevices/mitkClaronInterfaceStub.cpp) ENDIF(MITK_USE_MICRON_TRACKER) IF(MITK_USE_MICROBIRD_TRACKER) SET(CPP_FILES ${CPP_FILES} IGTTrackingDevices/mitkMicroBirdTrackingDevice.cpp) ENDIF(MITK_USE_MICROBIRD_TRACKER) IF(WIN32) SET(CPP_FILES ${CPP_FILES} IGTFilters/mitkWindowsRealTimeClock.cpp) ELSE() SET(CPP_FILES ${CPP_FILES} IGTFilters/mitkLinuxRealTimeClock.cpp) ENDIF(WIN32) \ No newline at end of file