From cf1e497ec859414c26ac911c2783ed4240cd1664 Mon Sep 17 00:00:00 2001 From: Jean-Loup Haberbusch Date: Thu, 3 Mar 2016 10:43:56 +0100 Subject: [PATCH 001/356] UPDATED Cmake file for configuring using Git. SVN is not supported anymore NEW CMake macro get_git_info to find useful information to configure camitk --- CMakeLists.txt | 6 ++--- sdk/SDKConfig.cmake | 25 +++++++++--------- sdk/applications/config/main.cpp | 2 +- sdk/cmake/modules/macros/GetGitInfo.cmake | 31 +++++++++++++++++++++++ 4 files changed, 47 insertions(+), 17 deletions(-) create mode 100644 sdk/cmake/modules/macros/GetGitInfo.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 65036117..76819252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,9 +13,9 @@ enable_testing() # Specific to SDK: control the version (major, minor, default patch and ) set(CAMITK_PROJECT_NAME "CamiTK") -set(CAMITK_VERSION_MAJOR "3") -set(CAMITK_VERSION_MINOR "6") -set(CAMITK_VER_NICKNAME "cyan") # blue, sapphire, azure, *indigo*, iris, Teal, cyan, turquoise, denim, celeste, zaffre, glaucous, ultramarine, cerulean +set(CAMITK_VERSION_MAJOR "4") +set(CAMITK_VERSION_MINOR "0") +set(CAMITK_VER_NICKNAME "red") # Red Amaranth American rose Auburn Burgundy Cardinal Carmine Carnelian Cerise Coquelicot set(CAMITK_VERSION_PATCH "0") # patch version for packaging, change when appropriate string(TOLOWER "${CAMITK_PROJECT_NAME}-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}" CAMITK_SHORT_VERSION_STRING) diff --git a/sdk/SDKConfig.cmake b/sdk/SDKConfig.cmake index e31decf5..234610a9 100644 --- a/sdk/SDKConfig.cmake +++ b/sdk/SDKConfig.cmake @@ -23,25 +23,24 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libraries/core/CamiTKVersion.h.in ${C if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libraries/core/CamiTKVersion.h) set(CAMITK_SOURCE_PACKAGE_VERSION "0") # If this file does not exist => this is a svn checkouted source tree. - find_package(Subversion QUIET) - if(Subversion_FOUND) + find_package(Git QUIET) + if(GIT_FOUND) + set(CAMITK_GIT_FOUND "1") + # Call a macro Git_WC_INFO which is define in + # GetGitInfo.cmake to get all information from + # the svn command itself + include(cmake/modules/macros/GetGitInfo.cmake) + get_git_info(${CMAKE_CURRENT_SOURCE_DIR}) + set(CAMITK_VERSION_GIT ".${CAMITK_GIT_COMMIT_COUNT}") set(CAMITK_SVN_SUBVERSION_FOUND "1") - # get all information from the svn command itself - Subversion_WC_INFO(${CMAKE_CURRENT_SOURCE_DIR} CAMITK_SVN) - set(CAMITK_VERSION_SVN ".${CAMITK_SVN_WC_REVISION}") - string(REGEX REPLACE "^([0-9]+)-([0-9]+)-([0-9]+) ([0-9]+):([0-9]+):([0-9]+).*" "\\1-\\2-\\3 \\4:\\5:\\6" CAMITK_SVN_DATE "${CAMITK_SVN_WC_LAST_CHANGED_DATE}") - else() - set(CAMITK_SVN_SUBVERSION_FOUND "0") - # svn command is not accessible, just set the string to something - set(CAMITK_VERSION_SVN ".svn") endif() else() set(CAMITK_SVN_SUBVERSION_FOUND "0") set(CAMITK_SOURCE_PACKAGE_VERSION "1") endif() -# specific version string using the svn revision -set(CAMITK_VERSION_STRING "${CAMITK_VERSION_STRING}${CAMITK_VERSION_SVN}") +# specific version string using the git revision +set(CAMITK_VERSION_STRING "${CAMITK_VERSION_STRING}${CAMITK_VERSION_GIT}") # prepare the CamiTKConfig.cmake for installation (first delete it to force regeneration) execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake/CamiTKConfig.cmake) @@ -52,4 +51,4 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libraries/core/CamiTKVersion.h.in ${C set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) -message(STATUS "Welcome to ${CAMITK_VERSION_STRING} SDK compilation") +message(STATUS "Welcome to ${CAMITK_VERSION_STRING} SDK compilation") \ No newline at end of file diff --git a/sdk/applications/config/main.cpp b/sdk/applications/config/main.cpp index c58d305b..79aa302d 100644 --- a/sdk/applications/config/main.cpp +++ b/sdk/applications/config/main.cpp @@ -64,7 +64,7 @@ int main(int argc, char *argv[]) { std::cout << "Compiled using package source." << std::endl; else { std::cout << "Compiled using svn"; - if (hasMoreSvnInformation()) { + if (hasMoreSvnInformation()) { //Check if CAMITK_SVN_SUBVERSION_FOUND can be set to "1" otherwise we never get into this 'if' std::cout << " Rev: " << svnRevision() << ", Date: " << svnDate() << std::endl; } std::cout << "." << std::endl; diff --git a/sdk/cmake/modules/macros/GetGitInfo.cmake b/sdk/cmake/modules/macros/GetGitInfo.cmake new file mode 100644 index 00000000..06a9bb12 --- /dev/null +++ b/sdk/cmake/modules/macros/GetGitInfo.cmake @@ -0,0 +1,31 @@ +#! +#! @ingroup group_sdk_cmake +#! +#! macro get_git_info get the last value of commit count. +#! Set CAMITK_GIT_COMMIT_COUNT variable with the last number of commits +#! +#! Usage: +#! \code +#! get_git_info(dir) +#! \endcode +#! +#! \inparam dir (required) input directory path +#! +macro(get_git_info dir) + # the subversion commands should be executed with the C locale, otherwise + # the message (which are parsed) may be translated, Alex + # set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}") + # set(ENV{LC_ALL} C) + + execute_process(COMMAND ${GIT_EXECUTABLE} rev-list HEAD --count + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_COMMIT_COUNT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(NOT CAMITK_GIT_COMMIT_COUNT) + message(WARNING "Unable to find the commit number using git : ${GIT_EXECUTABLE}") + set(CAMITK_GIT_COMMIT_COUNT "unknown") + endif() + +endmacro() \ No newline at end of file -- GitLab From b191045e18a43d0dcc365c1f80dcdef344e5d090 Mon Sep 17 00:00:00 2001 From: saubatn Date: Wed, 9 Mar 2016 15:28:29 +0100 Subject: [PATCH 002/356] UPDATED CMake configuration files for Qt5. Configure OK (should be missing stuff for compilation and linking). --- sdk/cmake/modules/CamiTKConfig.cmake.in | 18 +++++---- .../macros/GatherHeadersAndSources.cmake | 6 +-- .../macros/camitk/CamiTKApplication.cmake | 28 +++++++------ .../macros/camitk/CamiTKExtension.cmake | 26 ++++++------ .../modules/macros/camitk/CamiTKLibrary.cmake | 26 ++++++------ .../qtpropertybrowser/CMakeLists.txt | 40 ++++++++++--------- 6 files changed, 78 insertions(+), 66 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 051c7439..e00d1c3f 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -15,23 +15,25 @@ set(CAMITK_VERSION_MINOR "@CAMITK_VERSION_MINOR@") set(CAMITK_SHORT_VERSION_STRING "camitk-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}") #-- Check dependencies: Qt and VTK -find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns REQUIRED) -if(NOT QT4_FOUND) - message(SEND_ERROR "Failed to find Qt 4.7 or greater. This is needed by CamiTK.") +# Find Qt5 +find_package(Qt5 COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions REQUIRED) +if (Qt5_FOUND) + message(STATUS "CamiTK SDK : found Qt ${Qt5_VERSION}.") +else() + message(SEND_ERROR "Failed to find Qt 5.x. This is needed by CamiTK.") endif() -set (QT_USE_QTXML ON) -include(${QT_USE_FILE}) - +# set (QT_USE_QTXML ON) +# include(${QT_USE_FILE}) # Find VTK find_package(VTK REQUIRED) if(NOT VTK_FOUND) message(SEND_ERROR "Failed to find Vtk 5.8 or greater. This is needed by CamiTK.") endif() -if("${VTK_VERSION}" VERSION_LESS 5.8) +if("${VTK_VERSION}" VERSION_LESS 6.0) message(FATAL_ERROR "Found VTK ${VTK_VERSION} version but at least 5.8 is required. Please update your version of VTK.") endif() -message(STATUS "Found suitable version of VTK : ${VTK_VERSION} (required is at least 5.8.0)") +message(STATUS "Found suitable version of VTK : ${VTK_VERSION} (required is at least 6.0.0)") include(${VTK_USE_FILE}) #-- CAMITK_DIR variable diff --git a/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake b/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake index 86ba9c77..fde7783c 100644 --- a/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake +++ b/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake @@ -28,10 +28,10 @@ macro(gather_headers_and_sources Name) endif() # manage Qt ui - qt4_wrap_ui (UI ${File_UI}) + qt5_wrap_ui (UI ${File_UI}) # manage Qt resources - qt4_add_resources(QRC ${File_QRC}) + qt5_add_resources(QRC ${File_QRC}) # find Q_OBJECT derived class foreach(HEADER ${HEADERS}) @@ -42,7 +42,7 @@ macro(gather_headers_and_sources Name) endforeach(HEADER) # manage Qt inherited sources - qt4_wrap_cpp(QT_SRCS ${MOC_SOURCES}) + qt5_wrap_cpp(QT_SRCS ${MOC_SOURCES}) # On Windows, Visual Studio, organize files in subdirectories if(MSVC) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 7fef8a0b..7716f376 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -46,7 +46,7 @@ #! \param NEEDS_COMPONENT_EXTENSION list of needed component extensions #! \param NEEDS_ACTION_EXTENSION list of needed component extensions #! \param DEFINES list of define flags to add at compilation time -#! \param CXX_FLAGS = list of compiler flags to add (such as warning levels (-Wall ...)). +#! \param CXX_FLAGS list of compiler flags to add (such as warning levels (-Wall ...)). #! \param ADDITIONAL_SOURCES list of additional sources (that cannot be automatically found by gather_headers_and_sources macro) #! \param CEP_NAME specify the CEP_NAME, which is used to categorized the application for packaging purpose #! No CEP_NAME provided will result in default categorization (generic application). @@ -653,19 +653,20 @@ macro(camitk_application) endif() endif() + # Nico : TODO remove if not necessary # QT MODULES - set(QT_MODULES_LIBRARIES) - if(${APPLICATION_NAME_CMAKE}_NEEDS_QT_MODULES) - find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - if(NOT QT4_FOUND) - message(SEND_ERROR "${APPLICATION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - endif() + # set(QT_MODULES_LIBRARIES) + # if(${APPLICATION_NAME_CMAKE}_NEEDS_QT_MODULES) + # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) + # if(NOT QT4_FOUND) + # message(SEND_ERROR "${APPLICATION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") + # endif() - # CMake will add the Qt modules specific include directories - include(${QT_USE_FILE}) - # Qt additional modules are required for linking - set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - endif() + # # CMake will add the Qt modules specific include directories + # include(${QT_USE_FILE}) + # # Qt additional modules are required for linking + # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) + # endif() # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) @@ -873,7 +874,8 @@ macro(camitk_application) # # ######################################################################### # LINKING LIBRARIES - target_link_libraries(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${QT_MODULES_LIBRARIES} ${XERCESC_LIBRARY} ${ITK_LIBRARIES} ${PYTHON_LIBRARIES} ${EXTERNAL_LIBRARIES}) + # Nico : has removed ${QT_MODULES_LIBRARIES} + target_link_libraries(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${XERCESC_LIBRARY} ${ITK_LIBRARIES} ${PYTHON_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 3c844e14..e5001170 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -907,20 +907,21 @@ macro(camitk_extension) endif() endif() + # Nico : On le garde ? # ADDTIONAL QT MODULES - set(QT_MODULES_LIBRARIES) - if(${EXTENSION_NAME_CMAKE}_NEEDS_QT_MODULES) - find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - if(NOT QT4_FOUND) - message(SEND_ERROR "${EXTENSION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - endif() + # set(QT_MODULES_LIBRARIES) + # if(${EXTENSION_NAME_CMAKE}_NEEDS_QT_MODULES) + # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) + # if(NOT QT4_FOUND) + # message(SEND_ERROR "${EXTENSION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") + # endif() - # CMake will add the Qt modules specific include directories - include(${QT_USE_FILE}) + # # CMake will add the Qt modules specific include directories + # include(${QT_USE_FILE}) - # Qt additional modules are required for linking - set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - endif() + # # Qt additional modules are required for linking + # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) + # endif() # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) @@ -1141,7 +1142,8 @@ macro(camitk_extension) ######################################################################### # LINKING LIBRARIES # Any component or action has to be linked with ${CAMITK_CORE_LIBRARIES} and with all its dependencies - target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${QT_MODULES_LIBRARIES} ${ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES}) + # Nico : a supprimé ${QT_MODULES_LIBRARIES} de l'édition de liens + target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 149639d1..0ca1e6c9 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -661,20 +661,21 @@ macro(camitk_library) endif() endif() + # Nico : Vérifier si on peut le supprimer # ADDITIONAL QT MODULES - set(QT_MODULES_LIBRARIES) - if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT_MODULES) - find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - if(NOT QT4_FOUND) - message(SEND_ERROR "${DEFAULT_LIBRARY_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - endif() + # set(QT_MODULES_LIBRARIES) + # if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT_MODULES) + # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) + # if(NOT QT4_FOUND) + # message(SEND_ERROR "${DEFAULT_LIBRARY_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") + # endif() - # CMake will add the Qt modules specific include directories - include(${QT_USE_FILE}) + # # CMake will add the Qt modules specific include directories + # include(${QT_USE_FILE}) - # Qt additional modules are required for linking - set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - endif() + # # Qt additional modules are required for linking + # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) + # endif() # EXTERNAL DEPENDENCIES set(LINKER_EXTERNAL_LIBRARIES) @@ -792,7 +793,8 @@ macro(camitk_library) # # ######################################################################### # LINKING LIBRARIES - target_link_libraries(${LIBRARY_TARGET_NAME} ${CEP_LIBRARIES} ${LINKER_EXTERNAL_LIBRARIES} ${LIBXML2_LIBRARY} ${ITK_LIBRARIES} ${QT_MODULES_LIBRARIES} ${XERCESC_LIBRARIES}) + #Nico : TODO has removed ${QT_MODULES_LIBRARIES} + target_link_libraries(${LIBRARY_TARGET_NAME} ${CEP_LIBRARIES} ${LINKER_EXTERNAL_LIBRARIES} ${LIBXML2_LIBRARY} ${ITK_LIBRARIES} ${XERCESC_LIBRARIES}) diff --git a/sdk/libraries/qtpropertybrowser/CMakeLists.txt b/sdk/libraries/qtpropertybrowser/CMakeLists.txt index 69e3c4ad..66e21beb 100644 --- a/sdk/libraries/qtpropertybrowser/CMakeLists.txt +++ b/sdk/libraries/qtpropertybrowser/CMakeLists.txt @@ -12,13 +12,17 @@ if (NOT CEP_NAME STREQUAL "SDK") message(SEND_ERROR "Compilation of QTPROPERTYBROWSER outside CamiTK SDK not supported yet. Please contact us.") endif() -find_package(Qt4 4.6.0 REQUIRED) - -if(NOT QT4_FOUND) - message(SEND_ERROR "Failed to find Qt 4.6 or greater. This is needed for qtpropertybrowser lib, and therefore for CamiTK.") +# Instruct CMake to run moc automatically when needed. +set(CMAKE_AUTOMOC OFF) + +find_package(Qt5 COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions REQUIRED) +if (Qt5_FOUND) + message(STATUS "QtPropertyBrowser : found Qt ${Qt5_VERSION}.") +else() + message(SEND_ERROR "Failed to find Qt 5.x. This is needed by QtPropertyBrowser.") endif() -include(${QT_USE_FILE}) +# include(${QT_USE_FILE}) set(qtpropertyeditor_SRCS src/qtpropertybrowser.cpp @@ -37,43 +41,43 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDE_DIR} ) -qt4_generate_moc( +qt5_generate_moc( src/qtpropertybrowser.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowser.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qtpropertymanager.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertymanager.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qteditorfactory.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qteditorfactory.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qtvariantproperty.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtvariantproperty.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qttreepropertybrowser.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qttreepropertybrowser.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qtbuttonpropertybrowser.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtbuttonpropertybrowser.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qtgroupboxpropertybrowser.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtgroupboxpropertybrowser.cpp ) -qt4_generate_moc( +qt5_generate_moc( src/qtpropertymanager.cpp ${CMAKE_CURRENT_BINARY_DIR}/qtpropertymanager.moc ) -qt4_generate_moc( +qt5_generate_moc( src/qteditorfactory.cpp ${CMAKE_CURRENT_BINARY_DIR}/qteditorfactory.moc ) -qt4_generate_moc( +qt5_generate_moc( src/qttreepropertybrowser.cpp ${CMAKE_CURRENT_BINARY_DIR}/qttreepropertybrowser.moc ) @@ -98,7 +102,7 @@ set_source_files_properties( HEADER_FILE_ONLY true ) -qt4_generate_moc( +qt5_generate_moc( src/qtpropertybrowserutils_p.h ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowserutils_p.cpp ) @@ -114,12 +118,12 @@ set( ${qtpropertyeditor_HEADERS_ONLY_MOC} ) -qt4_add_resources( +qt5_add_resources( qtpropertyeditor_RESOURCES src/qtpropertybrowser.qrc ) -qt4_add_resources(RESOURCE_SRCS src/qtpropertybrowser.qrc) +qt5_add_resources(RESOURCE_SRCS src/qtpropertybrowser.qrc) set(SRCS ${extension_MOC} ${qtpropertyeditor_MOC} -- GitLab From ce07cc54419dcb1f385530f4dfbe2ecbd0b23cbf Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 10 Mar 2016 14:46:12 +0100 Subject: [PATCH 003/356] UPDATED Compilation library-qtpropertybrowser ok with Qt5. --- .../qtpropertybrowser/CMakeLists.txt | 11 +- .../src/qtbuttonpropertybrowser.cpp | 14 +- .../qtpropertybrowser/src/qteditorfactory.cpp | 38 ++-- .../src/qtgroupboxpropertybrowser.cpp | 12 +- .../src/qtpropertybrowser.cpp | 8 +- .../qtpropertybrowser/src/qtpropertybrowser.h | 6 +- .../src/qtpropertybrowserutils.cpp | 77 +++----- .../src/qtpropertybrowserutils_p.h | 8 +- .../src/qtpropertymanager.cpp | 32 +-- .../src/qttreepropertybrowser.cpp | 34 ++-- .../src/qtvariantproperty.cpp | 186 +++++++++--------- 11 files changed, 211 insertions(+), 215 deletions(-) diff --git a/sdk/libraries/qtpropertybrowser/CMakeLists.txt b/sdk/libraries/qtpropertybrowser/CMakeLists.txt index 66e21beb..64b3e9b9 100644 --- a/sdk/libraries/qtpropertybrowser/CMakeLists.txt +++ b/sdk/libraries/qtpropertybrowser/CMakeLists.txt @@ -18,6 +18,10 @@ set(CMAKE_AUTOMOC OFF) find_package(Qt5 COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions REQUIRED) if (Qt5_FOUND) message(STATUS "QtPropertyBrowser : found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + set(QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5XmlPatterns_LIBRARIES} ${Qt5Declarative_LIBRARIES} ${Qt5Help_LIBRARIES} ${Qt5UiTools_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5OpenGLExtensions_LIBRARIES} ${Qt5Widgets_LIBRARIES}) + message(WARNING "QT_LIBRARIES = ${QT_LIBRARIES}") else() message(SEND_ERROR "Failed to find Qt 5.x. This is needed by QtPropertyBrowser.") endif() @@ -144,7 +148,12 @@ camitk_library(SHARED HEADERS_TO_INSTALL ${HEADERS_H} ${HEADERS_UPPERCASE} CEP_NAME SDK DESCRIPTION "Allows displaying and editing Qt Meta Object properties. Used to display component properties. This library is required." -) + ) + +qt5_use_modules(${LIBRARY_TARGET_NAME} Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + +# Add Qt5 link libraries at link stage +#target_link_libraries(${LIB_NAME} ${QT_LIBRARIES}) # Recursively update the shiboken path variable containing the CamiTK SDK tree structure set(SHIBOKEN_CAMITK_SDK_PATH ${SHIBOKEN_CAMITK_SDK_PATH}:${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "") diff --git a/sdk/libraries/qtpropertybrowser/src/qtbuttonpropertybrowser.cpp b/sdk/libraries/qtpropertybrowser/src/qtbuttonpropertybrowser.cpp index 7622f2ed..79b1b8db 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtbuttonpropertybrowser.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtbuttonpropertybrowser.cpp @@ -39,13 +39,13 @@ #include "qtbuttonpropertybrowser.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE diff --git a/sdk/libraries/qtpropertybrowser/src/qteditorfactory.cpp b/sdk/libraries/qtpropertybrowser/src/qteditorfactory.cpp index fb466704..47ba4096 100644 --- a/sdk/libraries/qtpropertybrowser/src/qteditorfactory.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qteditorfactory.cpp @@ -37,27 +37,29 @@ ** ****************************************************************************/ +// Qt4 -> Qt5 +#define Q_TYPENAME typename #include "qteditorfactory.h" #include "qtpropertybrowserutils_p.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #if defined(Q_CC_MSVC) # pragma warning(disable: 4786) /* MS VS 6: truncating debug info after 255 characters */ diff --git a/sdk/libraries/qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp b/sdk/libraries/qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp index 1c7bd563..339007cd 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtgroupboxpropertybrowser.cpp @@ -39,12 +39,12 @@ #include "qtgroupboxpropertybrowser.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE diff --git a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.cpp b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.cpp index 58760b5d..32eaba3d 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.cpp @@ -39,10 +39,10 @@ #include "qtpropertybrowser.h" -#include -#include -#include -#include +#include +#include +#include +#include #if defined(Q_CC_MSVC) # pragma warning(disable: 4786) /* MS VS 6: truncating debug info after 255 characters */ diff --git a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.h b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.h index ae04ca65..4ac81b61 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.h +++ b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowser.h @@ -41,9 +41,9 @@ #ifndef QTPROPERTYBROWSER_H #define QTPROPERTYBROWSER_H -#include -#include -#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE diff --git a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils.cpp b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils.cpp index f57779d8..17a3ebd3 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils.cpp @@ -39,58 +39,39 @@ #include "qtpropertybrowserutils_p.h" -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE #endif QtCursorDatabase::QtCursorDatabase() { - appendCursor(Qt::ArrowCursor, QApplication::translate("QtCursorDatabase", "Arrow", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-arrow.png"))); - appendCursor(Qt::UpArrowCursor, QApplication::translate("QtCursorDatabase", "Up Arrow", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-uparrow.png"))); - appendCursor(Qt::CrossCursor, QApplication::translate("QtCursorDatabase", "Cross", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-cross.png"))); - appendCursor(Qt::WaitCursor, QApplication::translate("QtCursorDatabase", "Wait", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-wait.png"))); - appendCursor(Qt::IBeamCursor, QApplication::translate("QtCursorDatabase", "IBeam", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-ibeam.png"))); - appendCursor(Qt::SizeVerCursor, QApplication::translate("QtCursorDatabase", "Size Vertical", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizev.png"))); - appendCursor(Qt::SizeHorCursor, QApplication::translate("QtCursorDatabase", "Size Horizontal", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeh.png"))); - appendCursor(Qt::SizeFDiagCursor, QApplication::translate("QtCursorDatabase", "Size Backslash", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizef.png"))); - appendCursor(Qt::SizeBDiagCursor, QApplication::translate("QtCursorDatabase", "Size Slash", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeb.png"))); - appendCursor(Qt::SizeAllCursor, QApplication::translate("QtCursorDatabase", "Size All", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeall.png"))); - appendCursor(Qt::BlankCursor, QApplication::translate("QtCursorDatabase", "Blank", 0, - QApplication::UnicodeUTF8), QIcon()); - appendCursor(Qt::SplitVCursor, QApplication::translate("QtCursorDatabase", "Split Vertical", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-vsplit.png"))); - appendCursor(Qt::SplitHCursor, QApplication::translate("QtCursorDatabase", "Split Horizontal", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-hsplit.png"))); - appendCursor(Qt::PointingHandCursor, QApplication::translate("QtCursorDatabase", "Pointing Hand", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-hand.png"))); - appendCursor(Qt::ForbiddenCursor, QApplication::translate("QtCursorDatabase", "Forbidden", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-forbidden.png"))); - appendCursor(Qt::OpenHandCursor, QApplication::translate("QtCursorDatabase", "Open Hand", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-openhand.png"))); - appendCursor(Qt::ClosedHandCursor, QApplication::translate("QtCursorDatabase", "Closed Hand", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-closedhand.png"))); - appendCursor(Qt::WhatsThisCursor, QApplication::translate("QtCursorDatabase", "What's This", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-whatsthis.png"))); - appendCursor(Qt::BusyCursor, QApplication::translate("QtCursorDatabase", "Busy", 0, - QApplication::UnicodeUTF8), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-busy.png"))); + appendCursor(Qt::ArrowCursor, QApplication::translate("QtCursorDatabase", "Arrow", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-arrow.png"))); + appendCursor(Qt::UpArrowCursor, QApplication::translate("QtCursorDatabase", "Up Arrow", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-uparrow.png"))); + appendCursor(Qt::CrossCursor, QApplication::translate("QtCursorDatabase", "Cross", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-cross.png"))); + appendCursor(Qt::WaitCursor, QApplication::translate("QtCursorDatabase", "Wait", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-wait.png"))); + appendCursor(Qt::IBeamCursor, QApplication::translate("QtCursorDatabase", "IBeam", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-ibeam.png"))); + appendCursor(Qt::SizeVerCursor, QApplication::translate("QtCursorDatabase", "Size Vertical", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizev.png"))); + appendCursor(Qt::SizeHorCursor, QApplication::translate("QtCursorDatabase", "Size Horizontal", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeh.png"))); + appendCursor(Qt::SizeFDiagCursor, QApplication::translate("QtCursorDatabase", "Size Backslash", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizef.png"))); + appendCursor(Qt::SizeBDiagCursor, QApplication::translate("QtCursorDatabase", "Size Slash", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeb.png"))); + appendCursor(Qt::SizeAllCursor, QApplication::translate("QtCursorDatabase", "Size All", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-sizeall.png"))); + appendCursor(Qt::BlankCursor, QApplication::translate("QtCursorDatabase", "Blank", 0), QIcon()); + appendCursor(Qt::SplitVCursor, QApplication::translate("QtCursorDatabase", "Split Vertical", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-vsplit.png"))); + appendCursor(Qt::SplitHCursor, QApplication::translate("QtCursorDatabase", "Split Horizontal", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-hsplit.png"))); + appendCursor(Qt::PointingHandCursor, QApplication::translate("QtCursorDatabase", "Pointing Hand", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-hand.png"))); + appendCursor(Qt::ForbiddenCursor, QApplication::translate("QtCursorDatabase", "Forbidden", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-forbidden.png"))); + appendCursor(Qt::OpenHandCursor, QApplication::translate("QtCursorDatabase", "Open Hand", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-openhand.png"))); + appendCursor(Qt::ClosedHandCursor, QApplication::translate("QtCursorDatabase", "Closed Hand", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-closedhand.png"))); + appendCursor(Qt::WhatsThisCursor, QApplication::translate("QtCursorDatabase", "What's This", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-whatsthis.png"))); + appendCursor(Qt::BusyCursor, QApplication::translate("QtCursorDatabase", "Busy", 0), QIcon(QLatin1String(":/trolltech/qtpropertybrowser/images/cursor-busy.png"))); } void QtCursorDatabase::appendCursor(Qt::CursorShape shape, const QString &name, const QIcon &icon) { @@ -164,7 +145,7 @@ QIcon QtPropertyBrowserUtils::brushValueIcon(const QBrush &b) { } QString QtPropertyBrowserUtils::colorValueText(const QColor &c) { - return QApplication::translate("QtPropertyBrowserUtils", "[%1, %2, %3] (%4)", 0, QApplication::UnicodeUTF8) + return QApplication::translate("QtPropertyBrowserUtils", "[%1, %2, %3] (%4)", 0) .arg(QString::number(c.red())) .arg(QString::number(c.green())) .arg(QString::number(c.blue())) @@ -191,7 +172,7 @@ QIcon QtPropertyBrowserUtils::fontValueIcon(const QFont &f) { } QString QtPropertyBrowserUtils::fontValueText(const QFont &f) { - return QApplication::translate("QtPropertyBrowserUtils", "[%1, %2]", 0, QApplication::UnicodeUTF8) + return QApplication::translate("QtPropertyBrowserUtils", "[%1, %2]", 0) .arg(f.family()) .arg(f.pointSize()); } diff --git a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils_p.h b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils_p.h index 9c7e01a9..b3bd1cc6 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils_p.h +++ b/sdk/libraries/qtpropertybrowser/src/qtpropertybrowserutils_p.h @@ -52,10 +52,10 @@ #ifndef QTPROPERTYBROWSERUTILS_H #define QTPROPERTYBROWSERUTILS_H -#include -#include -#include -#include +#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE diff --git a/sdk/libraries/qtpropertybrowser/src/qtpropertymanager.cpp b/sdk/libraries/qtpropertybrowser/src/qtpropertymanager.cpp index 767d827c..eb5faada 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtpropertymanager.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtpropertymanager.cpp @@ -37,24 +37,26 @@ ** ****************************************************************************/ +// Qt4 -> Qt5 +#define Q_TYPENAME typename #include "qtpropertymanager.h" #include "qtpropertybrowserutils_p.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/sdk/libraries/qtpropertybrowser/src/qttreepropertybrowser.cpp b/sdk/libraries/qtpropertybrowser/src/qttreepropertybrowser.cpp index fc1e36d8..056238e5 100644 --- a/sdk/libraries/qtpropertybrowser/src/qttreepropertybrowser.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qttreepropertybrowser.cpp @@ -39,17 +39,17 @@ #include "qttreepropertybrowser.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #if QT_VERSION >= 0x040400 QT_BEGIN_NAMESPACE @@ -463,16 +463,17 @@ void QtTreePropertyBrowserPrivate::init(QWidget *parent) { m_treeWidget->setColumnCount(2); QStringList labels; - labels.append(QApplication::translate("QtTreePropertyBrowser", "Property", 0, QApplication::UnicodeUTF8)); - labels.append(QApplication::translate("QtTreePropertyBrowser", "Value", 0, QApplication::UnicodeUTF8)); + labels.append(QApplication::translate("QtTreePropertyBrowser", "Property", 0)); + labels.append(QApplication::translate("QtTreePropertyBrowser", "Value", 0)); m_treeWidget->setHeaderLabels(labels); m_treeWidget->setAlternatingRowColors(true); m_treeWidget->setEditTriggers(QAbstractItemView::EditKeyPressed); m_delegate = new QtPropertyEditorDelegate(parent); m_delegate->setEditorPrivate(this); m_treeWidget->setItemDelegate(m_delegate); - m_treeWidget->header()->setMovable(false); - m_treeWidget->header()->setResizeMode(QHeaderView::Stretch); + // Deprecated in Qt5 + /* m_treeWidget->header()->setMovable(false); + m_treeWidget->header()->setResizeMode(QHeaderView::Stretch);*/ m_expandIcon = drawIndicatorIcon(q_ptr->palette(), q_ptr->style()); @@ -860,7 +861,8 @@ void QtTreePropertyBrowser::setResizeMode(QtTreePropertyBrowser::ResizeMode mode m = QHeaderView::Stretch; break; } - d_ptr->m_treeWidget->header()->setResizeMode(m); + // deprecated in Qt5 + //d_ptr->m_treeWidget->header()->setResizeMode(m); } /*! diff --git a/sdk/libraries/qtpropertybrowser/src/qtvariantproperty.cpp b/sdk/libraries/qtpropertybrowser/src/qtvariantproperty.cpp index 4e9f65a8..232fb656 100644 --- a/sdk/libraries/qtpropertybrowser/src/qtvariantproperty.cpp +++ b/sdk/libraries/qtpropertybrowser/src/qtvariantproperty.cpp @@ -1553,77 +1553,77 @@ void QtVariantPropertyManager::setValue(QtProperty *property, const QVariant &va QtAbstractPropertyManager *manager = internProp->propertyManager(); if (QtIntPropertyManager *intManager = qobject_cast(manager)) { - intManager->setValue(internProp, qVariantValue(val)); + intManager->setValue(internProp, val.value()); return; } else if (QtDoublePropertyManager *doubleManager = qobject_cast(manager)) { - doubleManager->setValue(internProp, qVariantValue(val)); + doubleManager->setValue(internProp, val.value()); return; } else if (QtBoolPropertyManager *boolManager = qobject_cast(manager)) { - boolManager->setValue(internProp, qVariantValue(val)); + boolManager->setValue(internProp, val.value()); return; } else if (QtStringPropertyManager *stringManager = qobject_cast(manager)) { - stringManager->setValue(internProp, qVariantValue(val)); + stringManager->setValue(internProp, val.value()); return; } else if (QtDatePropertyManager *dateManager = qobject_cast(manager)) { - dateManager->setValue(internProp, qVariantValue(val)); + dateManager->setValue(internProp, val.value()); return; } else if (QtTimePropertyManager *timeManager = qobject_cast(manager)) { - timeManager->setValue(internProp, qVariantValue(val)); + timeManager->setValue(internProp, val.value()); return; } else if (QtDateTimePropertyManager *dateTimeManager = qobject_cast(manager)) { - dateTimeManager->setValue(internProp, qVariantValue(val)); + dateTimeManager->setValue(internProp, val.value()); return; } else if (QtKeySequencePropertyManager *keySequenceManager = qobject_cast(manager)) { - keySequenceManager->setValue(internProp, qVariantValue(val)); + keySequenceManager->setValue(internProp, val.value()); return; } else if (QtCharPropertyManager *charManager = qobject_cast(manager)) { - charManager->setValue(internProp, qVariantValue(val)); + charManager->setValue(internProp, val.value()); return; } else if (QtLocalePropertyManager *localeManager = qobject_cast(manager)) { - localeManager->setValue(internProp, qVariantValue(val)); + localeManager->setValue(internProp, val.value()); return; } else if (QtPointPropertyManager *pointManager = qobject_cast(manager)) { - pointManager->setValue(internProp, qVariantValue(val)); + pointManager->setValue(internProp, val.value()); return; } else if (QtPointFPropertyManager *pointFManager = qobject_cast(manager)) { - pointFManager->setValue(internProp, qVariantValue(val)); + pointFManager->setValue(internProp, val.value()); return; } else if (QtSizePropertyManager *sizeManager = qobject_cast(manager)) { - sizeManager->setValue(internProp, qVariantValue(val)); + sizeManager->setValue(internProp, val.value()); return; } else if (QtSizeFPropertyManager *sizeFManager = qobject_cast(manager)) { - sizeFManager->setValue(internProp, qVariantValue(val)); + sizeFManager->setValue(internProp, val.value()); return; } else if (QtRectPropertyManager *rectManager = qobject_cast(manager)) { - rectManager->setValue(internProp, qVariantValue(val)); + rectManager->setValue(internProp, val.value()); return; } else if (QtRectFPropertyManager *rectFManager = qobject_cast(manager)) { - rectFManager->setValue(internProp, qVariantValue(val)); + rectFManager->setValue(internProp, val.value()); return; } else if (QtColorPropertyManager *colorManager = qobject_cast(manager)) { - colorManager->setValue(internProp, qVariantValue(val)); + colorManager->setValue(internProp, val.value()); return; } else if (QtEnumPropertyManager *enumManager = qobject_cast(manager)) { - enumManager->setValue(internProp, qVariantValue(val)); + enumManager->setValue(internProp, val.value()); return; } else if (QtSizePolicyPropertyManager *sizePolicyManager = qobject_cast(manager)) { - sizePolicyManager->setValue(internProp, qVariantValue(val)); + sizePolicyManager->setValue(internProp, val.value()); return; } else if (QtFontPropertyManager *fontManager = qobject_cast(manager)) { - fontManager->setValue(internProp, qVariantValue(val)); + fontManager->setValue(internProp, val.value()); return; // CAMITK ADDED } else if (QtVector3DPropertyManager *vector3DManager = qobject_cast(manager)) { - vector3DManager->setValue(internProp, qVariantValue(val)); + vector3DManager->setValue(internProp, val.value()); return; #ifndef QT_NO_CURSOR } else if (QtCursorPropertyManager *cursorManager = qobject_cast(manager)) { - cursorManager->setValue(internProp, qVariantValue(val)); + cursorManager->setValue(internProp, val.value()); return; #endif } else if (QtFlagPropertyManager *flagManager = qobject_cast(manager)) { - flagManager->setValue(internProp, qVariantValue(val)); + flagManager->setValue(internProp, val.value ()); return; } } @@ -1640,17 +1640,17 @@ void QtVariantPropertyManager::setValue(QtProperty *property, const QVariant &va \sa attributeValue(), QtVariantProperty::setAttribute(), attributeChanged() */ void QtVariantPropertyManager::setAttribute(QtProperty *property, - const QString &attribute, const QVariant &value) { + const QString &attribute, const QVariant &val) { QVariant oldAttr = attributeValue(property, attribute); if (!oldAttr.isValid()) return; - int attrType = value.userType(); + int attrType = val.userType(); if (!attrType) return; if (attrType != attributeType(propertyType(property), attribute) && - !value.canConvert((QVariant::Type)attrType)) + !val.canConvert((QVariant::Type)attrType)) return; QtProperty *internProp = propertyToWrappedProperty()->value(property, 0); @@ -1660,71 +1660,71 @@ void QtVariantPropertyManager::setAttribute(QtProperty *property, QtAbstractPropertyManager *manager = internProp->propertyManager(); if (QtIntPropertyManager *intManager = qobject_cast(manager)) { if (attribute == d_ptr->m_maximumAttribute) - intManager->setMaximum(internProp, qVariantValue(value)); + intManager->setMaximum(internProp, val.value()); else if (attribute == d_ptr->m_minimumAttribute) - intManager->setMinimum(internProp, qVariantValue(value)); + intManager->setMinimum(internProp, val.value()); else if (attribute == d_ptr->m_singleStepAttribute) - intManager->setSingleStep(internProp, qVariantValue(value)); + intManager->setSingleStep(internProp, val.value()); return; } else if (QtDoublePropertyManager *doubleManager = qobject_cast(manager)) { if (attribute == d_ptr->m_maximumAttribute) - doubleManager->setMaximum(internProp, qVariantValue(value)); + doubleManager->setMaximum(internProp, val.value()); if (attribute == d_ptr->m_minimumAttribute) - doubleManager->setMinimum(internProp, qVariantValue(value)); + doubleManager->setMinimum(internProp, val.value()); if (attribute == d_ptr->m_singleStepAttribute) - doubleManager->setSingleStep(internProp, qVariantValue(value)); + doubleManager->setSingleStep(internProp, val.value()); if (attribute == d_ptr->m_decimalsAttribute) - doubleManager->setDecimals(internProp, qVariantValue(value)); + doubleManager->setDecimals(internProp, val.value()); return; } else if (QtStringPropertyManager *stringManager = qobject_cast(manager)) { if (attribute == d_ptr->m_regExpAttribute) - stringManager->setRegExp(internProp, qVariantValue(value)); + stringManager->setRegExp(internProp, val.value()); if (attribute == d_ptr->m_echoModeAttribute) - stringManager->setEchoMode(internProp, (EchoMode)qVariantValue(value)); + stringManager->setEchoMode(internProp, (EchoMode)val.value()); return; } else if (QtDatePropertyManager *dateManager = qobject_cast(manager)) { if (attribute == d_ptr->m_maximumAttribute) - dateManager->setMaximum(internProp, qVariantValue(value)); + dateManager->setMaximum(internProp, val.value()); if (attribute == d_ptr->m_minimumAttribute) - dateManager->setMinimum(internProp, qVariantValue(value)); + dateManager->setMinimum(internProp, val.value()); return; } else if (QtPointFPropertyManager *pointFManager = qobject_cast(manager)) { if (attribute == d_ptr->m_decimalsAttribute) - pointFManager->setDecimals(internProp, qVariantValue(value)); + pointFManager->setDecimals(internProp, val.value()); return; } else if (QtSizePropertyManager *sizeManager = qobject_cast(manager)) { if (attribute == d_ptr->m_maximumAttribute) - sizeManager->setMaximum(internProp, qVariantValue(value)); + sizeManager->setMaximum(internProp, val.value()); if (attribute == d_ptr->m_minimumAttribute) - sizeManager->setMinimum(internProp, qVariantValue(value)); + sizeManager->setMinimum(internProp, val.value()); return; } else if (QtSizeFPropertyManager *sizeFManager = qobject_cast(manager)) { if (attribute == d_ptr->m_maximumAttribute) - sizeFManager->setMaximum(internProp, qVariantValue(value)); + sizeFManager->setMaximum(internProp, val.value()); if (attribute == d_ptr->m_minimumAttribute) - sizeFManager->setMinimum(internProp, qVariantValue(value)); + sizeFManager->setMinimum(internProp, val.value()); if (attribute == d_ptr->m_decimalsAttribute) - sizeFManager->setDecimals(internProp, qVariantValue(value)); + sizeFManager->setDecimals(internProp, val.value()); return; } else if (QtRectPropertyManager *rectManager = qobject_cast(manager)) { if (attribute == d_ptr->m_constraintAttribute) - rectManager->setConstraint(internProp, qVariantValue(value)); + rectManager->setConstraint(internProp, val.value()); return; } else if (QtRectFPropertyManager *rectFManager = qobject_cast(manager)) { if (attribute == d_ptr->m_constraintAttribute) - rectFManager->setConstraint(internProp, qVariantValue(value)); + rectFManager->setConstraint(internProp, val.value()); if (attribute == d_ptr->m_decimalsAttribute) - rectFManager->setDecimals(internProp, qVariantValue(value)); + rectFManager->setDecimals(internProp, val.value()); return; } else if (QtEnumPropertyManager *enumManager = qobject_cast(manager)) { if (attribute == d_ptr->m_enumNamesAttribute) - enumManager->setEnumNames(internProp, qVariantValue(value)); + enumManager->setEnumNames(internProp, val.value()); if (attribute == d_ptr->m_enumIconsAttribute) - enumManager->setEnumIcons(internProp, qVariantValue(value)); + enumManager->setEnumIcons(internProp, val.value()); return; } else if (QtFlagPropertyManager *flagManager = qobject_cast(manager)) { if (attribute == d_ptr->m_flagNamesAttribute) - flagManager->setFlagNames(internProp, qVariantValue(value)); + flagManager->setFlagNames(internProp, val.value()); return; } } @@ -1976,87 +1976,87 @@ QtVariantEditorFactory::~QtVariantEditorFactory() { Reimplemented from the QtAbstractEditorFactory class. */ void QtVariantEditorFactory::connectPropertyManager(QtVariantPropertyManager *manager) { - QList intPropertyManagers = qFindChildren(manager); + QList intPropertyManagers = manager->findChildren(); QListIterator itInt(intPropertyManagers); while (itInt.hasNext()) d_ptr->m_spinBoxFactory->addPropertyManager(itInt.next()); - QList doublePropertyManagers = qFindChildren(manager); + QList doublePropertyManagers = manager->findChildren(); QListIterator itDouble(doublePropertyManagers); while (itDouble.hasNext()) d_ptr->m_doubleSpinBoxFactory->addPropertyManager(itDouble.next()); - QList boolPropertyManagers = qFindChildren(manager); + QList boolPropertyManagers = manager->findChildren(); QListIterator itBool(boolPropertyManagers); while (itBool.hasNext()) d_ptr->m_checkBoxFactory->addPropertyManager(itBool.next()); - QList stringPropertyManagers = qFindChildren(manager); + QList stringPropertyManagers = manager->findChildren(); QListIterator itString(stringPropertyManagers); while (itString.hasNext()) d_ptr->m_lineEditFactory->addPropertyManager(itString.next()); - QList datePropertyManagers = qFindChildren(manager); + QList datePropertyManagers = manager->findChildren(); QListIterator itDate(datePropertyManagers); while (itDate.hasNext()) d_ptr->m_dateEditFactory->addPropertyManager(itDate.next()); - QList timePropertyManagers = qFindChildren(manager); + QList timePropertyManagers = manager->findChildren(); QListIterator itTime(timePropertyManagers); while (itTime.hasNext()) d_ptr->m_timeEditFactory->addPropertyManager(itTime.next()); - QList dateTimePropertyManagers = qFindChildren(manager); + QList dateTimePropertyManagers = manager->findChildren(); QListIterator itDateTime(dateTimePropertyManagers); while (itDateTime.hasNext()) d_ptr->m_dateTimeEditFactory->addPropertyManager(itDateTime.next()); - QList keySequencePropertyManagers = qFindChildren(manager); + QList keySequencePropertyManagers = manager->findChildren(); QListIterator itKeySequence(keySequencePropertyManagers); while (itKeySequence.hasNext()) d_ptr->m_keySequenceEditorFactory->addPropertyManager(itKeySequence.next()); - QList charPropertyManagers = qFindChildren(manager); + QList charPropertyManagers = manager->findChildren(); QListIterator itChar(charPropertyManagers); while (itChar.hasNext()) d_ptr->m_charEditorFactory->addPropertyManager(itChar.next()); - QList localePropertyManagers = qFindChildren(manager); + QList localePropertyManagers = manager->findChildren(); QListIterator itLocale(localePropertyManagers); while (itLocale.hasNext()) d_ptr->m_comboBoxFactory->addPropertyManager(itLocale.next()->subEnumPropertyManager()); - QList pointPropertyManagers = qFindChildren(manager); + QList pointPropertyManagers = manager->findChildren(); QListIterator itPoint(pointPropertyManagers); while (itPoint.hasNext()) d_ptr->m_spinBoxFactory->addPropertyManager(itPoint.next()->subIntPropertyManager()); - QList pointFPropertyManagers = qFindChildren(manager); + QList pointFPropertyManagers = manager->findChildren(); QListIterator itPointF(pointFPropertyManagers); while (itPointF.hasNext()) d_ptr->m_doubleSpinBoxFactory->addPropertyManager(itPointF.next()->subDoublePropertyManager()); - QList sizePropertyManagers = qFindChildren(manager); + QList sizePropertyManagers = manager->findChildren(); QListIterator itSize(sizePropertyManagers); while (itSize.hasNext()) d_ptr->m_spinBoxFactory->addPropertyManager(itSize.next()->subIntPropertyManager()); - QList sizeFPropertyManagers = qFindChildren(manager); + QList sizeFPropertyManagers = manager->findChildren(); QListIterator itSizeF(sizeFPropertyManagers); while (itSizeF.hasNext()) d_ptr->m_doubleSpinBoxFactory->addPropertyManager(itSizeF.next()->subDoublePropertyManager()); - QList rectPropertyManagers = qFindChildren(manager); + QList rectPropertyManagers = manager->findChildren(); QListIterator itRect(rectPropertyManagers); while (itRect.hasNext()) d_ptr->m_spinBoxFactory->addPropertyManager(itRect.next()->subIntPropertyManager()); - QList rectFPropertyManagers = qFindChildren(manager); + QList rectFPropertyManagers = manager->findChildren(); QListIterator itRectF(rectFPropertyManagers); while (itRectF.hasNext()) d_ptr->m_doubleSpinBoxFactory->addPropertyManager(itRectF.next()->subDoublePropertyManager()); - QList colorPropertyManagers = qFindChildren(manager); + QList colorPropertyManagers = manager->findChildren(); QListIterator itColor(colorPropertyManagers); while (itColor.hasNext()) { QtColorPropertyManager *manager = itColor.next(); @@ -2064,12 +2064,12 @@ void QtVariantEditorFactory::connectPropertyManager(QtVariantPropertyManager *ma d_ptr->m_spinBoxFactory->addPropertyManager(manager->subIntPropertyManager()); } - QList enumPropertyManagers = qFindChildren(manager); + QList enumPropertyManagers = manager->findChildren(); QListIterator itEnum(enumPropertyManagers); while (itEnum.hasNext()) d_ptr->m_comboBoxFactory->addPropertyManager(itEnum.next()); - QList sizePolicyPropertyManagers = qFindChildren(manager); + QList sizePolicyPropertyManagers = manager->findChildren(); QListIterator itSizePolicy(sizePolicyPropertyManagers); while (itSizePolicy.hasNext()) { QtSizePolicyPropertyManager *manager = itSizePolicy.next(); @@ -2077,7 +2077,7 @@ void QtVariantEditorFactory::connectPropertyManager(QtVariantPropertyManager *ma d_ptr->m_comboBoxFactory->addPropertyManager(manager->subEnumPropertyManager()); } - QList fontPropertyManagers = qFindChildren(manager); + QList fontPropertyManagers = manager->findChildren(); QListIterator itFont(fontPropertyManagers); while (itFont.hasNext()) { QtFontPropertyManager *manager = itFont.next(); @@ -2087,12 +2087,12 @@ void QtVariantEditorFactory::connectPropertyManager(QtVariantPropertyManager *ma d_ptr->m_checkBoxFactory->addPropertyManager(manager->subBoolPropertyManager()); } - QList cursorPropertyManagers = qFindChildren(manager); + QList cursorPropertyManagers = manager->findChildren(); QListIterator itCursor(cursorPropertyManagers); while (itCursor.hasNext()) d_ptr->m_cursorEditorFactory->addPropertyManager(itCursor.next()); - QList flagPropertyManagers = qFindChildren(manager); + QList flagPropertyManagers = manager->findChildren(); QListIterator itFlag(flagPropertyManagers); while (itFlag.hasNext()) d_ptr->m_checkBoxFactory->addPropertyManager(itFlag.next()->subBoolPropertyManager()); @@ -2118,87 +2118,87 @@ QWidget *QtVariantEditorFactory::createEditor(QtVariantPropertyManager *manager, Reimplemented from the QtAbstractEditorFactory class. */ void QtVariantEditorFactory::disconnectPropertyManager(QtVariantPropertyManager *manager) { - QList intPropertyManagers = qFindChildren(manager); + QList intPropertyManagers = manager->findChildren(); QListIterator itInt(intPropertyManagers); while (itInt.hasNext()) d_ptr->m_spinBoxFactory->removePropertyManager(itInt.next()); - QList doublePropertyManagers = qFindChildren(manager); + QList doublePropertyManagers = manager->findChildren(); QListIterator itDouble(doublePropertyManagers); while (itDouble.hasNext()) d_ptr->m_doubleSpinBoxFactory->removePropertyManager(itDouble.next()); - QList boolPropertyManagers = qFindChildren(manager); + QList boolPropertyManagers = manager->findChildren(); QListIterator itBool(boolPropertyManagers); while (itBool.hasNext()) d_ptr->m_checkBoxFactory->removePropertyManager(itBool.next()); - QList stringPropertyManagers = qFindChildren(manager); + QList stringPropertyManagers = manager->findChildren(); QListIterator itString(stringPropertyManagers); while (itString.hasNext()) d_ptr->m_lineEditFactory->removePropertyManager(itString.next()); - QList datePropertyManagers = qFindChildren(manager); + QList datePropertyManagers = manager->findChildren(); QListIterator itDate(datePropertyManagers); while (itDate.hasNext()) d_ptr->m_dateEditFactory->removePropertyManager(itDate.next()); - QList timePropertyManagers = qFindChildren(manager); + QList timePropertyManagers = manager->findChildren(); QListIterator itTime(timePropertyManagers); while (itTime.hasNext()) d_ptr->m_timeEditFactory->removePropertyManager(itTime.next()); - QList dateTimePropertyManagers = qFindChildren(manager); + QList dateTimePropertyManagers = manager->findChildren(); QListIterator itDateTime(dateTimePropertyManagers); while (itDateTime.hasNext()) d_ptr->m_dateTimeEditFactory->removePropertyManager(itDateTime.next()); - QList keySequencePropertyManagers = qFindChildren(manager); + QList keySequencePropertyManagers = manager->findChildren(); QListIterator itKeySequence(keySequencePropertyManagers); while (itKeySequence.hasNext()) d_ptr->m_keySequenceEditorFactory->removePropertyManager(itKeySequence.next()); - QList charPropertyManagers = qFindChildren(manager); + QList charPropertyManagers = manager->findChildren(); QListIterator itChar(charPropertyManagers); while (itChar.hasNext()) d_ptr->m_charEditorFactory->removePropertyManager(itChar.next()); - QList localePropertyManagers = qFindChildren(manager); + QList localePropertyManagers = manager->findChildren(); QListIterator itLocale(localePropertyManagers); while (itLocale.hasNext()) d_ptr->m_comboBoxFactory->removePropertyManager(itLocale.next()->subEnumPropertyManager()); - QList pointPropertyManagers = qFindChildren(manager); + QList pointPropertyManagers = manager->findChildren(); QListIterator itPoint(pointPropertyManagers); while (itPoint.hasNext()) d_ptr->m_spinBoxFactory->removePropertyManager(itPoint.next()->subIntPropertyManager()); - QList pointFPropertyManagers = qFindChildren(manager); + QList pointFPropertyManagers = manager->findChildren(); QListIterator itPointF(pointFPropertyManagers); while (itPointF.hasNext()) d_ptr->m_doubleSpinBoxFactory->removePropertyManager(itPointF.next()->subDoublePropertyManager()); - QList sizePropertyManagers = qFindChildren(manager); + QList sizePropertyManagers = manager->findChildren(); QListIterator itSize(sizePropertyManagers); while (itSize.hasNext()) d_ptr->m_spinBoxFactory->removePropertyManager(itSize.next()->subIntPropertyManager()); - QList sizeFPropertyManagers = qFindChildren(manager); + QList sizeFPropertyManagers = manager->findChildren(); QListIterator itSizeF(sizeFPropertyManagers); while (itSizeF.hasNext()) d_ptr->m_doubleSpinBoxFactory->removePropertyManager(itSizeF.next()->subDoublePropertyManager()); - QList rectPropertyManagers = qFindChildren(manager); + QList rectPropertyManagers = manager->findChildren(); QListIterator itRect(rectPropertyManagers); while (itRect.hasNext()) d_ptr->m_spinBoxFactory->removePropertyManager(itRect.next()->subIntPropertyManager()); - QList rectFPropertyManagers = qFindChildren(manager); + QList rectFPropertyManagers = manager->findChildren(); QListIterator itRectF(rectFPropertyManagers); while (itRectF.hasNext()) d_ptr->m_doubleSpinBoxFactory->removePropertyManager(itRectF.next()->subDoublePropertyManager()); - QList colorPropertyManagers = qFindChildren(manager); + QList colorPropertyManagers = manager->findChildren(); QListIterator itColor(colorPropertyManagers); while (itColor.hasNext()) { QtColorPropertyManager *manager = itColor.next(); @@ -2206,12 +2206,12 @@ void QtVariantEditorFactory::disconnectPropertyManager(QtVariantPropertyManager d_ptr->m_spinBoxFactory->removePropertyManager(manager->subIntPropertyManager()); } - QList enumPropertyManagers = qFindChildren(manager); + QList enumPropertyManagers = manager->findChildren(); QListIterator itEnum(enumPropertyManagers); while (itEnum.hasNext()) d_ptr->m_comboBoxFactory->removePropertyManager(itEnum.next()); - QList sizePolicyPropertyManagers = qFindChildren(manager); + QList sizePolicyPropertyManagers = manager->findChildren(); QListIterator itSizePolicy(sizePolicyPropertyManagers); while (itSizePolicy.hasNext()) { QtSizePolicyPropertyManager *manager = itSizePolicy.next(); @@ -2219,7 +2219,7 @@ void QtVariantEditorFactory::disconnectPropertyManager(QtVariantPropertyManager d_ptr->m_comboBoxFactory->removePropertyManager(manager->subEnumPropertyManager()); } - QList fontPropertyManagers = qFindChildren(manager); + QList fontPropertyManagers = manager->findChildren(); QListIterator itFont(fontPropertyManagers); while (itFont.hasNext()) { QtFontPropertyManager *manager = itFont.next(); @@ -2229,12 +2229,12 @@ void QtVariantEditorFactory::disconnectPropertyManager(QtVariantPropertyManager d_ptr->m_checkBoxFactory->removePropertyManager(manager->subBoolPropertyManager()); } - QList cursorPropertyManagers = qFindChildren(manager); + QList cursorPropertyManagers = manager->findChildren(); QListIterator itCursor(cursorPropertyManagers); while (itCursor.hasNext()) d_ptr->m_cursorEditorFactory->removePropertyManager(itCursor.next()); - QList flagPropertyManagers = qFindChildren(manager); + QList flagPropertyManagers = manager->findChildren(); QListIterator itFlag(flagPropertyManagers); while (itFlag.hasNext()) d_ptr->m_checkBoxFactory->removePropertyManager(itFlag.next()->subBoolPropertyManager()); -- GitLab From e784904ae32349dfd25d4eebf24ab6e466678db8 Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 10 Mar 2016 15:26:45 +0100 Subject: [PATCH 004/356] UPDATED Improved CMake configuration for including Qt in CamiTK libraries. Work done for library-qtpropertybrowser. --- .../modules/macros/camitk/CamiTKLibrary.cmake | 92 ++++++++-------- .../qtpropertybrowser/CMakeLists.txt | 101 +----------------- 2 files changed, 48 insertions(+), 145 deletions(-) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 0ca1e6c9..97d2f4a2 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -22,7 +22,7 @@ #! [NEEDS_LIBXML2] #! [NEEDS_XERCESC] #! [NEEDS_XSD] -#! [NEEDS_QT_MODULES] +#! [NEEDS_QT] #! [DEFINES flag1 flag2 ...] #! [EXTERNAL_LIBRARIES lib1 lib2... ] #! [INCLUDE_DIRECTORIES dir1 dir2...] @@ -45,7 +45,7 @@ #! \param NEEDS_LIBXML2 add this if the CEP library needs libxml2 #! \param NEEDS_XERCESC add this if your action / component needs XercesC library #! \param NEEDS_XSD add this if your action needs Codesynthesis xsd cxx (xml schema compiler) -#! \param NEEDS_QT_MODULES add this if your library depends on Qt modules, such as QtCore, QtGui, QtMultimedia, QtNetwork, QtOpenGL, QtScript, QtScriptTools, QtSql, QtSvg, QtWebkit, QtXml, QtXmlPatterns, QtDeclarative +#! \param NEEDS_QT add this if your library depends on Qt 5.x #! \param LIBNAME force the CEP library name to be different from the directory it is in #! \param LINK_DIRECTORIES additional directories to use in link_directories(...) #! \param DEFINES list of define flags to add at compilation time @@ -76,7 +76,7 @@ macro(camitk_library) parse_arguments(${DEFAULT_LIBRARY_NAME_CMAKE} "SOURCES;NEEDS_CEP_LIBRARIES;EXTERNAL_LIBRARIES;INCLUDE_DIRECTORIES;LIBNAME;DEFINES;LINK_DIRECTORIES;HEADERS_TO_INSTALL;CEP_NAME;DESCRIPTION;EXTRA_TRANSLATE_LANGUAGE;CXX_FLAGS" # possible lists - "SHARED;STATIC;NEEDS_ITK;NEEDS_LIBXML2;NEEDS_XERCESC;NEEDS_XSD;NEEDS_QT_MODULES;PUBLIC" # possible options + "SHARED;STATIC;NEEDS_ITK;NEEDS_LIBXML2;NEEDS_XERCESC;NEEDS_XSD;NEEDS_QT;PUBLIC" # possible options ${ARGN} ) @@ -160,6 +160,35 @@ macro(camitk_library) + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition depending on library type # + # public / private # + # # + ######################################################################### + # CMAKE TARGET DEFINITION DEPENDENDING ON THE LIBRARY TYPE (SHARED or STATIC) + if (${DEFAULT_LIBRARY_NAME_CMAKE}_SHARED) # shared library + message(STATUS "Adding shared library: ${LIBRARY_TARGET_NAME}") + add_library(${LIBRARY_TARGET_NAME} SHARED ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) + # prepare the library specific info (SONAME...) + set(${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} + VERSION "${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}" + SOVERSION "${CAMITK_VERSION_MAJOR}" + ) + # + set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "") + elseif (${DEFAULT_LIBRARY_NAME_CMAKE}_STATIC) # static library + message(STATUS "Adding static library: ${LIBRARY_TARGET_NAME}") + add_library(${LIBRARY_TARGET_NAME} STATIC ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) + else() + message(FATAL_ERROR "In adding static library ${LIBRARY_TARGET_NAME}.\n Please specify the library type: SHARED or STATIC") + endif() + + + ######################################################################### # # # ADDITIONAL KNOWN LIBRARY DEPENDENCIES # @@ -661,21 +690,19 @@ macro(camitk_library) endif() endif() - # Nico : Vérifier si on peut le supprimer - # ADDITIONAL QT MODULES - # set(QT_MODULES_LIBRARIES) - # if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT_MODULES) - # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - # if(NOT QT4_FOUND) - # message(SEND_ERROR "${DEFAULT_LIBRARY_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - # endif() - - # # CMake will add the Qt modules specific include directories - # include(${QT_USE_FILE}) - - # # Qt additional modules are required for linking - # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - # endif() + # QT + if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) + if (Qt5_FOUND) + message(STATUS "${LIBRARY_TARGET_NAME}: found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + qt5_use_modules(${LIBRARY_TARGET_NAME} ${QT_COMPONENTS}) + else() + message(SEND_ERROR "${LIBRARY_TARGET_NAME}: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") + endif() + endif() # EXTERNAL DEPENDENCIES set(LINKER_EXTERNAL_LIBRARIES) @@ -714,35 +741,6 @@ macro(camitk_library) - ######################################################################### - # # - # TARGET COMPILATION DEFINITION # - # # - # * Additional sources files to consider at compilation (.cpp) # - # * CMake project target definition depending on library type # - # public / private # - # # - ######################################################################### - # CMAKE TARGET DEFINITION DEPENDENDING ON THE LIBRARY TYPE (SHARED or STATIC) - if (${DEFAULT_LIBRARY_NAME_CMAKE}_SHARED) # shared library - message(STATUS "Adding shared library: ${LIBRARY_TARGET_NAME}") - add_library(${LIBRARY_TARGET_NAME} SHARED ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) - # prepare the library specific info (SONAME...) - set(${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} - VERSION "${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}" - SOVERSION "${CAMITK_VERSION_MAJOR}" - ) - # - set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "") - elseif (${DEFAULT_LIBRARY_NAME_CMAKE}_STATIC) # static library - message(STATUS "Adding static library: ${LIBRARY_TARGET_NAME}") - add_library(${LIBRARY_TARGET_NAME} STATIC ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) - else() - message(FATAL_ERROR "In adding static library ${LIBRARY_TARGET_NAME}.\n Please specify the library type: SHARED or STATIC") - endif() - - - ######################################################################### # # # CAMITK LIBRARIES DEPENDENCIES # diff --git a/sdk/libraries/qtpropertybrowser/CMakeLists.txt b/sdk/libraries/qtpropertybrowser/CMakeLists.txt index 64b3e9b9..3ebd893d 100644 --- a/sdk/libraries/qtpropertybrowser/CMakeLists.txt +++ b/sdk/libraries/qtpropertybrowser/CMakeLists.txt @@ -13,20 +13,7 @@ if (NOT CEP_NAME STREQUAL "SDK") endif() # Instruct CMake to run moc automatically when needed. -set(CMAKE_AUTOMOC OFF) - -find_package(Qt5 COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions REQUIRED) -if (Qt5_FOUND) - message(STATUS "QtPropertyBrowser : found Qt ${Qt5_VERSION}.") - set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) - include_directories(${QT_INCLUDE_DIRS}) - set(QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5XmlPatterns_LIBRARIES} ${Qt5Declarative_LIBRARIES} ${Qt5Help_LIBRARIES} ${Qt5UiTools_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5OpenGLExtensions_LIBRARIES} ${Qt5Widgets_LIBRARIES}) - message(WARNING "QT_LIBRARIES = ${QT_LIBRARIES}") -else() - message(SEND_ERROR "Failed to find Qt 5.x. This is needed by QtPropertyBrowser.") -endif() - -# include(${QT_USE_FILE}) +set(CMAKE_AUTOMOC ON) set(qtpropertyeditor_SRCS src/qtpropertybrowser.cpp @@ -45,83 +32,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDE_DIR} ) -qt5_generate_moc( - src/qtpropertybrowser.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowser.cpp -) -qt5_generate_moc( - src/qtpropertymanager.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertymanager.cpp -) -qt5_generate_moc( - src/qteditorfactory.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qteditorfactory.cpp -) -qt5_generate_moc( - src/qtvariantproperty.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtvariantproperty.cpp -) -qt5_generate_moc( - src/qttreepropertybrowser.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qttreepropertybrowser.cpp -) -qt5_generate_moc( - src/qtbuttonpropertybrowser.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtbuttonpropertybrowser.cpp -) -qt5_generate_moc( - src/qtgroupboxpropertybrowser.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtgroupboxpropertybrowser.cpp -) -qt5_generate_moc( - src/qtpropertymanager.cpp - ${CMAKE_CURRENT_BINARY_DIR}/qtpropertymanager.moc -) -qt5_generate_moc( - src/qteditorfactory.cpp - ${CMAKE_CURRENT_BINARY_DIR}/qteditorfactory.moc -) -qt5_generate_moc( - src/qttreepropertybrowser.cpp - ${CMAKE_CURRENT_BINARY_DIR}/qttreepropertybrowser.moc -) - -set( - qtpropertyeditor_HEADERS_ONLY_MOC - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowser.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertymanager.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qteditorfactory.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtvariantproperty.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qttreepropertybrowser.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtbuttonpropertybrowser.cpp - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtgroupboxpropertybrowser.cpp - ${CMAKE_CURRENT_BINARY_DIR}/qtpropertymanager.moc - ${CMAKE_CURRENT_BINARY_DIR}/qteditorfactory.moc - ${CMAKE_CURRENT_BINARY_DIR}/qttreepropertybrowser.moc -) - -set_source_files_properties( - ${qtpropertyeditor_HEADERS_ONLY_MOC} - PROPERTIES - HEADER_FILE_ONLY true -) - -qt5_generate_moc( - src/qtpropertybrowserutils_p.h - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowserutils_p.cpp -) - -set( - qtpropertyeditor_HEADERS_MOC - ${CMAKE_CURRENT_BINARY_DIR}/moc_qtpropertybrowserutils_p.cpp -) - -set( - qtpropertyeditor_MOC - ${qtpropertyeditor_HEADERS_MOC} - ${qtpropertyeditor_HEADERS_ONLY_MOC} -) - qt5_add_resources( qtpropertyeditor_RESOURCES src/qtpropertybrowser.qrc @@ -129,7 +39,7 @@ qt5_add_resources( qt5_add_resources(RESOURCE_SRCS src/qtpropertybrowser.qrc) -set(SRCS ${extension_MOC} +set(SRCS ${extension_MOC} ${qtpropertyeditor_MOC} ${qtpropertyeditor_SRCS} ${qtpropertyeditor_RESOURCES} @@ -143,18 +53,13 @@ file(GLOB HEADERS_UPPERCASE "src/Qt*") camitk_library(SHARED SOURCES ${SRCS} - NEEDS_QT_MODULES + NEEDS_QT PUBLIC #install directly in lib (or bin for Windows). HEADERS_TO_INSTALL ${HEADERS_H} ${HEADERS_UPPERCASE} CEP_NAME SDK DESCRIPTION "Allows displaying and editing Qt Meta Object properties. Used to display component properties. This library is required." ) -qt5_use_modules(${LIBRARY_TARGET_NAME} Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) - -# Add Qt5 link libraries at link stage -#target_link_libraries(${LIB_NAME} ${QT_LIBRARIES}) - # Recursively update the shiboken path variable containing the CamiTK SDK tree structure set(SHIBOKEN_CAMITK_SDK_PATH ${SHIBOKEN_CAMITK_SDK_PATH}:${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "") set(SHIBOKEN_CAMITK_SDK_PATH ${SHIBOKEN_CAMITK_SDK_PATH}:${CMAKE_CURRENT_SOURCE_DIR}/src CACHE INTERNAL "") \ No newline at end of file -- GitLab From a619c333cff0961d7b127fa4ad948cbcfbcb8a85 Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 10 Mar 2016 17:35:14 +0100 Subject: [PATCH 005/356] UPDATED Camitk SDK configuration OK for Qt5 - VTK6 UPDATED CMake policy to CMake version 3.0 --- CMakeLists.txt | 5 +- sdk/CMakeLists.txt | 5 +- sdk/cmake/CMakeLists.txt | 8 -- sdk/cmake/modules/CamiTKConfig.cmake.in | 33 ++------ .../macros/camitk/CamiTKApplication.cmake | 83 ++++++++----------- .../macros/camitk/CamiTKExtension.cmake | 54 +++++------- .../modules/macros/camitk/CamiTKLibrary.cmake | 1 + sdk/libraries/cepcoreschema/CMakeLists.txt | 2 - sdk/libraries/cepgenerator/CMakeLists.txt | 10 --- .../qtpropertybrowser/CMakeLists.txt | 4 - .../testactions/CMakeLists.txt | 1 - .../testcomponents/CMakeLists.txt | 1 - 12 files changed, 62 insertions(+), 145 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76819252..fc4094a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # CamiTK Open Source CEP Set # #-------------------------------------------- -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.0) project(camitkopensource) @@ -48,7 +48,4 @@ if(CAMITK_BINDING_PYTHON) add_subdirectory(python_sdk) endif() - - camitk_sub_project_validate(CEP_SET) - diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt index 77ac7395..10cab3b1 100644 --- a/sdk/CMakeLists.txt +++ b/sdk/CMakeLists.txt @@ -4,13 +4,10 @@ # You should probably NOT modify this file... # Please edit CEPDescription.cmake instead #-------------------------------------------- - -cmake_minimum_required(VERSION 2.6) - include(SDKConfig.cmake) # Please add your project name inside the project() brackets, e.g. project(myProject) -project(${CEP_NAME}) +# project(${CEP_NAME}) # Mini find CamiTK inside SDK set(CAMITK_DIR ${CMAKE_BINARY_DIR}) diff --git a/sdk/cmake/CMakeLists.txt b/sdk/cmake/CMakeLists.txt index 99d6e15c..c2e2c9aa 100644 --- a/sdk/cmake/CMakeLists.txt +++ b/sdk/cmake/CMakeLists.txt @@ -24,11 +24,3 @@ file(GLOB CAMITK_CMAKE_FILES "modules/launcher-templates/*.in") install(FILES ${CAMITK_CMAKE_FILES} DESTINATION ${CAMITK_CMAKE_PATH}/launcher-templates ) - -# Save the compiler settings so another project can import them. -include(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) -cmake_export_build_settings(${CMAKE_CURRENT_BINARY_DIR}/../CamiTKBuildSettings.cmake) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../CamiTKBuildSettings.cmake" - DESTINATION ${CAMITK_CMAKE_PATH} - ) - \ No newline at end of file diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index e00d1c3f..5f53e5cb 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -16,14 +16,14 @@ set(CAMITK_SHORT_VERSION_STRING "camitk-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION #-- Check dependencies: Qt and VTK # Find Qt5 -find_package(Qt5 COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions REQUIRED) +set(CAMITK_QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) #the different Qt5 modules we work with +find_package(Qt5 COMPONENTS ${CAMITK_QT_COMPONENTS} REQUIRED) if (Qt5_FOUND) message(STATUS "CamiTK SDK : found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) else() - message(SEND_ERROR "Failed to find Qt 5.x. This is needed by CamiTK.") + message(SEND_ERROR "CamiTK SDK : Failed to find Qt 5.x. This is needed by the CamiTK SDK.") endif() -# set (QT_USE_QTXML ON) -# include(${QT_USE_FILE}) # Find VTK find_package(VTK REQUIRED) @@ -122,7 +122,7 @@ set(CAMITK_INCLUDE_DIRECTORIES ${CAMITK_INCLUDE_DIR}/libraries/${CAMITK_CORE_LIB_NAME} ${CAMITK_USER_INCLUDE_DIR} ${CAMITK_BUILD_INCLUDE_DIR} - ${QT_INCLUDE_DIR} + ${QT_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS} ${CAMITK_BUILD_INCLUDE_DIR}/libraries ) @@ -141,7 +141,6 @@ if(MSVC) ) # list of all core dependencies set(CAMITK_LIBRARIES - ${QT_LIBRARIES} debug ${VTK_DIR}/vtkCommon${CAMITK_DEBUG_POSTFIX}.lib optimized vtkCommon debug ${VTK_DIR}/vtkFiltering${CAMITK_DEBUG_POSTFIX}.lib @@ -186,7 +185,6 @@ else() # if(CMAKE_GENERATOR MATCHES "MinGW Makefiles") # Win32 running with MinGW # list of all core dependencies set(CAMITK_LIBRARIES - ${QT_LIBRARIES} vtkCommon vtkFiltering vtkGenericFiltering @@ -202,27 +200,6 @@ else() qtpropertybrowser vtkCharts ) -# else() #Linux (or MacOS) platform. -# # list of all core dependencies -# set(CAMITK_LIBRARIES -# ${QT_LIBRARIES} -# vtkCommon -# vtkFiltering -# vtkGenericFiltering -# vtkGraphics -# vtkHybrid -# vtkImaging -# vtkIO -# vtkRendering -# vtkVolumeRendering -# vtkftgl -# vtkWidgets -# QVTK -# qtpropertybrowser -# ) -# endif() -# else() - endif() mark_as_advanced (CAMITK_CORE_LIB CAMITK_LINK_DIRECTORIES CAMITK_INCLUDE_DIRECTORIES CAMITK_LIBRARIES) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 7716f376..717b9a72 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -24,7 +24,6 @@ #! \code #! camitk_application( #! [DISABLED] -#! [NEEDS_QT_MODULES] #! [NEEDS_ITK] #! [NEEDS_PYTHON] #! [NEEDS_CEP_LIBRARIES CEPLib1 CEPLib12 ...] @@ -40,7 +39,6 @@ #! \endcode #! #! \param DISABLED means this is a default application is NOT to be compiled automatically -#! \param NEEDS_QT_MODULES add this if your library depends on Qt modules, such as QtCore, QtGui, QtMultimedia, QtNetwork, QtOpenGL, QtScript, QtScriptTools, QtSql, QtSvg, QtWebkit, QtXml, QtXmlPatterns, QtDeclarative, QtTest #! \param NEEDS_ITK means this application requires ITK to be compiled / run. #! \param NEEDS_CEP_LIBRARIES list of needed camitk CEP libraries #! \param NEEDS_COMPONENT_EXTENSION list of needed component extensions @@ -152,6 +150,38 @@ macro(camitk_application) gather_headers_and_sources(${APPLICATION_NAME}) + + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition # + # # + ######################################################################### + # EXTERNAL SOURCES + set(${APPLICATION_NAME}_SOURCES ${${APPLICATION_NAME}_SOURCES} ${${APPLICATION_NAME_CMAKE}_ADDITIONAL_SOURCES}) + + # APPLE BUNDLE DEFINITIONS + if(APPLE) + set(MACOSX_BUNDLE_INFO_STRING "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") + set(MACOSX_BUNDLE_BUNDLE_VERSION "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") + set(MACOSX_BUNDLE_LONG_VERSION_STRING "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") + set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${CAMITK_SHORT_VERSION_STRING}") + set(MACOSX_BUNDLE_COPYRIGHT "2014 UJF") + set(MACOSX_BUNDLE_ICON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/resources/camitk-${APPLICATION_NAME}.icns") + set(MACOSX_BUNDLE_BUNDLE_NAME "${APPLICATION_TARGET_NAME}") + + set(MACOSX_BUNDLE_RESOURCES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_TARGET_NAME}.app/Contents/Resources") + set(MACOSX_BUNDLE_ICON "${MACOSX_BUNDLE_ICON_FILE}") + execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${MACOSX_BUNDLE_RESOURCES}) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MACOSX_BUNDLE_ICON} ${MACOSX_BUNDLE_RESOURCES}) + endif() + + # CMAKE TARGET DEFINITION + add_executable(${APPLICATION_TARGET_NAME} ${${APPLICATION_NAME}_SOURCES}) + + ######################################################################### # # @@ -653,20 +683,8 @@ macro(camitk_application) endif() endif() - # Nico : TODO remove if not necessary - # QT MODULES - # set(QT_MODULES_LIBRARIES) - # if(${APPLICATION_NAME_CMAKE}_NEEDS_QT_MODULES) - # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - # if(NOT QT4_FOUND) - # message(SEND_ERROR "${APPLICATION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - # endif() - - # # CMake will add the Qt modules specific include directories - # include(${QT_USE_FILE}) - # # Qt additional modules are required for linking - # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - # endif() + # QT + qt5_use_modules(${APPLICATION_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) @@ -708,39 +726,6 @@ macro(camitk_application) - ######################################################################### - # # - # TARGET COMPILATION DEFINITION # - # # - # * Additional sources files to consider at compilation (.cpp) # - # * CMake project target definition # - # # - ######################################################################### - # EXTERNAL SOURCES - set(${APPLICATION_NAME}_SOURCES ${${APPLICATION_NAME}_SOURCES} ${${APPLICATION_NAME_CMAKE}_ADDITIONAL_SOURCES}) - - # APPLE BUNDLE DEFINITIONS - if(APPLE) - set(MACOSX_BUNDLE_INFO_STRING "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") - set(MACOSX_BUNDLE_BUNDLE_VERSION "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") - set(MACOSX_BUNDLE_LONG_VERSION_STRING "${APPLICATION_TARGET_NAME} ${CAMITK_SHORT_VERSION_STRING}") - set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${CAMITK_SHORT_VERSION_STRING}") - set(MACOSX_BUNDLE_COPYRIGHT "2014 UJF") - set(MACOSX_BUNDLE_ICON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/resources/camitk-${APPLICATION_NAME}.icns") - set(MACOSX_BUNDLE_BUNDLE_NAME "${APPLICATION_TARGET_NAME}") - - set(MACOSX_BUNDLE_RESOURCES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_TARGET_NAME}.app/Contents/Resources") - set(MACOSX_BUNDLE_ICON "${MACOSX_BUNDLE_ICON_FILE}") - execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${MACOSX_BUNDLE_RESOURCES}) - execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MACOSX_BUNDLE_ICON} ${MACOSX_BUNDLE_RESOURCES}) - endif() - - # CMAKE TARGET DEFINITION -# add_executable(${APPLICATION_TARGET_NAME} MACOSX_BUNDLE ${${APPLICATION_NAME}_SOURCES}) - add_executable(${APPLICATION_TARGET_NAME} ${${APPLICATION_NAME}_SOURCES}) - - - ######################################################################### # # # CAMITK ACTION / COMPONENT / LIBRARIES DEPENDENCIES # diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index e5001170..1f2da6a0 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -10,7 +10,6 @@ #! \code #! camitk_extension( #! [DISABLED] -#! [NEEDS_QT_MODULES] #! [NEEDS_ITK] #! [NEEDS_LIBXML2] #! [NEEDS_OPENCV] @@ -38,7 +37,6 @@ #! \param = REQUIRED. The selected type of extension you wish to build. # possible values : ACTION_EXTENSION or COMPONENT_EXTENSION. #! \param DISABLED = means this is a not a default extension, it will not be compiled automatically -#! \param NEEDS_QT_MODULES = add this if your library depends on Qt modules, such as QtCore, QtGui, QtMultimedia, QtNetwork, QtOpenGL, QtScript, QtScriptTools, QtSql, QtSvg, QtWebkit, QtXml, QtXmlPatterns, QtDeclarative #! \param NEEDS_ITK = add this if your component needs ITK. #! Do not forget to add the needed list of ITK libraries in the LIBRARIES parameter #! \param NEEDS_LIBXML2 = add this if your component needs libxml2 @@ -190,6 +188,22 @@ macro(camitk_extension) + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition # + # # + ######################################################################### + # EXTERNAL SOURCES + set(${EXTENSION_NAME_CMAKE}_SOURCES ${${EXTENSION_NAME_CMAKE}_SOURCES} ${${EXTENSION_NAME_CMAKE}_EXTERNAL_SOURCES}) + + # CMAKE TARGET DEFINITION + add_library(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} SHARED ${${EXTENSION_NAME_CMAKE}_SOURCES}) + + + ######################################################################### # # # ADDITIONAL KNOWN EXTERNAL LIBRARY DEPENDENCIES # @@ -907,22 +921,9 @@ macro(camitk_extension) endif() endif() - # Nico : On le garde ? - # ADDTIONAL QT MODULES - # set(QT_MODULES_LIBRARIES) - # if(${EXTENSION_NAME_CMAKE}_NEEDS_QT_MODULES) - # find_package(Qt4 "4.7" COMPONENTS QtCore QtGui QtXml QtXmlPatterns QtWebkit QtOpenGL QtScript QtSQL QtNetwork QtTest REQUIRED) - # if(NOT QT4_FOUND) - # message(SEND_ERROR "${EXTENSION_NAME} : Failed to find Qt 4.7 or greater. This is needed by CamiTK.") - # endif() - - # # CMake will add the Qt modules specific include directories - # include(${QT_USE_FILE}) - - # # Qt additional modules are required for linking - # set(QT_MODULES_LIBRARIES ${QT_LIBRARIES}) - # endif() - + # QT + qt5_use_modules(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) + # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) if(${EXTENSION_NAME_CMAKE}_EXTERNAL_LIBRARIES) @@ -962,22 +963,7 @@ macro(camitk_extension) - ######################################################################### - # # - # TARGET COMPILATION DEFINITION # - # # - # * Additional sources files to consider at compilation (.cpp) # - # * CMake project target definition # - # # - ######################################################################### - # EXTERNAL SOURCES - set(${EXTENSION_NAME_CMAKE}_SOURCES ${${EXTENSION_NAME_CMAKE}_SOURCES} ${${EXTENSION_NAME_CMAKE}_EXTERNAL_SOURCES}) - - # CMAKE TARGET DEFINITION - add_library(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} SHARED ${${EXTENSION_NAME_CMAKE}_SOURCES}) - - - + ######################################################################### # # # CAMITK ACTION / COMPONENT / LIBRARIES DEPENDENCIES # diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 97d2f4a2..911ef29b 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -695,6 +695,7 @@ macro(camitk_library) set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) if (Qt5_FOUND) + # cmake_policy(SET CMP0020 NEW) # policy for Qt core linking to qtmain.lib message(STATUS "${LIBRARY_TARGET_NAME}: found Qt ${Qt5_VERSION}.") set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) include_directories(${QT_INCLUDE_DIRS}) diff --git a/sdk/libraries/cepcoreschema/CMakeLists.txt b/sdk/libraries/cepcoreschema/CMakeLists.txt index 4729b9eb..2e433f1e 100644 --- a/sdk/libraries/cepcoreschema/CMakeLists.txt +++ b/sdk/libraries/cepcoreschema/CMakeLists.txt @@ -1,5 +1,3 @@ -project(cepcoreschema) - # XSD really needed find_package(XSD REQUIRED) diff --git a/sdk/libraries/cepgenerator/CMakeLists.txt b/sdk/libraries/cepgenerator/CMakeLists.txt index f33ab323..89fa171a 100644 --- a/sdk/libraries/cepgenerator/CMakeLists.txt +++ b/sdk/libraries/cepgenerator/CMakeLists.txt @@ -1,13 +1,3 @@ -project(cepgenerator) - -#set (CEPGENERATOR_H -# CepGenerator.h -#) -# -#set (CEPGENERATOR_SRCS -# CepGenerator.cpp -#) - gather_headers_and_sources(CEPGENERATOR) camitk_library( STATIC SOURCES ${CEPGENERATOR_HEADERS} ${CEPGENERATOR_SOURCES} diff --git a/sdk/libraries/qtpropertybrowser/CMakeLists.txt b/sdk/libraries/qtpropertybrowser/CMakeLists.txt index 3ebd893d..82ba5992 100644 --- a/sdk/libraries/qtpropertybrowser/CMakeLists.txt +++ b/sdk/libraries/qtpropertybrowser/CMakeLists.txt @@ -1,10 +1,6 @@ -project(QTPROPERTYBROWSER) - # For last version of this code see # http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtpropertybrowser -cmake_minimum_required(VERSION 2.6) - # Is this tool is compiled inside or outside CAMITK (as a standalone)? if (NOT CEP_NAME STREQUAL "SDK") # if this tool is compiled independently from CamiTK diff --git a/sdk/testapplications/testactions/CMakeLists.txt b/sdk/testapplications/testactions/CMakeLists.txt index dd8505e9..896d8429 100644 --- a/sdk/testapplications/testactions/CMakeLists.txt +++ b/sdk/testapplications/testactions/CMakeLists.txt @@ -3,7 +3,6 @@ # CamiTK Open Source CEP Set # #-------------------------------------------- -cmake_minimum_required(VERSION 2.6) camitk_application( ADDITIONAL_SOURCES CommandLineOptions.cxx CommandLineOptions.hxx CommandLineOptions.ixx CEP_NAME SDK DESCRIPTION "Test application to test actions" diff --git a/sdk/testapplications/testcomponents/CMakeLists.txt b/sdk/testapplications/testcomponents/CMakeLists.txt index bd152ad0..7bbb08e9 100644 --- a/sdk/testapplications/testcomponents/CMakeLists.txt +++ b/sdk/testapplications/testcomponents/CMakeLists.txt @@ -3,7 +3,6 @@ # CamiTK Open Source CEP Set # #-------------------------------------------- -cmake_minimum_required(VERSION 2.6) camitk_application( CEP_NAME SDK ADDITIONAL_SOURCES CommandLineOptions.cxx CommandLineOptions.hxx CommandLineOptions.ixx DESCRIPTION "Test application to load components and interact with them" -- GitLab From 280d18c6dd834523b5e153f6f81f5c68fad45457 Mon Sep 17 00:00:00 2001 From: saubatn Date: Mon, 14 Mar 2016 11:43:21 +0100 Subject: [PATCH 006/356] UPDATED Better CMake information when configuring. --- sdk/cmake/modules/macros/camitk/CamiTKAddSubDirectory.cmake | 1 - sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKAddSubDirectory.cmake b/sdk/cmake/modules/macros/camitk/CamiTKAddSubDirectory.cmake index 988e7ba4..7028bdb6 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKAddSubDirectory.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKAddSubDirectory.cmake @@ -22,7 +22,6 @@ macro(camitk_add_subdirectory DirectoryName) if(CEP_NAME AND NOT ${CEP_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) set(SUBDIRECTORY_MESSAGE "${SUBDIRECTORY_MESSAGE} ${CEP_NAME}") endif() - message(STATUS "${SUBDIRECTORY_MESSAGE} provides ${DirectoryName}:") add_subdirectory(${DirectoryName}) endif() endmacro() \ No newline at end of file diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 911ef29b..cbb80291 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -171,7 +171,7 @@ macro(camitk_library) ######################################################################### # CMAKE TARGET DEFINITION DEPENDENDING ON THE LIBRARY TYPE (SHARED or STATIC) if (${DEFAULT_LIBRARY_NAME_CMAKE}_SHARED) # shared library - message(STATUS "Adding shared library: ${LIBRARY_TARGET_NAME}") + message(STATUS "Building shared library: ${LIBRARY_TARGET_NAME}") add_library(${LIBRARY_TARGET_NAME} SHARED ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) # prepare the library specific info (SONAME...) set(${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} @@ -181,7 +181,7 @@ macro(camitk_library) # set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "") elseif (${DEFAULT_LIBRARY_NAME_CMAKE}_STATIC) # static library - message(STATUS "Adding static library: ${LIBRARY_TARGET_NAME}") + message(STATUS "Building static library: ${LIBRARY_TARGET_NAME}") add_library(${LIBRARY_TARGET_NAME} STATIC ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) else() message(FATAL_ERROR "In adding static library ${LIBRARY_TARGET_NAME}.\n Please specify the library type: SHARED or STATIC") -- GitLab From 15ea273f938b5c15edf2aba9c000ec4502176e8d Mon Sep 17 00:00:00 2001 From: saubatn Date: Mon, 14 Mar 2016 17:21:51 +0100 Subject: [PATCH 007/356] UPDATED no qt?_wrapp_cpp CMake macro calls needed as we set AUTOMOC to ON --- modeling/libraries/mml/monitoring/CMakeLists.txt | 2 +- .../libraries/mml/monitoring/ExternalSimulatorSupport.cmake | 2 +- modeling/libraries/mml/monitoringgui/CMakeLists.txt | 2 +- sdk/cmake/modules/macros/GatherHeadersAndSources.cmake | 3 --- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/modeling/libraries/mml/monitoring/CMakeLists.txt b/modeling/libraries/mml/monitoring/CMakeLists.txt index 908b8e19..c1f764a4 100644 --- a/modeling/libraries/mml/monitoring/CMakeLists.txt +++ b/modeling/libraries/mml/monitoring/CMakeLists.txt @@ -17,7 +17,7 @@ if(MML_GENERATE_GUI) set(MML_GUI_MOC_SRCS SimulatorWidget.h Xmlhighlighter.h ) - qt4_wrap_cpp(MML_GUI_MOCS ${MML_GUI_MOC_SRCS}) + # qt4_wrap_cpp(MML_GUI_MOCS ${MML_GUI_MOC_SRCS}) Not needed if AUTOMOC is set to ON (CMake therefore handle moc automatically) set(MML_GUI_HEADERS ${MML_GUI_MOC_SRCS}) set(MML_GUI_SRC ${MML_GUI_MOCS} SimulatorWidget.cpp diff --git a/modeling/libraries/mml/monitoring/ExternalSimulatorSupport.cmake b/modeling/libraries/mml/monitoring/ExternalSimulatorSupport.cmake index 7ea70863..dcb18499 100644 --- a/modeling/libraries/mml/monitoring/ExternalSimulatorSupport.cmake +++ b/modeling/libraries/mml/monitoring/ExternalSimulatorSupport.cmake @@ -17,7 +17,7 @@ if (SOFA_SUPPORT) set(SOFA_MOC_SRCS SofaWidget.h) set(SOFA_UIS SofaWidget.ui) qt4_wrap_ui(SOFA_UIS_H ${SOFA_UIS}) - qt4_wrap_cpp(SOFA_MOCS ${SOFA_MOC_SRCS}) + # qt4_wrap_cpp(SOFA_MOCS ${SOFA_MOC_SRCS}) Not needed if AUTOMOC is set to ON (CMake therefore handle moc automatically) set(SOFA_GUI_SRC SofaWidget.cpp) endif() diff --git a/modeling/libraries/mml/monitoringgui/CMakeLists.txt b/modeling/libraries/mml/monitoringgui/CMakeLists.txt index e3eeffc3..b1211b3c 100644 --- a/modeling/libraries/mml/monitoringgui/CMakeLists.txt +++ b/modeling/libraries/mml/monitoringgui/CMakeLists.txt @@ -9,7 +9,7 @@ set(monitoringgui_UIS ) qt4_wrap_ui(monitoringgui_UIS_H ${monitoringgui_UIS}) -qt4_wrap_cpp(monitoringgui_MOCS ${monitoringgui_MOC_SRCS}) +# qt4_wrap_cpp(monitoringgui_MOCS ${monitoringgui_MOC_SRCS}) Not needed if AUTOMOC is set to ON (CMake therefore handle moc automatically) qt4_add_resources(monitoringgui_QRC MonitoringGuiIcons.qrc) diff --git a/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake b/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake index fde7783c..add2b9de 100644 --- a/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake +++ b/sdk/cmake/modules/macros/GatherHeadersAndSources.cmake @@ -40,9 +40,6 @@ macro(gather_headers_and_sources Name) set(MOC_SOURCES ${MOC_SOURCES} ${HEADER}) endif(stream MATCHES "Q_OBJECT") endforeach(HEADER) - - # manage Qt inherited sources - qt5_wrap_cpp(QT_SRCS ${MOC_SOURCES}) # On Windows, Visual Studio, organize files in subdirectories if(MSVC) -- GitLab From b51f917b60e6cb4f493cd3aa64750d001b5dcb5c Mon Sep 17 00:00:00 2001 From: saubatn Date: Tue, 15 Mar 2016 15:30:06 +0100 Subject: [PATCH 008/356] UPDATED Compiling and linking library-camitkcore ok. --- sdk/cmake/modules/CamiTKConfig.cmake.in | 59 +++++++------------ sdk/libraries/core/CMakeLists.txt | 6 ++ sdk/libraries/core/ExtensionManager.cpp | 1 + sdk/libraries/core/application/MainWindow.cpp | 1 + .../core/component/ComponentExtension.cpp | 1 + sdk/libraries/core/component/Geometry.cpp | 6 +- sdk/libraries/core/component/InterfaceNode.h | 1 + sdk/libraries/core/component/Slice.cpp | 8 +-- .../core/component/image/ImageComponent.cpp | 12 ++-- .../core/component/mesh/MeshComponent.cpp | 2 +- .../core/component/mesh/MeshDataModel.cpp | 5 +- sdk/libraries/core/utils/ObjectController.cpp | 10 ++-- sdk/libraries/core/utils/ObjectController.h | 2 +- sdk/libraries/core/utils/SliderTextWidget.cpp | 2 +- sdk/libraries/core/utils/SliderTextWidget.h | 2 +- sdk/libraries/core/viewer/Explorer.cpp | 2 +- sdk/libraries/core/viewer/FrameExplorer.cpp | 2 +- .../core/viewer/InteractiveViewer.cpp | 12 +++- sdk/libraries/core/viewer/InteractiveViewer.h | 2 +- sdk/libraries/core/viewer/RendererWidget.cpp | 3 +- sdk/libraries/core/viewer/RendererWidget.h | 58 +++++++++--------- 21 files changed, 97 insertions(+), 100 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 5f53e5cb..702a63a2 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -34,7 +34,9 @@ if("${VTK_VERSION}" VERSION_LESS 6.0) message(FATAL_ERROR "Found VTK ${VTK_VERSION} version but at least 5.8 is required. Please update your version of VTK.") endif() message(STATUS "Found suitable version of VTK : ${VTK_VERSION} (required is at least 6.0.0)") -include(${VTK_USE_FILE}) +set(CAMITK_VTK_VERSION ${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}) +include(${VTK_USE_FILE}) # This automatically set the include dirs (remain the link_directories and target_link_libraries) +set(VTK_LIBRARY_DIR ${VTK_DIR}/../..) #-- CAMITK_DIR variable set(CAMITK_BIN_DIR ${CAMITK_DIR}/bin ) @@ -139,44 +141,23 @@ if(MSVC) set(CAMITK_CORE_LIBRARIES optimized ${CAMITK_CORE_LIB_NAME} debug ${CAMITK_CORE_LIB_NAME}${CAMITK_DEBUG_POSTFIX} ) + + # Construct list of VTK libraries for linking + foreach(VTK_LIBRARY ${VTK_LIBRARIES}) + # Clear some errors on VTK configuration + # rename correctly verdict -> vtkverdict library + if(${VTK_LIBRARY} STREQUAL "verdict") + set(VTK_LIBRARY "vtkverdict") + endif() + set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}.lib) + endforeach() + # add missing vtkIOExport library + set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}.lib) + # list of all core dependencies set(CAMITK_LIBRARIES - debug ${VTK_DIR}/vtkCommon${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkCommon - debug ${VTK_DIR}/vtkFiltering${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkFiltering - debug ${VTK_DIR}/vtkGenericFiltering${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkGenericFiltering - debug ${VTK_DIR}/vtkGraphics${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkGraphics - debug ${VTK_DIR}/vtkHybrid${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkHybrid - debug ${VTK_DIR}/vtkImaging${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkImaging - debug ${VTK_DIR}/vtkIO${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkIO - debug ${VTK_DIR}/vtkRendering${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkRendering - debug ${VTK_DIR}/vtkVolumeRendering${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkVolumeRendering - debug ${VTK_DIR}/vtkftgl${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkftgl - debug ${VTK_DIR}/vtkWidgets${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkWidgets - debug ${VTK_DIR}/QVTK${CAMITK_DEBUG_POSTFIX}.lib - optimized QVTK - debug ${VTK_DIR}/vtkViews${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkViews - debug ${VTK_DIR}/vtkInfovis${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkInfovis - debug ${VTK_DIR}/vtksys${CAMITK_DEBUG_POSTFIX}.lib - optimized vtksys - debug ${VTK_DIR}/vtkfreetype${CAMITK_DEBUG_POSTFIX}.lib - optimized vtkfreetype - debug qtpropertybrowser${CAMITK_DEBUG_POSTFIX}.lib - optimized qtpropertybrowser - debug ${VTK_DIR}/vtkCharts${CAMITK_DEBUG_POSTFIX}.lib - optimized ${VTK_DIR}/vtkCharts.lib + ${CAMITK_VTK_LIBRARIES} + debug qtpropertybrowser${CAMITK_DEBUG_POSTFIX}.lib optimized qtpropertybrowser ) else() # Name of the core library to link against @@ -196,9 +177,9 @@ else() vtkVolumeRendering vtkftgl vtkWidgets - QVTK - qtpropertybrowser vtkCharts + # QVTK + qtpropertybrowser ) endif() diff --git a/sdk/libraries/core/CMakeLists.txt b/sdk/libraries/core/CMakeLists.txt index a7c8102c..fd8968b4 100644 --- a/sdk/libraries/core/CMakeLists.txt +++ b/sdk/libraries/core/CMakeLists.txt @@ -22,6 +22,9 @@ include_directories( ${CAMITK_INCLUDE_DIRECTORIES} ) +# Instruct CMake to run moc automatically when needed. +set(CMAKE_AUTOMOC ON) + # find all sources files, set rules for qt files... gather_headers_and_sources(${CAMITK_CORE_LIB_TARGET_NAME}) @@ -43,6 +46,9 @@ link_directories(${CAMITK_BUILD_BIN_DIR} ${CAMITK_PUBLIC_LIB_DIR}) # because of the Singleton design pattern and various factory bits in CAMITK_CORE_LIB_NAME. add_library(${CAMITK_CORE_LIB_TARGET_NAME} SHARED ${${CAMITK_CORE_LIB_TARGET_NAME}_SOURCES}) +# linking with Qt5 +qt5_use_modules(${CAMITK_CORE_LIB_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) + # Update XML Project description adding this target as a subproject of the main CamiTK project with # its dependencies (in the CMake target point of view) if(PACKAGING_NSIS) diff --git a/sdk/libraries/core/ExtensionManager.cpp b/sdk/libraries/core/ExtensionManager.cpp index c3ec1271..7057e2f4 100644 --- a/sdk/libraries/core/ExtensionManager.cpp +++ b/sdk/libraries/core/ExtensionManager.cpp @@ -35,6 +35,7 @@ #include #include #include +#include namespace camitk { diff --git a/sdk/libraries/core/application/MainWindow.cpp b/sdk/libraries/core/application/MainWindow.cpp index 2acebab7..c0bb85d3 100644 --- a/sdk/libraries/core/application/MainWindow.cpp +++ b/sdk/libraries/core/application/MainWindow.cpp @@ -50,6 +50,7 @@ #include #include #include +#include namespace camitk { diff --git a/sdk/libraries/core/component/ComponentExtension.cpp b/sdk/libraries/core/component/ComponentExtension.cpp index a48a80dc..03734918 100644 --- a/sdk/libraries/core/component/ComponentExtension.cpp +++ b/sdk/libraries/core/component/ComponentExtension.cpp @@ -31,6 +31,7 @@ // -- QT stuff #include #include +#include namespace camitk { diff --git a/sdk/libraries/core/component/Geometry.cpp b/sdk/libraries/core/component/Geometry.cpp index 3dbed318..5f28d607 100644 --- a/sdk/libraries/core/component/Geometry.cpp +++ b/sdk/libraries/core/component/Geometry.cpp @@ -103,12 +103,12 @@ Geometry::Geometry(QString label, vtkSmartPointer pointSetPtr, cons pointsColor[1] = 0.0; pointsColor[2] = 1.0; pointsColor[3] = 1.0; - + alphaShaded = 0.2; //-- init generic filter and dataOutput and customPipelineOuput concreteData = vtkSmartPointer::New(); - concreteData->SetInput(this->pointSet); + concreteData->SetInputData(this->pointSet); worldTransformFilter = vtkSmartPointer::New(); vtkSmartPointer transform = vtkSmartPointer::New(); @@ -425,7 +425,6 @@ bool Geometry::removeProp(const QString& name) { void Geometry::setPointPosition(const unsigned int orderNumber, const double x, const double y, const double z) { pointSet->GetPoints()->SetPoint(orderNumber, x, y, z); pointSet->Modified(); - pointSet->Update(); } //------------------------------- setActorColor ---------------------------------------- @@ -711,7 +710,6 @@ void Geometry::setPointData(vtkSmartPointer da) { } // make sure the change is taking into account pointSet->Modified(); - pointSet->Update(); mapper->Update(); } diff --git a/sdk/libraries/core/component/InterfaceNode.h b/sdk/libraries/core/component/InterfaceNode.h index 0cb73627..572aedcc 100644 --- a/sdk/libraries/core/component/InterfaceNode.h +++ b/sdk/libraries/core/component/InterfaceNode.h @@ -31,6 +31,7 @@ // -- QT stuff classes class QPixmap; class QMenu; +class QWidget; namespace camitk { diff --git a/sdk/libraries/core/component/Slice.cpp b/sdk/libraries/core/component/Slice.cpp index bf0d7006..231441c3 100644 --- a/sdk/libraries/core/component/Slice.cpp +++ b/sdk/libraries/core/component/Slice.cpp @@ -172,7 +172,7 @@ void Slice::setOriginalVolume( vtkSmartPointer volume ) { // -------------------- initActors -------------------- void Slice::initActors() { - imgToMapFilter->SetInput(originalVolume); + imgToMapFilter->SetInputData(originalVolume); if (NULL==lut) { imgToMapFilter->SetLookupTable(0); @@ -180,11 +180,11 @@ void Slice::initActors() { imgToMapFilter->SetLookupTable(lut); /* 3D Actor case: directly pluged to the output of imgToMapFilter */ - image3DActor->SetInput(imgToMapFilter->GetOutput()); + image3DActor->SetInputData(imgToMapFilter->GetOutput()); image3DActor->InterpolateOn(); // 2D actors - image2DActor->SetInput(imgToMapFilter->GetOutput()); + image2DActor->SetInputData(imgToMapFilter->GetOutput()); image2DActor->InterpolateOn(); // Pick plane @@ -501,7 +501,7 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { // Create the corresponding mapper vtkSmartPointer aPixelMapper = vtkSmartPointer::New(); - aPixelMapper->SetInput(aPixelGrid); + aPixelMapper->SetInputData(aPixelGrid); pixelActor->SetMapper(aPixelMapper); pixelActor->GetProperty()->SetAmbient(1.0); diff --git a/sdk/libraries/core/component/image/ImageComponent.cpp b/sdk/libraries/core/component/image/ImageComponent.cpp index 6c0efe1c..0c91f949 100644 --- a/sdk/libraries/core/component/image/ImageComponent.cpp +++ b/sdk/libraries/core/component/image/ImageComponent.cpp @@ -293,12 +293,12 @@ void ImageComponent::setImageData(vtkSmartPointer anImageData, // 6. Apply initialImageDataTransform to the image data vtkSmartPointer imageResliceFilter = vtkSmartPointer::New(); - imageResliceFilter->SetInput(inputImage); + imageResliceFilter->SetInputData(inputImage); imageResliceFilter->SetOutputDimensionality(3); imageResliceFilter->SetResliceAxes(initialImageDataTransform->GetMatrix()); imageResliceFilter->Update(); originalImageData = imageResliceFilter->GetOutput(); - originalImageData->Update(); + imageResliceFilter->Update(); // 7. Store initialFrameTransform as the current frame // note: we need to get another matrix instance for the transformation (else it is deleted) @@ -333,11 +333,11 @@ vtkSmartPointer ImageComponent::getImageDataWithFrameTransform() { backToOriginalImageDataMatrix->DeepCopy(initialImageDataTransform->GetMatrix()); backToOriginalImageDataMatrix->Invert(); vtkSmartPointer backToOrigingImageDataFilter = vtkSmartPointer::New(); - backToOrigingImageDataFilter->SetInput(imageDataFramed); + backToOrigingImageDataFilter->SetInputData(imageDataFramed); backToOrigingImageDataFilter->SetOutputDimensionality(3); backToOrigingImageDataFilter->SetResliceAxes(backToOriginalImageDataMatrix); imageDataFramed = backToOrigingImageDataFilter->GetOutput(); - imageDataFramed->Update(); + backToOrigingImageDataFilter->Update(); // 2. Retrieve the matrice of the user Muser which has been applied to the initial frame // Assuming Mframe = MinitFrame * Muser @@ -361,11 +361,11 @@ vtkSmartPointer ImageComponent::getImageDataWithFrameTransform() { translationTransform->Translate(pos[0], pos[1], pos[2]); translationTransform->Update(); vtkSmartPointer translationFilter = vtkSmartPointer::New(); - translationFilter->SetInput(imageDataFramed); + translationFilter->SetInputData(imageDataFramed); translationFilter->SetOutputDimensionality(3); translationFilter->SetResliceAxes(translationTransform->GetMatrix()); imageDataFramed = translationFilter->GetOutput(); - imageDataFramed->Update(); + translationFilter->Update(); // 4. Retrieve the rotation matrix from the user matrix to manually save it // only if user has modify it diff --git a/sdk/libraries/core/component/mesh/MeshComponent.cpp b/sdk/libraries/core/component/mesh/MeshComponent.cpp index 8ec6dceb..60f29b4a 100644 --- a/sdk/libraries/core/component/mesh/MeshComponent.cpp +++ b/sdk/libraries/core/component/mesh/MeshComponent.cpp @@ -214,7 +214,7 @@ void MeshComponent::initSelection() { vtkSmartPointer selectionMapper = vtkSmartPointer::New(); selectionExtractor->SetInputConnection(0, this->getDataPort()); - selectionExtractor->SetInput(1, currentSelection); + selectionExtractor->SetInputData(1, currentSelection); selectionMapper->SetInputConnection(selectionExtractor->GetOutputPort()); diff --git a/sdk/libraries/core/component/mesh/MeshDataModel.cpp b/sdk/libraries/core/component/mesh/MeshDataModel.cpp index 33803f58..6dd855a7 100644 --- a/sdk/libraries/core/component/mesh/MeshDataModel.cpp +++ b/sdk/libraries/core/component/mesh/MeshDataModel.cpp @@ -35,7 +35,8 @@ namespace camitk { // -------------------- constructor -------------------- MeshDataModel::MeshDataModel(MeshComponent * meshComp) : QAbstractTableModel(meshComp), meshComponent(meshComp) { - + // get ready to reset table + beginResetModel(); } // -------------------- rowCount -------------------- @@ -306,7 +307,7 @@ QVariant MeshDataModel::headerData(int section, Qt::Orientation orientation, int } void MeshDataModel::refresh() { - reset(); + endResetModel(); } const QMap< int, QString > & MeshDataModel::getFieldNames() { diff --git a/sdk/libraries/core/utils/ObjectController.cpp b/sdk/libraries/core/utils/ObjectController.cpp index 8ff5ac35..fdc85273 100644 --- a/sdk/libraries/core/utils/ObjectController.cpp +++ b/sdk/libraries/core/utils/ObjectController.cpp @@ -35,11 +35,11 @@ #include "qtpropertymanager.h" // -- QT stuff -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include // -- stl stuff diff --git a/sdk/libraries/core/utils/ObjectController.h b/sdk/libraries/core/utils/ObjectController.h index 4db0f05e..9d7787d2 100644 --- a/sdk/libraries/core/utils/ObjectController.h +++ b/sdk/libraries/core/utils/ObjectController.h @@ -31,7 +31,7 @@ #include // -- QT stuff -#include +#include #include #include #include diff --git a/sdk/libraries/core/utils/SliderTextWidget.cpp b/sdk/libraries/core/utils/SliderTextWidget.cpp index b705fe65..140c0831 100644 --- a/sdk/libraries/core/utils/SliderTextWidget.cpp +++ b/sdk/libraries/core/utils/SliderTextWidget.cpp @@ -33,7 +33,7 @@ namespace camitk { //------------ Constructor ------------------------ -SliderTextWidget::SliderTextWidget(QWidget* parent, Qt::WFlags fl) : QWidget(parent, fl) { +SliderTextWidget::SliderTextWidget(QWidget* parent, Qt::WindowFlags fl) : QWidget(parent, fl) { QVBoxLayout *vLayout= new QVBoxLayout(this); diff --git a/sdk/libraries/core/utils/SliderTextWidget.h b/sdk/libraries/core/utils/SliderTextWidget.h index 8aa9b447..db25066f 100644 --- a/sdk/libraries/core/utils/SliderTextWidget.h +++ b/sdk/libraries/core/utils/SliderTextWidget.h @@ -60,7 +60,7 @@ class CAMITK_API SliderTextWidget : public QWidget { public: /// Default constructor, name is automatically used as the text label - SliderTextWidget(QWidget* parent = 0, Qt::WFlags fl = 0); + SliderTextWidget(QWidget* parent = 0, Qt::WindowFlags fl = 0); /// Destructor ~SliderTextWidget(); diff --git a/sdk/libraries/core/viewer/Explorer.cpp b/sdk/libraries/core/viewer/Explorer.cpp index 7a225a5b..0740b283 100644 --- a/sdk/libraries/core/viewer/Explorer.cpp +++ b/sdk/libraries/core/viewer/Explorer.cpp @@ -77,7 +77,7 @@ QWidget * Explorer::getWidget(QWidget * parent) { headerTitles << "Name" << "Size" ; explorerTree->setHeaderLabels(headerTitles); explorerTree->header()->setStretchLastSection(false); - explorerTree->header()->setResizeMode(0, QHeaderView::ResizeToContents); // First column stretch to what is needed + explorerTree->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); // First column stretch to what is needed // Unsortable column explorerTree->setSortingEnabled(false); // Multiple selection (click + Shift or Control key) diff --git a/sdk/libraries/core/viewer/FrameExplorer.cpp b/sdk/libraries/core/viewer/FrameExplorer.cpp index b2968a6c..0a891610 100644 --- a/sdk/libraries/core/viewer/FrameExplorer.cpp +++ b/sdk/libraries/core/viewer/FrameExplorer.cpp @@ -72,7 +72,7 @@ QWidget * FrameExplorer::getWidget(QWidget * parent) { headerTitles << "Name" << "ComponentName" ; explorerTree->setHeaderLabels(headerTitles); explorerTree->header()->setStretchLastSection(false); - explorerTree->header()->setResizeMode(0, QHeaderView::ResizeToContents); // First column stretch to what is needed + explorerTree->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); // First column stretch to what is needed // Unsortable column explorerTree->setSortingEnabled(false); // Multiple selection (click + Shift or Control key) diff --git a/sdk/libraries/core/viewer/InteractiveViewer.cpp b/sdk/libraries/core/viewer/InteractiveViewer.cpp index 5f5acf83..73951380 100644 --- a/sdk/libraries/core/viewer/InteractiveViewer.cpp +++ b/sdk/libraries/core/viewer/InteractiveViewer.cpp @@ -24,8 +24,8 @@ ****************************************************************************/ // -- Core stuff -#include "InteractiveViewer.h" #include "RendererWidget.h" +#include "InteractiveViewer.h" #include "SliderSpinBoxWidget.h" #include "Application.h" #include "Log.h" @@ -2051,7 +2051,7 @@ void InteractiveViewer::picked() { MeshComponent* mesh = dynamic_cast ( comp ); if ( areaPicker && mesh ) { vtkSmartPointer extractor = vtkSmartPointer::New(); - extractor->SetInput ( mesh->getPointSet() ); + extractor->SetInputData( mesh->getPointSet() ); extractor->PreserveTopologyOff(); extractor->SetFrustum ( areaPicker->GetFrustum() ); extractor->Update(); @@ -2070,7 +2070,7 @@ void InteractiveViewer::picked() { MeshComponent* mesh = dynamic_cast ( comp ); if ( areaPicker && mesh ) { vtkSmartPointer extractor = vtkSmartPointer::New(); - extractor->SetInput ( mesh->getPointSet() ); + extractor->SetInputData( mesh->getPointSet() ); extractor->PreserveTopologyOff(); extractor->SetFrustum ( areaPicker->GetFrustum() ); extractor->SetFieldType( vtkSelection::POINT); @@ -2208,6 +2208,12 @@ void InteractiveViewerFrame::keyPressEvent ( QKeyEvent* e ) { QWidget::keyPressEvent ( e ); } +// keep this include here (in the namespace camitk) as long as +// CMake automoc generates a camitk namespace error on this moc +// for the RendererWidget member of the InteractiveViewer class. +// By including it, the file kept out library-camitkcore_automoc.cpp +#include "moc_InteractiveViewer.cpp" + } diff --git a/sdk/libraries/core/viewer/InteractiveViewer.h b/sdk/libraries/core/viewer/InteractiveViewer.h index ad5ff1c3..3a1801d5 100644 --- a/sdk/libraries/core/viewer/InteractiveViewer.h +++ b/sdk/libraries/core/viewer/InteractiveViewer.h @@ -31,6 +31,7 @@ #include "CamiTKAPI.h" #include "Component.h" #include "Viewer.h" +#include "RendererWidget.h" //-- QT stuff #include @@ -52,7 +53,6 @@ class vtkEventQtSlotConnect; namespace camitk { // -- Core stuff classes -class RendererWidget; class SliderSpinBoxWidget; class GeometricObject; class InterfaceGeometry; diff --git a/sdk/libraries/core/viewer/RendererWidget.cpp b/sdk/libraries/core/viewer/RendererWidget.cpp index b7869d50..9d4db4b2 100644 --- a/sdk/libraries/core/viewer/RendererWidget.cpp +++ b/sdk/libraries/core/viewer/RendererWidget.cpp @@ -95,7 +95,7 @@ namespace camitk { //--------------- Picking Interactor --------------------------------------- -vtkCxxRevisionMacro(vtkInteractorStylePick, "$Revision: 1.1 $"); +vtkInstantiatorNewMacro(vtkInteractorStylePick); vtkStandardNewMacro(vtkInteractorStylePick); //-------------------------------------------------------------------------- vtkInteractorStylePick::vtkInteractorStylePick() { @@ -1422,5 +1422,4 @@ void RendererWidget::setPicker(vtkSmartPointer woodyWood) } } - } diff --git a/sdk/libraries/core/viewer/RendererWidget.h b/sdk/libraries/core/viewer/RendererWidget.h index 1649e438..fbfc5345 100644 --- a/sdk/libraries/core/viewer/RendererWidget.h +++ b/sdk/libraries/core/viewer/RendererWidget.h @@ -52,52 +52,55 @@ class vtkUnsignedCharArray; class vtkTextMapper; namespace camitk { -// -- Core stuff classes -class GeometricObject; + // -- Core stuff classes + class GeometricObject; -/// Interactor used when we are in picking mode -class vtkInteractorStylePick : public vtkInteractorStyle { + /// Interactor used when we are in picking mode + class vtkInteractorStylePick : public vtkInteractorStyle { -public : + public: - static vtkInteractorStylePick * New(); - vtkTypeRevisionMacro ( vtkInteractorStylePick, vtkInteractorStyle ); + static vtkInteractorStylePick * New(); + vtkTypeMacro(vtkInteractorStylePick, vtkInteractorStyle); - void PrintSelf ( ostream& os, vtkIndent indent ); + void PrintSelf(ostream& os, vtkIndent indent); - void SetAreaPicking(bool b); + void SetAreaPicking(bool b); - virtual void OnLeftButtonDown(); + virtual void OnLeftButtonDown(); - virtual void OnLeftButtonUp(); + virtual void OnLeftButtonUp(); - virtual void OnMouseMove(); + virtual void OnMouseMove(); -protected : + protected: - vtkInteractorStylePick(); - ~vtkInteractorStylePick(); + vtkInteractorStylePick(); + ~vtkInteractorStylePick(); - virtual void Pick(); + virtual void Pick(); - void RedrawRubberBand(); + void RedrawRubberBand(); - int StartPosition[2]; - int EndPosition[2]; + int StartPosition[2]; + int EndPosition[2]; - int Moving; + int Moving; - vtkUnsignedCharArray* PixelArray; + vtkUnsignedCharArray* PixelArray; - bool AreaPicking; + bool AreaPicking; -// private : -// -// vtkInteractorStylePick ( const vtkInteractorStylePick& ); // Not implemented -// void operator= ( const vtkInteractorStylePick& ); // Not implemented + // private : + // + // vtkInteractorStylePick ( const vtkInteractorStylePick& ); // Not implemented + // void operator= ( const vtkInteractorStylePick& ); // Not implemented -}; + }; + +} +namespace camitk{ /** * @ingroup group_sdk_libraries_core_viewer * @@ -116,7 +119,6 @@ protected : * * **/ - class CAMITK_API RendererWidget : public QVTKWidget { Q_OBJECT Q_ENUMS(ControlMode CameraOrientation); // so that it can be used in property editor -- GitLab From 457788660d8d0aaab3fccd64b3eb8e11c2b974fa Mon Sep 17 00:00:00 2001 From: saubatn Date: Tue, 15 Mar 2016 16:48:17 +0100 Subject: [PATCH 009/356] UPDATED Compilation & linking of action-application --- .../ApplicationActionExtension.cpp | 2 +- .../application/ApplicationActionExtension.h | 1 + .../application/GenerateBugReportProcess.h | 8 +- sdk/actions/application/OpenAction.cpp | 11 +-- sdk/actions/application/OpenFile.cpp | 9 +-- .../macros/camitk/CamiTKApplication.cmake | 34 +++++++-- .../macros/camitk/CamiTKExtension.cmake | 57 ++++++++------ .../modules/macros/camitk/CamiTKLibrary.cmake | 74 +++++++++++-------- 8 files changed, 119 insertions(+), 77 deletions(-) diff --git a/sdk/actions/application/ApplicationActionExtension.cpp b/sdk/actions/application/ApplicationActionExtension.cpp index 09501629..5a1bab23 100644 --- a/sdk/actions/application/ApplicationActionExtension.cpp +++ b/sdk/actions/application/ApplicationActionExtension.cpp @@ -49,7 +49,7 @@ #include "ChangeLanguage.h" // --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(applicationaction, ApplicationActionExtension) +// Q_EXPORT_PLUGIN2(applicationaction, ApplicationActionExtension) // --------------- constructor ------------------- ApplicationActionExtension::ApplicationActionExtension() : ActionExtension() {} diff --git a/sdk/actions/application/ApplicationActionExtension.h b/sdk/actions/application/ApplicationActionExtension.h index 1a167517..cb9686f2 100644 --- a/sdk/actions/application/ApplicationActionExtension.h +++ b/sdk/actions/application/ApplicationActionExtension.h @@ -43,6 +43,7 @@ class ApplicationActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.application") public: /// the constructor (needed to initialize the icon resources) diff --git a/sdk/actions/application/GenerateBugReportProcess.h b/sdk/actions/application/GenerateBugReportProcess.h index 689236e7..1e7df0dc 100644 --- a/sdk/actions/application/GenerateBugReportProcess.h +++ b/sdk/actions/application/GenerateBugReportProcess.h @@ -22,8 +22,10 @@ * * $CAMITK_LICENCE_END$ ****************************************************************************/ -#include +#ifndef GENERATE_BUG_REPORT_PROCESS_H +#define GENERATE_BUG_REPORT_PROCESS_H +#include class GenerateBugReportProcess : public QThread { Q_OBJECT @@ -32,4 +34,6 @@ public: signals: void resultReady(const QString &s); -}; \ No newline at end of file +}; + +#endif // GENERATE_BUG_REPORT_PROCESS_H \ No newline at end of file diff --git a/sdk/actions/application/OpenAction.cpp b/sdk/actions/application/OpenAction.cpp index 836f8ba2..8dce55d6 100644 --- a/sdk/actions/application/OpenAction.cpp +++ b/sdk/actions/application/OpenAction.cpp @@ -40,18 +40,15 @@ OpenAction::OpenAction (ActionExtension * extension) : Action (extension) { setEmbedded (false); setDescription (tr("Open data (component) from a file")); setComponent (""); - if (qApp->type() != QApplication::Tty) - setIcon (QPixmap (":/fileOpen")); - + // Setting classification family and tags setFamily ("Application"); addTag (tr("Open")); // add a shortcut - if (qApp->type() != QApplication::Tty) { - getQAction()->setShortcut( QKeySequence::Open ); - getQAction()->setShortcutContext(Qt::ApplicationShortcut); - } + setIcon(QPixmap(":/fileOpen")); + getQAction()->setShortcut( QKeySequence::Open ); + getQAction()->setShortcutContext(Qt::ApplicationShortcut); } // --------------- destructor ------------------- diff --git a/sdk/actions/application/OpenFile.cpp b/sdk/actions/application/OpenFile.cpp index 7cbd6130..6b473dc5 100644 --- a/sdk/actions/application/OpenFile.cpp +++ b/sdk/actions/application/OpenFile.cpp @@ -45,18 +45,15 @@ OpenFile::OpenFile (ActionExtension * extension) : Action (extension) { setDescription(tr("Open data (component) from a given file")); setComponent(""); - if (qApp->type() != QApplication::Tty) - setIcon (QPixmap (":/fileOpen")); + setIcon (QPixmap (":/fileOpen")); // Setting classification family and tags setFamily("Application"); addTag(tr("Open")); // add a shortcut - if (qApp->type() != QApplication::Tty) { - getQAction()->setShortcut( QKeySequence::Open ); - getQAction()->setShortcutContext(Qt::ApplicationShortcut); - } + getQAction()->setShortcut( QKeySequence::Open ); + getQAction()->setShortcutContext(Qt::ApplicationShortcut); // the unique property is the filename Property* fileNameProperty = new Property(tr("File name"), "", tr("The name of the file to open."), ""); diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 717b9a72..eceaed7b 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -178,11 +178,8 @@ macro(camitk_application) execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MACOSX_BUNDLE_ICON} ${MACOSX_BUNDLE_RESOURCES}) endif() - # CMAKE TARGET DEFINITION - add_executable(${APPLICATION_TARGET_NAME} ${${APPLICATION_NAME}_SOURCES}) - - - + + ######################################################################### # # # ADDITIONAL KNOWN LIBRARY DEPENDENCIES # @@ -683,9 +680,6 @@ macro(camitk_application) endif() endif() - # QT - qt5_use_modules(${APPLICATION_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) - # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) if(${APPLICATION_NAME_CMAKE}_EXTERNAL_LIBRARIES) @@ -725,7 +719,31 @@ macro(camitk_application) link_directories(${CAMITK_LINK_DIRECTORIES}) + + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition # + # # + ######################################################################### + # CMAKE TARGET DEFINITION + add_executable(${APPLICATION_TARGET_NAME} ${${APPLICATION_NAME}_SOURCES}) + + + ######################################################################### + # # + # QT LINKING LIBRARIES # + # # + # * Set at linking the Qt5 libraries # + # # + ######################################################################### + qt5_use_modules(${APPLICATION_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) + + + ######################################################################### # # # CAMITK ACTION / COMPONENT / LIBRARIES DEPENDENCIES # diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 1f2da6a0..98502d83 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -74,6 +74,12 @@ macro(camitk_extension) + + # Instruct CMake to run moc automatically when needed. + set(CMAKE_AUTOMOC ON) + + + ######################################################################### # # # ARGUMENTS PARSING # @@ -185,23 +191,7 @@ macro(camitk_extension) # one need to do this just before the add_library so that all defines, include directories and link directories # are set properly (gather_headers_and_sources include the call to Qt moc and uic) gather_headers_and_sources(${EXTENSION_NAME_CMAKE}) - - - - ######################################################################### - # # - # TARGET COMPILATION DEFINITION # - # # - # * Additional sources files to consider at compilation (.cpp) # - # * CMake project target definition # - # # - ######################################################################### - # EXTERNAL SOURCES - set(${EXTENSION_NAME_CMAKE}_SOURCES ${${EXTENSION_NAME_CMAKE}_SOURCES} ${${EXTENSION_NAME_CMAKE}_EXTERNAL_SOURCES}) - - # CMAKE TARGET DEFINITION - add_library(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} SHARED ${${EXTENSION_NAME_CMAKE}_SOURCES}) - + ######################################################################### @@ -921,9 +911,6 @@ macro(camitk_extension) endif() endif() - # QT - qt5_use_modules(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) - # EXTERNAL LIBRARIES set(EXTERNAL_LIBRARIES) if(${EXTENSION_NAME_CMAKE}_EXTERNAL_LIBRARIES) @@ -948,21 +935,48 @@ macro(camitk_extension) endif() - + ######################################################################### # # # LINK DIRECTORIES # # # # * Link directories are used to indicate the compiler where # # to look for folder containing libraries to link with. # + # * Must be done BEFORE creating the CMake target with add_library # # # ######################################################################### # CAMITK BASIC LIB DIRECTORIES link_directories(${CAMITK_LINK_DIRECTORIES}) + + + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition # + # # + ######################################################################### + # EXTERNAL SOURCES + set(${EXTENSION_NAME_CMAKE}_SOURCES ${${EXTENSION_NAME_CMAKE}_SOURCES} ${${EXTENSION_NAME_CMAKE}_EXTERNAL_SOURCES}) + # CMAKE TARGET DEFINITION + add_library(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} SHARED ${${EXTENSION_NAME_CMAKE}_SOURCES}) + + + ######################################################################### + # # + # QT LINKING LIBRARIES # + # # + # * Set at linking the Qt5 libraries # + # # + ######################################################################### + qt5_use_modules(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_QT_COMPONENTS}) + + ######################################################################### # # @@ -1128,7 +1142,6 @@ macro(camitk_extension) ######################################################################### # LINKING LIBRARIES # Any component or action has to be linked with ${CAMITK_CORE_LIBRARIES} and with all its dependencies - # Nico : a supprimé ${QT_MODULES_LIBRARIES} de l'édition de liens target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index cbb80291..0a3186db 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -160,35 +160,6 @@ macro(camitk_library) - ######################################################################### - # # - # TARGET COMPILATION DEFINITION # - # # - # * Additional sources files to consider at compilation (.cpp) # - # * CMake project target definition depending on library type # - # public / private # - # # - ######################################################################### - # CMAKE TARGET DEFINITION DEPENDENDING ON THE LIBRARY TYPE (SHARED or STATIC) - if (${DEFAULT_LIBRARY_NAME_CMAKE}_SHARED) # shared library - message(STATUS "Building shared library: ${LIBRARY_TARGET_NAME}") - add_library(${LIBRARY_TARGET_NAME} SHARED ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) - # prepare the library specific info (SONAME...) - set(${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} - VERSION "${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}" - SOVERSION "${CAMITK_VERSION_MAJOR}" - ) - # - set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "") - elseif (${DEFAULT_LIBRARY_NAME_CMAKE}_STATIC) # static library - message(STATUS "Building static library: ${LIBRARY_TARGET_NAME}") - add_library(${LIBRARY_TARGET_NAME} STATIC ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) - else() - message(FATAL_ERROR "In adding static library ${LIBRARY_TARGET_NAME}.\n Please specify the library type: SHARED or STATIC") - endif() - - - ######################################################################### # # # ADDITIONAL KNOWN LIBRARY DEPENDENCIES # @@ -699,7 +670,6 @@ macro(camitk_library) message(STATUS "${LIBRARY_TARGET_NAME}: found Qt ${Qt5_VERSION}.") set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) include_directories(${QT_INCLUDE_DIRS}) - qt5_use_modules(${LIBRARY_TARGET_NAME} ${QT_COMPONENTS}) else() message(SEND_ERROR "${LIBRARY_TARGET_NAME}: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") endif() @@ -742,6 +712,49 @@ macro(camitk_library) + ######################################################################### + # # + # TARGET COMPILATION DEFINITION # + # # + # * Additional sources files to consider at compilation (.cpp) # + # * CMake project target definition depending on library type # + # public / private # + # # + ######################################################################### + # CMAKE TARGET DEFINITION DEPENDENDING ON THE LIBRARY TYPE (SHARED or STATIC) + if (${DEFAULT_LIBRARY_NAME_CMAKE}_SHARED) # shared library + message(STATUS "Building shared library: ${LIBRARY_TARGET_NAME}") + add_library(${LIBRARY_TARGET_NAME} SHARED ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) + # prepare the library specific info (SONAME...) + set(${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} + VERSION "${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}.${CAMITK_VERSION_PATCH}" + SOVERSION "${CAMITK_VERSION_MAJOR}" + ) + # + set_target_properties(${LIBRARY_TARGET_NAME} PROPERTIES ${${LIBRARY_TARGET_NAME}_LIBRARY_PROPERTIES} LINK_INTERFACE_LIBRARIES "") + elseif (${DEFAULT_LIBRARY_NAME_CMAKE}_STATIC) # static library + message(STATUS "Building static library: ${LIBRARY_TARGET_NAME}") + add_library(${LIBRARY_TARGET_NAME} STATIC ${${DEFAULT_LIBRARY_NAME_CMAKE}_SOURCES}) + else() + message(FATAL_ERROR "In adding static library ${LIBRARY_TARGET_NAME}.\n Please specify the library type: SHARED or STATIC") + endif() + + + + ######################################################################### + # # + # QT LINKING LIBRARIES # + # # + # * Set at linking the Qt5 libraries # + # # + ######################################################################### + if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT) + qt5_use_modules(${LIBRARY_TARGET_NAME} ${QT_COMPONENTS}) + endif() + + + + ######################################################################### # # # CAMITK LIBRARIES DEPENDENCIES # @@ -792,7 +805,6 @@ macro(camitk_library) # # ######################################################################### # LINKING LIBRARIES - #Nico : TODO has removed ${QT_MODULES_LIBRARIES} target_link_libraries(${LIBRARY_TARGET_NAME} ${CEP_LIBRARIES} ${LINKER_EXTERNAL_LIBRARIES} ${LIBXML2_LIBRARY} ${ITK_LIBRARIES} ${XERCESC_LIBRARIES}) -- GitLab From ff7d9709d6963fada27b5c650529062457cca7a0 Mon Sep 17 00:00:00 2001 From: saubatn Date: Wed, 16 Mar 2016 15:21:30 +0100 Subject: [PATCH 010/356] UPDATED Compilation & linking of CamiTK SDK ok. --- .../ApplicationActionExtension.cpp | 3 --- .../frame/editframes/TestFrameExtension.cpp | 3 --- .../frame/editframes/TestFrameExtension.h | 3 ++- sdk/actions/image/cropvolume/BoxVOI.cpp | 3 +-- .../image/cropvolume/BoxVOIExtension.cpp | 3 --- .../image/cropvolume/BoxVOIExtension.h | 1 + .../image/imagelut/ImageLutExtension.cpp | 3 --- .../image/imagelut/ImageLutExtension.h | 3 ++- .../image/imageresampling/ResampleAction.cpp | 4 ++-- .../imageresampling/ResampleExtension.cpp | 3 --- .../image/imageresampling/ResampleExtension.h | 3 ++- .../multipicking/MultiPickingExtension.cpp | 3 --- .../multipicking/MultiPickingExtension.h | 1 + .../PixelColorChangerExtension.cpp | 4 ---- .../PixelColorChangerExtension.h | 3 ++- .../ImageReconstructionAction.cpp | 13 +++++-------- .../ReconstructionExtension.cpp | 4 ---- .../reconstruction/ReconstructionExtension.h | 3 ++- .../image/reorientimage/ReorientImage.cpp | 3 +-- .../reorientimage/ReorientImageExtension.cpp | 3 --- .../reorientimage/ReorientImageExtension.h | 3 ++- .../image/showin3d/ShowIn3DExtension.cpp | 2 -- .../image/showin3d/ShowIn3DExtension.h | 1 + .../volumerendering/VolumeRenderingAction.cpp | 4 ++-- .../VolumeRenderingExtension.cpp | 3 --- .../VolumeRenderingExtension.h | 1 + .../ImageAcquisitionActionExtension.cpp | 3 --- .../ImageAcquisitionActionExtension.h | 1 + .../mesh/basicmesh/BasicMeshExtension.cpp | 3 --- .../mesh/basicmesh/BasicMeshExtension.h | 1 + sdk/actions/mesh/basicmesh/ComputeNormals.cpp | 3 +-- .../mesh/basicmesh/ExtractSelection.cpp | 4 ++-- sdk/actions/mesh/basicmesh/MeshQuality.cpp | 3 +-- .../mesh/basicmesh/MeshToImageStencil.cpp | 19 +++++-------------- .../mesh/basicmesh/RenderingOption.cpp | 2 +- .../basictopology/BasicTopologyExtension.cpp | 2 -- .../basictopology/BasicTopologyExtension.h | 1 + .../mesh/basictopology/GridTopology.cpp | 4 +--- .../mesh/meshprocessing/AppendMeshes.cpp | 2 +- .../mesh/meshprocessing/CleanPolyData.cpp | 2 +- .../mesh/meshprocessing/ComputeCurvatures.cpp | 2 +- .../mesh/meshprocessing/Decimation.cpp | 4 ++-- .../mesh/meshprocessing/ExtractEdges.cpp | 2 +- .../mesh/meshprocessing/ExtractSurface.cpp | 2 +- .../mesh/meshprocessing/FillWithPoints.cpp | 9 ++++----- .../mesh/meshprocessing/InvertMesh.cpp | 2 +- .../MeshProcessingExtension.cpp | 3 --- .../meshprocessing/MeshProcessingExtension.h | 1 + .../SaveDisplacementFromTransformation.cpp | 2 +- .../mesh/meshprocessing/SmoothFilter.cpp | 2 +- sdk/actions/mesh/meshprocessing/WarpOut.cpp | 3 +-- .../wizard/ActionAddParameterWidget.cpp | 8 ++++---- .../wizard/ActionClassificationWidget.cpp | 4 ++-- .../wizard/ActionDescriptionWidget.cpp | 4 ++-- .../ActionExtensionDescriptionWidget.cpp | 4 ++-- sdk/applications/wizard/CepContactWidget.cpp | 2 +- .../wizard/CepDescriptionWidget.cpp | 4 ++-- .../wizard/ComponentAddPropertyWidget.cpp | 8 ++++---- .../wizard/ComponentDescriptionWidget.cpp | 6 +++--- .../ComponentExtensionDescriptionWidget.cpp | 4 ++-- .../wizard/LibraryDescriptionWidget.cpp | 4 ++-- sdk/cmake/modules/CamiTKConfig.cmake.in | 6 +++++- .../macros/camitk/CamiTKApplication.cmake | 3 +++ .../modules/macros/camitk/CamiTKLibrary.cmake | 3 +++ sdk/components/msh/MshComponent.cpp | 4 ---- sdk/components/msh/MshExtension.cpp | 4 ---- sdk/components/msh/MshExtension.h | 1 + sdk/components/obj/ObjExtension.cpp | 7 ++----- sdk/components/obj/ObjExtension.h | 3 ++- sdk/components/off/OffComponent.cpp | 2 -- sdk/components/off/OffExtension.cpp | 4 ---- sdk/components/off/OffExtension.h | 3 ++- sdk/components/stl/StlExtension.cpp | 3 --- sdk/components/stl/StlExtension.h | 3 ++- sdk/components/vrml/VRMLComponent.cpp | 1 - .../vrml/VRMLComponentExtension.cpp | 3 --- sdk/components/vrml/VRMLComponentExtension.h | 1 + .../vtkimage/VtkImageComponentExtension.cpp | 10 +++------- .../vtkimage/VtkImageComponentExtension.h | 1 + sdk/components/vtkmesh/VtkMeshComponent.cpp | 9 ++++----- .../vtkmesh/VtkMeshComponentExtension.cpp | 3 --- .../vtkmesh/VtkMeshComponentExtension.h | 1 + sdk/components/vtkmesh/VtkMeshUtil.cpp | 8 ++++---- 83 files changed, 115 insertions(+), 181 deletions(-) diff --git a/sdk/actions/application/ApplicationActionExtension.cpp b/sdk/actions/application/ApplicationActionExtension.cpp index 5a1bab23..acc81d89 100644 --- a/sdk/actions/application/ApplicationActionExtension.cpp +++ b/sdk/actions/application/ApplicationActionExtension.cpp @@ -48,9 +48,6 @@ #include "ShowArbitraryViewer.h" #include "ChangeLanguage.h" -// --------------- declare the extension ------------------- -// Q_EXPORT_PLUGIN2(applicationaction, ApplicationActionExtension) - // --------------- constructor ------------------- ApplicationActionExtension::ApplicationActionExtension() : ActionExtension() {} diff --git a/sdk/actions/frame/editframes/TestFrameExtension.cpp b/sdk/actions/frame/editframes/TestFrameExtension.cpp index 3e2583c4..365b674a 100644 --- a/sdk/actions/frame/editframes/TestFrameExtension.cpp +++ b/sdk/actions/frame/editframes/TestFrameExtension.cpp @@ -28,9 +28,6 @@ #include "EditFrame.h" #include "DisplayFrame.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(testframeextension, TestFrameExtension); - // --------------- getActions ------------------- void TestFrameExtension::init() { // Creating and registering the instance of MoveFrame diff --git a/sdk/actions/frame/editframes/TestFrameExtension.h b/sdk/actions/frame/editframes/TestFrameExtension.h index 2d8427f4..151e8efd 100644 --- a/sdk/actions/frame/editframes/TestFrameExtension.h +++ b/sdk/actions/frame/editframes/TestFrameExtension.h @@ -29,7 +29,8 @@ class TestFrameExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.editframes") public: /// Constructor diff --git a/sdk/actions/image/cropvolume/BoxVOI.cpp b/sdk/actions/image/cropvolume/BoxVOI.cpp index 346fa806..88ddf1d9 100644 --- a/sdk/actions/image/cropvolume/BoxVOI.cpp +++ b/sdk/actions/image/cropvolume/BoxVOI.cpp @@ -138,7 +138,7 @@ void BoxVOI::process ( ImageComponent * comp ) { vtkSmartPointer extractVOI = vtkSmartPointer::New(); //construction of new img - extractVOI->SetInput ( inputImage ); + extractVOI->SetInputData ( inputImage ); //get seeds values int x1,x2,y1,y2,z1,z2=0; @@ -186,7 +186,6 @@ void BoxVOI::process ( ImageComponent * comp ) { //Update values computed result->SetExtent ( extent ); result->DeepCopy ( resultImage ); - result->Update(); // creation of the image component QString newName; diff --git a/sdk/actions/image/cropvolume/BoxVOIExtension.cpp b/sdk/actions/image/cropvolume/BoxVOIExtension.cpp index 47f016af..cb008161 100644 --- a/sdk/actions/image/cropvolume/BoxVOIExtension.cpp +++ b/sdk/actions/image/cropvolume/BoxVOIExtension.cpp @@ -27,9 +27,6 @@ // include generated actions headers #include "BoxVOI.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2 (boxvoiextension, BoxVOIExtension) - // --------------- getActions ------------------- void BoxVOIExtension::init() { registerNewAction (BoxVOI); diff --git a/sdk/actions/image/cropvolume/BoxVOIExtension.h b/sdk/actions/image/cropvolume/BoxVOIExtension.h index 72338b0b..df78d6d1 100644 --- a/sdk/actions/image/cropvolume/BoxVOIExtension.h +++ b/sdk/actions/image/cropvolume/BoxVOIExtension.h @@ -38,6 +38,7 @@ class BoxVOIExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES (camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.cropvolume") public: /// the constructor diff --git a/sdk/actions/image/imagelut/ImageLutExtension.cpp b/sdk/actions/image/imagelut/ImageLutExtension.cpp index c3a2d2ed..e7b71f7d 100644 --- a/sdk/actions/image/imagelut/ImageLutExtension.cpp +++ b/sdk/actions/image/imagelut/ImageLutExtension.cpp @@ -26,9 +26,6 @@ #include "ImageLutExtension.h" #include "ImageLutAction.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(imagelut, ImageLutExtension); - // --------------- init ------------------- void ImageLutExtension::init() { registerNewAction(ImageLutAction); diff --git a/sdk/actions/image/imagelut/ImageLutExtension.h b/sdk/actions/image/imagelut/ImageLutExtension.h index c4641142..67b1df8a 100644 --- a/sdk/actions/image/imagelut/ImageLutExtension.h +++ b/sdk/actions/image/imagelut/ImageLutExtension.h @@ -37,7 +37,8 @@ */ class ImageLutExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imagelut") public: /// the constructor diff --git a/sdk/actions/image/imageresampling/ResampleAction.cpp b/sdk/actions/image/imageresampling/ResampleAction.cpp index 367e482f..cd889b14 100644 --- a/sdk/actions/image/imageresampling/ResampleAction.cpp +++ b/sdk/actions/image/imageresampling/ResampleAction.cpp @@ -136,7 +136,7 @@ void ResampleAction::process(ImageComponent * comp) { shiftScaleFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); - shiftScaleFilter->SetInput(inputImage); + shiftScaleFilter->SetInputData(inputImage); // Case on the input scalar type : compute the max and min type of the output // and also the name of the new image. @@ -213,7 +213,7 @@ void ResampleAction::process(ImageComponent * comp) { double yFactor = ySize/(double)dims[1]; double zFactor = zSize/(double)dims[2]; - resampleFilter->SetInput(shiftScaleFilter->GetOutput()); + resampleFilter->SetInputData(shiftScaleFilter->GetOutput()); resampleFilter->SetAxisMagnificationFactor(0, xFactor); resampleFilter->SetAxisMagnificationFactor(1, yFactor); resampleFilter->SetAxisMagnificationFactor(2, zFactor); diff --git a/sdk/actions/image/imageresampling/ResampleExtension.cpp b/sdk/actions/image/imageresampling/ResampleExtension.cpp index 721e16f0..fbaf7a34 100644 --- a/sdk/actions/image/imageresampling/ResampleExtension.cpp +++ b/sdk/actions/image/imageresampling/ResampleExtension.cpp @@ -27,9 +27,6 @@ // include generated actions headers #include "ResampleAction.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(resampleextension, ResampleExtension); - // --------------- getActions ------------------- void ResampleExtension::init() { // Creating and registering the instance of ResampleAction diff --git a/sdk/actions/image/imageresampling/ResampleExtension.h b/sdk/actions/image/imageresampling/ResampleExtension.h index 91b89513..378aea82 100644 --- a/sdk/actions/image/imageresampling/ResampleExtension.h +++ b/sdk/actions/image/imageresampling/ResampleExtension.h @@ -29,7 +29,8 @@ class ResampleExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imageresampling") public: /// Constructor diff --git a/sdk/actions/image/multipicking/MultiPickingExtension.cpp b/sdk/actions/image/multipicking/MultiPickingExtension.cpp index 851829dc..a19dad6e 100644 --- a/sdk/actions/image/multipicking/MultiPickingExtension.cpp +++ b/sdk/actions/image/multipicking/MultiPickingExtension.cpp @@ -27,9 +27,6 @@ // include generated actions headers #include "MultiPicking.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2 (multipickingextension, MultiPickingExtension) - // --------------- getActions ------------------- void MultiPickingExtension::init() { registerNewAction (MultiPicking); diff --git a/sdk/actions/image/multipicking/MultiPickingExtension.h b/sdk/actions/image/multipicking/MultiPickingExtension.h index 79a7ab2b..b708902c 100644 --- a/sdk/actions/image/multipicking/MultiPickingExtension.h +++ b/sdk/actions/image/multipicking/MultiPickingExtension.h @@ -38,6 +38,7 @@ class MultiPickingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES (camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.multipicking") public: /// the constructor diff --git a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.cpp b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.cpp index c5022ada..4793265b 100644 --- a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.cpp +++ b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.cpp @@ -31,10 +31,6 @@ #include using namespace camitk; - -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(pixelcolorchanger, PixelColorChangerExtension); - // -------------------- init -------------------- void PixelColorChangerExtension::init() { registerNewAction(PixelColorChanger); diff --git a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h index a72cb89f..4b64af84 100644 --- a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h +++ b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h @@ -32,7 +32,8 @@ class PixelColorChangerExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.pixelcolorchanger") public: /// the constructor diff --git a/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp b/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp index bdbfb380..1fe76f6b 100644 --- a/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp +++ b/sdk/actions/image/reconstruction/ImageReconstructionAction.cpp @@ -160,12 +160,10 @@ vtkSmartPointer ImageReconstructionAction::getMarchingCubesReconstr resampleFilter->SetAxisMagnificationFactor(2, z_magnification); } - resampleFilter->SetInput(originalImageData); + resampleFilter->SetInputData(originalImageData); resampleFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); currentData = resampleFilter->GetOutput(); - - currentData->Update(); } // The filter we have chosen to use to compute 3D isosurface of the volume image @@ -173,7 +171,7 @@ vtkSmartPointer ImageReconstructionAction::getMarchingCubesReconstr // create an instance of vtkMarchingCubes as it delegates to the fastest subclass // for a particular dataset type. vtkSmartPointer mcSurface = vtkSmartPointer::New(); - mcSurface->SetInput(currentData); + mcSurface->SetInputData(currentData); mcSurface->AddObserver(vtkCommand::ProgressEvent, progressCallback); mcSurface->SetValue(0, isoValue); @@ -194,16 +192,15 @@ vtkSmartPointer ImageReconstructionAction::getMarchingCubesReconstr if (keepLargestConnectedComponent) { connectivityFilter = vtkPolyDataConnectivityFilter::New(); - connectivityFilter->SetInput(mcSurface->GetOutput()); + connectivityFilter->SetInputData(mcSurface->GetOutput()); connectivityFilter->SetExtractionModeToLargestRegion(); - normalsFilter->SetInput(connectivityFilter->GetOutput()); + normalsFilter->SetInputData(connectivityFilter->GetOutput()); } else - normalsFilter->SetInput(mcSurface->GetOutput()); + normalsFilter->SetInputData(mcSurface->GetOutput()); normalsFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); vtkSmartPointer resultPointSet = normalsFilter->GetOutput(); - resultPointSet->Update(); // One can make efficient data visualization using vtkTriangleFilter // and vtkStripper. But first, let us try without... diff --git a/sdk/actions/image/reconstruction/ReconstructionExtension.cpp b/sdk/actions/image/reconstruction/ReconstructionExtension.cpp index daca2d62..60c970f0 100644 --- a/sdk/actions/image/reconstruction/ReconstructionExtension.cpp +++ b/sdk/actions/image/reconstruction/ReconstructionExtension.cpp @@ -31,10 +31,6 @@ #include using namespace camitk; - -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(reconstruction, ReconstructionExtension); - // -------------------- init -------------------- void ReconstructionExtension::init() { registerNewAction(ImageReconstructionAction); diff --git a/sdk/actions/image/reconstruction/ReconstructionExtension.h b/sdk/actions/image/reconstruction/ReconstructionExtension.h index 67c5a9d0..76444b0c 100644 --- a/sdk/actions/image/reconstruction/ReconstructionExtension.h +++ b/sdk/actions/image/reconstruction/ReconstructionExtension.h @@ -39,7 +39,8 @@ */ class ReconstructionExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.reconstruction") public: /// the constructor diff --git a/sdk/actions/image/reorientimage/ReorientImage.cpp b/sdk/actions/image/reorientimage/ReorientImage.cpp index 324baa39..f518877a 100644 --- a/sdk/actions/image/reorientimage/ReorientImage.cpp +++ b/sdk/actions/image/reorientimage/ReorientImage.cpp @@ -294,12 +294,11 @@ Action::ApplyStatus ReorientImage::process( ImageComponent * image) { // 3- Create a new ImageComponent with the resliced image. vtkSmartPointer imageResliceFilter = vtkSmartPointer::New(); - imageResliceFilter->SetInput(image->getImageData()); + imageResliceFilter->SetInputData(image->getImageData()); imageResliceFilter->SetOutputDimensionality(3); imageResliceFilter->SetResliceAxes(transform->GetMatrix()); vtkSmartPointer newData = imageResliceFilter->GetOutput(); - newData->Update(); if (ui.noNewImageCheckBox->isChecked()) { image->replaceImageData(newData); diff --git a/sdk/actions/image/reorientimage/ReorientImageExtension.cpp b/sdk/actions/image/reorientimage/ReorientImageExtension.cpp index ee9fe806..1939c459 100644 --- a/sdk/actions/image/reorientimage/ReorientImageExtension.cpp +++ b/sdk/actions/image/reorientimage/ReorientImageExtension.cpp @@ -27,9 +27,6 @@ // include generated actions headers #include "ReorientImage.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2 ( reorientimageextension, ReorientImageExtension ); - // --------------- getActions ------------------- void ReorientImageExtension::init() { // Creating and registering the instance of MoveFrame diff --git a/sdk/actions/image/reorientimage/ReorientImageExtension.h b/sdk/actions/image/reorientimage/ReorientImageExtension.h index f45202b5..55c5e20b 100644 --- a/sdk/actions/image/reorientimage/ReorientImageExtension.h +++ b/sdk/actions/image/reorientimage/ReorientImageExtension.h @@ -29,7 +29,8 @@ class ReorientImageExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.reorientimage") public: /// Constructor diff --git a/sdk/actions/image/showin3d/ShowIn3DExtension.cpp b/sdk/actions/image/showin3d/ShowIn3DExtension.cpp index eb099318..43574587 100644 --- a/sdk/actions/image/showin3d/ShowIn3DExtension.cpp +++ b/sdk/actions/image/showin3d/ShowIn3DExtension.cpp @@ -31,8 +31,6 @@ #include "ShowSagittalSliceIn3D.h" #include "ShowArbitrarySliceIn3D.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(showin3d, ShowIn3DExtension) // --------------- getActions ------------------- void ShowIn3DExtension::init() { diff --git a/sdk/actions/image/showin3d/ShowIn3DExtension.h b/sdk/actions/image/showin3d/ShowIn3DExtension.h index 20076be9..82f413a4 100644 --- a/sdk/actions/image/showin3d/ShowIn3DExtension.h +++ b/sdk/actions/image/showin3d/ShowIn3DExtension.h @@ -37,6 +37,7 @@ class ShowIn3DExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.showin3D") public: /// Constructor diff --git a/sdk/actions/image/volumerendering/VolumeRenderingAction.cpp b/sdk/actions/image/volumerendering/VolumeRenderingAction.cpp index 95e41aa1..17a802f5 100644 --- a/sdk/actions/image/volumerendering/VolumeRenderingAction.cpp +++ b/sdk/actions/image/volumerendering/VolumeRenderingAction.cpp @@ -162,7 +162,7 @@ void VolumeRenderingAction::createVolumeRendering(ImageComponent * comp) { // FILTER // Cast element type of the image of type unigned short for mapper to work on the image vtkSmartPointer imageCast = vtkImageCast::New(); - imageCast->SetInput(comp->getImageData()); // reader->GetOutput()); + imageCast->SetInputData(comp->getImageData()); // reader->GetOutput()); imageCast->SetOutputScalarTypeToUnsignedChar(); // Convert RGB images @@ -172,7 +172,7 @@ void VolumeRenderingAction::createVolumeRendering(ImageComponent * comp) { // MAPPER vtkSmartPointer volumeMapper = vtkSmartPointer::New(); - volumeMapper->SetInput(magnitudeFilter->GetOutput()); + volumeMapper->SetInputData(magnitudeFilter->GetOutput()); // The volume will be displayed by ray-cast alpha compositing. // A ray-cast mapper is needed to do the ray-casting, and a diff --git a/sdk/actions/image/volumerendering/VolumeRenderingExtension.cpp b/sdk/actions/image/volumerendering/VolumeRenderingExtension.cpp index 66f10366..5c1b697d 100644 --- a/sdk/actions/image/volumerendering/VolumeRenderingExtension.cpp +++ b/sdk/actions/image/volumerendering/VolumeRenderingExtension.cpp @@ -26,9 +26,6 @@ #include "VolumeRenderingExtension.h" #include "VolumeRenderingAction.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(volumerenderingextension, VolumeRenderingExtension) - // --------------- getActions ------------------- void VolumeRenderingExtension::init() { registerNewAction(VolumeRenderingAction); diff --git a/sdk/actions/image/volumerendering/VolumeRenderingExtension.h b/sdk/actions/image/volumerendering/VolumeRenderingExtension.h index 773e1c61..0e3f7d1e 100644 --- a/sdk/actions/image/volumerendering/VolumeRenderingExtension.h +++ b/sdk/actions/image/volumerendering/VolumeRenderingExtension.h @@ -38,6 +38,7 @@ class VolumeRenderingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.volumerendering") public: /// the constructor diff --git a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.cpp b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.cpp index b975c57e..87d75bd9 100644 --- a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.cpp +++ b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.cpp @@ -35,9 +35,6 @@ #include "SingleAcquisition2DAction.h" #include "SingleAcquisition3DAction.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(imageAcquisitionActionExtension, ImageAcquisitionActionExtension) - // --------------- getActions ------------------- void ImageAcquisitionActionExtension::init() { // Creating and registering the instance of InitImager diff --git a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h index e455572f..d344ccba 100644 --- a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h +++ b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h @@ -41,6 +41,7 @@ class ImageAcquisitionActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imageacquisition") public: /// Constructor diff --git a/sdk/actions/mesh/basicmesh/BasicMeshExtension.cpp b/sdk/actions/mesh/basicmesh/BasicMeshExtension.cpp index 1c4a5900..2871ec83 100644 --- a/sdk/actions/mesh/basicmesh/BasicMeshExtension.cpp +++ b/sdk/actions/mesh/basicmesh/BasicMeshExtension.cpp @@ -36,9 +36,6 @@ #include -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2 ( basicmesh, BasicMeshExtension ); - // --------------- constructor ------------------- BasicMeshExtension::BasicMeshExtension() : ActionExtension() { // initialize the icon resources diff --git a/sdk/actions/mesh/basicmesh/BasicMeshExtension.h b/sdk/actions/mesh/basicmesh/BasicMeshExtension.h index 80662d03..fd8b1c1d 100644 --- a/sdk/actions/mesh/basicmesh/BasicMeshExtension.h +++ b/sdk/actions/mesh/basicmesh/BasicMeshExtension.h @@ -39,6 +39,7 @@ class BasicMeshExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension); + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.basicmesh") public: /// the constructor (needed to initialize the icon resources) diff --git a/sdk/actions/mesh/basicmesh/ComputeNormals.cpp b/sdk/actions/mesh/basicmesh/ComputeNormals.cpp index e8ad101c..fbeb2dc1 100644 --- a/sdk/actions/mesh/basicmesh/ComputeNormals.cpp +++ b/sdk/actions/mesh/basicmesh/ComputeNormals.cpp @@ -46,7 +46,6 @@ Action::ApplyStatus ComputeNormals::apply() { vtkPolyData* pData = vtkPolyData::SafeDownCast ( mesh->getPointSet() ); pData->AddObserver ( vtkCommand::ProgressEvent, progressCallback ); - pData->Update(); if ( !pData ) { CAMITK_DEBUG ( "ComputeNormals", "apply", "the mesh point set of " + @@ -59,7 +58,7 @@ Action::ApplyStatus ComputeNormals::apply() { // compute normals vtkSmartPointer polyNormals = vtkSmartPointer::New(); - polyNormals->SetInput ( pData ); + polyNormals->SetInputData ( pData ); polyNormals->AddObserver ( vtkCommand::ProgressEvent, progressCallback ); polyNormals->Update(); diff --git a/sdk/actions/mesh/basicmesh/ExtractSelection.cpp b/sdk/actions/mesh/basicmesh/ExtractSelection.cpp index 231c065c..38f5fe1f 100644 --- a/sdk/actions/mesh/basicmesh/ExtractSelection.cpp +++ b/sdk/actions/mesh/basicmesh/ExtractSelection.cpp @@ -68,8 +68,8 @@ Action::ApplyStatus ExtractSelection::apply() { vtkSmartPointer extractSelection = vtkSmartPointer::New(); - extractSelection->SetInput(0, targetMesh->getPointSet()); - extractSelection->SetInput(1, targetMesh->getActiveSelection()); + extractSelection->SetInputData(0, targetMesh->getPointSet()); + extractSelection->SetInputData(1, targetMesh->getActiveSelection()); extractSelection->AddObserver(vtkCommand::ProgressEvent, progressCallback); extractSelection->Update(); vtkSmartPointer grid = vtkUnstructuredGrid::SafeDownCast(extractSelection->GetOutput()); diff --git a/sdk/actions/mesh/basicmesh/MeshQuality.cpp b/sdk/actions/mesh/basicmesh/MeshQuality.cpp index 491a846a..fc0a47ca 100644 --- a/sdk/actions/mesh/basicmesh/MeshQuality.cpp +++ b/sdk/actions/mesh/basicmesh/MeshQuality.cpp @@ -222,7 +222,6 @@ void MeshQuality::updateMeshColor(vtkSmartPointer< vtkDoubleArray > qualityArray double scalar = getQualityColor(val,minAR,maxAR,minNR,maxNR); cellData->InsertValue(indices[id],scalar); } - meshComponent->getPointSet()->Update(); meshComponent->getPointSet()->GetCellData()->SetScalars(cellData); Application::refresh(); } @@ -309,7 +308,7 @@ void MeshQuality::updateTableWidget(vtkSmartPointer< vtkDoubleArray > qualityArr //-- keep lines below at the end to have a correct final layout QHeaderView *horizontalHeader = qualityInfo->horizontalHeader(); - horizontalHeader->setResizeMode(QHeaderView::Stretch); + horizontalHeader->setSectionResizeMode(QHeaderView::Stretch); QStringList headerTitles; headerTitles << "Cell Id" << "Quality"; diff --git a/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp b/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp index 25d07d02..56f0a41e 100644 --- a/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp +++ b/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp @@ -125,8 +125,7 @@ void MeshToImageStencil::process(MeshComponent * comp) { ori[2] = origin.z(); colorImage->SetOrigin(ori); - colorImage->SetScalarTypeToUnsignedChar(); - colorImage->AllocateScalars(); + colorImage->AllocateScalars(VTK_UNSIGNED_CHAR, 1); // fill the image with foreground voxels: //unsigned char inval = 255; @@ -138,7 +137,7 @@ void MeshToImageStencil::process(MeshComponent * comp) { // polygonal data --> image stencil: vtkSmartPointer pol2stenc = vtkSmartPointer::New(); - pol2stenc->SetInput(pd); + pol2stenc->SetInputData(pd); pol2stenc->SetOutputOrigin(ori); pol2stenc->SetOutputSpacing(space); @@ -147,25 +146,17 @@ void MeshToImageStencil::process(MeshComponent * comp) { // cut the corresponding color image and set the background: vtkSmartPointer imgstenc = vtkSmartPointer::New(); -#if VTK_MAJOR_VERSION <= 5 - imgstenc->SetInput(colorImage); - imgstenc->SetStencil(pol2stenc->GetOutput()); -#else - imgstenc->SetInputData(whiteImage); + imgstenc->SetInputData(colorImage); imgstenc->SetStencilConnection(pol2stenc->GetOutputPort()); -#endif + imgstenc->ReverseStencilOff(); imgstenc->SetBackgroundValue(outval); imgstenc->Update(); vtkSmartPointer writer = vtkSmartPointer::New(); - writer->SetFileName(file.toAscii()); -#if VTK_MAJOR_VERSION <= 5 - writer->SetInput(imgstenc->GetOutput()); -#else + writer->SetFileName(file.toLatin1()); writer->SetInputData(imgstenc->GetOutput()); -#endif writer->Write(); } diff --git a/sdk/actions/mesh/basicmesh/RenderingOption.cpp b/sdk/actions/mesh/basicmesh/RenderingOption.cpp index 74b3cecb..28f8cbd9 100644 --- a/sdk/actions/mesh/basicmesh/RenderingOption.cpp +++ b/sdk/actions/mesh/basicmesh/RenderingOption.cpp @@ -137,7 +137,7 @@ Action::ApplyStatus RenderingOption::apply() { //-- get the surface (in order to have polygon only) vtkSmartPointer surfaceFilter = vtkSmartPointer::New(); - surfaceFilter->SetInput(comp->getPointSet()); + surfaceFilter->SetInputData(comp->getPointSet()); surfaceFilter->Update(); //-- generate the normals diff --git a/sdk/actions/mesh/basictopology/BasicTopologyExtension.cpp b/sdk/actions/mesh/basictopology/BasicTopologyExtension.cpp index 661c2845..6981a6d3 100644 --- a/sdk/actions/mesh/basictopology/BasicTopologyExtension.cpp +++ b/sdk/actions/mesh/basictopology/BasicTopologyExtension.cpp @@ -26,8 +26,6 @@ #include "GridTopology.h" #include "SphereTopology.h" -Q_EXPORT_PLUGIN2(BasicTopology, BasicTopologyExtension) - void BasicTopologyExtension::init() { registerNewAction(GridTopology); registerNewAction(SphereTopology); diff --git a/sdk/actions/mesh/basictopology/BasicTopologyExtension.h b/sdk/actions/mesh/basictopology/BasicTopologyExtension.h index 5f09ba77..e88879f1 100644 --- a/sdk/actions/mesh/basictopology/BasicTopologyExtension.h +++ b/sdk/actions/mesh/basictopology/BasicTopologyExtension.h @@ -40,6 +40,7 @@ class BasicTopologyExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.basictopology") public: diff --git a/sdk/actions/mesh/basictopology/GridTopology.cpp b/sdk/actions/mesh/basictopology/GridTopology.cpp index 2837b233..702205a6 100644 --- a/sdk/actions/mesh/basictopology/GridTopology.cpp +++ b/sdk/actions/mesh/basictopology/GridTopology.cpp @@ -109,11 +109,9 @@ Action::ApplyStatus GridTopology::apply() { build1DGrid ( grid ); } - grid->Update(); - if ( property ( "Simplex" ).toBool()) { vtkSmartPointer simplexFilter = vtkSmartPointer::New(); - simplexFilter->SetInput(grid); + simplexFilter->SetInputData(grid); simplexFilter->Update(); grid = simplexFilter->GetOutput(); } diff --git a/sdk/actions/mesh/meshprocessing/AppendMeshes.cpp b/sdk/actions/mesh/meshprocessing/AppendMeshes.cpp index cb4dfeb4..e52d8e1a 100644 --- a/sdk/actions/mesh/meshprocessing/AppendMeshes.cpp +++ b/sdk/actions/mesh/meshprocessing/AppendMeshes.cpp @@ -76,7 +76,7 @@ camitk::Action::ApplyStatus AppendMeshes::apply() { CAMITK_DEBUG ( "AppendMeshes", "apply", getTargets().at ( i )->getName().toStdString() + " is not a MeshComponent" ); return ABORTED; } - appendFilter->AddInput ( meshComp->getPointSet() ); + appendFilter->AddInputData ( meshComp->getPointSet() ); } CAMITK_INFO ( "AppendMeshes", "apply", "append meshes" ); diff --git a/sdk/actions/mesh/meshprocessing/CleanPolyData.cpp b/sdk/actions/mesh/meshprocessing/CleanPolyData.cpp index 77ff89d1..907114b7 100644 --- a/sdk/actions/mesh/meshprocessing/CleanPolyData.cpp +++ b/sdk/actions/mesh/meshprocessing/CleanPolyData.cpp @@ -74,7 +74,7 @@ Action::ApplyStatus CleanPolyData::apply() { //-- clean the polydata // remove redundant points vtkSmartPointer cleaner = vtkSmartPointer::New(); - cleaner->AddInput ( targetPolyData ); + cleaner->AddInputData ( targetPolyData ); cleaner->PointMergingOn(); cleaner->SetTolerance ( property("Tolerance").toDouble() *0.01 ); // % of the Bounding Box cleaner->ConvertLinesToPointsOn (); diff --git a/sdk/actions/mesh/meshprocessing/ComputeCurvatures.cpp b/sdk/actions/mesh/meshprocessing/ComputeCurvatures.cpp index d171fe87..03a92b6a 100644 --- a/sdk/actions/mesh/meshprocessing/ComputeCurvatures.cpp +++ b/sdk/actions/mesh/meshprocessing/ComputeCurvatures.cpp @@ -62,7 +62,7 @@ Action::ApplyStatus ComputeCurvatures::apply() { // set up curvatures vtkSmartPointer curv = vtkSmartPointer::New(); curv->SetCurvatureType ( property("Curvature type").toInt() ); - curv->SetInput(pData); + curv->SetInputData(pData); curv->AddObserver(vtkCommand::ProgressEvent, progressCallback); curv->Update(); diff --git a/sdk/actions/mesh/meshprocessing/Decimation.cpp b/sdk/actions/mesh/meshprocessing/Decimation.cpp index 27325082..9aba03da 100644 --- a/sdk/actions/mesh/meshprocessing/Decimation.cpp +++ b/sdk/actions/mesh/meshprocessing/Decimation.cpp @@ -116,7 +116,7 @@ Action::ApplyStatus Decimation::apply() { vtkSmartPointer mcDecimate = vtkSmartPointer::New(); // get back action parameters - mcDecimate->SetInput ( targetMesh->getPointSet() ); + mcDecimate->SetInputData ( targetMesh->getPointSet() ); mcDecimate->SetTargetReduction ( property("Decimation percentage").toDouble()/100.0 ); mcDecimate->SetPreserveTopology ( property("Preserve topology?").toBool() ); mcDecimate->SetMaximumError ( property("Maximum error").toDouble() ); @@ -134,7 +134,7 @@ Action::ApplyStatus Decimation::apply() { // clean vtkSmartPointer cleaner = vtkSmartPointer::New(); - cleaner->SetInput(mcDecimate->GetOutput()); + cleaner->SetInputData(mcDecimate->GetOutput()); cleaner->AddObserver(vtkCommand::ProgressEvent, progressCallback); cleaner->Update(); diff --git a/sdk/actions/mesh/meshprocessing/ExtractEdges.cpp b/sdk/actions/mesh/meshprocessing/ExtractEdges.cpp index e94898b2..58867e54 100644 --- a/sdk/actions/mesh/meshprocessing/ExtractEdges.cpp +++ b/sdk/actions/mesh/meshprocessing/ExtractEdges.cpp @@ -60,7 +60,7 @@ Action::ApplyStatus ExtractEdges::apply() { MeshComponent *targetMesh = dynamic_cast(getTargets().last()); vtkSmartPointer extractEdgesFilter = vtkSmartPointer::New(); - extractEdgesFilter->SetInput(targetMesh->getPointSet()); + extractEdgesFilter->SetInputData(targetMesh->getPointSet()); extractEdgesFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); extractEdgesFilter->Update(); diff --git a/sdk/actions/mesh/meshprocessing/ExtractSurface.cpp b/sdk/actions/mesh/meshprocessing/ExtractSurface.cpp index 94726fce..8ac7a01d 100644 --- a/sdk/actions/mesh/meshprocessing/ExtractSurface.cpp +++ b/sdk/actions/mesh/meshprocessing/ExtractSurface.cpp @@ -61,7 +61,7 @@ Action::ApplyStatus ExtractSurface::apply() { vtkSmartPointer geometryFilter = vtkSmartPointer::New(); vtkSmartPointer cleanFilter = vtkSmartPointer::New(); - geometryFilter->SetInput(targetMesh->getPointSet()); + geometryFilter->SetInputData(targetMesh->getPointSet()); cleanFilter->SetInputConnection(geometryFilter->GetOutputPort()); cleanFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); cleanFilter->Update(); diff --git a/sdk/actions/mesh/meshprocessing/FillWithPoints.cpp b/sdk/actions/mesh/meshprocessing/FillWithPoints.cpp index 28c7d94d..bf5dca35 100644 --- a/sdk/actions/mesh/meshprocessing/FillWithPoints.cpp +++ b/sdk/actions/mesh/meshprocessing/FillWithPoints.cpp @@ -123,8 +123,8 @@ Action::ApplyStatus FillWithPoints::apply() { vtkSmartPointer gridPoints = vtkSmartPointer::New(); gridPoints->SetPoints ( points ); vtkSmartPointer select = vtkSmartPointer::New(); - select->SetInput ( gridPoints ); - select->SetSurface ( targetPolyData ); + select->SetInputData ( gridPoints ); + select->SetSurfaceData ( targetPolyData ); select->AddObserver(vtkCommand::ProgressEvent, progressCallback); select->Update(); @@ -144,12 +144,11 @@ Action::ApplyStatus FillWithPoints::apply() { vtkPointIndex[i] = i; insidePoints->InsertNextCell(VTK_POLY_VERTEX, insidePointsPoints->GetNumberOfPoints(),vtkPointIndex); insidePoints->AddObserver(vtkCommand::ProgressEvent, progressCallback); - insidePoints->Update(); //-- Generates one structure with all the points (append targetPolyData and insidePoints) vtkSmartPointer appender = vtkSmartPointer::New(); - appender->AddInput ( targetPolyData ); - appender->AddInput ( insidePoints ); + appender->AddInputData ( targetPolyData ); + appender->AddInputData ( insidePoints ); appender->AddObserver(vtkCommand::ProgressEvent, progressCallback); appender->Update(); diff --git a/sdk/actions/mesh/meshprocessing/InvertMesh.cpp b/sdk/actions/mesh/meshprocessing/InvertMesh.cpp index dba404ca..3a390a17 100644 --- a/sdk/actions/mesh/meshprocessing/InvertMesh.cpp +++ b/sdk/actions/mesh/meshprocessing/InvertMesh.cpp @@ -75,7 +75,7 @@ void InvertMesh::process(MeshComponent * comp) { vtkSmartPointer progressCallback = vtkSmartPointer::New(); progressCallback->SetCallback(&Application::vtkProgressFunction); - polydataNormals->SetInput(poly); + polydataNormals->SetInputData(poly); polydataNormals->SetFlipNormals(1); polydataNormals->AddObserver(vtkCommand::ProgressEvent, progressCallback); polydataNormals->Update(); diff --git a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.cpp b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.cpp index 659f7591..069beba5 100644 --- a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.cpp +++ b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.cpp @@ -43,9 +43,6 @@ #include "Application.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2 ( processing, MeshProcessingExtension ) - // -------------------- init -------------------- void MeshProcessingExtension::init() { registerNewAction ( Decimation ); diff --git a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h index 5281e62d..ca2a9927 100644 --- a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h +++ b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h @@ -40,6 +40,7 @@ class MeshProcessingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.meshprocessing") public: /// the constructor diff --git a/sdk/actions/mesh/meshprocessing/SaveDisplacementFromTransformation.cpp b/sdk/actions/mesh/meshprocessing/SaveDisplacementFromTransformation.cpp index 88000d34..80a9d810 100644 --- a/sdk/actions/mesh/meshprocessing/SaveDisplacementFromTransformation.cpp +++ b/sdk/actions/mesh/meshprocessing/SaveDisplacementFromTransformation.cpp @@ -125,7 +125,7 @@ void SaveDisplacementFromTransformation::process(MeshComponent * comp) { // Actually transform the points of the VTK dataset vtkSmartPointer transformFilter = vtkSmartPointer::New(); transformFilter->SetTransform ( transfo ); - transformFilter->SetInput ( ps ); + transformFilter->SetInputData ( ps ); transformFilter->Update(); diff --git a/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp b/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp index b57f0a6b..48305543 100644 --- a/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp +++ b/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp @@ -122,7 +122,7 @@ void SmoothFilter::process(MeshComponent * comp) { // create the filter and set the polydata vtkSmartPointer smoothFilter = vtkSmartPointer::New(); - smoothFilter->SetInput(poly); + smoothFilter->SetInputData(poly); // set the number of iterations smoothFilter->SetNumberOfIterations(iteration); // set the relaxation factor diff --git a/sdk/actions/mesh/meshprocessing/WarpOut.cpp b/sdk/actions/mesh/meshprocessing/WarpOut.cpp index 028ba33a..9fe1c487 100644 --- a/sdk/actions/mesh/meshprocessing/WarpOut.cpp +++ b/sdk/actions/mesh/meshprocessing/WarpOut.cpp @@ -97,7 +97,6 @@ Action::ApplyStatus WarpOut::apply() { resultPointSet->AddObserver(vtkCommand::ProgressEvent, progressCallback); resultPointSet->DeepCopy(targetMesh->getPointSet()); - resultPointSet->Update(); //-- add the id as point data in order to match normal to the points vtkSmartPointer pointId = vtkSmartPointer::New(); pointId->SetNumberOfComponents(1); @@ -111,7 +110,7 @@ Action::ApplyStatus WarpOut::apply() { //-- extract the surface vtkSmartPointer surfaceFilter = vtkSmartPointer::New(); - surfaceFilter->SetInput(resultPointSet); + surfaceFilter->SetInputData(resultPointSet); surfaceFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback); surfaceFilter->Update(); diff --git a/sdk/applications/wizard/ActionAddParameterWidget.cpp b/sdk/applications/wizard/ActionAddParameterWidget.cpp index 60c6fa82..51a29ff0 100644 --- a/sdk/applications/wizard/ActionAddParameterWidget.cpp +++ b/sdk/applications/wizard/ActionAddParameterWidget.cpp @@ -97,10 +97,10 @@ bool ActionAddParameterWidget::isOneNonAsciiParameter() { QString paramDescription = (*it)->getDescription(); QString paramDefaultValue = (*it)->getDefaultValue(); - if ((paramName.toUtf8() != paramName.toAscii()) || - (paramType.toUtf8() != paramType.toAscii()) || - (paramDescription.toUtf8() != paramDescription.toAscii()) || - (paramDefaultValue.toUtf8() != paramDefaultValue.toAscii())) { + if ((paramName.toUtf8() != paramName.toLatin1()) || + (paramType.toUtf8() != paramType.toLatin1()) || + (paramDescription.toUtf8() != paramDescription.toLatin1()) || + (paramDefaultValue.toUtf8() != paramDefaultValue.toLatin1())) { oneNonAscii = true; } it++; diff --git a/sdk/applications/wizard/ActionClassificationWidget.cpp b/sdk/applications/wizard/ActionClassificationWidget.cpp index c7d38d54..d490fdb5 100644 --- a/sdk/applications/wizard/ActionClassificationWidget.cpp +++ b/sdk/applications/wizard/ActionClassificationWidget.cpp @@ -57,7 +57,7 @@ void ActionClassificationWidget::setToDefault() { void ActionClassificationWidget::nextButtonClicked() { QString family = ui.actionFamilyItself->text(); #ifndef _WIZARD_QUESTIONS_SQUEEZE - if (family.toUtf8() != family.toAscii()) { + if (family.toUtf8() != family.toLatin1()) { ui.actionFamilyStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultAscii); @@ -94,7 +94,7 @@ bool ActionClassificationWidget::isOneNonAsciiTag() { while ((it != list.end()) && (! oneNonAscii)) { QString tag = (*it)->getTag(); - if (tag.toUtf8() != tag.toAscii()) { + if (tag.toUtf8() != tag.toLatin1()) { oneNonAscii = true; } it++; diff --git a/sdk/applications/wizard/ActionDescriptionWidget.cpp b/sdk/applications/wizard/ActionDescriptionWidget.cpp index 32550794..0aa1fc2c 100644 --- a/sdk/applications/wizard/ActionDescriptionWidget.cpp +++ b/sdk/applications/wizard/ActionDescriptionWidget.cpp @@ -51,7 +51,7 @@ void ActionDescriptionWidget::nextButtonClicked() { QMessageBox::warning(this, defaultBeforeGoingFurther, defaultActionNameAndExtension); - } else if (actionName.toUtf8() != actionName.toAscii()) { + } else if (actionName.toUtf8() != actionName.toLatin1()) { ui.actionNameStar->setStyleSheet(enhancedStyle); ui.actionGoalStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -63,7 +63,7 @@ void ActionDescriptionWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealActionName); - } else if (actionDescription.toUtf8() != actionDescription.toAscii()) { + } else if (actionDescription.toUtf8() != actionDescription.toLatin1()) { ui.actionNameStar->setStyleSheet(normalStyle); ui.actionGoalStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); diff --git a/sdk/applications/wizard/ActionExtensionDescriptionWidget.cpp b/sdk/applications/wizard/ActionExtensionDescriptionWidget.cpp index 26f29cb8..948797eb 100644 --- a/sdk/applications/wizard/ActionExtensionDescriptionWidget.cpp +++ b/sdk/applications/wizard/ActionExtensionDescriptionWidget.cpp @@ -47,7 +47,7 @@ void ActionExtensionDescriptionWidget::nextButtonClicked() { QString actionExtensionDescription = ui.actionExtensionDescriptionItself->toPlainText(); #ifndef _WIZARD_QUESTIONS_SQUEEZE - if (actionExtensionName.toUtf8() != actionExtensionName.toAscii()) { + if (actionExtensionName.toUtf8() != actionExtensionName.toLatin1()) { ui.actionExtensionNameStar->setStyleSheet(enhancedStyle); ui.actionExtensionDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -57,7 +57,7 @@ void ActionExtensionDescriptionWidget::nextButtonClicked() { ui.actionExtensionDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealExtensionName); - } else if (actionExtensionDescription.toUtf8() != actionExtensionDescription.toAscii()) { + } else if (actionExtensionDescription.toUtf8() != actionExtensionDescription.toLatin1()) { ui.actionExtensionNameStar->setStyleSheet(normalStyle); ui.actionExtensionDescriptionStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); diff --git a/sdk/applications/wizard/CepContactWidget.cpp b/sdk/applications/wizard/CepContactWidget.cpp index 0fdddf07..d458cab0 100644 --- a/sdk/applications/wizard/CepContactWidget.cpp +++ b/sdk/applications/wizard/CepContactWidget.cpp @@ -52,7 +52,7 @@ void CepContactWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); ui.cepContactStar->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealContact); - } else if (contact.toUtf8() != contact.toAscii()) { + } else if (contact.toUtf8() != contact.toLatin1()) { ui.requiredLabel->setStyleSheet(enhancedStyle); ui.cepContactStar->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultAscii); diff --git a/sdk/applications/wizard/CepDescriptionWidget.cpp b/sdk/applications/wizard/CepDescriptionWidget.cpp index 23c0c477..2f279b9c 100644 --- a/sdk/applications/wizard/CepDescriptionWidget.cpp +++ b/sdk/applications/wizard/CepDescriptionWidget.cpp @@ -53,7 +53,7 @@ void CepDescriptionWidget::nextButtonClicked() { ui.cepNameStar->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealCepName); - } else if (cepName.toUtf8() != cepName.toAscii()) { + } else if (cepName.toUtf8() != cepName.toLatin1()) { ui.cepDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); ui.cepNameStar->setStyleSheet(enhancedStyle); @@ -65,7 +65,7 @@ void CepDescriptionWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealCepDescription); - } else if (cepDescription.toUtf8() != cepDescription.toAscii()) { + } else if (cepDescription.toUtf8() != cepDescription.toLatin1()) { ui.cepNameStar->setStyleSheet(normalStyle); ui.cepDescriptionStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); diff --git a/sdk/applications/wizard/ComponentAddPropertyWidget.cpp b/sdk/applications/wizard/ComponentAddPropertyWidget.cpp index 5f4890db..2e2cd14c 100644 --- a/sdk/applications/wizard/ComponentAddPropertyWidget.cpp +++ b/sdk/applications/wizard/ComponentAddPropertyWidget.cpp @@ -97,10 +97,10 @@ bool ComponentAddPropertyWidget::isOneNonAsciiParameter() { QString paramDescription = (*it)->getDescription(); QString paramDefaultValue = (*it)->getDefaultValue(); - if ((paramName.toUtf8() != paramName.toAscii()) || - (paramType.toUtf8() != paramType.toAscii()) || - (paramDescription.toUtf8() != paramDescription.toAscii()) || - (paramDefaultValue.toUtf8() != paramDefaultValue.toAscii())) { + if ((paramName.toUtf8() != paramName.toLatin1()) || + (paramType.toUtf8() != paramType.toLatin1()) || + (paramDescription.toUtf8() != paramDescription.toLatin1()) || + (paramDefaultValue.toUtf8() != paramDefaultValue.toLatin1())) { oneNonAscii = true; } it++; diff --git a/sdk/applications/wizard/ComponentDescriptionWidget.cpp b/sdk/applications/wizard/ComponentDescriptionWidget.cpp index 9baa6e40..8b8b667f 100644 --- a/sdk/applications/wizard/ComponentDescriptionWidget.cpp +++ b/sdk/applications/wizard/ComponentDescriptionWidget.cpp @@ -54,7 +54,7 @@ void ComponentDescriptionWidget::nextButtonClicked() { QMessageBox::warning(this, defaultBeforeGoingFurther, defaultComponentNameAndExtension); - } else if (componentName.toUtf8() != componentName.toAscii()) { + } else if (componentName.toUtf8() != componentName.toLatin1()) { ui.componentNameStar->setStyleSheet(enhancedStyle); ui.componentDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -66,7 +66,7 @@ void ComponentDescriptionWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealComponentName); - } else if (componentDescription.toUtf8() != componentDescription.toAscii()) { + } else if (componentDescription.toUtf8() != componentDescription.toLatin1()) { ui.componentNameStar->setStyleSheet(normalStyle); ui.componentDescriptionStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -78,7 +78,7 @@ void ComponentDescriptionWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealComponentDescription); - } else if (fileSuffix.toUtf8() != fileSuffix.toAscii()) { + } else if (fileSuffix.toUtf8() != fileSuffix.toLatin1()) { ui.requiredLabel->setStyleSheet(enhancedStyle); ui.componentNameStar->setStyleSheet(normalStyle); ui.componentDescriptionStar->setStyleSheet(normalStyle); diff --git a/sdk/applications/wizard/ComponentExtensionDescriptionWidget.cpp b/sdk/applications/wizard/ComponentExtensionDescriptionWidget.cpp index 8d3054bd..bd1321bc 100644 --- a/sdk/applications/wizard/ComponentExtensionDescriptionWidget.cpp +++ b/sdk/applications/wizard/ComponentExtensionDescriptionWidget.cpp @@ -56,7 +56,7 @@ void ComponentExtensionDescriptionWidget::nextButtonClicked() { QString componentExtensionDescription = ui.componentExtensionDescriptionItself->toPlainText(); #ifndef _WIZARD_QUESTIONS_SQUEEZE - if (componentExtensionName.toUtf8() != componentExtensionName.toAscii()) { + if (componentExtensionName.toUtf8() != componentExtensionName.toLatin1()) { ui.componentExtensionNameStar->setStyleSheet(enhancedStyle); ui.componentExtensionDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -66,7 +66,7 @@ void ComponentExtensionDescriptionWidget::nextButtonClicked() { ui.componentExtensionDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealExtensionName); - } else if (componentExtensionDescription.toUtf8() != componentExtensionDescription.toAscii()) { + } else if (componentExtensionDescription.toUtf8() != componentExtensionDescription.toLatin1()) { ui.componentExtensionNameStar->setStyleSheet(normalStyle); ui.componentExtensionDescriptionStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(normalStyle); diff --git a/sdk/applications/wizard/LibraryDescriptionWidget.cpp b/sdk/applications/wizard/LibraryDescriptionWidget.cpp index 75f831ce..65ec9c10 100644 --- a/sdk/applications/wizard/LibraryDescriptionWidget.cpp +++ b/sdk/applications/wizard/LibraryDescriptionWidget.cpp @@ -49,7 +49,7 @@ void LibraryDescriptionWidget::nextButtonClicked() { QString libraryDescription = ui.libraryDescriptionItself->toPlainText(); #ifndef _WIZARD_QUESTIONS_SQUEEZE - if (libraryName.toUtf8() != libraryName.toAscii()) { + if (libraryName.toUtf8() != libraryName.toLatin1()) { ui.libraryNameStar->setStyleSheet(enhancedStyle); ui.libraryDescriptionStar->setStyleSheet(normalStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); @@ -63,7 +63,7 @@ void LibraryDescriptionWidget::nextButtonClicked() { ui.requiredLabel->setStyleSheet(enhancedStyle); QMessageBox::warning(this, defaultBeforeGoingFurther, defaultRealLibraryName); - } else if (libraryDescription.toUtf8() != libraryDescription.toAscii()) { + } else if (libraryDescription.toUtf8() != libraryDescription.toLatin1()) { ui.libraryNameStar->setStyleSheet(normalStyle); ui.libraryDescriptionStar->setStyleSheet(enhancedStyle); ui.requiredLabel->setStyleSheet(enhancedStyle); diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 702a63a2..95a1fbd9 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -151,8 +151,12 @@ if(MSVC) endif() set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/${VTK_LIBRARY}-${CAMITK_VTK_VERSION}.lib) endforeach() - # add missing vtkIOExport library + # add missing vtkIOExport, vtkImagingStencil, vtkIOImport, vtkImagingMath library set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOExport-${CAMITK_VTK_VERSION}.lib) + set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}.lib) + set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}.lib) + set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}.lib) + # message( WARNING "Nico CAMITK_VTK_LIBRARIES=${CAMITK_VTK_LIBRARIES}") # list of all core dependencies set(CAMITK_LIBRARIES diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index eceaed7b..5e9cfb86 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -54,6 +54,9 @@ #! \param EXTRA_TRANSLATE_LANGUAGE Additionnal extra language to translate the application macro(camitk_application) + # Instruct CMake to run moc automatically when needed. + set(CMAKE_AUTOMOC ON) + ######################################################################### # # # ARGUMENTS PARSING # diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 0a3186db..a7ec5b97 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -663,6 +663,9 @@ macro(camitk_library) # QT if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_QT) + # Instruct CMake to run moc automatically when needed. + set(CMAKE_AUTOMOC ON) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) if (Qt5_FOUND) diff --git a/sdk/components/msh/MshComponent.cpp b/sdk/components/msh/MshComponent.cpp index b4565b0d..a29216f6 100644 --- a/sdk/components/msh/MshComponent.cpp +++ b/sdk/components/msh/MshComponent.cpp @@ -156,8 +156,6 @@ void MshComponent::readLegacyFormat ( std::ifstream& fileStream ) { nbCells++; } - mesh->Update(); - // instanciate the Geometry initRepresentation ( mesh ); @@ -269,8 +267,6 @@ void MshComponent::readV2Format ( std::ifstream& fileStream ) { nbCells++; } - mesh->Update(); - // get physical names while ( std::getline ( fileStream, line ) ) { if ( ( !line.compare ( "$PhysicalNames" ) ) || ( !line.compare ( "$PhysicalNames\r" ) ) ) diff --git a/sdk/components/msh/MshExtension.cpp b/sdk/components/msh/MshExtension.cpp index dcf67245..5f5c9bb8 100644 --- a/sdk/components/msh/MshExtension.cpp +++ b/sdk/components/msh/MshExtension.cpp @@ -39,10 +39,6 @@ #include using namespace camitk; -// declare the plugin -Q_EXPORT_PLUGIN2 ( MshExtension, MshExtension ) - - QString MshExtension::getName() const { return "Msh Component"; } diff --git a/sdk/components/msh/MshExtension.h b/sdk/components/msh/MshExtension.h index bd92ec8e..c2e8fa50 100644 --- a/sdk/components/msh/MshExtension.h +++ b/sdk/components/msh/MshExtension.h @@ -44,6 +44,7 @@ class MshExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.msh") public: /// the constructor (do nothing really) diff --git a/sdk/components/obj/ObjExtension.cpp b/sdk/components/obj/ObjExtension.cpp index 512d989f..0cb7eddd 100644 --- a/sdk/components/obj/ObjExtension.cpp +++ b/sdk/components/obj/ObjExtension.cpp @@ -35,9 +35,6 @@ #include #include -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(ObjExtension, ObjExtension); - // --------------- getName ------------------- QString ObjExtension::getName() const { return "Alias Wavefront OBJ Component"; @@ -75,7 +72,7 @@ bool ObjExtension::save(camitk::Component* component) const { vtkSmartPointer< vtkTriangleFilter > triangleFilter = vtkSmartPointer< vtkTriangleFilter >::New(); // first we apply a geometry filter to keep only polygonal cells - geoFilter->SetInput(component->getPointSet()); + geoFilter->SetInputData(component->getPointSet()); // then a triangle filter to transform the polygones in triangles triangleFilter->SetInputConnection(geoFilter->GetOutputPort()); triangleFilter->PassLinesOff(); @@ -87,7 +84,7 @@ bool ObjExtension::save(camitk::Component* component) const { vtkSmartPointer cleanFilter = vtkSmartPointer::New(); //do a vtkCleanPolyData to merge duplicate points created by the triangleFilter operation - cleanFilter->SetInput(poly); + cleanFilter->SetInputData(poly); cleanFilter->Update(); ofstream objFile(fileName.toUtf8()); diff --git a/sdk/components/obj/ObjExtension.h b/sdk/components/obj/ObjExtension.h index cddc1220..61bdc380 100644 --- a/sdk/components/obj/ObjExtension.h +++ b/sdk/components/obj/ObjExtension.h @@ -38,7 +38,8 @@ **/ class ObjExtension : public camitk::MeshComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.obj") public: /// the constructor (do nothing really) diff --git a/sdk/components/off/OffComponent.cpp b/sdk/components/off/OffComponent.cpp index 8a0416ca..fae89565 100644 --- a/sdk/components/off/OffComponent.cpp +++ b/sdk/components/off/OffComponent.cpp @@ -111,8 +111,6 @@ OffComponent::OffComponent(const QString & file) throw(AbortException) : MeshCom offMesh->SetPolys(polys); - offMesh->Update(); - // instanciate the Geometry initRepresentation(offMesh); diff --git a/sdk/components/off/OffExtension.cpp b/sdk/components/off/OffExtension.cpp index 63a77986..a1bc0401 100644 --- a/sdk/components/off/OffExtension.cpp +++ b/sdk/components/off/OffExtension.cpp @@ -39,10 +39,6 @@ #include using namespace camitk; -// declare the plugin -Q_EXPORT_PLUGIN2(OffExtension, OffExtension); - - QString OffExtension::getName() const { return "Off Component"; } diff --git a/sdk/components/off/OffExtension.h b/sdk/components/off/OffExtension.h index dd201348..92da1587 100644 --- a/sdk/components/off/OffExtension.h +++ b/sdk/components/off/OffExtension.h @@ -39,7 +39,8 @@ class OffExtension : public camitk::MeshComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.off") public: /// the constructor (do nothing really) diff --git a/sdk/components/stl/StlExtension.cpp b/sdk/components/stl/StlExtension.cpp index 446bf84e..7bb5d7a7 100644 --- a/sdk/components/stl/StlExtension.cpp +++ b/sdk/components/stl/StlExtension.cpp @@ -31,9 +31,6 @@ using namespace camitk; -// --------------- Extension Declaration ------------------- -Q_EXPORT_PLUGIN2(componentextensionexample, StlExtension) - // --------------- getName ------------------- QString StlExtension::getName() const { return "STL Component"; diff --git a/sdk/components/stl/StlExtension.h b/sdk/components/stl/StlExtension.h index a3a58117..477e6419 100644 --- a/sdk/components/stl/StlExtension.h +++ b/sdk/components/stl/StlExtension.h @@ -38,7 +38,8 @@ */ class StlExtension : public camitk::ComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.stl") public: /// Constructor diff --git a/sdk/components/vrml/VRMLComponent.cpp b/sdk/components/vrml/VRMLComponent.cpp index 068e286e..f3da805e 100644 --- a/sdk/components/vrml/VRMLComponent.cpp +++ b/sdk/components/vrml/VRMLComponent.cpp @@ -55,7 +55,6 @@ VRMLComponent::VRMLComponent(const QString & file) throw(AbortException) : Compo vtkSmartPointer actor = vtkActor::SafeDownCast(actors->GetItemAsObject(i)); if (actor) { vtkSmartPointer ps = vtkPointSet::SafeDownCast(actor->GetMapper()->GetInput()); - ps->Update(); importer->Update(); if (ps) { new MeshComponent(this, ps, QString("VRML object #") + QString::number(actors->GetNumberOfItems() - i - 1)); diff --git a/sdk/components/vrml/VRMLComponentExtension.cpp b/sdk/components/vrml/VRMLComponentExtension.cpp index ac783422..b401b3ab 100644 --- a/sdk/components/vrml/VRMLComponentExtension.cpp +++ b/sdk/components/vrml/VRMLComponentExtension.cpp @@ -25,9 +25,6 @@ #include "VRMLComponentExtension.h" -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(vrml, VRMLComponentExtension); - #include "VRMLComponent.h" //-- CamiTK stuff diff --git a/sdk/components/vrml/VRMLComponentExtension.h b/sdk/components/vrml/VRMLComponentExtension.h index 5943da4d..f21e901c 100644 --- a/sdk/components/vrml/VRMLComponentExtension.h +++ b/sdk/components/vrml/VRMLComponentExtension.h @@ -48,6 +48,7 @@ class VRMLComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension); + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vrml") public: /// the constructor (do nothing really) diff --git a/sdk/components/vtkimage/VtkImageComponentExtension.cpp b/sdk/components/vtkimage/VtkImageComponentExtension.cpp index 39373832..140e3cb3 100644 --- a/sdk/components/vtkimage/VtkImageComponentExtension.cpp +++ b/sdk/components/vtkimage/VtkImageComponentExtension.cpp @@ -46,10 +46,6 @@ using namespace camitk; #include #include -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(vtkimage, VtkImageComponentExtension) - - // --------------- getName ------------------- QString VtkImageComponentExtension::getName() const { return "vtkImages Component"; @@ -102,7 +98,7 @@ bool VtkImageComponentExtension::save(Component* component) const { writer = vtkSmartPointer::New(); writer->SetFileDimensionality(3); writer->SetFileName(fileInfo.absoluteFilePath().toStdString().c_str()); - writer->SetInput(image); + writer->SetInputData(image); try { writer->Write(); @@ -179,7 +175,7 @@ bool VtkImageComponentExtension::save(Component* component) const { // convert to unsigned char castFilter->SetOutputScalarTypeToUnsignedChar(); - castFilter->SetInput(image); + castFilter->SetInputData(image); castFilter->Update(); // Writer initialization, depending on file extension @@ -240,7 +236,7 @@ bool VtkImageComponentExtension::save(Component* component) const { text.replace(QString("AnatomicalOrientation = ???"), QString("AnatomicalOrientation = ") + ImageOrientationHelper::getOrientationAsQString(img->getInitialOrientation())); file.seek(0); // go to the beginning of the file - file.write(text.toAscii()); // write back the file, in ASCII to preserve data format + file.write(text.toLatin1()); // write back the file, in ASCII to preserve data format file.close(); // close the file handle. } diff --git a/sdk/components/vtkimage/VtkImageComponentExtension.h b/sdk/components/vtkimage/VtkImageComponentExtension.h index c82a41e5..cc3754ef 100644 --- a/sdk/components/vtkimage/VtkImageComponentExtension.h +++ b/sdk/components/vtkimage/VtkImageComponentExtension.h @@ -38,6 +38,7 @@ class VtkImageComponentExtension : public camitk::ImageComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vtkimage") public: /// the constructor (do nothing really) diff --git a/sdk/components/vtkmesh/VtkMeshComponent.cpp b/sdk/components/vtkmesh/VtkMeshComponent.cpp index 9358fdca..3a8d18e1 100644 --- a/sdk/components/vtkmesh/VtkMeshComponent.cpp +++ b/sdk/components/vtkmesh/VtkMeshComponent.cpp @@ -135,7 +135,6 @@ void VtkMeshComponent::showPointData(VTK_COMPONENT_POINT_DATA_TYPE type) { myGeometry->getPointSet()->GetPointData()->ShallowCopy(initialPointData); if (initialPointData->GetNumberOfArrays() > 0) { double range[2]; - myGeometry->getPointSet()->Update(); // force vtk to compute the range myGeometry->getPointSet()->GetPointData()->GetScalars()->GetRange ( range ); InteractiveViewer::get3DViewer()->setColorScaleMinMax ( range[0], range[1] ); InteractiveViewer::get3DViewer()->setColorScaleTitle("VTK Point Data"); @@ -158,16 +157,16 @@ bool VtkMeshComponent::exportMDL ( std::string filename ) { //extract external surface vtkSmartPointer geomF = vtkSmartPointer::New(); - geomF->SetInput(getPointSet()); + geomF->SetInputData(getPointSet()); // triangles vtkSmartPointer triangleF = vtkSmartPointer::New(); - triangleF->SetInput(geomF->GetOutput()); + triangleF->SetInputData(geomF->GetOutput()); // clean unused vtkSmartPointer cleaner = vtkSmartPointer::New(); - cleaner->SetInput(triangleF->GetOutput()); + cleaner->SetInputData(triangleF->GetOutput()); cleaner->Update(); vtkSmartPointer ds = cleaner->GetOutput(); @@ -211,7 +210,7 @@ bool VtkMeshComponent::exportMDL ( std::string filename ) { } else { // compute the normals vtkSmartPointer pNormals = vtkSmartPointer::New(); - pNormals->SetInput ( ds ); + pNormals->SetInputData( ds ); pNormals->Update(); o << pNormals->GetOutput()->GetPointData()->GetNormals()->GetNumberOfTuples() << std::endl; diff --git a/sdk/components/vtkmesh/VtkMeshComponentExtension.cpp b/sdk/components/vtkmesh/VtkMeshComponentExtension.cpp index c25e177b..2f562541 100644 --- a/sdk/components/vtkmesh/VtkMeshComponentExtension.cpp +++ b/sdk/components/vtkmesh/VtkMeshComponentExtension.cpp @@ -28,9 +28,6 @@ using namespace camitk; -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(vtk, VtkMeshComponentExtension) - // --------------- getName ------------------- QString VtkMeshComponentExtension::getName() const { return "VTK Component"; diff --git a/sdk/components/vtkmesh/VtkMeshComponentExtension.h b/sdk/components/vtkmesh/VtkMeshComponentExtension.h index 4997e451..ff90fc0d 100644 --- a/sdk/components/vtkmesh/VtkMeshComponentExtension.h +++ b/sdk/components/vtkmesh/VtkMeshComponentExtension.h @@ -39,6 +39,7 @@ class VtkMeshComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vtkmesh") public: /// the constructor (do nothing really) diff --git a/sdk/components/vtkmesh/VtkMeshUtil.cpp b/sdk/components/vtkmesh/VtkMeshUtil.cpp index e391b779..4dc97aa9 100644 --- a/sdk/components/vtkmesh/VtkMeshUtil.cpp +++ b/sdk/components/vtkmesh/VtkMeshUtil.cpp @@ -132,7 +132,7 @@ bool VtkMeshUtil::savePointSetToFile(vtkSmartPointer ps, std::strin // -------------------- saveUnstructuredGridToFile -------------------- void VtkMeshUtil::saveUnstructuredGridToFile(vtkSmartPointer uGrid, std::string fname, std::string oname) { vtkSmartPointer dataWriter = vtkSmartPointer::New(); - dataWriter->SetInput(uGrid); + dataWriter->SetInputData(uGrid); dataWriter->SetFileName(fname.c_str()); dataWriter->SetHeader(oname.c_str()); @@ -143,7 +143,7 @@ void VtkMeshUtil::saveUnstructuredGridToFile(vtkSmartPointer pData, std::string fname, std::string oname) { vtkSmartPointer dataWriter = vtkSmartPointer::New(); - dataWriter->SetInput(pData); + dataWriter->SetInputData(pData); dataWriter->SetFileName(fname.c_str()); dataWriter->SetHeader(oname.c_str()); @@ -154,7 +154,7 @@ void VtkMeshUtil::savePolyDataToFile(vtkSmartPointer pData, std::st // -------------------- saveStructuredGridToFile -------------------- void VtkMeshUtil::saveStructuredGridToFile(vtkSmartPointer sGrid, std::string fname, std::string oname) { vtkSmartPointer dataWriter = vtkSmartPointer::New(); - dataWriter->SetInput(sGrid); + dataWriter->SetInputData(sGrid); dataWriter->SetFileName(fname.c_str()); dataWriter->SetHeader(oname.c_str()); @@ -256,7 +256,7 @@ vtkSmartPointer< vtkPolyData > VtkMeshUtil::vtkPointSetToVtkPolyData(vtkSmartPoi result = vtkPolyData::SafeDownCast(aPointSet); else { vtkSmartPointer surfaceFilter = vtkSmartPointer::New(); - surfaceFilter->SetInput(aPointSet); + surfaceFilter->SetInputData(aPointSet); surfaceFilter->Update(); result = surfaceFilter->GetOutput(); -- GitLab From 5a195f963ad6a44794c867295518c52e40d9e26f Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 17 Mar 2016 10:49:43 +0100 Subject: [PATCH 011/356] UPDATED : CMake configuration on SDK + Modeling ok. --- modeling/CMakeLists.txt | 2 -- .../applications/mml/benchmark/CMakeLists.txt | 21 +++++++++++-------- .../mml/benchmarkgui/CMakeLists.txt | 15 +++++++++---- .../mml/paramExplorer/CMakeLists.txt | 15 +++++++++---- .../mml/pml2mmlOut/CMakeLists.txt | 15 +++++++++---- modeling/libraries/lml/CMakeLists.txt | 2 -- modeling/libraries/mml/CMakeLists.txt | 3 --- .../mml/monitoringgui/CMakeLists.txt | 7 +++---- modeling/libraries/pml/CMakeLists.txt | 2 -- 9 files changed, 48 insertions(+), 34 deletions(-) diff --git a/modeling/CMakeLists.txt b/modeling/CMakeLists.txt index 9cd69e13..955f39cf 100644 --- a/modeling/CMakeLists.txt +++ b/modeling/CMakeLists.txt @@ -1,8 +1,6 @@ #-------------------------------------------- # Modeling extension project #-------------------------------------------- -cmake_minimum_required(VERSION 2.6) - # Mini find CamiTK inside SDK set(CAMITK_DIR ${CMAKE_BINARY_DIR}) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake) diff --git a/modeling/applications/mml/benchmark/CMakeLists.txt b/modeling/applications/mml/benchmark/CMakeLists.txt index 31267b90..198afffb 100644 --- a/modeling/applications/mml/benchmark/CMakeLists.txt +++ b/modeling/applications/mml/benchmark/CMakeLists.txt @@ -1,17 +1,19 @@ project(benchmark) if(MML_GENERATE_GUI) - find_package(Qt4 REQUIRED) - include(${QT_USE_FILE}) - set(benchmark_LIBRARIES ${QT_LIBRARIES}) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) + if (Qt5_FOUND) + # cmake_policy(SET CMP0020 NEW) # policy for Qt core linking to qtmain.lib + message(STATUS "Modeling application benchmark: found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + else() + message(SEND_ERROR "Modeling application benchmark: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") + endif() add_definitions(-DMML_GENERATE_GUI) endif() -set(benchmark_LIBRARIES - ${MML_DEPENDENCY} - ${benchmark_LIBRARIES} -) - set(HEADERS ) @@ -23,6 +25,7 @@ set(SRCS include_directories(${MML_INCLUDE_DIRECTORIES}) link_directories(${MML_LINK_DIRECTORIES}) add_executable(benchmark ${SRCS}) -target_link_libraries(benchmark ${benchmark_LIBRARIES}) +qt5_use_modules(benchmark ${QT_COMPONENTS}) +target_link_libraries(benchmark ${MML_DEPENDENCY}) add_dependencies(benchmark ${MONITORING_DEPENDENCY}) diff --git a/modeling/applications/mml/benchmarkgui/CMakeLists.txt b/modeling/applications/mml/benchmarkgui/CMakeLists.txt index 15d8c762..afd90ff1 100644 --- a/modeling/applications/mml/benchmarkgui/CMakeLists.txt +++ b/modeling/applications/mml/benchmarkgui/CMakeLists.txt @@ -1,14 +1,20 @@ project(benchmarkgui) if(MML_GENERATE_GUI) - find_package(Qt4 REQUIRED) - include(${QT_USE_FILE}) - set(benchmarkgui_LIBRARIES ${QT_LIBRARIES}) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) + if (Qt5_FOUND) + # cmake_policy(SET CMP0020 NEW) # policy for Qt core linking to qtmain.lib + message(STATUS "Modeling application benchmarkgui: found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + else() + message(SEND_ERROR "Modeling application benchmarkgui: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") + endif() add_definitions(-DMML_GENERATE_GUI) endif() set(benchmarkgui_LIBRARIES - ${benchmarkgui_LIBRARIES} ${MML_DEPENDENCY} ${MONITORING_GUI_DEPENDENCY} ) @@ -24,5 +30,6 @@ set(SRCS include_directories(${MML_INCLUDE_DIRECTORIES}) link_directories(${MML_LINK_DIRECTORIES}) add_executable(benchmarkgui ${SRCS}) +qt5_use_modules(benchmarkgui ${QT_COMPONENTS}) target_link_libraries(benchmarkgui ${benchmarkgui_LIBRARIES}) add_dependencies(benchmarkgui ${MONITORING_DEPENDENCY}) diff --git a/modeling/applications/mml/paramExplorer/CMakeLists.txt b/modeling/applications/mml/paramExplorer/CMakeLists.txt index f9f5826f..fbce5ab2 100644 --- a/modeling/applications/mml/paramExplorer/CMakeLists.txt +++ b/modeling/applications/mml/paramExplorer/CMakeLists.txt @@ -1,14 +1,20 @@ project(paramExplorer) if(MML_GENERATE_GUI) - find_package(Qt4 REQUIRED) - include(${QT_USE_FILE}) - set(paramExplorer_LIBRARIES ${QT_LIBRARIES}) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) + if (Qt5_FOUND) + # cmake_policy(SET CMP0020 NEW) # policy for Qt core linking to qtmain.lib + message(STATUS "Modeling application paramExplorer: found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + else() + message(SEND_ERROR "Modeling application paramExplorer: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") + endif() add_definitions(-DMML_GENERATE_GUI) endif() set(paramExplorer_LIBRARIES - ${paramExplorer_LIBRARIES} ${MML_DEPENDENCY} ) @@ -23,5 +29,6 @@ set(SRCS include_directories(${MML_INCLUDE_DIRECTORIES}) link_directories(${MML_LINK_DIRECTORIES}) add_executable(paramExplorer ${SRCS}) +qt5_use_modules(paramExplorer ${QT_COMPONENTS}) target_link_libraries(paramExplorer ${paramExplorer_LIBRARIES}) add_dependencies(paramExplorer ${MONITORING_DEPENDENCY}) diff --git a/modeling/applications/mml/pml2mmlOut/CMakeLists.txt b/modeling/applications/mml/pml2mmlOut/CMakeLists.txt index c33ec4a2..f613e49d 100644 --- a/modeling/applications/mml/pml2mmlOut/CMakeLists.txt +++ b/modeling/applications/mml/pml2mmlOut/CMakeLists.txt @@ -1,15 +1,21 @@ project(pml2mmlOut) if(MML_GENERATE_GUI) - find_package(Qt4 REQUIRED) - include(${QT_USE_FILE}) - set(pml2mmlOut_LIBRARIES ${QT_LIBRARIES}) + set(QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) + find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) + if (Qt5_FOUND) + # cmake_policy(SET CMP0020 NEW) # policy for Qt core linking to qtmain.lib + message(STATUS "Modeling application pml2mmlOut: found Qt ${Qt5_VERSION}.") + set(QT_INCLUDE_DIRS ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ${Qt5XmlPatterns_INCLUDE_DIRS} ${Qt5Declarative_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} ${Qt5UiTools_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS}) + include_directories(${QT_INCLUDE_DIRS}) + else() + message(SEND_ERROR "Modeling application pml2mmlOut: Failed to find Qt 5.x. This is needed by ${LIBRARY_TARGET_NAME}.") + endif() add_definitions(-DMML_GENERATE_GUI) endif() set(pml2mmlOut_LIBRARIES ${MML_DEPENDENCY} - ${pml2mmlOut_LIBRARIES} ) set(HEADERS @@ -23,5 +29,6 @@ set(SRCS include_directories(${MML_INCLUDE_DIRECTORIES}) link_directories(${MML_LINK_DIRECTORIES}) add_executable(pml2mmlOut ${SRCS}) +qt5_use_modules(pml2mmlOut ${QT_COMPONENTS}) target_link_libraries(pml2mmlOut ${pml2mmlOut_LIBRARIES}) add_dependencies(pml2mmlOut ${MONITORING_DEPENDENCY}) diff --git a/modeling/libraries/lml/CMakeLists.txt b/modeling/libraries/lml/CMakeLists.txt index 18d0d5e7..9c51d693 100644 --- a/modeling/libraries/lml/CMakeLists.txt +++ b/modeling/libraries/lml/CMakeLists.txt @@ -1,7 +1,5 @@ project(LML) -cmake_minimum_required(VERSION 2.6) - # Is this tool is compiled inside or outside CamiTK (as a standalone)? if (NOT CEP_NAME STREQUAL "modeling") # if this tool is compiled independently from CamiTK diff --git a/modeling/libraries/mml/CMakeLists.txt b/modeling/libraries/mml/CMakeLists.txt index 46a49e16..3c02f43e 100644 --- a/modeling/libraries/mml/CMakeLists.txt +++ b/modeling/libraries/mml/CMakeLists.txt @@ -5,9 +5,6 @@ if (NOT CEP_NAME STREQUAL "modeling") message(SEND_ERROR "Compilation of MML outside CamiTK SDK not implemented yet. Please contact authors") endif() -# see cmake --help-policy CMP0022 for more information -cmake_minimum_required(VERSION 2.6) - # for generating GUI option(MML_GENERATE_GUI "Generates MML GUI for CamiTK action" ON) diff --git a/modeling/libraries/mml/monitoringgui/CMakeLists.txt b/modeling/libraries/mml/monitoringgui/CMakeLists.txt index b1211b3c..1c2b61c0 100644 --- a/modeling/libraries/mml/monitoringgui/CMakeLists.txt +++ b/modeling/libraries/mml/monitoringgui/CMakeLists.txt @@ -8,10 +8,10 @@ set(monitoringgui_UIS MonitoringDialog.ui ) -qt4_wrap_ui(monitoringgui_UIS_H ${monitoringgui_UIS}) +qt5_wrap_ui(monitoringgui_UIS_H ${monitoringgui_UIS}) # qt4_wrap_cpp(monitoringgui_MOCS ${monitoringgui_MOC_SRCS}) Not needed if AUTOMOC is set to ON (CMake therefore handle moc automatically) -qt4_add_resources(monitoringgui_QRC MonitoringGuiIcons.qrc) +qt5_add_resources(monitoringgui_QRC MonitoringGuiIcons.qrc) set(monitoringgui_HEADERS_TO_EXPORT MonitoringGuiManager.h @@ -30,7 +30,6 @@ set(monitoringgui_SRCS MonitoringDialog.cpp MonitoringDriver.cpp ${monitoringgui_HEADERS} - ${monitoringgui_MOCS} ${monitoringgui_MOC_UI} ) @@ -44,7 +43,7 @@ camitk_library( STATIC NEEDS_CEP_LIBRARIES monitoring mmlschema pml pmlschema lml lmlschema HEADERS_TO_INSTALL ${monitoringgui_HEADERS_TO_EXPORT} INCLUDE_DIRECTORIES ${MML_INCLUDE_DIRECTORIES} - NEEDS_QT_MODULES + NEEDS_QT CEP_NAME CEP_MODELING DESCRIPTION "Allows one to monitor a biomechanical deformation using a GUI." ) diff --git a/modeling/libraries/pml/CMakeLists.txt b/modeling/libraries/pml/CMakeLists.txt index 98fc8912..129b1249 100644 --- a/modeling/libraries/pml/CMakeLists.txt +++ b/modeling/libraries/pml/CMakeLists.txt @@ -1,6 +1,4 @@ project(PML) - -cmake_minimum_required(VERSION 2.6) # Is this tool is compiled inside or outside CAMITK (as a standalone)? if (NOT CEP_NAME STREQUAL "modeling") -- GitLab From 8f86a1d29dd93c953e6ee2fbad53a88d173308b2 Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 17 Mar 2016 11:47:19 +0100 Subject: [PATCH 012/356] UPDATED Compilation & Linking of CamiTK SDK + Modeling ok! --- modeling/actions/mml/MMLActionExtension.cpp | 2 -- modeling/actions/mml/MMLActionExtension.h | 1 + modeling/actions/pml/PMLActionExtension.cpp | 3 --- modeling/actions/pml/PMLActionExtension.h | 3 ++- modeling/components/mmlcomponent/MMLComponentExtension.cpp | 3 --- modeling/components/mmlcomponent/MMLComponentExtension.h | 3 ++- modeling/components/mmlcomponent/MMLDisplay.cpp | 2 ++ .../mmlcomponent/MMLMonitorDisplays/Statistics.cpp | 2 ++ .../mmlcomponent/MMLMonitorDisplays/Statistics.h | 1 + .../components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp | 3 +++ .../components/mmlcomponent/MMLMonitorDisplays/Tabular.h | 1 + modeling/components/pmlcomponent/PMLComponent.cpp | 7 ++----- modeling/components/pmlcomponent/PMLComponentExtension.cpp | 3 --- modeling/components/pmlcomponent/PMLComponentExtension.h | 1 + modeling/libraries/mml/monitoring/CMakeLists.txt | 2 +- modeling/libraries/mml/monitoring/Chrono.cpp | 4 ++-- modeling/libraries/mml/monitoringgui/MonitoringDialog.cpp | 2 ++ .../libraries/mml/monitoringgui/MonitoringGuiManager.cpp | 2 ++ 18 files changed, 24 insertions(+), 21 deletions(-) diff --git a/modeling/actions/mml/MMLActionExtension.cpp b/modeling/actions/mml/MMLActionExtension.cpp index 29d6d730..4f90208d 100644 --- a/modeling/actions/mml/MMLActionExtension.cpp +++ b/modeling/actions/mml/MMLActionExtension.cpp @@ -27,8 +27,6 @@ #include "GenerateModel.h" #include "SimulationDialog.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(mmlactionextension, MMLActionExtension) // -------------------- init -------------------- void MMLActionExtension::init() { diff --git a/modeling/actions/mml/MMLActionExtension.h b/modeling/actions/mml/MMLActionExtension.h index 06399037..d960d2a4 100644 --- a/modeling/actions/mml/MMLActionExtension.h +++ b/modeling/actions/mml/MMLActionExtension.h @@ -40,6 +40,7 @@ class MMLActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.mml") public: /// the constructor diff --git a/modeling/actions/pml/PMLActionExtension.cpp b/modeling/actions/pml/PMLActionExtension.cpp index c1c4bdf1..d5463b9a 100644 --- a/modeling/actions/pml/PMLActionExtension.cpp +++ b/modeling/actions/pml/PMLActionExtension.cpp @@ -29,9 +29,6 @@ #include "PMLExplorerAction.h" #include "CreateSC.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(pmlexploreextension, PMLActionExtension); - // --------------- getActions ------------------- void PMLActionExtension::init() { // Creating and registering the instance of PMLExploreAction diff --git a/modeling/actions/pml/PMLActionExtension.h b/modeling/actions/pml/PMLActionExtension.h index 24794401..46a27c42 100644 --- a/modeling/actions/pml/PMLActionExtension.h +++ b/modeling/actions/pml/PMLActionExtension.h @@ -30,7 +30,8 @@ class PMLActionExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.pml") public: /// Constructor diff --git a/modeling/components/mmlcomponent/MMLComponentExtension.cpp b/modeling/components/mmlcomponent/MMLComponentExtension.cpp index 03929f02..54bb8a43 100644 --- a/modeling/components/mmlcomponent/MMLComponentExtension.cpp +++ b/modeling/components/mmlcomponent/MMLComponentExtension.cpp @@ -28,9 +28,6 @@ using namespace camitk; -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2( mml, MMLComponentExtension ); - // --------------- getName ------------------- QString MMLComponentExtension::getName() const { return "MML Component"; diff --git a/modeling/components/mmlcomponent/MMLComponentExtension.h b/modeling/components/mmlcomponent/MMLComponentExtension.h index 2f279ada..ec5634cb 100644 --- a/modeling/components/mmlcomponent/MMLComponentExtension.h +++ b/modeling/components/mmlcomponent/MMLComponentExtension.h @@ -41,7 +41,8 @@ **/ class MMLCOMPONENT_API MMLComponentExtension : public camitk::ComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.mmlcomponent") public: /// the constructor (do nothing really) diff --git a/modeling/components/mmlcomponent/MMLDisplay.cpp b/modeling/components/mmlcomponent/MMLDisplay.cpp index ccaef85b..ce49fcfa 100644 --- a/modeling/components/mmlcomponent/MMLDisplay.cpp +++ b/modeling/components/mmlcomponent/MMLDisplay.cpp @@ -39,6 +39,8 @@ #include #include +#include +#include #include "MMLMonitorDisplayFactory.h" #include diff --git a/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.cpp b/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.cpp index 166c6d7d..5c7c1990 100644 --- a/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.cpp +++ b/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.cpp @@ -32,6 +32,8 @@ #include #include +#include + bool statisticsRegistered=MMLMonitorDisplayFactory::getInstance()->registerClass("Statistics",Monitor::SCALARSET); Statistics::Statistics(Monitor* monitor, MMLComponent* manager): MMLMonitorDisplay(monitor, manager) { diff --git a/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.h b/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.h index 20dda052..e3c76558 100644 --- a/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.h +++ b/modeling/components/mmlcomponent/MMLMonitorDisplays/Statistics.h @@ -24,6 +24,7 @@ ****************************************************************************/ #include +#include #include "MMLMonitorDisplay.h" #include "MMLComponentAPI.h" diff --git a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp index ea6d2ede..5fd250f5 100644 --- a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp +++ b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp @@ -32,6 +32,9 @@ #include #include +#include +#include + bool tabularRegistered=MMLMonitorDisplayFactory::getInstance()->registerClass("Tabular"); Tabular::Tabular(Monitor* monitor, MMLComponent* manager): MMLMonitorDisplay(monitor, manager) { diff --git a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.h b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.h index af328d05..10045c71 100644 --- a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.h +++ b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.h @@ -24,6 +24,7 @@ ****************************************************************************/ #include +#include #include "MMLMonitorDisplay.h" #include "MMLComponentAPI.h" diff --git a/modeling/components/pmlcomponent/PMLComponent.cpp b/modeling/components/pmlcomponent/PMLComponent.cpp index 58896e4c..aedd9f22 100644 --- a/modeling/components/pmlcomponent/PMLComponent.cpp +++ b/modeling/components/pmlcomponent/PMLComponent.cpp @@ -221,9 +221,6 @@ void PMLComponent::create3DStructure() { parseMultiComponent ( ics ); } - // Compute the 3D structure - mainGrid->Update(); - // set the component geometry to this one (initRepresentation also calls initDynamicProperties()...) initRepresentation ( mainGrid ); @@ -360,7 +357,7 @@ void PMLComponent::createAtomSelectionVTKPipeline() { // The selection extractor, attached to the selection and the 3D structure (unstructured grid) vtkSmartPointer selectedAtomExtractor = vtkSmartPointer::New(); selectedAtomExtractor->SetInputConnection ( 0, getDataPort() ); - selectedAtomExtractor->SetInput ( 1, selectedAtomSelection ); + selectedAtomExtractor->SetInputData ( 1, selectedAtomSelection ); // create the atom Glyph Actor vtkSmartPointer glyphSphere = vtkSmartPointer::New(); @@ -396,7 +393,7 @@ void PMLComponent::createCellSelectionVTKPipeline ( const StructuralComponent * // The selection extractor, bound to the selection and the 3D structure (unstructured grid) vtkSmartPointer selectionExtractor = vtkSmartPointer::New(); selectionExtractor->SetInputConnection ( 0, getDataPort() ); - selectionExtractor->SetInput ( 1, selection ); + selectionExtractor->SetInputData ( 1, selection ); // The selection actor, with its color properties adapted to the input structural component vtkSmartPointer selectionActor = vtkSmartPointer::New(); diff --git a/modeling/components/pmlcomponent/PMLComponentExtension.cpp b/modeling/components/pmlcomponent/PMLComponentExtension.cpp index 6fe1aee5..da90b9ba 100644 --- a/modeling/components/pmlcomponent/PMLComponentExtension.cpp +++ b/modeling/components/pmlcomponent/PMLComponentExtension.cpp @@ -40,9 +40,6 @@ using namespace camitk; //-- vtk #include -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(pml, PMLComponentExtension); - // --------------- getName ------------------- QString PMLComponentExtension::getName() const { return "PML Component"; diff --git a/modeling/components/pmlcomponent/PMLComponentExtension.h b/modeling/components/pmlcomponent/PMLComponentExtension.h index 461c59e9..bd365583 100644 --- a/modeling/components/pmlcomponent/PMLComponentExtension.h +++ b/modeling/components/pmlcomponent/PMLComponentExtension.h @@ -42,6 +42,7 @@ class PMLComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.pmlcomponent") public: /// the constructor (does nothing really) diff --git a/modeling/libraries/mml/monitoring/CMakeLists.txt b/modeling/libraries/mml/monitoring/CMakeLists.txt index c1f764a4..fedc8e66 100644 --- a/modeling/libraries/mml/monitoring/CMakeLists.txt +++ b/modeling/libraries/mml/monitoring/CMakeLists.txt @@ -154,7 +154,7 @@ set(monitoring_INCLUDE_DIRECTORIES ${MMLSCHEMA_INCLUDE_DIR} camitk_library( SHARED SOURCES ${monitoring_SRCS} DEFINES COMPILE_MML_TOOL - NEEDS_QT_MODULES + NEEDS_QT NEEDS_XERCESC NEEDS_CEP_LIBRARIES mmlschema pml pmlschema lml lmlschema PUBLIC #install directly in lib (or bin for Windows). diff --git a/modeling/libraries/mml/monitoring/Chrono.cpp b/modeling/libraries/mml/monitoring/Chrono.cpp index 05d7fa80..c77d79dc 100644 --- a/modeling/libraries/mml/monitoring/Chrono.cpp +++ b/modeling/libraries/mml/monitoring/Chrono.cpp @@ -30,12 +30,12 @@ extern "C" { #include // #include // ftime (chrono) -#include // gettimeofday (chrono) +// #include // gettimeofday (chrono) #if !defined(_WIN32) || defined(__MINGW32__) #include // gettimeofday (chrono) #include #else // MSVC only - int + /*int*/ // why this int here? #define WIN32_LEAN_AND_MEAN #include #include diff --git a/modeling/libraries/mml/monitoringgui/MonitoringDialog.cpp b/modeling/libraries/mml/monitoringgui/MonitoringDialog.cpp index 1abbee5d..297a03c2 100644 --- a/modeling/libraries/mml/monitoringgui/MonitoringDialog.cpp +++ b/modeling/libraries/mml/monitoringgui/MonitoringDialog.cpp @@ -37,6 +37,8 @@ // qt #include +#include +#include // ----------------------- constructor --------------------------- MonitoringDialog::MonitoringDialog(MonitoringGuiManager* guiManager, QWidget* parent): QDialog(parent) { diff --git a/modeling/libraries/mml/monitoringgui/MonitoringGuiManager.cpp b/modeling/libraries/mml/monitoringgui/MonitoringGuiManager.cpp index c547a320..2717b9fb 100644 --- a/modeling/libraries/mml/monitoringgui/MonitoringGuiManager.cpp +++ b/modeling/libraries/mml/monitoringgui/MonitoringGuiManager.cpp @@ -26,6 +26,8 @@ #include "MonitoringGuiManager.h" #include +#include +#include #include "MonitoringDialog.h" #include "MonitoringDriver.h" -- GitLab From 7d7361442de1f1b946d02bbde5af4e77521f18ff Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 17 Mar 2016 14:03:28 +0100 Subject: [PATCH 013/356] UPDATED CMake configuration of CamiTK SDK + Imaging (+ Modeling) ok. --- imaging/CMakeLists.txt | 2 - .../macros/camitk/CamiTKApplication.cmake | 876 ++++++------ .../macros/camitk/CamiTKExtension.cmake | 1194 +++++++++-------- .../modules/macros/camitk/CamiTKLibrary.cmake | 881 ++++++------ 4 files changed, 1500 insertions(+), 1453 deletions(-) diff --git a/imaging/CMakeLists.txt b/imaging/CMakeLists.txt index d7346941..149a9fff 100644 --- a/imaging/CMakeLists.txt +++ b/imaging/CMakeLists.txt @@ -1,8 +1,6 @@ #-------------------------------------------- # Imaging extension project #-------------------------------------------- -cmake_minimum_required(VERSION 2.6) - # Mini find CamiTK inside SDK set(CAMITK_DIR ${CMAKE_BINARY_DIR}) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 5e9cfb86..af0c898d 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -203,442 +203,458 @@ macro(camitk_application) set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set message(STATUS "${APPLICATION_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - # Now select the ITK libraries according to the ITK version found. - # ITK 3.x.x (mostly 3.20.1) - if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - set(ITK_LIBRARIES - debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKAlgorithms - debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKBasicFilters - debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKCommon - debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKIO - debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - debug itksys${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - ) - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - endif() - elseif(MINGW) - message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - else() #APPLE OR UNIX - set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - endif() - - # ITK 4.3.x (mostly 4.3.2) - elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - # Debug libraries - debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # Release librariesdebug - optimized ITKCommon-4.3.lib - optimized ITKNrrdIO-4.3.lib - optimized itkgdcmCommon-4.3.lib - optimized itkjpeg-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized itkpng-4.3.lib - optimized itktiff-4.3.lib - optimized ITKSpatialObjects-4.3.lib - optimized itkvnl_algo-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvnl-4.3.lib - optimized itkvcl-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itksys-4.3.lib - optimized ITKDICOMParser-4.3.lib - optimized ITKEXPAT-4.3.lib - optimized ITKniftiio-4.3.lib - optimized ITKznz-4.3.lib - optimized itkzlib-4.3.lib - optimized snmpapi.lib - optimized rpcrt4.lib - optimized ws2_32.lib - optimized comctl32.lib - optimized wsock32.lib - optimized opengl32.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIONIFTI-4.3.lib - optimized ITKIONRRD-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized itkgdcmDICT-4.3.lib - optimized itkgdcmDSED-4.3.lib - optimized itkgdcmIOD-4.3.lib - optimized itkgdcmjpeg8-4.3.lib - optimized itkgdcmjpeg12-4.3.lib - optimized itkgdcmjpeg16-4.3.lib - optimized itkgdcmMSFF-4.3.lib - optimized ITKgiftiio-4.3.lib - optimized itkhdf5_cpp-4.3.lib - optimized itkhdf5-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized ITKIOBioRad-4.3.lib - optimized ITKIOStimulate-4.3.lib - optimized ITKIOTIFF-4.3.lib - optimized ITKIOVTK-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized ITKBiasCorrection-4.3.lib - optimized ITKBioCell-4.3.lib - optimized ITKFEM-4.3.lib - optimized ITKIOBMP-4.3.lib - optimized ITKIOCSV-4.3.lib - optimized ITKIOGDCM-4.3.lib - optimized ITKIOGE-4.3.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIOHDF5-4.3.lib - optimized ITKIOImageBase-4.3.lib - optimized ITKIOIPL-4.3.lib - optimized ITKIOJPEG-4.3.lib - optimized ITKIOLSM-4.3.lib - optimized ITKIOMesh-4.3.lib - optimized ITKIOMeta-4.3.lib - optimized ITKIOSiemens-4.3.lib - optimized ITKIOSpatialObjects-4.3.lib - optimized ITKIOTransformBase-4.3.lib - optimized ITKIOTransformHDF5-4.3.lib - optimized ITKIOTransformInsightLegacy-4.3.lib - optimized ITKIOTransformMatlab-4.3.lib - optimized ITKIOXML-4.3.lib - optimized ITKKLMRegionGrowing-4.3.lib - optimized ITKLabelMap-4.3.lib - optimized ITKMesh-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itkNetlibSlatec-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized ITKOptimizers-4.3.lib - optimized ITKOptimizersv4-4.3.lib - optimized ITKPath-4.3.lib - optimized itkpng-4.3.lib - optimized ITKPolynomials-4.3.lib - optimized ITKQuadEdgeMesh-4.3.lib - optimized ITKReview-4.3.lib - optimized ITKStatistics-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvcl-4.3.lib - optimized ITKVideoCore-4.3.lib - optimized ITKVideoIO-4.3.lib - optimized ITKVTK-4.3.lib - optimized ITKVNLInstantiation-4.3.lib - optimized ITKWatersheds-4.3.lib - ) - endif() - elseif(MINGW OR APPLE) - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - ITKCommon-4.3 - ITKNrrdIO-4.3 - itkgdcmCommon-4.3 - itkjpeg-4.3 - itkopenjpeg-4.3 - itkpng-4.3 - itktiff-4.3 - ITKSpatialObjects-4.3 - itkvnl_algo-4.3 - itkv3p_netlib-4.3 - itkvnl-4.3 - itkvcl-4.3 - itkv3p_lsqr-4.3 - ITKMetaIO-4.3 - itksys-4.3 - ITKDICOMParser-4.3 - ITKEXPAT-4.3 - ITKniftiio-4.3 - ITKznz-4.3 - itkzlib-4.3 - snmpapi - rpcrt4 - ws2_32 - comctl32 - wsock32 - opengl32 - ITKIOGIPL-4.3 - ITKIONIFTI-4.3 - ITKIONRRD-4.3 - ITKIOPNG-4.3 - itkgdcmDICT-4.3 - itkgdcmDSED-4.3 - itkgdcmIOD-4.3 - itkgdcmjpeg8-4.3 - itkgdcmjpeg12-4.3 - itkgdcmjpeg16-4.3 - itkgdcmMSFF-4.3 - ITKgiftiio-4.3 - itkhdf5_cpp-4.3 - itkhdf5-4.3 - ITKMetaIO-4.3 - ITKIOBioRad-4.3 - ITKIOStimulate-4.3 - ITKIOTIFF-4.3 - ITKIOVTK-4.3 - ITKIOPNG-4.3 - ITKBiasCorrection-4.3 - ITKBioCell-4.3 - ITKFEM-4.3 - ITKIOBMP-4.3 - ITKIOCSV-4.3 - ITKIOGDCM-4.3 - ITKIOGE-4.3 - ITKIOGIPL-4.3 - ITKIOHDF5-4.3 - ITKIOImageBase-4.3 - ITKIOIPL-4.3 - ITKIOJPEG-4.3 - ITKIOLSM-4.3 - ITKIOMesh-4.3 - ITKIOMeta-4.3 - ITKIOSiemens-4.3 - ITKIOSpatialObjects-4.3 - ITKIOTransformBase-4.3 - ITKIOTransformHDF5-4.3 - ITKIOTransformInsightLegacy-4.3 - ITKIOTransformMatlab-4.3 - ITKIOXML-4.3 - ITKKLMRegionGrowing-4.3 - ITKLabelMap-4.3 - ITKMesh-4.3 - ITKMetaIO-4.3 - itkNetlibSlatec-4.3 - itkopenjpeg-4.3 - ITKOptimizers-4.3 - ITKOptimizersv4-4.3 - ITKPath-4.3 - itkpng-4.3 - ITKPolynomials-4.3 - ITKQuadEdgeMesh-4.3 - ITKReview-4.3 - ITKStatistics-4.3 - itkv3p_lsqr-4.3 - itkv3p_netlib-4.3 - itkvcl-4.3 - ITKVideoCore-4.3 - ITKVideoIO-4.3 - ITKVTK-4.3 - ITKVNLInstantiation-4.3 - ITKWatersheds-4.3 - ) - else() #Linux - set(ITK_LIBRARIES ITKCommon-4.3) - endif() - # ITK 4.5.x (mostly 4.5.1) - elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) + if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) - message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - elseif(MINGW) - message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # Construct list of VTK libraries for linking + foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) + endforeach() + elseif(LINUX) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") elseif(APPLE) - set(ITK_LIBRARIES - ITKBiasCorrection - ITKBioCell - ITKCommon - ITKDICOMParser - ITKEXPAT - ITKFEM - ITKGPUAnisotropicSmoothing - ITKGPUCommon - ITKGPUFiniteDifference - ITKGPUImageFilterBase - ITKGPUPDEDeformable - ITKGPUSmoothing - ITKGPUThresholding - ITKIOBMP - ITKIOBioRad - ITKIOCSV - ITKIOGDCM - ITKIOGE - ITKIOGIPL - ITKIOHDF5 - ITKIOIPL - ITKIOImageBase - ITKIOJPEG - ITKIOLSM - ITKIOMesh - ITKIOMeta - ITKIONIFTI - ITKIONRRD - ITKIOPNG - ITKIOSiemens - ITKIOSpatialObjects - ITKIOStimulate - ITKIOTIFF - ITKIOTransformBase - ITKIOTransformHDF5 - ITKIOTransformInsightLegacy - ITKIOTransformMatlab - ITKIOVTK - ITKIOXML - ITKKLMRegionGrowing - ITKLabelMap - ITKMesh - ITKMetaIO - ITKNrrdIO - ITKOptimizers - ITKOptimizersv4 - ITKPath - ITKPolynomials - ITKQuadEdgeMesh - ITKReview - ITKSpatialObjects - ITKStatistics - ITKVNLInstantiation - ITKVTK - ITKVideoCore - ITKVideoIO - ITKWatersheds - ITKgiftiio - ITKniftiio - ITKznz - itkNetlibSlatec - itkdouble-conversion - itkhdf5 - itkhdf5_cpp - itkjpeg - itkopenjpeg - itkpng - itksys - itktiff - itkv3p_lsqr - itkv3p_netlib - itkvcl - itkvnl - itkvnl_algo - itkzlib - ) - else() #Linux - message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() - - # ITK version > 4.6 (mostly ITK 5.x) - else() - message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") endif() endif() - endif() #NEEDS ITK + endif() + + # # Now select the ITK libraries according to the ITK version found. + # # ITK 3.x.x (mostly 3.20.1) + # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # set(ITK_LIBRARIES + # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKAlgorithms + # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKBasicFilters + # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKCommon + # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKIO + # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # ) + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") + # endif() + # elseif(MINGW) + # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") + # else() #APPLE OR UNIX + # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) + # endif() + + # # ITK 4.3.x (mostly 4.3.2) + # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # # Debug libraries + # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib + # # Release librariesdebug + # optimized ITKCommon-4.3.lib + # optimized ITKNrrdIO-4.3.lib + # optimized itkgdcmCommon-4.3.lib + # optimized itkjpeg-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized itkpng-4.3.lib + # optimized itktiff-4.3.lib + # optimized ITKSpatialObjects-4.3.lib + # optimized itkvnl_algo-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvnl-4.3.lib + # optimized itkvcl-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itksys-4.3.lib + # optimized ITKDICOMParser-4.3.lib + # optimized ITKEXPAT-4.3.lib + # optimized ITKniftiio-4.3.lib + # optimized ITKznz-4.3.lib + # optimized itkzlib-4.3.lib + # optimized snmpapi.lib + # optimized rpcrt4.lib + # optimized ws2_32.lib + # optimized comctl32.lib + # optimized wsock32.lib + # optimized opengl32.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIONIFTI-4.3.lib + # optimized ITKIONRRD-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized itkgdcmDICT-4.3.lib + # optimized itkgdcmDSED-4.3.lib + # optimized itkgdcmIOD-4.3.lib + # optimized itkgdcmjpeg8-4.3.lib + # optimized itkgdcmjpeg12-4.3.lib + # optimized itkgdcmjpeg16-4.3.lib + # optimized itkgdcmMSFF-4.3.lib + # optimized ITKgiftiio-4.3.lib + # optimized itkhdf5_cpp-4.3.lib + # optimized itkhdf5-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized ITKIOBioRad-4.3.lib + # optimized ITKIOStimulate-4.3.lib + # optimized ITKIOTIFF-4.3.lib + # optimized ITKIOVTK-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized ITKBiasCorrection-4.3.lib + # optimized ITKBioCell-4.3.lib + # optimized ITKFEM-4.3.lib + # optimized ITKIOBMP-4.3.lib + # optimized ITKIOCSV-4.3.lib + # optimized ITKIOGDCM-4.3.lib + # optimized ITKIOGE-4.3.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIOHDF5-4.3.lib + # optimized ITKIOImageBase-4.3.lib + # optimized ITKIOIPL-4.3.lib + # optimized ITKIOJPEG-4.3.lib + # optimized ITKIOLSM-4.3.lib + # optimized ITKIOMesh-4.3.lib + # optimized ITKIOMeta-4.3.lib + # optimized ITKIOSiemens-4.3.lib + # optimized ITKIOSpatialObjects-4.3.lib + # optimized ITKIOTransformBase-4.3.lib + # optimized ITKIOTransformHDF5-4.3.lib + # optimized ITKIOTransformInsightLegacy-4.3.lib + # optimized ITKIOTransformMatlab-4.3.lib + # optimized ITKIOXML-4.3.lib + # optimized ITKKLMRegionGrowing-4.3.lib + # optimized ITKLabelMap-4.3.lib + # optimized ITKMesh-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itkNetlibSlatec-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized ITKOptimizers-4.3.lib + # optimized ITKOptimizersv4-4.3.lib + # optimized ITKPath-4.3.lib + # optimized itkpng-4.3.lib + # optimized ITKPolynomials-4.3.lib + # optimized ITKQuadEdgeMesh-4.3.lib + # optimized ITKReview-4.3.lib + # optimized ITKStatistics-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvcl-4.3.lib + # optimized ITKVideoCore-4.3.lib + # optimized ITKVideoIO-4.3.lib + # optimized ITKVTK-4.3.lib + # optimized ITKVNLInstantiation-4.3.lib + # optimized ITKWatersheds-4.3.lib + # ) + # endif() + # elseif(MINGW OR APPLE) + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # ITKCommon-4.3 + # ITKNrrdIO-4.3 + # itkgdcmCommon-4.3 + # itkjpeg-4.3 + # itkopenjpeg-4.3 + # itkpng-4.3 + # itktiff-4.3 + # ITKSpatialObjects-4.3 + # itkvnl_algo-4.3 + # itkv3p_netlib-4.3 + # itkvnl-4.3 + # itkvcl-4.3 + # itkv3p_lsqr-4.3 + # ITKMetaIO-4.3 + # itksys-4.3 + # ITKDICOMParser-4.3 + # ITKEXPAT-4.3 + # ITKniftiio-4.3 + # ITKznz-4.3 + # itkzlib-4.3 + # snmpapi + # rpcrt4 + # ws2_32 + # comctl32 + # wsock32 + # opengl32 + # ITKIOGIPL-4.3 + # ITKIONIFTI-4.3 + # ITKIONRRD-4.3 + # ITKIOPNG-4.3 + # itkgdcmDICT-4.3 + # itkgdcmDSED-4.3 + # itkgdcmIOD-4.3 + # itkgdcmjpeg8-4.3 + # itkgdcmjpeg12-4.3 + # itkgdcmjpeg16-4.3 + # itkgdcmMSFF-4.3 + # ITKgiftiio-4.3 + # itkhdf5_cpp-4.3 + # itkhdf5-4.3 + # ITKMetaIO-4.3 + # ITKIOBioRad-4.3 + # ITKIOStimulate-4.3 + # ITKIOTIFF-4.3 + # ITKIOVTK-4.3 + # ITKIOPNG-4.3 + # ITKBiasCorrection-4.3 + # ITKBioCell-4.3 + # ITKFEM-4.3 + # ITKIOBMP-4.3 + # ITKIOCSV-4.3 + # ITKIOGDCM-4.3 + # ITKIOGE-4.3 + # ITKIOGIPL-4.3 + # ITKIOHDF5-4.3 + # ITKIOImageBase-4.3 + # ITKIOIPL-4.3 + # ITKIOJPEG-4.3 + # ITKIOLSM-4.3 + # ITKIOMesh-4.3 + # ITKIOMeta-4.3 + # ITKIOSiemens-4.3 + # ITKIOSpatialObjects-4.3 + # ITKIOTransformBase-4.3 + # ITKIOTransformHDF5-4.3 + # ITKIOTransformInsightLegacy-4.3 + # ITKIOTransformMatlab-4.3 + # ITKIOXML-4.3 + # ITKKLMRegionGrowing-4.3 + # ITKLabelMap-4.3 + # ITKMesh-4.3 + # ITKMetaIO-4.3 + # itkNetlibSlatec-4.3 + # itkopenjpeg-4.3 + # ITKOptimizers-4.3 + # ITKOptimizersv4-4.3 + # ITKPath-4.3 + # itkpng-4.3 + # ITKPolynomials-4.3 + # ITKQuadEdgeMesh-4.3 + # ITKReview-4.3 + # ITKStatistics-4.3 + # itkv3p_lsqr-4.3 + # itkv3p_netlib-4.3 + # itkvcl-4.3 + # ITKVideoCore-4.3 + # ITKVideoIO-4.3 + # ITKVTK-4.3 + # ITKVNLInstantiation-4.3 + # ITKWatersheds-4.3 + # ) + # else() #Linux + # set(ITK_LIBRARIES ITKCommon-4.3) + # endif() + + # # ITK 4.5.x (mostly 4.5.1) + # elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) + # if(MSVC) + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # elseif(MINGW) + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # elseif(APPLE) + # set(ITK_LIBRARIES + # ITKBiasCorrection + # ITKBioCell + # ITKCommon + # ITKDICOMParser + # ITKEXPAT + # ITKFEM + # ITKGPUAnisotropicSmoothing + # ITKGPUCommon + # ITKGPUFiniteDifference + # ITKGPUImageFilterBase + # ITKGPUPDEDeformable + # ITKGPUSmoothing + # ITKGPUThresholding + # ITKIOBMP + # ITKIOBioRad + # ITKIOCSV + # ITKIOGDCM + # ITKIOGE + # ITKIOGIPL + # ITKIOHDF5 + # ITKIOIPL + # ITKIOImageBase + # ITKIOJPEG + # ITKIOLSM + # ITKIOMesh + # ITKIOMeta + # ITKIONIFTI + # ITKIONRRD + # ITKIOPNG + # ITKIOSiemens + # ITKIOSpatialObjects + # ITKIOStimulate + # ITKIOTIFF + # ITKIOTransformBase + # ITKIOTransformHDF5 + # ITKIOTransformInsightLegacy + # ITKIOTransformMatlab + # ITKIOVTK + # ITKIOXML + # ITKKLMRegionGrowing + # ITKLabelMap + # ITKMesh + # ITKMetaIO + # ITKNrrdIO + # ITKOptimizers + # ITKOptimizersv4 + # ITKPath + # ITKPolynomials + # ITKQuadEdgeMesh + # ITKReview + # ITKSpatialObjects + # ITKStatistics + # ITKVNLInstantiation + # ITKVTK + # ITKVideoCore + # ITKVideoIO + # ITKWatersheds + # ITKgiftiio + # ITKniftiio + # ITKznz + # itkNetlibSlatec + # itkdouble-conversion + # itkhdf5 + # itkhdf5_cpp + # itkjpeg + # itkopenjpeg + # itkpng + # itksys + # itktiff + # itkv3p_lsqr + # itkv3p_netlib + # itkvcl + # itkvnl + # itkvnl_algo + # itkzlib + # ) + # else() #Linux + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") + # endif() + + # # ITK version > 4.6 (mostly ITK 5.x) + # else() + # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") + # endif() + # endif() + # endif() #NEEDS ITK # XERCES-C set(XERCESC_LIBRARIES) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 98502d83..538e12d2 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -212,600 +212,618 @@ macro(camitk_extension) if(ITK_FOUND) include(${ITK_USE_FILE}) set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set + set(CAMITK_ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}) message(STATUS "${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - - # Now select the ITK libraries according to the ITK version found. - # ITK 3.x.x (mostly 3.20.1) - if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - set(ITK_LIBRARIES - debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKAlgorithms - debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKBasicFilters - debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKCommon - debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKIO - debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - debug itksys${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - ) - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - endif() - elseif(MINGW) - message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - else() #APPLE OR UNIX - set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - endif() - - # ITK 4.x.x (mostly 4.3.2) - elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version >= 4.4.x") - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - # Debug libraries - debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # Release librariesdebug - optimized ITKCommon-4.3.lib - optimized ITKNrrdIO-4.3.lib - optimized itkgdcmCommon-4.3.lib - optimized itkjpeg-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized itkpng-4.3.lib - optimized itktiff-4.3.lib - optimized ITKSpatialObjects-4.3.lib - optimized itkvnl_algo-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvnl-4.3.lib - optimized itkvcl-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itksys-4.3.lib - optimized ITKDICOMParser-4.3.lib - optimized ITKEXPAT-4.3.lib - optimized ITKniftiio-4.3.lib - optimized ITKznz-4.3.lib - optimized itkzlib-4.3.lib - optimized snmpapi.lib - optimized rpcrt4.lib - optimized ws2_32.lib - optimized comctl32.lib - optimized wsock32.lib - optimized opengl32.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIONIFTI-4.3.lib - optimized ITKIONRRD-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized itkgdcmDICT-4.3.lib - optimized itkgdcmDSED-4.3.lib - optimized itkgdcmIOD-4.3.lib - optimized itkgdcmjpeg8-4.3.lib - optimized itkgdcmjpeg12-4.3.lib - optimized itkgdcmjpeg16-4.3.lib - optimized itkgdcmMSFF-4.3.lib - optimized ITKgiftiio-4.3.lib - optimized itkhdf5_cpp-4.3.lib - optimized itkhdf5-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized ITKIOBioRad-4.3.lib - optimized ITKIOStimulate-4.3.lib - optimized ITKIOTIFF-4.3.lib - optimized ITKIOVTK-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized ITKBiasCorrection-4.3.lib - optimized ITKBioCell-4.3.lib - optimized ITKFEM-4.3.lib - optimized ITKIOBMP-4.3.lib - optimized ITKIOCSV-4.3.lib - optimized ITKIOGDCM-4.3.lib - optimized ITKIOGE-4.3.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIOHDF5-4.3.lib - optimized ITKIOImageBase-4.3.lib - optimized ITKIOIPL-4.3.lib - optimized ITKIOJPEG-4.3.lib - optimized ITKIOLSM-4.3.lib - optimized ITKIOMesh-4.3.lib - optimized ITKIOMeta-4.3.lib - optimized ITKIOSiemens-4.3.lib - optimized ITKIOSpatialObjects-4.3.lib - optimized ITKIOTransformBase-4.3.lib - optimized ITKIOTransformHDF5-4.3.lib - optimized ITKIOTransformInsightLegacy-4.3.lib - optimized ITKIOTransformMatlab-4.3.lib - optimized ITKIOXML-4.3.lib - optimized ITKKLMRegionGrowing-4.3.lib - optimized ITKLabelMap-4.3.lib - optimized ITKMesh-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itkNetlibSlatec-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized ITKOptimizers-4.3.lib - optimized ITKOptimizersv4-4.3.lib - optimized ITKPath-4.3.lib - optimized itkpng-4.3.lib - optimized ITKPolynomials-4.3.lib - optimized ITKQuadEdgeMesh-4.3.lib - optimized ITKReview-4.3.lib - optimized ITKStatistics-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvcl-4.3.lib - optimized ITKVideoCore-4.3.lib - optimized ITKVideoIO-4.3.lib - optimized ITKVTK-4.3.lib - optimized ITKVNLInstantiation-4.3.lib - optimized ITKWatersheds-4.3.lib - ) - endif() - elseif(MINGW OR APPLE) - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - ITKCommon-4.3 - ITKNrrdIO-4.3 - itkgdcmCommon-4.3 - itkjpeg-4.3 - itkopenjpeg-4.3 - itkpng-4.3 - itktiff-4.3 - ITKSpatialObjects-4.3 - itkvnl_algo-4.3 - itkv3p_netlib-4.3 - itkvnl-4.3 - itkvcl-4.3 - itkv3p_lsqr-4.3 - ITKMetaIO-4.3 - itksys-4.3 - ITKDICOMParser-4.3 - ITKEXPAT-4.3 - ITKniftiio-4.3 - ITKznz-4.3 - itkzlib-4.3 - snmpapi - rpcrt4 - ws2_32 - comctl32 - wsock32 - opengl32 - ITKIOGIPL-4.3 - ITKIONIFTI-4.3 - ITKIONRRD-4.3 - ITKIOPNG-4.3 - itkgdcmDICT-4.3 - itkgdcmDSED-4.3 - itkgdcmIOD-4.3 - itkgdcmjpeg8-4.3 - itkgdcmjpeg12-4.3 - itkgdcmjpeg16-4.3 - itkgdcmMSFF-4.3 - ITKgiftiio-4.3 - itkhdf5_cpp-4.3 - itkhdf5-4.3 - ITKMetaIO-4.3 - ITKIOBioRad-4.3 - ITKIOStimulate-4.3 - ITKIOTIFF-4.3 - ITKIOVTK-4.3 - ITKIOPNG-4.3 - ITKBiasCorrection-4.3 - ITKBioCell-4.3 - ITKFEM-4.3 - ITKIOBMP-4.3 - ITKIOCSV-4.3 - ITKIOGDCM-4.3 - ITKIOGE-4.3 - ITKIOGIPL-4.3 - ITKIOHDF5-4.3 - ITKIOImageBase-4.3 - ITKIOIPL-4.3 - ITKIOJPEG-4.3 - ITKIOLSM-4.3 - ITKIOMesh-4.3 - ITKIOMeta-4.3 - ITKIOSiemens-4.3 - ITKIOSpatialObjects-4.3 - ITKIOTransformBase-4.3 - ITKIOTransformHDF5-4.3 - ITKIOTransformInsightLegacy-4.3 - ITKIOTransformMatlab-4.3 - ITKIOXML-4.3 - ITKKLMRegionGrowing-4.3 - ITKLabelMap-4.3 - ITKMesh-4.3 - ITKMetaIO-4.3 - itkNetlibSlatec-4.3 - itkopenjpeg-4.3 - ITKOptimizers-4.3 - ITKOptimizersv4-4.3 - ITKPath-4.3 - itkpng-4.3 - ITKPolynomials-4.3 - ITKQuadEdgeMesh-4.3 - ITKReview-4.3 - ITKStatistics-4.3 - itkv3p_lsqr-4.3 - itkv3p_netlib-4.3 - itkvcl-4.3 - ITKVideoCore-4.3 - ITKVideoIO-4.3 - ITKVTK-4.3 - ITKVNLInstantiation-4.3 - ITKWatersheds-4.3 - ) - else() #Linux - set(ITK_LIBRARIES ITKCommon-4.3) - endif() - - # ITK 4.x.x (mostly 4.5.1) - elseif((${ITK_VERSION} VERSION_GREATER "4.3.9") AND (${ITK_VERSION} VERSION_LESS "4.7")) + + if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 3.20.1") - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - optimized TKIOBioRad-4.5.lib - optimized ITKIOStimulate-4.5.lib - optimized itkpng-4.5.lib - debug ITKBiasCorrection-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBMP-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTIFF-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPolynomials-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKBiasCorrection-4.5.lib - optimized ITKIOBMP-4.5.lib - optimized ITKIOTIFF-4.5.lib - optimized ITKPolynomials-4.5.lib - debug ITKBioCell-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOCSV-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformBase-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKQuadEdgeMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKBioCell-4.5.lib - optimized ITKIOCSV-4.5.lib - optimized ITKIOTransformBase-4.5.lib - optimized ITKQuadEdgeMesh-4.5.lib - debug ITKCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGDCM-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKCommon-4.5.lib - optimized ITKIOGDCM-4.5.lib - optimized ITKIOTransformHDF5-4.5.lib - optimized ITKSpatialObjects-4.5.lib - debug ITKDICOMParser-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug debug ITKIOGE-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformInsightLegacy-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKStatistics-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKDICOMParser-4.5.lib - optimized ITKIOGE-4.5.lib - optimized ITKIOTransformInsightLegacy-4.5.lib - optimized ITKStatistics-4.5.lib - debug itkdouble-conversion-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformMatlab-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itksys-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkdouble-conversion-4.5.lib - optimized ITKIOGIPL-4.5.lib - optimized ITKIOTransformMatlab-4.5.lib - optimized itksys-4.5.lib - debug ITKEXPAT-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKEXPAT-4.5.lib - optimized ITKIOHDF5-4.5.lib - optimized ITKIOVTK-4.5.lib - optimized itktiff-4.5.lib - debug ITKFEM-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOImageBase-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOXML-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKFEM-4.5.lib - optimized ITKIOImageBase-4.5.lib - optimized ITKIOXML-4.5.lib - optimized itkv3p_lsqr-4.5.lib - debug itkgdcmCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmCommon-4.5.lib - optimized ITKIOIPL-4.5.lib - optimized itkjpeg-4.5.lib - optimized itkv3p_netlib-4.5.lib - debug itkgdcmDICT-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOJPEG-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKKLMRegionGrowing-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmDICT-4.5.lib - optimized ITKIOJPEG-4.5.lib - optimized ITKKLMRegionGrowing-4.5.lib - optimized itkvcl-4.5.lib - debug itkgdcmDSED-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOLSM-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKLabelMap-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoCore-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmDSED-4.5.lib - optimized ITKIOLSM-4.5.lib - optimized ITKLabelMap-4.5.lib - optimized ITKVideoCore-4.5.lib - optimized itkgdcmIOD-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKIOMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKVideoIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmIOD-4.5.lib - optimized ITKIOMesh-4.5.lib - optimized ITKMesh-4.5.lib - optimized ITKVideoIO-4.5.lib - debug itkgdcmjpeg12-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMeta-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg12-4.5.lib - optimized ITKIOMeta-4.5.lib - optimized ITKMetaIO-4.5.lib - optimized itkvnl-4.5.lib - debug itkgdcmjpeg16-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMRC-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkNetlibSlatec-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmjpeg16-4.5.lib - optimized ITKIOMRC-4.5.lib - optimized itkNetlibSlatec-4.5.lib - optimized itkvnl_algo-4.5.lib - debug itkgdcmjpeg8-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONIFTI-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVNLInstantiation-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmjpeg8-4.5.lib - optimized ITKIONIFTI-4.5.lib - optimized ITKniftiio-4.5.lib - optimized ITKVNLInstantiation-4.5.lib - debug itkgdcmMSFF-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONRRD-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKNrrdIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkgdcmMSFF-4.5.lib - optimized ITKIONRRD-4.5.lib - optimized ITKNrrdIO-4.5.lib - optimized ITKVTK-4.5.lib - debug ITKgiftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKWatersheds-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKgiftiio-4.5.lib - optimized ITKIOPNG-4.5.lib - optimized itkopenjpeg-4.5.lib - optimized ITKWatersheds-4.5.lib - debug itkhdf5-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSiemens-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizers-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkhdf5-4.5.lib - optimized ITKIOSiemens-4.5.lib - optimized ITKOptimizers-4.5.lib - optimized itkzlib-4.5.lib - debug itkhdf5_cpp-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPath-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz-4.5${CAMITK_DEBUG_POSTFIX}.lib - optimized itkhdf5_cpp-4.5.lib - optimized ITKIOSpatialObjects-4.5.lib - optimized ITKPath-4.5.lib - optimized ITKznz-4.5.lib - debug ITKIOBioRad-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOStimulate-4.5${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.5${CAMITK_DEBUG_POSTFIX}.lib - ) - endif() # MSVC - elseif(MINGW) - message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # Construct list of VTK libraries for linking + foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) + endforeach() + elseif(LINUX) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") elseif(APPLE) - set(ITK_LIBRARIES - ITKBiasCorrection - ITKBioCell - ITKCommon - ITKDICOMParser - ITKEXPAT - ITKFEM - ITKGPUAnisotropicSmoothing - ITKGPUCommon - ITKGPUFiniteDifference - ITKGPUImageFilterBase - ITKGPUPDEDeformable - ITKGPUSmoothing - ITKGPUThresholding - ITKIOBMP - ITKIOBioRad - ITKIOCSV - ITKIOGDCM - ITKIOGE - ITKIOGIPL - ITKIOHDF5 - ITKIOIPL - ITKIOImageBase - ITKIOJPEG - ITKIOLSM - ITKIOMesh - ITKIOMeta - ITKIONIFTI - ITKIONRRD - ITKIOPNG - ITKIOSiemens - ITKIOSpatialObjects - ITKIOStimulate - ITKIOTIFF - ITKIOTransformBase - ITKIOTransformHDF5 - ITKIOTransformInsightLegacy - ITKIOTransformMatlab - ITKIOVTK - ITKIOXML - ITKKLMRegionGrowing - ITKLabelMap - ITKMesh - ITKMetaIO - ITKNrrdIO - ITKOptimizers - ITKOptimizersv4 - ITKPath - ITKPolynomials - ITKQuadEdgeMesh - ITKReview - ITKSpatialObjects - ITKStatistics - ITKVNLInstantiation - ITKVTK - ITKVideoCore - ITKVideoIO - ITKWatersheds - ITKgiftiio - ITKniftiio - ITKznz - itkNetlibSlatec - itkdouble-conversion - itkhdf5 - itkhdf5_cpp - itkjpeg - itkopenjpeg - itkpng - itksys - itktiff - itkv3p_lsqr - itkv3p_netlib - itkvcl - itkvnl - itkvnl_algo - itkzlib - ) - else() #Linux - # ITK_LIBRARIES is already set + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() - - # ITK version > 4.6 (mostly ITK 5.x) - else() - message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") endif() endif() - endif() #NEEDS ITK + endif() + + # # Now select the ITK libraries according to the ITK version found. + # # ITK 3.x.x (mostly 3.20.1) + # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # set(ITK_LIBRARIES + # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKAlgorithms + # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKBasicFilters + # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKCommon + # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKIO + # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # ) + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") + # endif() + # elseif(MINGW) + # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") + # else() #APPLE OR UNIX + # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) + # endif() + + # # ITK 4.x.x (mostly 4.3.2) + # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version >= 4.4.x") + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # # Debug libraries + # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib + # # Release librariesdebug + # optimized ITKCommon-4.3.lib + # optimized ITKNrrdIO-4.3.lib + # optimized itkgdcmCommon-4.3.lib + # optimized itkjpeg-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized itkpng-4.3.lib + # optimized itktiff-4.3.lib + # optimized ITKSpatialObjects-4.3.lib + # optimized itkvnl_algo-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvnl-4.3.lib + # optimized itkvcl-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itksys-4.3.lib + # optimized ITKDICOMParser-4.3.lib + # optimized ITKEXPAT-4.3.lib + # optimized ITKniftiio-4.3.lib + # optimized ITKznz-4.3.lib + # optimized itkzlib-4.3.lib + # optimized snmpapi.lib + # optimized rpcrt4.lib + # optimized ws2_32.lib + # optimized comctl32.lib + # optimized wsock32.lib + # optimized opengl32.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIONIFTI-4.3.lib + # optimized ITKIONRRD-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized itkgdcmDICT-4.3.lib + # optimized itkgdcmDSED-4.3.lib + # optimized itkgdcmIOD-4.3.lib + # optimized itkgdcmjpeg8-4.3.lib + # optimized itkgdcmjpeg12-4.3.lib + # optimized itkgdcmjpeg16-4.3.lib + # optimized itkgdcmMSFF-4.3.lib + # optimized ITKgiftiio-4.3.lib + # optimized itkhdf5_cpp-4.3.lib + # optimized itkhdf5-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized ITKIOBioRad-4.3.lib + # optimized ITKIOStimulate-4.3.lib + # optimized ITKIOTIFF-4.3.lib + # optimized ITKIOVTK-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized ITKBiasCorrection-4.3.lib + # optimized ITKBioCell-4.3.lib + # optimized ITKFEM-4.3.lib + # optimized ITKIOBMP-4.3.lib + # optimized ITKIOCSV-4.3.lib + # optimized ITKIOGDCM-4.3.lib + # optimized ITKIOGE-4.3.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIOHDF5-4.3.lib + # optimized ITKIOImageBase-4.3.lib + # optimized ITKIOIPL-4.3.lib + # optimized ITKIOJPEG-4.3.lib + # optimized ITKIOLSM-4.3.lib + # optimized ITKIOMesh-4.3.lib + # optimized ITKIOMeta-4.3.lib + # optimized ITKIOSiemens-4.3.lib + # optimized ITKIOSpatialObjects-4.3.lib + # optimized ITKIOTransformBase-4.3.lib + # optimized ITKIOTransformHDF5-4.3.lib + # optimized ITKIOTransformInsightLegacy-4.3.lib + # optimized ITKIOTransformMatlab-4.3.lib + # optimized ITKIOXML-4.3.lib + # optimized ITKKLMRegionGrowing-4.3.lib + # optimized ITKLabelMap-4.3.lib + # optimized ITKMesh-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itkNetlibSlatec-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized ITKOptimizers-4.3.lib + # optimized ITKOptimizersv4-4.3.lib + # optimized ITKPath-4.3.lib + # optimized itkpng-4.3.lib + # optimized ITKPolynomials-4.3.lib + # optimized ITKQuadEdgeMesh-4.3.lib + # optimized ITKReview-4.3.lib + # optimized ITKStatistics-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvcl-4.3.lib + # optimized ITKVideoCore-4.3.lib + # optimized ITKVideoIO-4.3.lib + # optimized ITKVTK-4.3.lib + # optimized ITKVNLInstantiation-4.3.lib + # optimized ITKWatersheds-4.3.lib + # ) + # endif() + # elseif(MINGW OR APPLE) + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # ITKCommon-4.3 + # ITKNrrdIO-4.3 + # itkgdcmCommon-4.3 + # itkjpeg-4.3 + # itkopenjpeg-4.3 + # itkpng-4.3 + # itktiff-4.3 + # ITKSpatialObjects-4.3 + # itkvnl_algo-4.3 + # itkv3p_netlib-4.3 + # itkvnl-4.3 + # itkvcl-4.3 + # itkv3p_lsqr-4.3 + # ITKMetaIO-4.3 + # itksys-4.3 + # ITKDICOMParser-4.3 + # ITKEXPAT-4.3 + # ITKniftiio-4.3 + # ITKznz-4.3 + # itkzlib-4.3 + # snmpapi + # rpcrt4 + # ws2_32 + # comctl32 + # wsock32 + # opengl32 + # ITKIOGIPL-4.3 + # ITKIONIFTI-4.3 + # ITKIONRRD-4.3 + # ITKIOPNG-4.3 + # itkgdcmDICT-4.3 + # itkgdcmDSED-4.3 + # itkgdcmIOD-4.3 + # itkgdcmjpeg8-4.3 + # itkgdcmjpeg12-4.3 + # itkgdcmjpeg16-4.3 + # itkgdcmMSFF-4.3 + # ITKgiftiio-4.3 + # itkhdf5_cpp-4.3 + # itkhdf5-4.3 + # ITKMetaIO-4.3 + # ITKIOBioRad-4.3 + # ITKIOStimulate-4.3 + # ITKIOTIFF-4.3 + # ITKIOVTK-4.3 + # ITKIOPNG-4.3 + # ITKBiasCorrection-4.3 + # ITKBioCell-4.3 + # ITKFEM-4.3 + # ITKIOBMP-4.3 + # ITKIOCSV-4.3 + # ITKIOGDCM-4.3 + # ITKIOGE-4.3 + # ITKIOGIPL-4.3 + # ITKIOHDF5-4.3 + # ITKIOImageBase-4.3 + # ITKIOIPL-4.3 + # ITKIOJPEG-4.3 + # ITKIOLSM-4.3 + # ITKIOMesh-4.3 + # ITKIOMeta-4.3 + # ITKIOSiemens-4.3 + # ITKIOSpatialObjects-4.3 + # ITKIOTransformBase-4.3 + # ITKIOTransformHDF5-4.3 + # ITKIOTransformInsightLegacy-4.3 + # ITKIOTransformMatlab-4.3 + # ITKIOXML-4.3 + # ITKKLMRegionGrowing-4.3 + # ITKLabelMap-4.3 + # ITKMesh-4.3 + # ITKMetaIO-4.3 + # itkNetlibSlatec-4.3 + # itkopenjpeg-4.3 + # ITKOptimizers-4.3 + # ITKOptimizersv4-4.3 + # ITKPath-4.3 + # itkpng-4.3 + # ITKPolynomials-4.3 + # ITKQuadEdgeMesh-4.3 + # ITKReview-4.3 + # ITKStatistics-4.3 + # itkv3p_lsqr-4.3 + # itkv3p_netlib-4.3 + # itkvcl-4.3 + # ITKVideoCore-4.3 + # ITKVideoIO-4.3 + # ITKVTK-4.3 + # ITKVNLInstantiation-4.3 + # ITKWatersheds-4.3 + # ) + # else() #Linux + # set(ITK_LIBRARIES ITKCommon-4.3) + # endif() + + # # ITK 4.x.x (mostly 4.5.1) + # elseif((${ITK_VERSION} VERSION_GREATER "4.3.9") AND (${ITK_VERSION} VERSION_LESS "5.0")) + # if(MSVC) + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 3.20.1") + # else() # other VS higher versions + # set(CAMITK_ITK_VERSION "${ITK_VERSION_MAJOR}.${ITK_VERSION_MAJOR}") + # message(WARNING "Nico : Found ITK version ${CAMITK_ITK_VERSION}") + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # optimized TKIOBioRad-4.5.lib + # optimized ITKIOStimulate-4.5.lib + # optimized itkpng-4.5.lib + # debug ITKBiasCorrection-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBMP-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTIFF-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPolynomials-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKBiasCorrection-4.5.lib + # optimized ITKIOBMP-4.5.lib + # optimized ITKIOTIFF-4.5.lib + # optimized ITKPolynomials-4.5.lib + # debug ITKBioCell-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOCSV-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformBase-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKQuadEdgeMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKBioCell-4.5.lib + # optimized ITKIOCSV-4.5.lib + # optimized ITKIOTransformBase-4.5.lib + # optimized ITKQuadEdgeMesh-4.5.lib + # debug ITKCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGDCM-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKCommon-4.5.lib + # optimized ITKIOGDCM-4.5.lib + # optimized ITKIOTransformHDF5-4.5.lib + # optimized ITKSpatialObjects-4.5.lib + # debug ITKDICOMParser-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug debug ITKIOGE-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformInsightLegacy-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKStatistics-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKDICOMParser-4.5.lib + # optimized ITKIOGE-4.5.lib + # optimized ITKIOTransformInsightLegacy-4.5.lib + # optimized ITKStatistics-4.5.lib + # debug itkdouble-conversion-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformMatlab-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkdouble-conversion-4.5.lib + # optimized ITKIOGIPL-4.5.lib + # optimized ITKIOTransformMatlab-4.5.lib + # optimized itksys-4.5.lib + # debug ITKEXPAT-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKEXPAT-4.5.lib + # optimized ITKIOHDF5-4.5.lib + # optimized ITKIOVTK-4.5.lib + # optimized itktiff-4.5.lib + # debug ITKFEM-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOImageBase-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOXML-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKFEM-4.5.lib + # optimized ITKIOImageBase-4.5.lib + # optimized ITKIOXML-4.5.lib + # optimized itkv3p_lsqr-4.5.lib + # debug itkgdcmCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmCommon-4.5.lib + # optimized ITKIOIPL-4.5.lib + # optimized itkjpeg-4.5.lib + # optimized itkv3p_netlib-4.5.lib + # debug itkgdcmDICT-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOJPEG-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKKLMRegionGrowing-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmDICT-4.5.lib + # optimized ITKIOJPEG-4.5.lib + # optimized ITKKLMRegionGrowing-4.5.lib + # optimized itkvcl-4.5.lib + # debug itkgdcmDSED-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOLSM-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKLabelMap-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoCore-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmDSED-4.5.lib + # optimized ITKIOLSM-4.5.lib + # optimized ITKLabelMap-4.5.lib + # optimized ITKVideoCore-4.5.lib + # optimized itkgdcmIOD-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKIOMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKVideoIO-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmIOD-4.5.lib + # optimized ITKIOMesh-4.5.lib + # optimized ITKMesh-4.5.lib + # optimized ITKVideoIO-4.5.lib + # debug itkgdcmjpeg12-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMeta-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg12-4.5.lib + # optimized ITKIOMeta-4.5.lib + # optimized ITKMetaIO-4.5.lib + # optimized itkvnl-4.5.lib + # debug itkgdcmjpeg16-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMRC-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkNetlibSlatec-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmjpeg16-4.5.lib + # optimized ITKIOMRC-4.5.lib + # optimized itkNetlibSlatec-4.5.lib + # optimized itkvnl_algo-4.5.lib + # debug itkgdcmjpeg8-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONIFTI-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVNLInstantiation-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmjpeg8-4.5.lib + # optimized ITKIONIFTI-4.5.lib + # optimized ITKniftiio-4.5.lib + # optimized ITKVNLInstantiation-4.5.lib + # debug itkgdcmMSFF-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONRRD-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKNrrdIO-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkgdcmMSFF-4.5.lib + # optimized ITKIONRRD-4.5.lib + # optimized ITKNrrdIO-4.5.lib + # optimized ITKVTK-4.5.lib + # debug ITKgiftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKWatersheds-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKgiftiio-4.5.lib + # optimized ITKIOPNG-4.5.lib + # optimized itkopenjpeg-4.5.lib + # optimized ITKWatersheds-4.5.lib + # debug itkhdf5-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSiemens-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizers-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkhdf5-4.5.lib + # optimized ITKIOSiemens-4.5.lib + # optimized ITKOptimizers-4.5.lib + # optimized itkzlib-4.5.lib + # debug itkhdf5_cpp-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPath-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz-4.5${CAMITK_DEBUG_POSTFIX}.lib + # optimized itkhdf5_cpp-4.5.lib + # optimized ITKIOSpatialObjects-4.5.lib + # optimized ITKPath-4.5.lib + # optimized ITKznz-4.5.lib + # debug ITKIOBioRad-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOStimulate-4.5${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.5${CAMITK_DEBUG_POSTFIX}.lib + # ) + # endif() # MSVC + # elseif(MINGW) + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # elseif(APPLE) + # set(ITK_LIBRARIES + # ITKBiasCorrection + # ITKBioCell + # ITKCommon + # ITKDICOMParser + # ITKEXPAT + # ITKFEM + # ITKGPUAnisotropicSmoothing + # ITKGPUCommon + # ITKGPUFiniteDifference + # ITKGPUImageFilterBase + # ITKGPUPDEDeformable + # ITKGPUSmoothing + # ITKGPUThresholding + # ITKIOBMP + # ITKIOBioRad + # ITKIOCSV + # ITKIOGDCM + # ITKIOGE + # ITKIOGIPL + # ITKIOHDF5 + # ITKIOIPL + # ITKIOImageBase + # ITKIOJPEG + # ITKIOLSM + # ITKIOMesh + # ITKIOMeta + # ITKIONIFTI + # ITKIONRRD + # ITKIOPNG + # ITKIOSiemens + # ITKIOSpatialObjects + # ITKIOStimulate + # ITKIOTIFF + # ITKIOTransformBase + # ITKIOTransformHDF5 + # ITKIOTransformInsightLegacy + # ITKIOTransformMatlab + # ITKIOVTK + # ITKIOXML + # ITKKLMRegionGrowing + # ITKLabelMap + # ITKMesh + # ITKMetaIO + # ITKNrrdIO + # ITKOptimizers + # ITKOptimizersv4 + # ITKPath + # ITKPolynomials + # ITKQuadEdgeMesh + # ITKReview + # ITKSpatialObjects + # ITKStatistics + # ITKVNLInstantiation + # ITKVTK + # ITKVideoCore + # ITKVideoIO + # ITKWatersheds + # ITKgiftiio + # ITKniftiio + # ITKznz + # itkNetlibSlatec + # itkdouble-conversion + # itkhdf5 + # itkhdf5_cpp + # itkjpeg + # itkopenjpeg + # itkpng + # itksys + # itktiff + # itkv3p_lsqr + # itkv3p_netlib + # itkvcl + # itkvnl + # itkvnl_algo + # itkzlib + # ) + # else() #Linux + # # ITK_LIBRARIES is already set + # endif() + + # # ITK version > 4.6 (mostly ITK 5.x) + # else() + # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") + # endif() + # endif() + # endif() #NEEDS ITK # LIBXML2 set(LIBXML2_LIBRARY "") diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index a7ec5b97..0ac9258b 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -179,443 +179,458 @@ macro(camitk_library) include(${ITK_USE_FILE}) set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set message(STATUS "${${DEFAULT_LIBRARY_NAME_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - - # Now select the ITK libraries according to the ITK version found. - # ITK 3.x.x (mostly 3.20.1) - if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - set(ITK_LIBRARIES - debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKAlgorithms - debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKBasicFilters - debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKCommon - debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - optimized ITKIO - debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - debug itksys${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - ) - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - endif() - elseif(MINGW) - message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - else() #APPLE OR UNIX - set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - endif() - - # ITK 4.3.x (mostly 4.3.2) - elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - if (MSVC) # Visual Studio compilers - if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") - elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - # Debug libraries - debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug snmpapi.lib - debug rpcrt4.lib - debug ws2_32.lib - debug comctl32.lib - debug wsock32.lib - debug opengl32.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # Release librariesdebug - optimized ITKCommon-4.3.lib - optimized ITKNrrdIO-4.3.lib - optimized itkgdcmCommon-4.3.lib - optimized itkjpeg-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized itkpng-4.3.lib - optimized itktiff-4.3.lib - optimized ITKSpatialObjects-4.3.lib - optimized itkvnl_algo-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvnl-4.3.lib - optimized itkvcl-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itksys-4.3.lib - optimized ITKDICOMParser-4.3.lib - optimized ITKEXPAT-4.3.lib - optimized ITKniftiio-4.3.lib - optimized ITKznz-4.3.lib - optimized itkzlib-4.3.lib - optimized snmpapi.lib - optimized rpcrt4.lib - optimized ws2_32.lib - optimized comctl32.lib - optimized wsock32.lib - optimized opengl32.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIONIFTI-4.3.lib - optimized ITKIONRRD-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized itkgdcmDICT-4.3.lib - optimized itkgdcmDSED-4.3.lib - optimized itkgdcmIOD-4.3.lib - optimized itkgdcmjpeg8-4.3.lib - optimized itkgdcmjpeg12-4.3.lib - optimized itkgdcmjpeg16-4.3.lib - optimized itkgdcmMSFF-4.3.lib - optimized ITKgiftiio-4.3.lib - optimized itkhdf5_cpp-4.3.lib - optimized itkhdf5-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized ITKIOBioRad-4.3.lib - optimized ITKIOStimulate-4.3.lib - optimized ITKIOTIFF-4.3.lib - optimized ITKIOVTK-4.3.lib - optimized ITKIOPNG-4.3.lib - optimized ITKBiasCorrection-4.3.lib - optimized ITKBioCell-4.3.lib - optimized ITKFEM-4.3.lib - optimized ITKIOBMP-4.3.lib - optimized ITKIOCSV-4.3.lib - optimized ITKIOGDCM-4.3.lib - optimized ITKIOGE-4.3.lib - optimized ITKIOGIPL-4.3.lib - optimized ITKIOHDF5-4.3.lib - optimized ITKIOImageBase-4.3.lib - optimized ITKIOIPL-4.3.lib - optimized ITKIOJPEG-4.3.lib - optimized ITKIOLSM-4.3.lib - optimized ITKIOMesh-4.3.lib - optimized ITKIOMeta-4.3.lib - optimized ITKIOSiemens-4.3.lib - optimized ITKIOSpatialObjects-4.3.lib - optimized ITKIOTransformBase-4.3.lib - optimized ITKIOTransformHDF5-4.3.lib - optimized ITKIOTransformInsightLegacy-4.3.lib - optimized ITKIOTransformMatlab-4.3.lib - optimized ITKIOXML-4.3.lib - optimized ITKKLMRegionGrowing-4.3.lib - optimized ITKLabelMap-4.3.lib - optimized ITKMesh-4.3.lib - optimized ITKMetaIO-4.3.lib - optimized itkNetlibSlatec-4.3.lib - optimized itkopenjpeg-4.3.lib - optimized ITKOptimizers-4.3.lib - optimized ITKOptimizersv4-4.3.lib - optimized ITKPath-4.3.lib - optimized itkpng-4.3.lib - optimized ITKPolynomials-4.3.lib - optimized ITKQuadEdgeMesh-4.3.lib - optimized ITKReview-4.3.lib - optimized ITKStatistics-4.3.lib - optimized itkv3p_lsqr-4.3.lib - optimized itkv3p_netlib-4.3.lib - optimized itkvcl-4.3.lib - optimized ITKVideoCore-4.3.lib - optimized ITKVideoIO-4.3.lib - optimized ITKVTK-4.3.lib - optimized ITKVNLInstantiation-4.3.lib - optimized ITKWatersheds-4.3.lib - ) + + if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. + if(MSVC) + # Construct list of VTK libraries for linking + foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) + endforeach() + elseif(LINUX) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") + elseif(APPLE) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() - elseif(MINGW OR APPLE) - link_directories(${ITK_DIR}/../..) - set(ITK_LIBRARIES - ITKCommon-4.3 - ITKNrrdIO-4.3 - itkgdcmCommon-4.3 - itkjpeg-4.3 - itkopenjpeg-4.3 - itkpng-4.3 - itktiff-4.3 - ITKSpatialObjects-4.3 - itkvnl_algo-4.3 - itkv3p_netlib-4.3 - itkvnl-4.3 - itkvcl-4.3 - itkv3p_lsqr-4.3 - ITKMetaIO-4.3 - itksys-4.3 - ITKDICOMParser-4.3 - ITKEXPAT-4.3 - ITKniftiio-4.3 - ITKznz-4.3 - itkzlib-4.3 - snmpapi - rpcrt4 - ws2_32 - comctl32 - wsock32 - opengl32 - ITKIOGIPL-4.3 - ITKIONIFTI-4.3 - ITKIONRRD-4.3 - ITKIOPNG-4.3 - itkgdcmDICT-4.3 - itkgdcmDSED-4.3 - itkgdcmIOD-4.3 - itkgdcmjpeg8-4.3 - itkgdcmjpeg12-4.3 - itkgdcmjpeg16-4.3 - itkgdcmMSFF-4.3 - ITKgiftiio-4.3 - itkhdf5_cpp-4.3 - itkhdf5-4.3 - ITKMetaIO-4.3 - ITKIOBioRad-4.3 - ITKIOStimulate-4.3 - ITKIOTIFF-4.3 - ITKIOVTK-4.3 - ITKIOPNG-4.3 - ITKBiasCorrection-4.3 - ITKBioCell-4.3 - ITKFEM-4.3 - ITKIOBMP-4.3 - ITKIOCSV-4.3 - ITKIOGDCM-4.3 - ITKIOGE-4.3 - ITKIOGIPL-4.3 - ITKIOHDF5-4.3 - ITKIOImageBase-4.3 - ITKIOIPL-4.3 - ITKIOJPEG-4.3 - ITKIOLSM-4.3 - ITKIOMesh-4.3 - ITKIOMeta-4.3 - ITKIOSiemens-4.3 - ITKIOSpatialObjects-4.3 - ITKIOTransformBase-4.3 - ITKIOTransformHDF5-4.3 - ITKIOTransformInsightLegacy-4.3 - ITKIOTransformMatlab-4.3 - ITKIOXML-4.3 - ITKKLMRegionGrowing-4.3 - ITKLabelMap-4.3 - ITKMesh-4.3 - ITKMetaIO-4.3 - itkNetlibSlatec-4.3 - itkopenjpeg-4.3 - ITKOptimizers-4.3 - ITKOptimizersv4-4.3 - ITKPath-4.3 - itkpng-4.3 - ITKPolynomials-4.3 - ITKQuadEdgeMesh-4.3 - ITKReview-4.3 - ITKStatistics-4.3 - itkv3p_lsqr-4.3 - itkv3p_netlib-4.3 - itkvcl-4.3 - ITKVideoCore-4.3 - ITKVideoIO-4.3 - ITKVTK-4.3 - ITKVNLInstantiation-4.3 - ITKWatersheds-4.3 - ) - else() #Linux - set(ITK_LIBRARIES ITKCommon-4.3) endif() - - # ITK 4.5.x (mostly 4.5.1) - elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) - if(MSVC) - message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - elseif(MINGW) - message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - elseif(APPLE) - set(ITK_LIBRARIES - ITKBiasCorrection - ITKBioCell - ITKCommon - ITKDICOMParser - ITKEXPAT - ITKFEM - ITKGPUAnisotropicSmoothing - ITKGPUCommon - ITKGPUFiniteDifference - ITKGPUImageFilterBase - ITKGPUPDEDeformable - ITKGPUSmoothing - ITKGPUThresholding - ITKIOBMP - ITKIOBioRad - ITKIOCSV - ITKIOGDCM - ITKIOGE - ITKIOGIPL - ITKIOHDF5 - ITKIOIPL - ITKIOImageBase - ITKIOJPEG - ITKIOLSM - ITKIOMesh - ITKIOMeta - ITKIONIFTI - ITKIONRRD - ITKIOPNG - ITKIOSiemens - ITKIOSpatialObjects - ITKIOStimulate - ITKIOTIFF - ITKIOTransformBase - ITKIOTransformHDF5 - ITKIOTransformInsightLegacy - ITKIOTransformMatlab - ITKIOVTK - ITKIOXML - ITKKLMRegionGrowing - ITKLabelMap - ITKMesh - ITKMetaIO - ITKNrrdIO - ITKOptimizers - ITKOptimizersv4 - ITKPath - ITKPolynomials - ITKQuadEdgeMesh - ITKReview - ITKSpatialObjects - ITKStatistics - ITKVNLInstantiation - ITKVTK - ITKVideoCore - ITKVideoIO - ITKWatersheds - ITKgiftiio - ITKniftiio - ITKznz - itkNetlibSlatec - itkdouble-conversion - itkhdf5 - itkhdf5_cpp - itkjpeg - itkopenjpeg - itkpng - itksys - itktiff - itkv3p_lsqr - itkv3p_netlib - itkvcl - itkvnl - itkvnl_algo - itkzlib - ) - else() #Linux - message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") - endif() - - # ITK version > 4.6 (mostly ITK 5.x) - else() - message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") endif() endif() - endif() #NEEDS ITK + + # # Now select the ITK libraries according to the ITK version found. + # # ITK 3.x.x (mostly 3.20.1) + # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # set(ITK_LIBRARIES + # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKAlgorithms + # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKBasicFilters + # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKCommon + # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib + # optimized ITKIO + # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # ) + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") + # endif() + # elseif(MINGW) + # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") + # else() #APPLE OR UNIX + # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) + # endif() + + # # ITK 4.3.x (mostly 4.3.2) + # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) + # if (MSVC) # Visual Studio compilers + # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 + # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") + # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # # Debug libraries + # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug snmpapi.lib + # debug rpcrt4.lib + # debug ws2_32.lib + # debug comctl32.lib + # debug wsock32.lib + # debug opengl32.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib + # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib + # # Release librariesdebug + # optimized ITKCommon-4.3.lib + # optimized ITKNrrdIO-4.3.lib + # optimized itkgdcmCommon-4.3.lib + # optimized itkjpeg-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized itkpng-4.3.lib + # optimized itktiff-4.3.lib + # optimized ITKSpatialObjects-4.3.lib + # optimized itkvnl_algo-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvnl-4.3.lib + # optimized itkvcl-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itksys-4.3.lib + # optimized ITKDICOMParser-4.3.lib + # optimized ITKEXPAT-4.3.lib + # optimized ITKniftiio-4.3.lib + # optimized ITKznz-4.3.lib + # optimized itkzlib-4.3.lib + # optimized snmpapi.lib + # optimized rpcrt4.lib + # optimized ws2_32.lib + # optimized comctl32.lib + # optimized wsock32.lib + # optimized opengl32.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIONIFTI-4.3.lib + # optimized ITKIONRRD-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized itkgdcmDICT-4.3.lib + # optimized itkgdcmDSED-4.3.lib + # optimized itkgdcmIOD-4.3.lib + # optimized itkgdcmjpeg8-4.3.lib + # optimized itkgdcmjpeg12-4.3.lib + # optimized itkgdcmjpeg16-4.3.lib + # optimized itkgdcmMSFF-4.3.lib + # optimized ITKgiftiio-4.3.lib + # optimized itkhdf5_cpp-4.3.lib + # optimized itkhdf5-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized ITKIOBioRad-4.3.lib + # optimized ITKIOStimulate-4.3.lib + # optimized ITKIOTIFF-4.3.lib + # optimized ITKIOVTK-4.3.lib + # optimized ITKIOPNG-4.3.lib + # optimized ITKBiasCorrection-4.3.lib + # optimized ITKBioCell-4.3.lib + # optimized ITKFEM-4.3.lib + # optimized ITKIOBMP-4.3.lib + # optimized ITKIOCSV-4.3.lib + # optimized ITKIOGDCM-4.3.lib + # optimized ITKIOGE-4.3.lib + # optimized ITKIOGIPL-4.3.lib + # optimized ITKIOHDF5-4.3.lib + # optimized ITKIOImageBase-4.3.lib + # optimized ITKIOIPL-4.3.lib + # optimized ITKIOJPEG-4.3.lib + # optimized ITKIOLSM-4.3.lib + # optimized ITKIOMesh-4.3.lib + # optimized ITKIOMeta-4.3.lib + # optimized ITKIOSiemens-4.3.lib + # optimized ITKIOSpatialObjects-4.3.lib + # optimized ITKIOTransformBase-4.3.lib + # optimized ITKIOTransformHDF5-4.3.lib + # optimized ITKIOTransformInsightLegacy-4.3.lib + # optimized ITKIOTransformMatlab-4.3.lib + # optimized ITKIOXML-4.3.lib + # optimized ITKKLMRegionGrowing-4.3.lib + # optimized ITKLabelMap-4.3.lib + # optimized ITKMesh-4.3.lib + # optimized ITKMetaIO-4.3.lib + # optimized itkNetlibSlatec-4.3.lib + # optimized itkopenjpeg-4.3.lib + # optimized ITKOptimizers-4.3.lib + # optimized ITKOptimizersv4-4.3.lib + # optimized ITKPath-4.3.lib + # optimized itkpng-4.3.lib + # optimized ITKPolynomials-4.3.lib + # optimized ITKQuadEdgeMesh-4.3.lib + # optimized ITKReview-4.3.lib + # optimized ITKStatistics-4.3.lib + # optimized itkv3p_lsqr-4.3.lib + # optimized itkv3p_netlib-4.3.lib + # optimized itkvcl-4.3.lib + # optimized ITKVideoCore-4.3.lib + # optimized ITKVideoIO-4.3.lib + # optimized ITKVTK-4.3.lib + # optimized ITKVNLInstantiation-4.3.lib + # optimized ITKWatersheds-4.3.lib + # ) + # endif() + # elseif(MINGW OR APPLE) + # link_directories(${ITK_DIR}/../..) + # set(ITK_LIBRARIES + # ITKCommon-4.3 + # ITKNrrdIO-4.3 + # itkgdcmCommon-4.3 + # itkjpeg-4.3 + # itkopenjpeg-4.3 + # itkpng-4.3 + # itktiff-4.3 + # ITKSpatialObjects-4.3 + # itkvnl_algo-4.3 + # itkv3p_netlib-4.3 + # itkvnl-4.3 + # itkvcl-4.3 + # itkv3p_lsqr-4.3 + # ITKMetaIO-4.3 + # itksys-4.3 + # ITKDICOMParser-4.3 + # ITKEXPAT-4.3 + # ITKniftiio-4.3 + # ITKznz-4.3 + # itkzlib-4.3 + # snmpapi + # rpcrt4 + # ws2_32 + # comctl32 + # wsock32 + # opengl32 + # ITKIOGIPL-4.3 + # ITKIONIFTI-4.3 + # ITKIONRRD-4.3 + # ITKIOPNG-4.3 + # itkgdcmDICT-4.3 + # itkgdcmDSED-4.3 + # itkgdcmIOD-4.3 + # itkgdcmjpeg8-4.3 + # itkgdcmjpeg12-4.3 + # itkgdcmjpeg16-4.3 + # itkgdcmMSFF-4.3 + # ITKgiftiio-4.3 + # itkhdf5_cpp-4.3 + # itkhdf5-4.3 + # ITKMetaIO-4.3 + # ITKIOBioRad-4.3 + # ITKIOStimulate-4.3 + # ITKIOTIFF-4.3 + # ITKIOVTK-4.3 + # ITKIOPNG-4.3 + # ITKBiasCorrection-4.3 + # ITKBioCell-4.3 + # ITKFEM-4.3 + # ITKIOBMP-4.3 + # ITKIOCSV-4.3 + # ITKIOGDCM-4.3 + # ITKIOGE-4.3 + # ITKIOGIPL-4.3 + # ITKIOHDF5-4.3 + # ITKIOImageBase-4.3 + # ITKIOIPL-4.3 + # ITKIOJPEG-4.3 + # ITKIOLSM-4.3 + # ITKIOMesh-4.3 + # ITKIOMeta-4.3 + # ITKIOSiemens-4.3 + # ITKIOSpatialObjects-4.3 + # ITKIOTransformBase-4.3 + # ITKIOTransformHDF5-4.3 + # ITKIOTransformInsightLegacy-4.3 + # ITKIOTransformMatlab-4.3 + # ITKIOXML-4.3 + # ITKKLMRegionGrowing-4.3 + # ITKLabelMap-4.3 + # ITKMesh-4.3 + # ITKMetaIO-4.3 + # itkNetlibSlatec-4.3 + # itkopenjpeg-4.3 + # ITKOptimizers-4.3 + # ITKOptimizersv4-4.3 + # ITKPath-4.3 + # itkpng-4.3 + # ITKPolynomials-4.3 + # ITKQuadEdgeMesh-4.3 + # ITKReview-4.3 + # ITKStatistics-4.3 + # itkv3p_lsqr-4.3 + # itkv3p_netlib-4.3 + # itkvcl-4.3 + # ITKVideoCore-4.3 + # ITKVideoIO-4.3 + # ITKVTK-4.3 + # ITKVNLInstantiation-4.3 + # ITKWatersheds-4.3 + # ) + # else() #Linux + # set(ITK_LIBRARIES ITKCommon-4.3) + # endif() + + # # ITK 4.5.x (mostly 4.5.1) + # elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) + # if(MSVC) + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # elseif(MINGW) + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") + # elseif(APPLE) + # set(ITK_LIBRARIES + # ITKBiasCorrection + # ITKBioCell + # ITKCommon + # ITKDICOMParser + # ITKEXPAT + # ITKFEM + # ITKGPUAnisotropicSmoothing + # ITKGPUCommon + # ITKGPUFiniteDifference + # ITKGPUImageFilterBase + # ITKGPUPDEDeformable + # ITKGPUSmoothing + # ITKGPUThresholding + # ITKIOBMP + # ITKIOBioRad + # ITKIOCSV + # ITKIOGDCM + # ITKIOGE + # ITKIOGIPL + # ITKIOHDF5 + # ITKIOIPL + # ITKIOImageBase + # ITKIOJPEG + # ITKIOLSM + # ITKIOMesh + # ITKIOMeta + # ITKIONIFTI + # ITKIONRRD + # ITKIOPNG + # ITKIOSiemens + # ITKIOSpatialObjects + # ITKIOStimulate + # ITKIOTIFF + # ITKIOTransformBase + # ITKIOTransformHDF5 + # ITKIOTransformInsightLegacy + # ITKIOTransformMatlab + # ITKIOVTK + # ITKIOXML + # ITKKLMRegionGrowing + # ITKLabelMap + # ITKMesh + # ITKMetaIO + # ITKNrrdIO + # ITKOptimizers + # ITKOptimizersv4 + # ITKPath + # ITKPolynomials + # ITKQuadEdgeMesh + # ITKReview + # ITKSpatialObjects + # ITKStatistics + # ITKVNLInstantiation + # ITKVTK + # ITKVideoCore + # ITKVideoIO + # ITKWatersheds + # ITKgiftiio + # ITKniftiio + # ITKznz + # itkNetlibSlatec + # itkdouble-conversion + # itkhdf5 + # itkhdf5_cpp + # itkjpeg + # itkopenjpeg + # itkpng + # itksys + # itktiff + # itkv3p_lsqr + # itkv3p_netlib + # itkvcl + # itkvnl + # itkvnl_algo + # itkzlib + # ) + # else() #Linux + # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") + # endif() + + # # ITK version > 4.6 (mostly ITK 5.x) + # else() + # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") + # endif() + # endif() + # endif() #NEEDS ITK # LIBXML2 set(LIBXML2_LIBRARY "") -- GitLab From 942f6e1dad68c95a1ee24cca80e4c97bd5691e3e Mon Sep 17 00:00:00 2001 From: saubatn Date: Fri, 18 Mar 2016 10:35:18 +0100 Subject: [PATCH 014/356] UPDATED Compilation of CamiTK SDK + Imaging (+ Modeling) ok. --- .../itkfilters/AnisotropicDiffusion.cpp | 2 -- .../actions/itkfilters/CannyEdgeDetection.cpp | 1 - .../itkfilters/ConnectedComponents.cpp | 1 - imaging/actions/itkfilters/Derivative.cpp | 3 +- imaging/actions/itkfilters/GaussianFilter.cpp | 2 -- .../actions/itkfilters/GradientMagnitude.cpp | 1 - .../GradientMagnitudeRecursiveGaussian.cpp | 1 - .../itkfilters/ITKFiltersExtension.cpp | 3 -- .../actions/itkfilters/ITKFiltersExtension.h | 3 +- imaging/actions/itkfilters/Laplacian.cpp | 1 - .../itkfilters/LaplacianRecursiveGaussian.cpp | 1 - .../itkfilters/LaplacianSharpening.cpp | 1 - imaging/actions/itkfilters/MeanFilter.cpp | 1 - imaging/actions/itkfilters/MedianFilter.cpp | 1 - .../itkfilters/MorphologicalOperators.cpp | 8 ----- .../actions/itkfilters/SobelEdgeDetection.cpp | 1 - .../ITKSegmentationExtension.cpp | 3 -- .../ITKSegmentationExtension.h | 3 +- .../itksegmentation/ManualThreshold.cpp | 1 - .../actions/itksegmentation/OtsuFilter.cpp | 1 - .../actions/itksegmentation/RegionGrowing.cpp | 1 - imaging/components/dicom/DicomComponent.cpp | 2 +- .../dicom/DicomComponentExtension.cpp | 3 -- .../dicom/DicomComponentExtension.h | 1 + .../components/itkimage/ItkImageComponent.cpp | 1 - .../itkimage/ItkImageComponentExtension.cpp | 4 --- .../itkimage/ItkImageComponentExtension.h | 3 +- .../macros/camitk/CamiTKApplication.cmake | 12 ++++++-- .../macros/camitk/CamiTKExtension.cmake | 9 ++++-- .../modules/macros/camitk/CamiTKLibrary.cmake | 29 ++++++++++++------- .../image/itkVTKImageToImageFilter.txx | 2 +- 31 files changed, 44 insertions(+), 62 deletions(-) diff --git a/imaging/actions/itkfilters/AnisotropicDiffusion.cpp b/imaging/actions/itkfilters/AnisotropicDiffusion.cpp index 002dcd98..ca3ef405 100644 --- a/imaging/actions/itkfilters/AnisotropicDiffusion.cpp +++ b/imaging/actions/itkfilters/AnisotropicDiffusion.cpp @@ -239,7 +239,6 @@ vtkSmartPointer AnisotropicDiffusion::itkProcessGradientAnisotropi resultImage->GetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); @@ -336,7 +335,6 @@ vtkSmartPointer AnisotropicDiffusion::itkProcessCurvatureAnisotrop resultImage->GetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/CannyEdgeDetection.cpp b/imaging/actions/itkfilters/CannyEdgeDetection.cpp index fc5bfe87..5db7a2dc 100644 --- a/imaging/actions/itkfilters/CannyEdgeDetection.cpp +++ b/imaging/actions/itkfilters/CannyEdgeDetection.cpp @@ -201,7 +201,6 @@ vtkSmartPointer CannyEdgeDetection::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/ConnectedComponents.cpp b/imaging/actions/itkfilters/ConnectedComponents.cpp index 2301dfbb..1439b061 100644 --- a/imaging/actions/itkfilters/ConnectedComponents.cpp +++ b/imaging/actions/itkfilters/ConnectedComponents.cpp @@ -153,7 +153,6 @@ vtkSmartPointer ConnectedComponents::itkProcess(vtkSmartPointerGetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observer->Reset(); observerRelabel->Reset(); diff --git a/imaging/actions/itkfilters/Derivative.cpp b/imaging/actions/itkfilters/Derivative.cpp index 1bad6a65..a834273e 100644 --- a/imaging/actions/itkfilters/Derivative.cpp +++ b/imaging/actions/itkfilters/Derivative.cpp @@ -211,8 +211,7 @@ vtkSmartPointer Derivative::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); - + // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/GaussianFilter.cpp b/imaging/actions/itkfilters/GaussianFilter.cpp index 4127cce5..6e0a36cb 100644 --- a/imaging/actions/itkfilters/GaussianFilter.cpp +++ b/imaging/actions/itkfilters/GaussianFilter.cpp @@ -211,7 +211,6 @@ vtkSmartPointer GaussianFilter::itkProcessStandardGaussian(vtkSmar resultImage->GetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); observerCast->Reset(); observerBlur->Reset(); @@ -320,7 +319,6 @@ vtkSmartPointer GaussianFilter::itkProcessIIRGaussian(vtkSmartPoin resultImage->GetExtent(extent); imageCopy->SetExtent(extent); imageCopy->DeepCopy(resultImage); - imageCopy->Update(); observerX->Reset(); observerY->Reset(); diff --git a/imaging/actions/itkfilters/GradientMagnitude.cpp b/imaging/actions/itkfilters/GradientMagnitude.cpp index fc9601c1..7e739a48 100644 --- a/imaging/actions/itkfilters/GradientMagnitude.cpp +++ b/imaging/actions/itkfilters/GradientMagnitude.cpp @@ -140,7 +140,6 @@ vtkSmartPointer GradientMagnitude::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.cpp b/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.cpp index d9a3742b..147d994e 100644 --- a/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.cpp +++ b/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.cpp @@ -165,7 +165,6 @@ vtkSmartPointer GradientMagnitudeRecursiveGaussian::itkProcess(vtk resultImage->GetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/ITKFiltersExtension.cpp b/imaging/actions/itkfilters/ITKFiltersExtension.cpp index 2f327ab8..e514776c 100644 --- a/imaging/actions/itkfilters/ITKFiltersExtension.cpp +++ b/imaging/actions/itkfilters/ITKFiltersExtension.cpp @@ -40,9 +40,6 @@ #include "ConnectedComponents.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(itkfiltersextension, ITKFiltersExtension); - // --------------- getActions ------------------- void ITKFiltersExtension::init() { registerNewAction(CannyEdgeDetection); diff --git a/imaging/actions/itkfilters/ITKFiltersExtension.h b/imaging/actions/itkfilters/ITKFiltersExtension.h index 8236216c..f72fd60e 100644 --- a/imaging/actions/itkfilters/ITKFiltersExtension.h +++ b/imaging/actions/itkfilters/ITKFiltersExtension.h @@ -37,7 +37,8 @@ **/ class ITKFiltersExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.itkfilters") public: /// the constructor diff --git a/imaging/actions/itkfilters/Laplacian.cpp b/imaging/actions/itkfilters/Laplacian.cpp index 32818826..3cbcab55 100644 --- a/imaging/actions/itkfilters/Laplacian.cpp +++ b/imaging/actions/itkfilters/Laplacian.cpp @@ -186,7 +186,6 @@ vtkSmartPointer Laplacian::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/LaplacianRecursiveGaussian.cpp b/imaging/actions/itkfilters/LaplacianRecursiveGaussian.cpp index cdf4ac40..3be98606 100644 --- a/imaging/actions/itkfilters/LaplacianRecursiveGaussian.cpp +++ b/imaging/actions/itkfilters/LaplacianRecursiveGaussian.cpp @@ -181,7 +181,6 @@ vtkSmartPointer LaplacianRecursiveGaussian::itkProcess(vtkSmartPoi resultImage->GetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/LaplacianSharpening.cpp b/imaging/actions/itkfilters/LaplacianSharpening.cpp index fc0f2c4b..1d5340b9 100644 --- a/imaging/actions/itkfilters/LaplacianSharpening.cpp +++ b/imaging/actions/itkfilters/LaplacianSharpening.cpp @@ -137,7 +137,6 @@ vtkSmartPointer LaplacianSharpening::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/MeanFilter.cpp b/imaging/actions/itkfilters/MeanFilter.cpp index 59e13754..a5717ea5 100644 --- a/imaging/actions/itkfilters/MeanFilter.cpp +++ b/imaging/actions/itkfilters/MeanFilter.cpp @@ -186,7 +186,6 @@ vtkSmartPointer MeanFilter::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/MedianFilter.cpp b/imaging/actions/itkfilters/MedianFilter.cpp index dae41ac7..5237d266 100644 --- a/imaging/actions/itkfilters/MedianFilter.cpp +++ b/imaging/actions/itkfilters/MedianFilter.cpp @@ -189,7 +189,6 @@ vtkSmartPointer MedianFilter::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itkfilters/MorphologicalOperators.cpp b/imaging/actions/itkfilters/MorphologicalOperators.cpp index bc1774c9..706ec80b 100644 --- a/imaging/actions/itkfilters/MorphologicalOperators.cpp +++ b/imaging/actions/itkfilters/MorphologicalOperators.cpp @@ -247,7 +247,6 @@ vtkSmartPointer MorphologicalOperators::binaryErosionFilter(vtkSma resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observer->Reset(); observer = NULL; @@ -313,7 +312,6 @@ vtkSmartPointer MorphologicalOperators::binaryDilationFilter(vtkSm resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observer->Reset(); observer = NULL; @@ -390,7 +388,6 @@ vtkSmartPointer MorphologicalOperators::binaryClosureFilter(vtkSma resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observerErosion->Reset(); observerDilation->Reset(); @@ -471,7 +468,6 @@ vtkSmartPointer MorphologicalOperators::binaryOpeningFilter(vtkSma resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observerErosion->Reset(); observerDilation->Reset(); @@ -541,7 +537,6 @@ vtkSmartPointer MorphologicalOperators::greyLevelErosionFilter(vtk resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observer->Reset(); observer = NULL; @@ -608,7 +603,6 @@ vtkSmartPointer MorphologicalOperators::greyLevelDilationFilter(vt resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observer->Reset(); observer = NULL; @@ -684,7 +678,6 @@ vtkSmartPointer MorphologicalOperators::greyLevelClosureFilter(vtk resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observerErosion->Reset(); observerDilation->Reset(); @@ -763,7 +756,6 @@ vtkSmartPointer MorphologicalOperators::greyLevelOpeningFilter(vtk resultImage->GetExtent(extent); filteredImage->SetExtent(extent); filteredImage->DeepCopy(resultImage); - filteredImage->Update(); observerErosion->Reset(); observerDilation->Reset(); diff --git a/imaging/actions/itkfilters/SobelEdgeDetection.cpp b/imaging/actions/itkfilters/SobelEdgeDetection.cpp index cf9242f3..3a018230 100644 --- a/imaging/actions/itkfilters/SobelEdgeDetection.cpp +++ b/imaging/actions/itkfilters/SobelEdgeDetection.cpp @@ -182,7 +182,6 @@ vtkSmartPointer SobelEdgeDetection::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itksegmentation/ITKSegmentationExtension.cpp b/imaging/actions/itksegmentation/ITKSegmentationExtension.cpp index 5a30751d..87bd7716 100644 --- a/imaging/actions/itksegmentation/ITKSegmentationExtension.cpp +++ b/imaging/actions/itksegmentation/ITKSegmentationExtension.cpp @@ -30,9 +30,6 @@ #include "ManualThreshold.h" #include "RegionGrowing.h" -// --------------- declare the extension ------------------- -Q_EXPORT_PLUGIN2(itksegmentationextension, ITKSegmentationExtension); - // --------------- getActions ------------------- void ITKSegmentationExtension::init() { registerNewAction(OtsuFilter); diff --git a/imaging/actions/itksegmentation/ITKSegmentationExtension.h b/imaging/actions/itksegmentation/ITKSegmentationExtension.h index 215effb0..822ba2bb 100644 --- a/imaging/actions/itksegmentation/ITKSegmentationExtension.h +++ b/imaging/actions/itksegmentation/ITKSegmentationExtension.h @@ -37,7 +37,8 @@ **/ class ITKSegmentationExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.itksegmentation") public: /// the constructor diff --git a/imaging/actions/itksegmentation/ManualThreshold.cpp b/imaging/actions/itksegmentation/ManualThreshold.cpp index 3e8e7be3..f6c77bc2 100644 --- a/imaging/actions/itksegmentation/ManualThreshold.cpp +++ b/imaging/actions/itksegmentation/ManualThreshold.cpp @@ -162,7 +162,6 @@ vtkSmartPointer ManualThreshold::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itksegmentation/OtsuFilter.cpp b/imaging/actions/itksegmentation/OtsuFilter.cpp index 313447b3..282b712d 100644 --- a/imaging/actions/itksegmentation/OtsuFilter.cpp +++ b/imaging/actions/itksegmentation/OtsuFilter.cpp @@ -328,7 +328,6 @@ vtkSmartPointer OtsuFilter::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); // Set CamiTK progress bar back to zero (the processing filter is over) observer->Reset(); diff --git a/imaging/actions/itksegmentation/RegionGrowing.cpp b/imaging/actions/itksegmentation/RegionGrowing.cpp index 37c80cda..a4de2a2d 100644 --- a/imaging/actions/itksegmentation/RegionGrowing.cpp +++ b/imaging/actions/itksegmentation/RegionGrowing.cpp @@ -243,7 +243,6 @@ vtkSmartPointer RegionGrowing::itkProcess(vtkSmartPointerGetExtent(extent); result->SetExtent(extent); result->DeepCopy(resultImage); - result->Update(); return result; } diff --git a/imaging/components/dicom/DicomComponent.cpp b/imaging/components/dicom/DicomComponent.cpp index e8436778..8c20b144 100644 --- a/imaging/components/dicom/DicomComponent.cpp +++ b/imaging/components/dicom/DicomComponent.cpp @@ -110,7 +110,7 @@ DicomComponent::DicomComponent(DicomSerie* dicomSerie) throw(AbortException) : I // Update Z Spacing using a VTK pipeline vtkSmartPointer imageInfoChanger = vtkSmartPointer::New(); - imageInfoChanger->SetInput(rawData); //translatedData); + imageInfoChanger->SetInputData(rawData); //translatedData); /// DEBUG // std::cout << "spacing found = (" << spacing[0] << ", " << spacing[1] << ", " << zSpacing << ")" << std::endl; diff --git a/imaging/components/dicom/DicomComponentExtension.cpp b/imaging/components/dicom/DicomComponentExtension.cpp index 15757918..4241f03f 100644 --- a/imaging/components/dicom/DicomComponentExtension.cpp +++ b/imaging/components/dicom/DicomComponentExtension.cpp @@ -43,9 +43,6 @@ using namespace camitk; -// --------------- Extension Declaration ------------------- -Q_EXPORT_PLUGIN2(dicomcomponentextension, DicomComponentExtension) - // --------------- GetFileExtensions ------------------- QStringList DicomComponentExtension::getFileExtensions() const { QStringList ext; diff --git a/imaging/components/dicom/DicomComponentExtension.h b/imaging/components/dicom/DicomComponentExtension.h index 0a7bcea9..55e7ee5b 100644 --- a/imaging/components/dicom/DicomComponentExtension.h +++ b/imaging/components/dicom/DicomComponentExtension.h @@ -52,6 +52,7 @@ class DicomDialogEntry; class DicomComponentExtension : public camitk::ComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.dicom") public: /// Constructor diff --git a/imaging/components/itkimage/ItkImageComponent.cpp b/imaging/components/itkimage/ItkImageComponent.cpp index df91e69f..9b5bd28f 100644 --- a/imaging/components/itkimage/ItkImageComponent.cpp +++ b/imaging/components/itkimage/ItkImageComponent.cpp @@ -112,7 +112,6 @@ vtkSmartPointer ItkImageComponent::readVolume(const QString& filen newImage->DeepCopy(oldPointer); // set the original slices. Other orientation are build when/if required only. - newImage->Update(); } catch ( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; diff --git a/imaging/components/itkimage/ItkImageComponentExtension.cpp b/imaging/components/itkimage/ItkImageComponentExtension.cpp index 52605557..ad2cfac0 100644 --- a/imaging/components/itkimage/ItkImageComponentExtension.cpp +++ b/imaging/components/itkimage/ItkImageComponentExtension.cpp @@ -34,10 +34,6 @@ using namespace camitk; //-- Qt #include - -// --------------- declare the plugin ------------------- -Q_EXPORT_PLUGIN2(itkimage, ItkImageComponentExtension); - // --------------- getName ------------------- QString ItkImageComponentExtension::getName() const { return "ItkImages Component"; diff --git a/imaging/components/itkimage/ItkImageComponentExtension.h b/imaging/components/itkimage/ItkImageComponentExtension.h index c4805af3..18c2d13b 100644 --- a/imaging/components/itkimage/ItkImageComponentExtension.h +++ b/imaging/components/itkimage/ItkImageComponentExtension.h @@ -38,7 +38,8 @@ */ class ItkImageComponentExtension : public camitk::ImageComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.itkimage") public: /// the constructor (do nothing really) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index af0c898d..9ea8b4e1 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -203,11 +203,15 @@ macro(camitk_application) set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set message(STATUS "${APPLICATION_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) - # Construct list of VTK libraries for linking + set(ITK_DIR ${ITK_DIR}/../..) + # Construct list of ITK libraries for linking foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) + set(ITK_LIBRARY itk${ITK_LIBRARY}) + endif() set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) endforeach() elseif(LINUX) @@ -218,6 +222,8 @@ macro(camitk_application) endif() endif() endif() + + # message(WARNING "Nico CAMITK_ITK_LIBRARIES = ${CAMITK_ITK_LIBRARIES}") # # Now select the ITK libraries according to the ITK version found. # # ITK 3.x.x (mostly 3.20.1) @@ -897,7 +903,7 @@ macro(camitk_application) ######################################################################### # LINKING LIBRARIES # Nico : has removed ${QT_MODULES_LIBRARIES} - target_link_libraries(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${XERCESC_LIBRARY} ${ITK_LIBRARIES} ${PYTHON_LIBRARIES} ${EXTERNAL_LIBRARIES}) + target_link_libraries(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${XERCESC_LIBRARY} ${CAMITK_ITK_LIBRARIES} ${PYTHON_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 538e12d2..17994256 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -217,8 +217,13 @@ macro(camitk_extension) if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) - # Construct list of VTK libraries for linking + set(ITK_DIR ${ITK_DIR}/../..) + # Construct list of ITK libraries for linking foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) + set(ITK_LIBRARY itk${ITK_LIBRARY}) + endif() set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) endforeach() elseif(LINUX) @@ -1160,7 +1165,7 @@ macro(camitk_extension) ######################################################################### # LINKING LIBRARIES # Any component or action has to be linked with ${CAMITK_CORE_LIBRARIES} and with all its dependencies - target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES}) + target_link_libraries(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${CAMITK_ITK_LIBRARIES} ${LIBXML2_LIBRARY} ${OpenCV_LIBRARIES} ${IGSTK_LIBRARIES} ${XERCESC_LIBRARIES} ${GDCM_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 0ac9258b..e2e5fad1 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -181,19 +181,26 @@ macro(camitk_library) message(STATUS "${${DEFAULT_LIBRARY_NAME_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. - if(MSVC) - # Construct list of VTK libraries for linking - foreach(ITK_LIBRARY ${ITK_LIBRARIES}) - set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) - endforeach() - elseif(LINUX) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") - elseif(APPLE) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") - endif() + if(MSVC) + set(ITK_DIR ${ITK_DIR}/../..) + # Construct list of ITK libraries for linking + foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) + set(ITK_LIBRARY itk${ITK_LIBRARY}) + endif() + set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) + endforeach() + elseif(LINUX) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") + elseif(APPLE) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() endif() endif() + endif() + + # # Now select the ITK libraries according to the ITK version found. # # ITK 3.x.x (mostly 3.20.1) @@ -823,7 +830,7 @@ macro(camitk_library) # # ######################################################################### # LINKING LIBRARIES - target_link_libraries(${LIBRARY_TARGET_NAME} ${CEP_LIBRARIES} ${LINKER_EXTERNAL_LIBRARIES} ${LIBXML2_LIBRARY} ${ITK_LIBRARIES} ${XERCESC_LIBRARIES}) + target_link_libraries(${LIBRARY_TARGET_NAME} ${CEP_LIBRARIES} ${LINKER_EXTERNAL_LIBRARIES} ${LIBXML2_LIBRARY} ${CAMITK_ITK_LIBRARIES} ${XERCESC_LIBRARIES}) diff --git a/sdk/libraries/core/component/image/itkVTKImageToImageFilter.txx b/sdk/libraries/core/component/image/itkVTKImageToImageFilter.txx index c40ec91d..97481589 100644 --- a/sdk/libraries/core/component/image/itkVTKImageToImageFilter.txx +++ b/sdk/libraries/core/component/image/itkVTKImageToImageFilter.txx @@ -82,7 +82,7 @@ VTKImageToImageFilter // Artificially cut the pipeline... vtkSmartPointer inputBis = vtkSmartPointer::New(); inputBis->ShallowCopy(inputImage); - m_Exporter->SetInput( inputBis ); + m_Exporter->SetInputData( inputBis ); } -- GitLab From 3d9807a8f28a526ae4477f7f659dfaa174c7a008 Mon Sep 17 00:00:00 2001 From: camitk Date: Mon, 21 Mar 2016 16:28:49 +0100 Subject: [PATCH 015/356] UPDATED Configuration & compilation & runtime of CamiTK SDK + Imaging + Modeling ok. NOTE Compilation requires user compiled ITK version 4.x and GDMC 2.6.3 (from Nicolas' sources). Actual GDCM source code on sourceforge does not compile with VTK6 (even if it says so). NOTE Known errors at runtime : DICOM not openable (directory is seen as a component extension ...). Bug on Windows and Linux : Volumic image are not visible (but present in memory). Should comes from a broken VTK pipeline. --- CMakeLists.txt | 4 ++++ .../MMLMonitorDisplays/Tabular.cpp | 2 +- sdk/cmake/modules/CamiTKConfig.cmake.in | 21 +++++++------------ .../macros/camitk/CamiTKExtension.cmake | 13 +++++++++--- sdk/components/stl/StlExtension.h | 4 ++-- sdk/libraries/core/component/Component.h | 2 +- sdk/libraries/core/component/InterfaceNode.h | 2 +- .../core/component/mesh/MeshComponent.h | 2 +- 8 files changed, 27 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fc4094a1..ed87ccb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,10 @@ set(CAMITK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) include(camitk/packaging/CamiTKOpenSourcePackaging) camitk_opensource_packaging() +# Nico : test C++11 +# Maybev not the best place to put it +# set(CMAKE_CXX_FLAGS "-std=c++11") + # Specific to SDK: first compile the SDK (it looks like a CEP but is sooooo special...) add_subdirectory(sdk) diff --git a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp index 5fd250f5..e74ba46e 100644 --- a/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp +++ b/modeling/components/mmlcomponent/MMLMonitorDisplays/Tabular.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include bool tabularRegistered=MMLMonitorDisplayFactory::getInstance()->registerClass("Tabular"); diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 95a1fbd9..8e81b3f3 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -164,29 +164,22 @@ if(MSVC) debug qtpropertybrowser${CAMITK_DEBUG_POSTFIX}.lib optimized qtpropertybrowser ) else() - # Name of the core library to link against - set(CAMITK_CORE_LIBRARIES ${CAMITK_CORE_LIB_NAME}) + # Name of the core library to link against + set(CAMITK_CORE_LIBRARIES ${CAMITK_CORE_LIB_NAME}) + + # if(CMAKE_GENERATOR MATCHES "MinGW Makefiles") # Win32 running with MinGW # list of all core dependencies set(CAMITK_LIBRARIES - vtkCommon - vtkFiltering - vtkGenericFiltering - vtkGraphics - vtkHybrid - vtkImaging - vtkIO - vtkRendering - vtkVolumeRendering - vtkftgl - vtkWidgets - vtkCharts + ${VTK_LIBRARIES} # QVTK qtpropertybrowser ) endif() +# message( WARNING "Nico VTK_LIBRARIES=${VTK_LIBRARIES}") + mark_as_advanced (CAMITK_CORE_LIB CAMITK_LINK_DIRECTORIES CAMITK_INCLUDE_DIRECTORIES CAMITK_LIBRARIES) # additional unix system resources diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 17994256..e6ffda7f 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -215,7 +215,7 @@ macro(camitk_extension) set(CAMITK_ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}) message(STATUS "${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. + if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) set(ITK_DIR ${ITK_DIR}/../..) # Construct list of ITK libraries for linking @@ -226,15 +226,22 @@ macro(camitk_extension) endif() set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) endforeach() - elseif(LINUX) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") + elseif(UNIX) + set(CAMITK_ITK_LIBRARIES ${ITK_LIBRARIES}) +# message(WARNING "Nico : ITK_LIBRARIES = ${ITK_LIBRARIES}") elseif(APPLE) message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() + else() + message(FATAL_ERROR "Wrong version of ITK : ${ITK_VERSION}. Required is at least 4.x to 4.9") endif() + else() + message(FATAL_ERROR "ITK not found but required for ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME}") endif() endif() + + # # Now select the ITK libraries according to the ITK version found. # # ITK 3.x.x (mostly 3.20.1) # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) diff --git a/sdk/components/stl/StlExtension.h b/sdk/components/stl/StlExtension.h index 477e6419..698ac2c7 100644 --- a/sdk/components/stl/StlExtension.h +++ b/sdk/components/stl/StlExtension.h @@ -43,7 +43,7 @@ class StlExtension : public camitk::ComponentExtension { public: /// Constructor - StlExtension() : ComponentExtension() {}; + StlExtension() : ComponentExtension() {} /// Method returning the component extension name virtual QString getName() const; @@ -69,7 +69,7 @@ public: protected: /// Destructor - virtual ~StlExtension() {}; + virtual ~StlExtension() {} }; diff --git a/sdk/libraries/core/component/Component.h b/sdk/libraries/core/component/Component.h index 8d9dcb3b..e6a887f4 100644 --- a/sdk/libraries/core/component/Component.h +++ b/sdk/libraries/core/component/Component.h @@ -947,7 +947,7 @@ inline InterfaceFrame * Component::getFrame() { // -------------------- getPixmap ------------------ inline QPixmap Component::getIcon() { - return NULL; + return QPixmap(0, 0); // this is a NULL QPixmap in the Qt sense. QPixmap::isNull will then return true; } // -------------------- inItalic -------------------- diff --git a/sdk/libraries/core/component/InterfaceNode.h b/sdk/libraries/core/component/InterfaceNode.h index 572aedcc..d7143f42 100644 --- a/sdk/libraries/core/component/InterfaceNode.h +++ b/sdk/libraries/core/component/InterfaceNode.h @@ -58,7 +58,7 @@ namespace camitk { class InterfaceNode { public: /// empty virtual destructor, to avoid memory leak - virtual ~InterfaceNode() {}; + virtual ~InterfaceNode() {} /// get the name to be displayed virtual QString getName() const = 0; diff --git a/sdk/libraries/core/component/mesh/MeshComponent.h b/sdk/libraries/core/component/mesh/MeshComponent.h index 34e818a8..515571c7 100644 --- a/sdk/libraries/core/component/mesh/MeshComponent.h +++ b/sdk/libraries/core/component/mesh/MeshComponent.h @@ -96,7 +96,7 @@ public: vtkIdType getPickedCellId(); /// update property: no specific properties to manage, this is needed to avoid console warnings. - void updateProperty ( QString , QVariant ) {}; + void updateProperty ( QString , QVariant ) {} /// there is more than one property widgets (to view as tabs in the property explorer) virtual unsigned int getNumberOfPropertyWidget(); -- GitLab From 6d606121cbeca954a9205f0d4f3539fdd220bf62 Mon Sep 17 00:00:00 2001 From: camitk Date: Tue, 22 Mar 2016 11:45:14 +0100 Subject: [PATCH 016/356] UPDATED Propagate CMake configuration of NEEDS_ITK option through CamiTK CMake macros. NOTE Delete approximatively 300 lines per macro. --- sdk/cmake/modules/CamiTKConfig.cmake.in | 26 +- .../macros/camitk/CamiTKApplication.cmake | 453 +------------ .../macros/camitk/CamiTKExtension.cmake | 598 ------------------ .../modules/macros/camitk/CamiTKLibrary.cmake | 486 +------------- 4 files changed, 45 insertions(+), 1518 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 8e81b3f3..ffce9507 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -28,10 +28,10 @@ endif() # Find VTK find_package(VTK REQUIRED) if(NOT VTK_FOUND) - message(SEND_ERROR "Failed to find Vtk 5.8 or greater. This is needed by CamiTK.") + message(SEND_ERROR "Failed to find Vtk 6.0.0 or greater. This is needed by CamiTK.") endif() if("${VTK_VERSION}" VERSION_LESS 6.0) - message(FATAL_ERROR "Found VTK ${VTK_VERSION} version but at least 5.8 is required. Please update your version of VTK.") + message(FATAL_ERROR "Found VTK ${VTK_VERSION} version but at least 6.0.0 is required. Please update your version of VTK.") endif() message(STATUS "Found suitable version of VTK : ${VTK_VERSION} (required is at least 6.0.0)") set(CAMITK_VTK_VERSION ${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}) @@ -156,7 +156,6 @@ if(MSVC) set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingStencil-${CAMITK_VTK_VERSION}.lib) set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkIOImport-${CAMITK_VTK_VERSION}.lib) set(CAMITK_VTK_LIBRARIES ${CAMITK_VTK_LIBRARIES} debug ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${VTK_LIBRARY_DIR}/vtkImagingMath-${CAMITK_VTK_VERSION}.lib) - # message( WARNING "Nico CAMITK_VTK_LIBRARIES=${CAMITK_VTK_LIBRARIES}") # list of all core dependencies set(CAMITK_LIBRARIES @@ -164,22 +163,17 @@ if(MSVC) debug qtpropertybrowser${CAMITK_DEBUG_POSTFIX}.lib optimized qtpropertybrowser ) else() - # Name of the core library to link against - set(CAMITK_CORE_LIBRARIES ${CAMITK_CORE_LIB_NAME}) + # Name of the core library to link against + set(CAMITK_CORE_LIBRARIES ${CAMITK_CORE_LIB_NAME}) - - -# if(CMAKE_GENERATOR MATCHES "MinGW Makefiles") # Win32 running with MinGW - # list of all core dependencies - set(CAMITK_LIBRARIES - ${VTK_LIBRARIES} - # QVTK - qtpropertybrowser - ) + # list of all core dependencies + set(CAMITK_LIBRARIES + ${VTK_LIBRARIES} + # QVTK + qtpropertybrowser + ) endif() -# message( WARNING "Nico VTK_LIBRARIES=${VTK_LIBRARIES}") - mark_as_advanced (CAMITK_CORE_LIB CAMITK_LINK_DIRECTORIES CAMITK_INCLUDE_DIRECTORIES CAMITK_LIBRARIES) # additional unix system resources diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 9ea8b4e1..703a50df 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -201,9 +201,10 @@ macro(camitk_application) if(ITK_FOUND) include(${ITK_USE_FILE}) set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set + set(CAMITK_ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}) message(STATUS "${APPLICATION_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - - if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. + + if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) set(ITK_DIR ${ITK_DIR}/../..) # Construct list of ITK libraries for linking @@ -214,453 +215,18 @@ macro(camitk_application) endif() set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) endforeach() - elseif(LINUX) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") + elseif(UNIX) + set(CAMITK_ITK_LIBRARIES ${ITK_LIBRARIES}) elseif(APPLE) message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() + else() + message(FATAL_ERROR "Wrong version of ITK : ${ITK_VERSION}. Required is at least 4.x to 4.9") endif() + else() + message(FATAL_ERROR "ITK not found but required for ${APPLICATION_TARGET_NAME}") endif() endif() - - # message(WARNING "Nico CAMITK_ITK_LIBRARIES = ${CAMITK_ITK_LIBRARIES}") - - # # Now select the ITK libraries according to the ITK version found. - # # ITK 3.x.x (mostly 3.20.1) - # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # set(ITK_LIBRARIES - # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKAlgorithms - # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKBasicFilters - # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKCommon - # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKIO - # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # ) - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - # endif() - # elseif(MINGW) - # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - # else() #APPLE OR UNIX - # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - # endif() - - # # ITK 4.3.x (mostly 4.3.2) - # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # # Debug libraries - # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # # Release librariesdebug - # optimized ITKCommon-4.3.lib - # optimized ITKNrrdIO-4.3.lib - # optimized itkgdcmCommon-4.3.lib - # optimized itkjpeg-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized itkpng-4.3.lib - # optimized itktiff-4.3.lib - # optimized ITKSpatialObjects-4.3.lib - # optimized itkvnl_algo-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvnl-4.3.lib - # optimized itkvcl-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itksys-4.3.lib - # optimized ITKDICOMParser-4.3.lib - # optimized ITKEXPAT-4.3.lib - # optimized ITKniftiio-4.3.lib - # optimized ITKznz-4.3.lib - # optimized itkzlib-4.3.lib - # optimized snmpapi.lib - # optimized rpcrt4.lib - # optimized ws2_32.lib - # optimized comctl32.lib - # optimized wsock32.lib - # optimized opengl32.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIONIFTI-4.3.lib - # optimized ITKIONRRD-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized itkgdcmDICT-4.3.lib - # optimized itkgdcmDSED-4.3.lib - # optimized itkgdcmIOD-4.3.lib - # optimized itkgdcmjpeg8-4.3.lib - # optimized itkgdcmjpeg12-4.3.lib - # optimized itkgdcmjpeg16-4.3.lib - # optimized itkgdcmMSFF-4.3.lib - # optimized ITKgiftiio-4.3.lib - # optimized itkhdf5_cpp-4.3.lib - # optimized itkhdf5-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized ITKIOBioRad-4.3.lib - # optimized ITKIOStimulate-4.3.lib - # optimized ITKIOTIFF-4.3.lib - # optimized ITKIOVTK-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized ITKBiasCorrection-4.3.lib - # optimized ITKBioCell-4.3.lib - # optimized ITKFEM-4.3.lib - # optimized ITKIOBMP-4.3.lib - # optimized ITKIOCSV-4.3.lib - # optimized ITKIOGDCM-4.3.lib - # optimized ITKIOGE-4.3.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIOHDF5-4.3.lib - # optimized ITKIOImageBase-4.3.lib - # optimized ITKIOIPL-4.3.lib - # optimized ITKIOJPEG-4.3.lib - # optimized ITKIOLSM-4.3.lib - # optimized ITKIOMesh-4.3.lib - # optimized ITKIOMeta-4.3.lib - # optimized ITKIOSiemens-4.3.lib - # optimized ITKIOSpatialObjects-4.3.lib - # optimized ITKIOTransformBase-4.3.lib - # optimized ITKIOTransformHDF5-4.3.lib - # optimized ITKIOTransformInsightLegacy-4.3.lib - # optimized ITKIOTransformMatlab-4.3.lib - # optimized ITKIOXML-4.3.lib - # optimized ITKKLMRegionGrowing-4.3.lib - # optimized ITKLabelMap-4.3.lib - # optimized ITKMesh-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itkNetlibSlatec-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized ITKOptimizers-4.3.lib - # optimized ITKOptimizersv4-4.3.lib - # optimized ITKPath-4.3.lib - # optimized itkpng-4.3.lib - # optimized ITKPolynomials-4.3.lib - # optimized ITKQuadEdgeMesh-4.3.lib - # optimized ITKReview-4.3.lib - # optimized ITKStatistics-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvcl-4.3.lib - # optimized ITKVideoCore-4.3.lib - # optimized ITKVideoIO-4.3.lib - # optimized ITKVTK-4.3.lib - # optimized ITKVNLInstantiation-4.3.lib - # optimized ITKWatersheds-4.3.lib - # ) - # endif() - # elseif(MINGW OR APPLE) - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # ITKCommon-4.3 - # ITKNrrdIO-4.3 - # itkgdcmCommon-4.3 - # itkjpeg-4.3 - # itkopenjpeg-4.3 - # itkpng-4.3 - # itktiff-4.3 - # ITKSpatialObjects-4.3 - # itkvnl_algo-4.3 - # itkv3p_netlib-4.3 - # itkvnl-4.3 - # itkvcl-4.3 - # itkv3p_lsqr-4.3 - # ITKMetaIO-4.3 - # itksys-4.3 - # ITKDICOMParser-4.3 - # ITKEXPAT-4.3 - # ITKniftiio-4.3 - # ITKznz-4.3 - # itkzlib-4.3 - # snmpapi - # rpcrt4 - # ws2_32 - # comctl32 - # wsock32 - # opengl32 - # ITKIOGIPL-4.3 - # ITKIONIFTI-4.3 - # ITKIONRRD-4.3 - # ITKIOPNG-4.3 - # itkgdcmDICT-4.3 - # itkgdcmDSED-4.3 - # itkgdcmIOD-4.3 - # itkgdcmjpeg8-4.3 - # itkgdcmjpeg12-4.3 - # itkgdcmjpeg16-4.3 - # itkgdcmMSFF-4.3 - # ITKgiftiio-4.3 - # itkhdf5_cpp-4.3 - # itkhdf5-4.3 - # ITKMetaIO-4.3 - # ITKIOBioRad-4.3 - # ITKIOStimulate-4.3 - # ITKIOTIFF-4.3 - # ITKIOVTK-4.3 - # ITKIOPNG-4.3 - # ITKBiasCorrection-4.3 - # ITKBioCell-4.3 - # ITKFEM-4.3 - # ITKIOBMP-4.3 - # ITKIOCSV-4.3 - # ITKIOGDCM-4.3 - # ITKIOGE-4.3 - # ITKIOGIPL-4.3 - # ITKIOHDF5-4.3 - # ITKIOImageBase-4.3 - # ITKIOIPL-4.3 - # ITKIOJPEG-4.3 - # ITKIOLSM-4.3 - # ITKIOMesh-4.3 - # ITKIOMeta-4.3 - # ITKIOSiemens-4.3 - # ITKIOSpatialObjects-4.3 - # ITKIOTransformBase-4.3 - # ITKIOTransformHDF5-4.3 - # ITKIOTransformInsightLegacy-4.3 - # ITKIOTransformMatlab-4.3 - # ITKIOXML-4.3 - # ITKKLMRegionGrowing-4.3 - # ITKLabelMap-4.3 - # ITKMesh-4.3 - # ITKMetaIO-4.3 - # itkNetlibSlatec-4.3 - # itkopenjpeg-4.3 - # ITKOptimizers-4.3 - # ITKOptimizersv4-4.3 - # ITKPath-4.3 - # itkpng-4.3 - # ITKPolynomials-4.3 - # ITKQuadEdgeMesh-4.3 - # ITKReview-4.3 - # ITKStatistics-4.3 - # itkv3p_lsqr-4.3 - # itkv3p_netlib-4.3 - # itkvcl-4.3 - # ITKVideoCore-4.3 - # ITKVideoIO-4.3 - # ITKVTK-4.3 - # ITKVNLInstantiation-4.3 - # ITKWatersheds-4.3 - # ) - # else() #Linux - # set(ITK_LIBRARIES ITKCommon-4.3) - # endif() - - # # ITK 4.5.x (mostly 4.5.1) - # elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) - # if(MSVC) - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - # elseif(MINGW) - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - # elseif(APPLE) - # set(ITK_LIBRARIES - # ITKBiasCorrection - # ITKBioCell - # ITKCommon - # ITKDICOMParser - # ITKEXPAT - # ITKFEM - # ITKGPUAnisotropicSmoothing - # ITKGPUCommon - # ITKGPUFiniteDifference - # ITKGPUImageFilterBase - # ITKGPUPDEDeformable - # ITKGPUSmoothing - # ITKGPUThresholding - # ITKIOBMP - # ITKIOBioRad - # ITKIOCSV - # ITKIOGDCM - # ITKIOGE - # ITKIOGIPL - # ITKIOHDF5 - # ITKIOIPL - # ITKIOImageBase - # ITKIOJPEG - # ITKIOLSM - # ITKIOMesh - # ITKIOMeta - # ITKIONIFTI - # ITKIONRRD - # ITKIOPNG - # ITKIOSiemens - # ITKIOSpatialObjects - # ITKIOStimulate - # ITKIOTIFF - # ITKIOTransformBase - # ITKIOTransformHDF5 - # ITKIOTransformInsightLegacy - # ITKIOTransformMatlab - # ITKIOVTK - # ITKIOXML - # ITKKLMRegionGrowing - # ITKLabelMap - # ITKMesh - # ITKMetaIO - # ITKNrrdIO - # ITKOptimizers - # ITKOptimizersv4 - # ITKPath - # ITKPolynomials - # ITKQuadEdgeMesh - # ITKReview - # ITKSpatialObjects - # ITKStatistics - # ITKVNLInstantiation - # ITKVTK - # ITKVideoCore - # ITKVideoIO - # ITKWatersheds - # ITKgiftiio - # ITKniftiio - # ITKznz - # itkNetlibSlatec - # itkdouble-conversion - # itkhdf5 - # itkhdf5_cpp - # itkjpeg - # itkopenjpeg - # itkpng - # itksys - # itktiff - # itkv3p_lsqr - # itkv3p_netlib - # itkvcl - # itkvnl - # itkvnl_algo - # itkzlib - # ) - # else() #Linux - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") - # endif() - - # # ITK version > 4.6 (mostly ITK 5.x) - # else() - # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") - # endif() - # endif() - # endif() #NEEDS ITK # XERCES-C set(XERCESC_LIBRARIES) @@ -902,7 +468,6 @@ macro(camitk_application) # # ######################################################################### # LINKING LIBRARIES - # Nico : has removed ${QT_MODULES_LIBRARIES} target_link_libraries(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_LIBRARIES} ${CAMITK_LIBRARIES} ${COMPONENT_EXTENSION_LIBRARIES} ${ACTION_EXTENSION_LIBRARIES} ${CEP_LIBRARIES} ${XERCESC_LIBRARY} ${CAMITK_ITK_LIBRARIES} ${PYTHON_LIBRARIES} ${EXTERNAL_LIBRARIES}) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index e6ffda7f..c6f4a390 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -228,7 +228,6 @@ macro(camitk_extension) endforeach() elseif(UNIX) set(CAMITK_ITK_LIBRARIES ${ITK_LIBRARIES}) -# message(WARNING "Nico : ITK_LIBRARIES = ${ITK_LIBRARIES}") elseif(APPLE) message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") endif() @@ -240,603 +239,6 @@ macro(camitk_extension) endif() endif() - - - # # Now select the ITK libraries according to the ITK version found. - # # ITK 3.x.x (mostly 3.20.1) - # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # set(ITK_LIBRARIES - # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKAlgorithms - # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKBasicFilters - # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKCommon - # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKIO - # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # ) - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - # endif() - # elseif(MINGW) - # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - # else() #APPLE OR UNIX - # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - # endif() - - # # ITK 4.x.x (mostly 4.3.2) - # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version >= 4.4.x") - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # # Debug libraries - # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # # Release librariesdebug - # optimized ITKCommon-4.3.lib - # optimized ITKNrrdIO-4.3.lib - # optimized itkgdcmCommon-4.3.lib - # optimized itkjpeg-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized itkpng-4.3.lib - # optimized itktiff-4.3.lib - # optimized ITKSpatialObjects-4.3.lib - # optimized itkvnl_algo-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvnl-4.3.lib - # optimized itkvcl-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itksys-4.3.lib - # optimized ITKDICOMParser-4.3.lib - # optimized ITKEXPAT-4.3.lib - # optimized ITKniftiio-4.3.lib - # optimized ITKznz-4.3.lib - # optimized itkzlib-4.3.lib - # optimized snmpapi.lib - # optimized rpcrt4.lib - # optimized ws2_32.lib - # optimized comctl32.lib - # optimized wsock32.lib - # optimized opengl32.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIONIFTI-4.3.lib - # optimized ITKIONRRD-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized itkgdcmDICT-4.3.lib - # optimized itkgdcmDSED-4.3.lib - # optimized itkgdcmIOD-4.3.lib - # optimized itkgdcmjpeg8-4.3.lib - # optimized itkgdcmjpeg12-4.3.lib - # optimized itkgdcmjpeg16-4.3.lib - # optimized itkgdcmMSFF-4.3.lib - # optimized ITKgiftiio-4.3.lib - # optimized itkhdf5_cpp-4.3.lib - # optimized itkhdf5-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized ITKIOBioRad-4.3.lib - # optimized ITKIOStimulate-4.3.lib - # optimized ITKIOTIFF-4.3.lib - # optimized ITKIOVTK-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized ITKBiasCorrection-4.3.lib - # optimized ITKBioCell-4.3.lib - # optimized ITKFEM-4.3.lib - # optimized ITKIOBMP-4.3.lib - # optimized ITKIOCSV-4.3.lib - # optimized ITKIOGDCM-4.3.lib - # optimized ITKIOGE-4.3.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIOHDF5-4.3.lib - # optimized ITKIOImageBase-4.3.lib - # optimized ITKIOIPL-4.3.lib - # optimized ITKIOJPEG-4.3.lib - # optimized ITKIOLSM-4.3.lib - # optimized ITKIOMesh-4.3.lib - # optimized ITKIOMeta-4.3.lib - # optimized ITKIOSiemens-4.3.lib - # optimized ITKIOSpatialObjects-4.3.lib - # optimized ITKIOTransformBase-4.3.lib - # optimized ITKIOTransformHDF5-4.3.lib - # optimized ITKIOTransformInsightLegacy-4.3.lib - # optimized ITKIOTransformMatlab-4.3.lib - # optimized ITKIOXML-4.3.lib - # optimized ITKKLMRegionGrowing-4.3.lib - # optimized ITKLabelMap-4.3.lib - # optimized ITKMesh-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itkNetlibSlatec-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized ITKOptimizers-4.3.lib - # optimized ITKOptimizersv4-4.3.lib - # optimized ITKPath-4.3.lib - # optimized itkpng-4.3.lib - # optimized ITKPolynomials-4.3.lib - # optimized ITKQuadEdgeMesh-4.3.lib - # optimized ITKReview-4.3.lib - # optimized ITKStatistics-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvcl-4.3.lib - # optimized ITKVideoCore-4.3.lib - # optimized ITKVideoIO-4.3.lib - # optimized ITKVTK-4.3.lib - # optimized ITKVNLInstantiation-4.3.lib - # optimized ITKWatersheds-4.3.lib - # ) - # endif() - # elseif(MINGW OR APPLE) - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # ITKCommon-4.3 - # ITKNrrdIO-4.3 - # itkgdcmCommon-4.3 - # itkjpeg-4.3 - # itkopenjpeg-4.3 - # itkpng-4.3 - # itktiff-4.3 - # ITKSpatialObjects-4.3 - # itkvnl_algo-4.3 - # itkv3p_netlib-4.3 - # itkvnl-4.3 - # itkvcl-4.3 - # itkv3p_lsqr-4.3 - # ITKMetaIO-4.3 - # itksys-4.3 - # ITKDICOMParser-4.3 - # ITKEXPAT-4.3 - # ITKniftiio-4.3 - # ITKznz-4.3 - # itkzlib-4.3 - # snmpapi - # rpcrt4 - # ws2_32 - # comctl32 - # wsock32 - # opengl32 - # ITKIOGIPL-4.3 - # ITKIONIFTI-4.3 - # ITKIONRRD-4.3 - # ITKIOPNG-4.3 - # itkgdcmDICT-4.3 - # itkgdcmDSED-4.3 - # itkgdcmIOD-4.3 - # itkgdcmjpeg8-4.3 - # itkgdcmjpeg12-4.3 - # itkgdcmjpeg16-4.3 - # itkgdcmMSFF-4.3 - # ITKgiftiio-4.3 - # itkhdf5_cpp-4.3 - # itkhdf5-4.3 - # ITKMetaIO-4.3 - # ITKIOBioRad-4.3 - # ITKIOStimulate-4.3 - # ITKIOTIFF-4.3 - # ITKIOVTK-4.3 - # ITKIOPNG-4.3 - # ITKBiasCorrection-4.3 - # ITKBioCell-4.3 - # ITKFEM-4.3 - # ITKIOBMP-4.3 - # ITKIOCSV-4.3 - # ITKIOGDCM-4.3 - # ITKIOGE-4.3 - # ITKIOGIPL-4.3 - # ITKIOHDF5-4.3 - # ITKIOImageBase-4.3 - # ITKIOIPL-4.3 - # ITKIOJPEG-4.3 - # ITKIOLSM-4.3 - # ITKIOMesh-4.3 - # ITKIOMeta-4.3 - # ITKIOSiemens-4.3 - # ITKIOSpatialObjects-4.3 - # ITKIOTransformBase-4.3 - # ITKIOTransformHDF5-4.3 - # ITKIOTransformInsightLegacy-4.3 - # ITKIOTransformMatlab-4.3 - # ITKIOXML-4.3 - # ITKKLMRegionGrowing-4.3 - # ITKLabelMap-4.3 - # ITKMesh-4.3 - # ITKMetaIO-4.3 - # itkNetlibSlatec-4.3 - # itkopenjpeg-4.3 - # ITKOptimizers-4.3 - # ITKOptimizersv4-4.3 - # ITKPath-4.3 - # itkpng-4.3 - # ITKPolynomials-4.3 - # ITKQuadEdgeMesh-4.3 - # ITKReview-4.3 - # ITKStatistics-4.3 - # itkv3p_lsqr-4.3 - # itkv3p_netlib-4.3 - # itkvcl-4.3 - # ITKVideoCore-4.3 - # ITKVideoIO-4.3 - # ITKVTK-4.3 - # ITKVNLInstantiation-4.3 - # ITKWatersheds-4.3 - # ) - # else() #Linux - # set(ITK_LIBRARIES ITKCommon-4.3) - # endif() - - # # ITK 4.x.x (mostly 4.5.1) - # elseif((${ITK_VERSION} VERSION_GREATER "4.3.9") AND (${ITK_VERSION} VERSION_LESS "5.0")) - # if(MSVC) - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 3.20.1") - # else() # other VS higher versions - # set(CAMITK_ITK_VERSION "${ITK_VERSION_MAJOR}.${ITK_VERSION_MAJOR}") - # message(WARNING "Nico : Found ITK version ${CAMITK_ITK_VERSION}") - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # optimized TKIOBioRad-4.5.lib - # optimized ITKIOStimulate-4.5.lib - # optimized itkpng-4.5.lib - # debug ITKBiasCorrection-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBMP-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTIFF-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPolynomials-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKBiasCorrection-4.5.lib - # optimized ITKIOBMP-4.5.lib - # optimized ITKIOTIFF-4.5.lib - # optimized ITKPolynomials-4.5.lib - # debug ITKBioCell-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOCSV-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformBase-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKQuadEdgeMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKBioCell-4.5.lib - # optimized ITKIOCSV-4.5.lib - # optimized ITKIOTransformBase-4.5.lib - # optimized ITKQuadEdgeMesh-4.5.lib - # debug ITKCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGDCM-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKCommon-4.5.lib - # optimized ITKIOGDCM-4.5.lib - # optimized ITKIOTransformHDF5-4.5.lib - # optimized ITKSpatialObjects-4.5.lib - # debug ITKDICOMParser-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug debug ITKIOGE-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformInsightLegacy-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKStatistics-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKDICOMParser-4.5.lib - # optimized ITKIOGE-4.5.lib - # optimized ITKIOTransformInsightLegacy-4.5.lib - # optimized ITKStatistics-4.5.lib - # debug itkdouble-conversion-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformMatlab-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkdouble-conversion-4.5.lib - # optimized ITKIOGIPL-4.5.lib - # optimized ITKIOTransformMatlab-4.5.lib - # optimized itksys-4.5.lib - # debug ITKEXPAT-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOHDF5-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKEXPAT-4.5.lib - # optimized ITKIOHDF5-4.5.lib - # optimized ITKIOVTK-4.5.lib - # optimized itktiff-4.5.lib - # debug ITKFEM-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOImageBase-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOXML-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKFEM-4.5.lib - # optimized ITKIOImageBase-4.5.lib - # optimized ITKIOXML-4.5.lib - # optimized itkv3p_lsqr-4.5.lib - # debug itkgdcmCommon-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOIPL-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmCommon-4.5.lib - # optimized ITKIOIPL-4.5.lib - # optimized itkjpeg-4.5.lib - # optimized itkv3p_netlib-4.5.lib - # debug itkgdcmDICT-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOJPEG-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKKLMRegionGrowing-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmDICT-4.5.lib - # optimized ITKIOJPEG-4.5.lib - # optimized ITKKLMRegionGrowing-4.5.lib - # optimized itkvcl-4.5.lib - # debug itkgdcmDSED-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOLSM-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKLabelMap-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoCore-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmDSED-4.5.lib - # optimized ITKIOLSM-4.5.lib - # optimized ITKLabelMap-4.5.lib - # optimized ITKVideoCore-4.5.lib - # optimized itkgdcmIOD-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKIOMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKMesh-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKVideoIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmIOD-4.5.lib - # optimized ITKIOMesh-4.5.lib - # optimized ITKMesh-4.5.lib - # optimized ITKVideoIO-4.5.lib - # debug itkgdcmjpeg12-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMeta-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg12-4.5.lib - # optimized ITKIOMeta-4.5.lib - # optimized ITKMetaIO-4.5.lib - # optimized itkvnl-4.5.lib - # debug itkgdcmjpeg16-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMRC-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkNetlibSlatec-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmjpeg16-4.5.lib - # optimized ITKIOMRC-4.5.lib - # optimized itkNetlibSlatec-4.5.lib - # optimized itkvnl_algo-4.5.lib - # debug itkgdcmjpeg8-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONIFTI-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVNLInstantiation-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmjpeg8-4.5.lib - # optimized ITKIONIFTI-4.5.lib - # optimized ITKniftiio-4.5.lib - # optimized ITKVNLInstantiation-4.5.lib - # debug itkgdcmMSFF-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONRRD-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKNrrdIO-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVTK-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkgdcmMSFF-4.5.lib - # optimized ITKIONRRD-4.5.lib - # optimized ITKNrrdIO-4.5.lib - # optimized ITKVTK-4.5.lib - # debug ITKgiftiio-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKWatersheds-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKgiftiio-4.5.lib - # optimized ITKIOPNG-4.5.lib - # optimized itkopenjpeg-4.5.lib - # optimized ITKWatersheds-4.5.lib - # debug itkhdf5-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSiemens-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizers-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkhdf5-4.5.lib - # optimized ITKIOSiemens-4.5.lib - # optimized ITKOptimizers-4.5.lib - # optimized itkzlib-4.5.lib - # debug itkhdf5_cpp-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSpatialObjects-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPath-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz-4.5${CAMITK_DEBUG_POSTFIX}.lib - # optimized itkhdf5_cpp-4.5.lib - # optimized ITKIOSpatialObjects-4.5.lib - # optimized ITKPath-4.5.lib - # optimized ITKznz-4.5.lib - # debug ITKIOBioRad-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOStimulate-4.5${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.5${CAMITK_DEBUG_POSTFIX}.lib - # ) - # endif() # MSVC - # elseif(MINGW) - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - # elseif(APPLE) - # set(ITK_LIBRARIES - # ITKBiasCorrection - # ITKBioCell - # ITKCommon - # ITKDICOMParser - # ITKEXPAT - # ITKFEM - # ITKGPUAnisotropicSmoothing - # ITKGPUCommon - # ITKGPUFiniteDifference - # ITKGPUImageFilterBase - # ITKGPUPDEDeformable - # ITKGPUSmoothing - # ITKGPUThresholding - # ITKIOBMP - # ITKIOBioRad - # ITKIOCSV - # ITKIOGDCM - # ITKIOGE - # ITKIOGIPL - # ITKIOHDF5 - # ITKIOIPL - # ITKIOImageBase - # ITKIOJPEG - # ITKIOLSM - # ITKIOMesh - # ITKIOMeta - # ITKIONIFTI - # ITKIONRRD - # ITKIOPNG - # ITKIOSiemens - # ITKIOSpatialObjects - # ITKIOStimulate - # ITKIOTIFF - # ITKIOTransformBase - # ITKIOTransformHDF5 - # ITKIOTransformInsightLegacy - # ITKIOTransformMatlab - # ITKIOVTK - # ITKIOXML - # ITKKLMRegionGrowing - # ITKLabelMap - # ITKMesh - # ITKMetaIO - # ITKNrrdIO - # ITKOptimizers - # ITKOptimizersv4 - # ITKPath - # ITKPolynomials - # ITKQuadEdgeMesh - # ITKReview - # ITKSpatialObjects - # ITKStatistics - # ITKVNLInstantiation - # ITKVTK - # ITKVideoCore - # ITKVideoIO - # ITKWatersheds - # ITKgiftiio - # ITKniftiio - # ITKznz - # itkNetlibSlatec - # itkdouble-conversion - # itkhdf5 - # itkhdf5_cpp - # itkjpeg - # itkopenjpeg - # itkpng - # itksys - # itktiff - # itkv3p_lsqr - # itkv3p_netlib - # itkvcl - # itkvnl - # itkvnl_algo - # itkzlib - # ) - # else() #Linux - # # ITK_LIBRARIES is already set - # endif() - - # # ITK version > 4.6 (mostly ITK 5.x) - # else() - # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") - # endif() - # endif() - # endif() #NEEDS ITK - # LIBXML2 set(LIBXML2_LIBRARY "") if(${EXTENSION_NAME_CMAKE}_NEEDS_LIBXML2) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index e2e5fad1..b62c1685 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -175,469 +175,35 @@ macro(camitk_library) set(ITK_LIBRARIES "") if(${DEFAULT_LIBRARY_NAME_CMAKE}_NEEDS_ITK) find_package(ITK REQUIRED) - if(ITK_FOUND) - include(${ITK_USE_FILE}) - set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set - message(STATUS "${${DEFAULT_LIBRARY_NAME_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") - - if ((${ITK_VERSION} VERSION_GREATER "4.8") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. - if(MSVC) - set(ITK_DIR ${ITK_DIR}/../..) - # Construct list of ITK libraries for linking - foreach(ITK_LIBRARY ${ITK_LIBRARIES}) - string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) - if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) - set(ITK_LIBRARY itk${ITK_LIBRARY}) - endif() - set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) - endforeach() - elseif(LINUX) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR LINUX") - elseif(APPLE) - message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") + if(ITK_FOUND) + include(${ITK_USE_FILE}) + set(ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}) #ITK_VERSION is not always set + set(CAMITK_ITK_VERSION ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}) + message(STATUS "${${DEFAULT_LIBRARY_NAME_CMAKE}_TARGET_NAME}: Found ITK version ${ITK_VERSION}") + + if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. + if(MSVC) + set(ITK_DIR ${ITK_DIR}/../..) + # Construct list of ITK libraries for linking + foreach(ITK_LIBRARY ${ITK_LIBRARIES}) + string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) + set(ITK_LIBRARY itk${ITK_LIBRARY}) + endif() + set(CAMITK_ITK_LIBRARIES ${CAMITK_ITK_LIBRARIES} debug ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}${CAMITK_DEBUG_POSTFIX}.lib optimized ${ITK_DIR}/${ITK_LIBRARY}-${CAMITK_ITK_VERSION}.lib) + endforeach() + elseif(UNIX) + set(CAMITK_ITK_LIBRARIES ${ITK_LIBRARIES}) + elseif(APPLE) + message(WARNING "CamiTKExtension.cmake: ITK LIBRARY NOT SET FOR APPLE") + endif() + else() + message(FATAL_ERROR "Wrong version of ITK : ${ITK_VERSION}. Required is at least 4.x to 4.9") endif() + else() + message(FATAL_ERROR "ITK not found but required for ${${DEFAULT_LIBRARY_NAME_CMAKE}_TARGET_NAME}") endif() - endif() endif() - - - - # # Now select the ITK libraries according to the ITK version found. - # # ITK 3.x.x (mostly 3.20.1) - # if ((${ITK_VERSION} VERSION_GREATER "3") AND (${ITK_VERSION} VERSION_LESS "4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # set(ITK_LIBRARIES - # debug ITKAlgorithms${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKAlgorithms - # debug ITKBasicFilters${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKBasicFilters - # debug ITKCommon${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKCommon - # debug ITKIO${CAMITK_DEBUG_POSTFIX}.lib - # optimized ITKIO - # debug ITKNrrdIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcm${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg12${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg16${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg8${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObject${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_inst${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # ) - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # message(FATAL_ERROR "It seems you have ITK version 3.x installed. This one is not compatible with Visual Studio 2012 or 2013. Please install ITK 4.3.x or 4.5.x instead") - # endif() - # elseif(MINGW) - # message(FATAL_ERROR "CamiTK does not support ITK 3.x libraries for MinGW. You may file a feature request: https://bugzilla-timc.imag.fr/") - # else() #APPLE OR UNIX - # set(ITK_LIBRARIES ITKBasicFilters ITKCommon ITKIO ITKAlgorithms) - # endif() - - # # ITK 4.3.x (mostly 4.3.2) - # elseif((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "4.4")) - # if (MSVC) # Visual Studio compilers - # if(MSVC90 OR MSVC10) #ITK 3.x only works with VS 2008 / 2010 - # message(FATAL_ERROR "ITK version ${ITK_VERSION} is not compatible with Visual Studio 2008 or 2010. Please install ITK version 4.3.x or 4.5.x") - # elseif(MSVC11 OR MSVC12) # Visual Studion 2012/2013 - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # # Debug libraries - # debug ITKCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKNrrdIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmCommon-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itktiff-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl_algo-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvnl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itksys-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKDICOMParser-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKEXPAT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKniftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKznz-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkzlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug snmpapi.lib - # debug rpcrt4.lib - # debug ws2_32.lib - # debug comctl32.lib - # debug wsock32.lib - # debug opengl32.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONIFTI-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIONRRD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDICT-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmDSED-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmIOD-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg8-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg12-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmjpeg16-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkgdcmMSFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKgiftiio-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5_cpp-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkhdf5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBioRad-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOStimulate-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTIFF-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOPNG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBiasCorrection-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKBioCell-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKFEM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOBMP-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOCSV-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGDCM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGE-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOGIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOImageBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOIPL-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOJPEG-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOLSM-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOMeta-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSiemens-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOSpatialObjects-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformBase-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformHDF5-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformInsightLegacy-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOTransformMatlab-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKIOXML-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKKLMRegionGrowing-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKLabelMap-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKMetaIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkNetlibSlatec-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkopenjpeg-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizers-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKOptimizersv4-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPath-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkpng-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKPolynomials-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKQuadEdgeMesh-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKReview-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKStatistics-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_lsqr-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkv3p_netlib-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug itkvcl-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoCore-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVideoIO-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVTK-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKVNLInstantiation-4.3${CAMITK_DEBUG_POSTFIX}.lib - # debug ITKWatersheds-4.3${CAMITK_DEBUG_POSTFIX}.lib - # # Release librariesdebug - # optimized ITKCommon-4.3.lib - # optimized ITKNrrdIO-4.3.lib - # optimized itkgdcmCommon-4.3.lib - # optimized itkjpeg-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized itkpng-4.3.lib - # optimized itktiff-4.3.lib - # optimized ITKSpatialObjects-4.3.lib - # optimized itkvnl_algo-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvnl-4.3.lib - # optimized itkvcl-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itksys-4.3.lib - # optimized ITKDICOMParser-4.3.lib - # optimized ITKEXPAT-4.3.lib - # optimized ITKniftiio-4.3.lib - # optimized ITKznz-4.3.lib - # optimized itkzlib-4.3.lib - # optimized snmpapi.lib - # optimized rpcrt4.lib - # optimized ws2_32.lib - # optimized comctl32.lib - # optimized wsock32.lib - # optimized opengl32.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIONIFTI-4.3.lib - # optimized ITKIONRRD-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized itkgdcmDICT-4.3.lib - # optimized itkgdcmDSED-4.3.lib - # optimized itkgdcmIOD-4.3.lib - # optimized itkgdcmjpeg8-4.3.lib - # optimized itkgdcmjpeg12-4.3.lib - # optimized itkgdcmjpeg16-4.3.lib - # optimized itkgdcmMSFF-4.3.lib - # optimized ITKgiftiio-4.3.lib - # optimized itkhdf5_cpp-4.3.lib - # optimized itkhdf5-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized ITKIOBioRad-4.3.lib - # optimized ITKIOStimulate-4.3.lib - # optimized ITKIOTIFF-4.3.lib - # optimized ITKIOVTK-4.3.lib - # optimized ITKIOPNG-4.3.lib - # optimized ITKBiasCorrection-4.3.lib - # optimized ITKBioCell-4.3.lib - # optimized ITKFEM-4.3.lib - # optimized ITKIOBMP-4.3.lib - # optimized ITKIOCSV-4.3.lib - # optimized ITKIOGDCM-4.3.lib - # optimized ITKIOGE-4.3.lib - # optimized ITKIOGIPL-4.3.lib - # optimized ITKIOHDF5-4.3.lib - # optimized ITKIOImageBase-4.3.lib - # optimized ITKIOIPL-4.3.lib - # optimized ITKIOJPEG-4.3.lib - # optimized ITKIOLSM-4.3.lib - # optimized ITKIOMesh-4.3.lib - # optimized ITKIOMeta-4.3.lib - # optimized ITKIOSiemens-4.3.lib - # optimized ITKIOSpatialObjects-4.3.lib - # optimized ITKIOTransformBase-4.3.lib - # optimized ITKIOTransformHDF5-4.3.lib - # optimized ITKIOTransformInsightLegacy-4.3.lib - # optimized ITKIOTransformMatlab-4.3.lib - # optimized ITKIOXML-4.3.lib - # optimized ITKKLMRegionGrowing-4.3.lib - # optimized ITKLabelMap-4.3.lib - # optimized ITKMesh-4.3.lib - # optimized ITKMetaIO-4.3.lib - # optimized itkNetlibSlatec-4.3.lib - # optimized itkopenjpeg-4.3.lib - # optimized ITKOptimizers-4.3.lib - # optimized ITKOptimizersv4-4.3.lib - # optimized ITKPath-4.3.lib - # optimized itkpng-4.3.lib - # optimized ITKPolynomials-4.3.lib - # optimized ITKQuadEdgeMesh-4.3.lib - # optimized ITKReview-4.3.lib - # optimized ITKStatistics-4.3.lib - # optimized itkv3p_lsqr-4.3.lib - # optimized itkv3p_netlib-4.3.lib - # optimized itkvcl-4.3.lib - # optimized ITKVideoCore-4.3.lib - # optimized ITKVideoIO-4.3.lib - # optimized ITKVTK-4.3.lib - # optimized ITKVNLInstantiation-4.3.lib - # optimized ITKWatersheds-4.3.lib - # ) - # endif() - # elseif(MINGW OR APPLE) - # link_directories(${ITK_DIR}/../..) - # set(ITK_LIBRARIES - # ITKCommon-4.3 - # ITKNrrdIO-4.3 - # itkgdcmCommon-4.3 - # itkjpeg-4.3 - # itkopenjpeg-4.3 - # itkpng-4.3 - # itktiff-4.3 - # ITKSpatialObjects-4.3 - # itkvnl_algo-4.3 - # itkv3p_netlib-4.3 - # itkvnl-4.3 - # itkvcl-4.3 - # itkv3p_lsqr-4.3 - # ITKMetaIO-4.3 - # itksys-4.3 - # ITKDICOMParser-4.3 - # ITKEXPAT-4.3 - # ITKniftiio-4.3 - # ITKznz-4.3 - # itkzlib-4.3 - # snmpapi - # rpcrt4 - # ws2_32 - # comctl32 - # wsock32 - # opengl32 - # ITKIOGIPL-4.3 - # ITKIONIFTI-4.3 - # ITKIONRRD-4.3 - # ITKIOPNG-4.3 - # itkgdcmDICT-4.3 - # itkgdcmDSED-4.3 - # itkgdcmIOD-4.3 - # itkgdcmjpeg8-4.3 - # itkgdcmjpeg12-4.3 - # itkgdcmjpeg16-4.3 - # itkgdcmMSFF-4.3 - # ITKgiftiio-4.3 - # itkhdf5_cpp-4.3 - # itkhdf5-4.3 - # ITKMetaIO-4.3 - # ITKIOBioRad-4.3 - # ITKIOStimulate-4.3 - # ITKIOTIFF-4.3 - # ITKIOVTK-4.3 - # ITKIOPNG-4.3 - # ITKBiasCorrection-4.3 - # ITKBioCell-4.3 - # ITKFEM-4.3 - # ITKIOBMP-4.3 - # ITKIOCSV-4.3 - # ITKIOGDCM-4.3 - # ITKIOGE-4.3 - # ITKIOGIPL-4.3 - # ITKIOHDF5-4.3 - # ITKIOImageBase-4.3 - # ITKIOIPL-4.3 - # ITKIOJPEG-4.3 - # ITKIOLSM-4.3 - # ITKIOMesh-4.3 - # ITKIOMeta-4.3 - # ITKIOSiemens-4.3 - # ITKIOSpatialObjects-4.3 - # ITKIOTransformBase-4.3 - # ITKIOTransformHDF5-4.3 - # ITKIOTransformInsightLegacy-4.3 - # ITKIOTransformMatlab-4.3 - # ITKIOXML-4.3 - # ITKKLMRegionGrowing-4.3 - # ITKLabelMap-4.3 - # ITKMesh-4.3 - # ITKMetaIO-4.3 - # itkNetlibSlatec-4.3 - # itkopenjpeg-4.3 - # ITKOptimizers-4.3 - # ITKOptimizersv4-4.3 - # ITKPath-4.3 - # itkpng-4.3 - # ITKPolynomials-4.3 - # ITKQuadEdgeMesh-4.3 - # ITKReview-4.3 - # ITKStatistics-4.3 - # itkv3p_lsqr-4.3 - # itkv3p_netlib-4.3 - # itkvcl-4.3 - # ITKVideoCore-4.3 - # ITKVideoIO-4.3 - # ITKVTK-4.3 - # ITKVNLInstantiation-4.3 - # ITKWatersheds-4.3 - # ) - # else() #Linux - # set(ITK_LIBRARIES ITKCommon-4.3) - # endif() - - # # ITK 4.5.x (mostly 4.5.1) - # elseif((${ITK_VERSION} VERSION_GREATER "4.4") AND (${ITK_VERSION} VERSION_LESS "4.7")) - # if(MSVC) - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet on Visual Studio compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - # elseif(MINGW) - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for MinGW compiler. You may file a feature request: https://bugzilla-timc.imag.fr/") - # elseif(APPLE) - # set(ITK_LIBRARIES - # ITKBiasCorrection - # ITKBioCell - # ITKCommon - # ITKDICOMParser - # ITKEXPAT - # ITKFEM - # ITKGPUAnisotropicSmoothing - # ITKGPUCommon - # ITKGPUFiniteDifference - # ITKGPUImageFilterBase - # ITKGPUPDEDeformable - # ITKGPUSmoothing - # ITKGPUThresholding - # ITKIOBMP - # ITKIOBioRad - # ITKIOCSV - # ITKIOGDCM - # ITKIOGE - # ITKIOGIPL - # ITKIOHDF5 - # ITKIOIPL - # ITKIOImageBase - # ITKIOJPEG - # ITKIOLSM - # ITKIOMesh - # ITKIOMeta - # ITKIONIFTI - # ITKIONRRD - # ITKIOPNG - # ITKIOSiemens - # ITKIOSpatialObjects - # ITKIOStimulate - # ITKIOTIFF - # ITKIOTransformBase - # ITKIOTransformHDF5 - # ITKIOTransformInsightLegacy - # ITKIOTransformMatlab - # ITKIOVTK - # ITKIOXML - # ITKKLMRegionGrowing - # ITKLabelMap - # ITKMesh - # ITKMetaIO - # ITKNrrdIO - # ITKOptimizers - # ITKOptimizersv4 - # ITKPath - # ITKPolynomials - # ITKQuadEdgeMesh - # ITKReview - # ITKSpatialObjects - # ITKStatistics - # ITKVNLInstantiation - # ITKVTK - # ITKVideoCore - # ITKVideoIO - # ITKWatersheds - # ITKgiftiio - # ITKniftiio - # ITKznz - # itkNetlibSlatec - # itkdouble-conversion - # itkhdf5 - # itkhdf5_cpp - # itkjpeg - # itkopenjpeg - # itkpng - # itksys - # itktiff - # itkv3p_lsqr - # itkv3p_netlib - # itkvcl - # itkvnl - # itkvnl_algo - # itkzlib - # ) - # else() #Linux - # message(FATAL_ERROR "ITK version 4.5.x is not supported yet for Linux platform. You may file a feature request: https://bugzilla-timc.imag.fr/") - # endif() - - # # ITK version > 4.6 (mostly ITK 5.x) - # else() - # message(FATAL_ERROR "CamiTK does not support yet ITK version 5.x. You may file a feature request: https://bugzilla-timc.imag.fr/") - # endif() - # endif() - # endif() #NEEDS ITK # LIBXML2 set(LIBXML2_LIBRARY "") -- GitLab From d812eeef72c786308204c9ac7f2ed377b884f53b Mon Sep 17 00:00:00 2001 From: saubatn Date: Tue, 22 Mar 2016 15:42:28 +0100 Subject: [PATCH 017/356] FIXED Rename new QActionGroup SIGNAL from selected to triggered (Qt5 changes). --- sdk/libraries/core/viewer/InteractiveViewer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/libraries/core/viewer/InteractiveViewer.cpp b/sdk/libraries/core/viewer/InteractiveViewer.cpp index 73951380..d86d0472 100644 --- a/sdk/libraries/core/viewer/InteractiveViewer.cpp +++ b/sdk/libraries/core/viewer/InteractiveViewer.cpp @@ -798,7 +798,7 @@ void InteractiveViewer::initActions() { // -- display mode QActionGroup *displayGrp = new QActionGroup ( this ); - connect ( displayGrp, SIGNAL ( selected ( QAction* ) ), this, SLOT ( highlightModeChanged ( QAction* ) ) ); + connect ( displayGrp, SIGNAL ( triggered ( QAction* ) ), this, SLOT ( highlightModeChanged ( QAction* ) ) ); highlightSelectionAction = new QAction ( tr ( "&Selection" ), displayGrp ); highlightSelectionAction->setCheckable ( true ); @@ -818,7 +818,7 @@ void InteractiveViewer::initActions() { //-- camera mode QActionGroup *cameraModeGrp = new QActionGroup ( this ); - connect ( cameraModeGrp, SIGNAL ( selected ( QAction* ) ), this, SLOT ( viewControlModeChanged ( QAction* ) ) ); + connect ( cameraModeGrp, SIGNAL ( triggered ( QAction* ) ), this, SLOT ( viewControlModeChanged ( QAction* ) ) ); controlModeTrackballAction = new QAction ( tr ( "&Trackball" ), cameraModeGrp ); controlModeTrackballAction->setCheckable ( true ); @@ -834,7 +834,7 @@ void InteractiveViewer::initActions() { //-- camera orientation mode QActionGroup *cameraOrientationGrp = new QActionGroup ( this ); - connect ( cameraOrientationGrp, SIGNAL ( selected ( QAction* ) ), this, SLOT ( cameraOrientationChanged ( QAction* ) ) ); + connect ( cameraOrientationGrp, SIGNAL ( triggered ( QAction* ) ), this, SLOT ( cameraOrientationChanged ( QAction* ) ) ); cameraOrientationRightDownAction = new QAction ( tr ( "x-right y-down z-back" ), cameraOrientationGrp ); cameraOrientationRightDownAction->setCheckable ( true ); @@ -901,7 +901,7 @@ void InteractiveViewer::initActions() { //--- actions of the picking menu QActionGroup *pickingGrp = new QActionGroup ( this ); - connect ( pickingGrp, SIGNAL ( selected ( QAction* ) ), this, SLOT ( pickingModeChanged ( QAction* ) ) ); + connect ( pickingGrp, SIGNAL ( triggered ( QAction* ) ), this, SLOT ( pickingModeChanged ( QAction* ) ) ); pickCellAction = new QAction ( QPixmap ( ":/pick_cell" ), tr ( "Pick &cell" ), pickingGrp ); pickCellAction->setCheckable ( true ); -- GitLab From 95bbb6dd60abca71001c4bde3eb8111588963bfd Mon Sep 17 00:00:00 2001 From: saubatn Date: Thu, 24 Mar 2016 17:59:36 +0100 Subject: [PATCH 018/356] TEST Fixing bug 19 --- sdk/libraries/core/component/Slice.cpp | 27 ++++++++++++++----- .../core/component/image/ImageComponent.cpp | 7 ++--- sdk/libraries/core/viewer/RendererWidget.cpp | 6 +++-- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/sdk/libraries/core/component/Slice.cpp b/sdk/libraries/core/component/Slice.cpp index 231441c3..f45ecec6 100644 --- a/sdk/libraries/core/component/Slice.cpp +++ b/sdk/libraries/core/component/Slice.cpp @@ -40,6 +40,7 @@ #include #include #include +#include using namespace std; @@ -179,14 +180,22 @@ void Slice::initActors() { } else imgToMapFilter->SetLookupTable(lut); + /// NICO + MAHNU /* 3D Actor case: directly pluged to the output of imgToMapFilter */ - image3DActor->SetInputData(imgToMapFilter->GetOutput()); +// image3DActor->SetInputData(imgToMapFilter->GetOutput()); + image3DActor->GetMapper()->SetInputConnection(imgToMapFilter->GetOutputPort()); image3DActor->InterpolateOn(); + + /// NICO + MAHNU // 2D actors - image2DActor->SetInputData(imgToMapFilter->GetOutput()); +// image2DActor->SetInputData(imgToMapFilter->GetOutput()); + image2DActor->GetMapper()->SetInputConnection(imgToMapFilter->GetOutputPort()); image2DActor->InterpolateOn(); + /// NICO +// image2DActor->SetOpacity(0.5); + // Pick plane updatePickPlane(); @@ -214,6 +223,9 @@ void Slice::initActors() { pickPlaneActor->GetProperty()->SetOpacity(1.0); pickPlaneActor->GetProperty()->SetLineWidth(2.0); + /// NICO +// imgToMapFilter->Update(); + // Orientation 2D Axes init2DAxesActor(); update2DAxesActorPosition(); @@ -440,7 +452,7 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { switch (sliceOrientation) { case AXIAL: - planeZCoord = z - (originalSpacing[2] / 2); + planeZCoord = z - (originalSpacing[2] / 2.0); // 0 -> Anterior Point pixelPoints->InsertPoint(0, x, 0.0 , planeZCoord); // 1 -> Posterior Point @@ -452,7 +464,7 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { break; case CORONAL: - planeYCoord = y - (originalSpacing[1] / 2); + planeYCoord = y - (originalSpacing[1] / 2.0); // 0 -> Superior Point pixelPoints->InsertPoint(0, x , planeYCoord, originalSize[2]); // 1 -> Inferior Point @@ -464,7 +476,7 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { break; case SAGITTAL: - planeXCoord = x + (originalSpacing[0]/2); + planeXCoord = x + (originalSpacing[0] / 2.0); // 0 -> Superior Point pixelPoints->InsertPoint(0, planeXCoord, y, originalSize[2]); // 1 -> Inferior Point @@ -503,6 +515,9 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { vtkSmartPointer aPixelMapper = vtkSmartPointer::New(); aPixelMapper->SetInputData(aPixelGrid); + /// NICO +// aPixelMapper->Update(); + pixelActor->SetMapper(aPixelMapper); pixelActor->GetProperty()->SetAmbient(1.0); pixelActor->GetProperty()->SetDiffuse(1.0); @@ -525,7 +540,7 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { } pixelActor->GetProperty()->SetLineWidth( 1.0 ); - pixelActor->SetPosition( 0.0, 0.0, 0.0 ); +// pixelActor->SetPosition( 0.0, 0.0, 0.0 ); //-- pixelActor can not be picked pixelActor->PickableOff(); } diff --git a/sdk/libraries/core/component/image/ImageComponent.cpp b/sdk/libraries/core/component/image/ImageComponent.cpp index 0c91f949..64ab8449 100644 --- a/sdk/libraries/core/component/image/ImageComponent.cpp +++ b/sdk/libraries/core/component/image/ImageComponent.cpp @@ -198,7 +198,6 @@ void ImageComponent::updateImageProperties() { imageSize += ")"; setProperty("Image Size", QVariant(imageSize)); - setProperty("Voxel Data Type", QVariant(getDataType())); setProperty("Display Image in 3D Viewer", QVariant(true)); @@ -297,8 +296,10 @@ void ImageComponent::setImageData(vtkSmartPointer anImageData, imageResliceFilter->SetOutputDimensionality(3); imageResliceFilter->SetResliceAxes(initialImageDataTransform->GetMatrix()); imageResliceFilter->Update(); - originalImageData = imageResliceFilter->GetOutput(); - imageResliceFilter->Update(); + originalImageData = imageResliceFilter->GetOutput(); +// /// NICO +// originalImageData =vtkSmartPointer::New(); +// originalImageData->DeepCopy(anImageData); // 7. Store initialFrameTransform as the current frame // note: we need to get another matrix instance for the transformation (else it is deleted) diff --git a/sdk/libraries/core/viewer/RendererWidget.cpp b/sdk/libraries/core/viewer/RendererWidget.cpp index 9d4db4b2..bb4187de 100644 --- a/sdk/libraries/core/viewer/RendererWidget.cpp +++ b/sdk/libraries/core/viewer/RendererWidget.cpp @@ -389,12 +389,14 @@ RendererWidget::RendererWidget(QWidget* parent, ControlMode mode) : QVTKWidget(p pointSize = 4.0; //-- render window - vtkSmartPointer renderWindow = vtkSmartPointer::New(); + /// NICO + MAHNU + vtkSmartPointer renderWindow = GetRenderWindow(); +// vtkSmartPointer renderWindow = vtkSmartPointer::New(); //-- renderer renderer = vtkSmartPointer::New(); renderWindow->AddRenderer( renderer ); - SetRenderWindow( renderWindow ); + // SetRenderWindow( renderWindow ); /// NICO + MAHNU //-- interactor interactor = vtkSmartPointer::New(); -- GitLab From bcaeaddde139eebe547d5524a78cb11c9b68613d Mon Sep 17 00:00:00 2001 From: saubatn Date: Fri, 25 Mar 2016 09:56:06 +0100 Subject: [PATCH 019/356] UPDATED Cleaning code by removing comments. FIXED Bug 19 --- sdk/libraries/core/component/Slice.cpp | 14 -------------- .../core/component/image/ImageComponent.cpp | 5 +---- sdk/libraries/core/viewer/RendererWidget.cpp | 5 ----- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/sdk/libraries/core/component/Slice.cpp b/sdk/libraries/core/component/Slice.cpp index f45ecec6..4b9c811e 100644 --- a/sdk/libraries/core/component/Slice.cpp +++ b/sdk/libraries/core/component/Slice.cpp @@ -180,22 +180,14 @@ void Slice::initActors() { } else imgToMapFilter->SetLookupTable(lut); - /// NICO + MAHNU /* 3D Actor case: directly pluged to the output of imgToMapFilter */ -// image3DActor->SetInputData(imgToMapFilter->GetOutput()); image3DActor->GetMapper()->SetInputConnection(imgToMapFilter->GetOutputPort()); image3DActor->InterpolateOn(); - - /// NICO + MAHNU // 2D actors -// image2DActor->SetInputData(imgToMapFilter->GetOutput()); image2DActor->GetMapper()->SetInputConnection(imgToMapFilter->GetOutputPort()); image2DActor->InterpolateOn(); - /// NICO -// image2DActor->SetOpacity(0.5); - // Pick plane updatePickPlane(); @@ -223,9 +215,6 @@ void Slice::initActors() { pickPlaneActor->GetProperty()->SetOpacity(1.0); pickPlaneActor->GetProperty()->SetLineWidth(2.0); - /// NICO -// imgToMapFilter->Update(); - // Orientation 2D Axes init2DAxesActor(); update2DAxesActorPosition(); @@ -515,9 +504,6 @@ void Slice::updatePixelActorPosition(double x, double y, double z) { vtkSmartPointer aPixelMapper = vtkSmartPointer::New(); aPixelMapper->SetInputData(aPixelGrid); - /// NICO -// aPixelMapper->Update(); - pixelActor->SetMapper(aPixelMapper); pixelActor->GetProperty()->SetAmbient(1.0); pixelActor->GetProperty()->SetDiffuse(1.0); diff --git a/sdk/libraries/core/component/image/ImageComponent.cpp b/sdk/libraries/core/component/image/ImageComponent.cpp index 64ab8449..30e3ce86 100644 --- a/sdk/libraries/core/component/image/ImageComponent.cpp +++ b/sdk/libraries/core/component/image/ImageComponent.cpp @@ -296,10 +296,7 @@ void ImageComponent::setImageData(vtkSmartPointer anImageData, imageResliceFilter->SetOutputDimensionality(3); imageResliceFilter->SetResliceAxes(initialImageDataTransform->GetMatrix()); imageResliceFilter->Update(); - originalImageData = imageResliceFilter->GetOutput(); -// /// NICO -// originalImageData =vtkSmartPointer::New(); -// originalImageData->DeepCopy(anImageData); + originalImageData = imageResliceFilter->GetOutput(); // 7. Store initialFrameTransform as the current frame // note: we need to get another matrix instance for the transformation (else it is deleted) diff --git a/sdk/libraries/core/viewer/RendererWidget.cpp b/sdk/libraries/core/viewer/RendererWidget.cpp index bb4187de..4e3f5526 100644 --- a/sdk/libraries/core/viewer/RendererWidget.cpp +++ b/sdk/libraries/core/viewer/RendererWidget.cpp @@ -333,8 +333,6 @@ void vtkInteractorStylePick::Pick() { areaPicker->AreaPick ( min[0], min[1], max[0], max[1], this->CurrentRenderer ); } else { - /// NICO c'est ici que ça ne libère plus la mémoire - /// Une fois qu'on a fait le pick picker->Pick ( rbcenter[0], rbcenter[1], 0.0, this->CurrentRenderer ); } @@ -389,14 +387,11 @@ RendererWidget::RendererWidget(QWidget* parent, ControlMode mode) : QVTKWidget(p pointSize = 4.0; //-- render window - /// NICO + MAHNU vtkSmartPointer renderWindow = GetRenderWindow(); -// vtkSmartPointer renderWindow = vtkSmartPointer::New(); //-- renderer renderer = vtkSmartPointer::New(); renderWindow->AddRenderer( renderer ); - // SetRenderWindow( renderWindow ); /// NICO + MAHNU //-- interactor interactor = vtkSmartPointer::New(); -- GitLab From 43d895f59cbd6f4b942aa2ea5cdeefe5a2ba0ec6 Mon Sep 17 00:00:00 2001 From: saubatn Date: Fri, 25 Mar 2016 15:20:16 +0100 Subject: [PATCH 020/356] UPDATED Increase CMake ITK & VTK finding libraries documentation. --- sdk/cmake/modules/CamiTKConfig.cmake.in | 5 ++--- sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake | 3 ++- sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake | 3 ++- sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index ffce9507..52cfc6bd 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -133,8 +133,6 @@ set(CAMITK_INCLUDE_DIRECTORIES # postfix for MSVC debug version set(CAMITK_DEBUG_POSTFIX "-debug") - - # basic list of all lib needed for linking with CamiTK core if(MSVC) # name of the camitk core lib @@ -143,6 +141,7 @@ if(MSVC) ) # Construct list of VTK libraries for linking + # CAMITK_VTK_LIBRARIES = VTK input libraries at linkage foreach(VTK_LIBRARY ${VTK_LIBRARIES}) # Clear some errors on VTK configuration # rename correctly verdict -> vtkverdict library @@ -168,7 +167,7 @@ else() # list of all core dependencies set(CAMITK_LIBRARIES - ${VTK_LIBRARIES} + ${VTK_LIBRARIES} # no need to add more libraries in the list, CMake & VTK handle it correclty on Linux & Apple # QVTK qtpropertybrowser ) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 703a50df..9b0d3788 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -207,9 +207,10 @@ macro(camitk_application) if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) set(ITK_DIR ${ITK_DIR}/../..) - # Construct list of ITK libraries for linking + # Construct list of ITK libraries for linking = CAMITK_ITK_LIBRARIES foreach(ITK_LIBRARY ${ITK_LIBRARIES}) string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + # Some libraries have not the expected 'itk' prefix. Add it then if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) set(ITK_LIBRARY itk${ITK_LIBRARY}) endif() diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index c6f4a390..1495ad40 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -218,9 +218,10 @@ macro(camitk_extension) if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) set(ITK_DIR ${ITK_DIR}/../..) - # Construct list of ITK libraries for linking + # Construct list of ITK libraries for linking = CAMITK_ITK_LIBRARIES foreach(ITK_LIBRARY ${ITK_LIBRARIES}) string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + # Some libraries have not the expected 'itk' prefix. Add it then if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) set(ITK_LIBRARY itk${ITK_LIBRARY}) endif() diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index b62c1685..f29da3b1 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -184,9 +184,10 @@ macro(camitk_library) if ((${ITK_VERSION} VERSION_GREATER "4") AND (${ITK_VERSION} VERSION_LESS "5")) # ITK 4.9 on Windows, maybe a lesser version for Linux. if(MSVC) set(ITK_DIR ${ITK_DIR}/../..) - # Construct list of ITK libraries for linking + # Construct list of ITK libraries for linking = CAMITK_ITK_LIBRARIES foreach(ITK_LIBRARY ${ITK_LIBRARIES}) string(SUBSTRING ${ITK_LIBRARY} 0 3 ${ITK_LIBRARY}_PREFIX) + # Some libraries have not the expected 'itk' prefix. Add it then if((NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "itk") AND (NOT ${${ITK_LIBRARY}_PREFIX} STREQUAL "ITK")) set(ITK_LIBRARY itk${ITK_LIBRARY}) endif() -- GitLab From 0ab3a24575d9702cf2c1f14e6416723e7cff50b2 Mon Sep 17 00:00:00 2001 From: saubatn Date: Fri, 25 Mar 2016 15:33:58 +0100 Subject: [PATCH 021/356] UPDATED Validating C++11 compliant. WARNING A lot of deprecated functions => lots of compilation warnings. --- CMakeLists.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ed87ccb2..edab0735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,8 @@ set(CAMITK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) include(camitk/packaging/CamiTKOpenSourcePackaging) camitk_opensource_packaging() -# Nico : test C++11 -# Maybev not the best place to put it -# set(CMAKE_CXX_FLAGS "-std=c++11") +# CamiTK 4.0 is C++11 compliant +set(CMAKE_CXX_FLAGS "-std=c++11") # Specific to SDK: first compile the SDK (it looks like a CEP but is sooooo special...) add_subdirectory(sdk) -- GitLab From 6c19e5c2d47e7ebfd9bd6fe2e4c50f4556ae6c45 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Tue, 29 Mar 2016 15:16:54 +0200 Subject: [PATCH 022/356] FIXED copyright date and holder --- COPYRIGHT | 2 +- sdk/COPYRIGHT | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/COPYRIGHT b/COPYRIGHT index 88721c6c..f42d7b0f 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,7 +1,7 @@ $CAMITK_LICENCE_BEGIN$ CamiTK - Computer Assisted Medical Intervention ToolKit -(c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) +(c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) Visit http://camitk.imag.fr for more information diff --git a/sdk/COPYRIGHT b/sdk/COPYRIGHT index 2c6300a3..f42d7b0f 100644 --- a/sdk/COPYRIGHT +++ b/sdk/COPYRIGHT @@ -1,7 +1,7 @@ $CAMITK_LICENCE_BEGIN$ CamiTK - Computer Assisted Medical Intervention ToolKit -(c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) +(c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) Visit http://camitk.imag.fr for more information -- GitLab From b722948eff886750afb69046d78d1275b95d5bcf Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Tue, 29 Mar 2016 16:13:03 +0200 Subject: [PATCH 023/356] FIXED copyright date and holder Signed-off-by: Emmanuel Promayon --- imaging/COPYRIGHT | 2 +- modeling/COPYRIGHT | 2 +- sdk/cmake/modules/CamiTKConfig.cmake.in | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/imaging/COPYRIGHT b/imaging/COPYRIGHT index 2c6300a3..f42d7b0f 100644 --- a/imaging/COPYRIGHT +++ b/imaging/COPYRIGHT @@ -1,7 +1,7 @@ $CAMITK_LICENCE_BEGIN$ CamiTK - Computer Assisted Medical Intervention ToolKit -(c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) +(c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) Visit http://camitk.imag.fr for more information diff --git a/modeling/COPYRIGHT b/modeling/COPYRIGHT index 2c6300a3..f42d7b0f 100644 --- a/modeling/COPYRIGHT +++ b/modeling/COPYRIGHT @@ -1,7 +1,7 @@ $CAMITK_LICENCE_BEGIN$ CamiTK - Computer Assisted Medical Intervention ToolKit -(c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) +(c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) Visit http://camitk.imag.fr for more information diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 52cfc6bd..2a6c2eb6 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -15,8 +15,9 @@ set(CAMITK_VERSION_MINOR "@CAMITK_VERSION_MINOR@") set(CAMITK_SHORT_VERSION_STRING "camitk-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}") #-- Check dependencies: Qt and VTK +# List of Qt5 modules that are required in CamiTK +set(CAMITK_QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) # Find Qt5 -set(CAMITK_QT_COMPONENTS Core Gui Xml XmlPatterns Widgets Help UiTools OpenGL OpenGLExtensions) #the different Qt5 modules we work with find_package(Qt5 COMPONENTS ${CAMITK_QT_COMPONENTS} REQUIRED) if (Qt5_FOUND) message(STATUS "CamiTK SDK : found Qt ${Qt5_VERSION}.") -- GitLab From 4a38dbdae4c88c657e0710330d72ebf88414bb21 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 09:59:10 +0200 Subject: [PATCH 024/356] UPDATED (c) years NEW prepare C+11 (but do not force) --- sdk/libraries/cepcoreschema/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/libraries/cepcoreschema/CMakeLists.txt b/sdk/libraries/cepcoreschema/CMakeLists.txt index 2e433f1e..884970ee 100644 --- a/sdk/libraries/cepcoreschema/CMakeLists.txt +++ b/sdk/libraries/cepcoreschema/CMakeLists.txt @@ -15,7 +15,7 @@ if (XSD_COMMAND) get_filename_component(xsdFileName ${xsdFile} NAME_WE) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${xsdFileName}.hxx ${CMAKE_CURRENT_BINARY_DIR}/${xsdFileName}.cxx COMMAND ${XSD_COMMAND} - ARGS cxx-tree --generate-polymorphic --generate-serialization --namespace-map =cepcoreschema --polymorphic-type Method --polymorphic-type Criteria ${xsdFile} + ARGS cxx-tree --std c++11 --generate-polymorphic --generate-serialization --namespace-map =cepcoreschema --polymorphic-type Method --polymorphic-type Criteria ${xsdFile} DEPENDS ${xsdFile}) set(XSD_H ${XSD_H} ${CMAKE_CURRENT_BINARY_DIR}/${xsdFileName}.hxx) set(XSD_SRCS ${XSD_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/${xsdFileName}.cxx) -- GitLab From e4a136e6375cb9ce175f437f20f356587ede6d75 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 09:59:56 +0200 Subject: [PATCH 025/356] NEW prepare C+11 (but do not force) (with staging this time!) --- imaging/actions/itkfilters/AnisotropicDiffusion.impl | 2 +- imaging/actions/itkfilters/CannyEdgeDetection.impl | 2 +- imaging/actions/itkfilters/ConnectedComponents.impl | 2 +- imaging/actions/itkfilters/Derivative.impl | 2 +- imaging/actions/itkfilters/GaussianFilter.impl | 2 +- imaging/actions/itkfilters/GradientMagnitude.impl | 2 +- .../itkfilters/GradientMagnitudeRecursiveGaussian.impl | 2 +- imaging/actions/itkfilters/Laplacian.impl | 2 +- .../actions/itkfilters/LaplacianRecursiveGaussian.impl | 2 +- imaging/actions/itkfilters/LaplacianSharpening.impl | 2 +- imaging/actions/itkfilters/MeanFilter.impl | 2 +- imaging/actions/itkfilters/MedianFilter.impl | 2 +- imaging/actions/itkfilters/MorphologicalOperators.impl | 2 +- imaging/actions/itkfilters/SobelEdgeDetection.impl | 2 +- imaging/actions/itksegmentation/ManualThreshold.impl | 2 +- imaging/actions/itksegmentation/OtsuFilter.impl | 2 +- imaging/actions/itksegmentation/RegionGrowing.impl | 2 +- imaging/components/dicomitk/DicomItkComponent.cpp | 2 +- imaging/components/dicomitk/DicomItkComponent.h | 2 +- .../components/dicomitk/DicomItkComponentExtension.cpp | 2 +- imaging/components/dicomitk/DicomItkComponentExtension.h | 2 +- .../components/dicomtree/DicomTreeComponentExtension.cpp | 2 +- .../components/dicomtree/DicomTreeComponentExtension.h | 2 +- .../components/dicomtree/DicomTreeDirectoryComponent.cpp | 2 +- .../components/dicomtree/DicomTreeDirectoryComponent.h | 2 +- imaging/components/dicomtree/DicomTreeSerieComponent.cpp | 2 +- imaging/components/dicomtree/DicomTreeSerieComponent.h | 2 +- imaging/components/dicomtree/DicomTreeStudyComponent.cpp | 2 +- imaging/components/dicomtree/DicomTreeStudyComponent.h | 2 +- modeling/applications/mml/benchmark/benchmark.cpp | 2 +- modeling/applications/mml/benchmarkgui/benchmarkgui.cpp | 2 +- modeling/applications/mml/paramExplorer/paramExplorer.cpp | 2 +- modeling/applications/mml/pml2mmlOut/pml2mmlOut.cpp | 2 +- modeling/applications/mml/scn2pml/scn2pml.cpp | 2 +- modeling/applications/pmltools/ansys2pml/ansys2pml.cpp | 2 +- modeling/applications/pmltools/ansys2pml/programarg.h | 2 +- .../elementsToNeighborhood/elementsToNeighborhood.cpp | 2 +- .../applications/pmltools/extractCells/extractCells.cpp | 2 +- modeling/applications/pmltools/genatoms/genatoms.cpp | 2 +- modeling/applications/pmltools/gencells/gencells.cpp | 2 +- modeling/applications/pmltools/gensphere/gensphere.cpp | 2 +- modeling/applications/pmltools/insideout/insideout.cpp | 2 +- .../pmltools/mooreNeighborhood/mooreNeighborhood.cpp | 2 +- modeling/applications/pmltools/nobox2pml/nobox2pml.cpp | 2 +- modeling/applications/pmltools/obj2pml/obj2pml.cpp | 2 +- .../applications/pmltools/optimizeMesh/optimizeMesh.cpp | 2 +- modeling/applications/pmltools/pml2ansys/pml2ansys.cpp | 2 +- modeling/applications/pmltools/pml2csv/pml2csv.cpp | 2 +- modeling/applications/pmltools/pml2ghs3d/pml2ghs3d.cpp | 2 +- modeling/applications/pmltools/pml2wrl/pml2wrl.cpp | 2 +- modeling/applications/pmltools/pmldiff/pmldiff.cpp | 2 +- modeling/applications/pmltools/refineMesh/refineMesh.cpp | 2 +- modeling/applications/pmltools/renError/renError.cpp | 2 +- modeling/applications/pmltools/select/select.cpp | 2 +- modeling/applications/pmltools/tri2pml/tri2pml.cpp | 2 +- .../applications/pmltools/triangulate/triangulate.cpp | 2 +- modeling/applications/pmltools/vtk2model/vtk2model.cpp | 2 +- modeling/applications/pmltools/vtk2pml/vtk2pml.cpp | 2 +- modeling/components/physicalmodel/AtomDC.cpp | 2 +- modeling/components/physicalmodel/AtomDC.h | 2 +- modeling/components/physicalmodel/AtomDCPopup.cpp | 2 +- modeling/components/physicalmodel/AtomDCPopup.h | 2 +- modeling/components/physicalmodel/AtomDCProperties.cpp | 2 +- modeling/components/physicalmodel/AtomDCProperties.h | 2 +- modeling/components/physicalmodel/AtomDCWidget.cpp | 2 +- modeling/components/physicalmodel/AtomDCWidget.h | 2 +- modeling/components/physicalmodel/CellDC.cpp | 2 +- modeling/components/physicalmodel/CellDC.h | 2 +- modeling/components/physicalmodel/CellDCProperties.cpp | 2 +- modeling/components/physicalmodel/CellDCProperties.h | 2 +- modeling/components/physicalmodel/ComponentDC.cpp | 2 +- modeling/components/physicalmodel/ComponentDC.h | 2 +- modeling/components/physicalmodel/MultiComponentDC.cpp | 2 +- modeling/components/physicalmodel/MultiComponentDC.h | 2 +- .../components/physicalmodel/MultiComponentDCPopup.cpp | 2 +- modeling/components/physicalmodel/MultiComponentDCPopup.h | 2 +- modeling/components/physicalmodel/PMComponentAPI.h | 2 +- .../components/physicalmodel/PMComponentExtension.cpp | 2 +- modeling/components/physicalmodel/PMComponentExtension.h | 2 +- modeling/components/physicalmodel/PMManagerDC.cpp | 2 +- modeling/components/physicalmodel/PMManagerDC.h | 2 +- modeling/components/physicalmodel/PMManagerDCPopup.cpp | 2 +- modeling/components/physicalmodel/PMManagerDCPopup.h | 2 +- .../components/physicalmodel/StructuralComponentDC.cpp | 2 +- modeling/components/physicalmodel/StructuralComponentDC.h | 2 +- .../physicalmodel/StructuralComponentDCPopup.cpp | 2 +- .../components/physicalmodel/StructuralComponentDCPopup.h | 2 +- .../physicalmodel/StructuralComponentDCProperties.cpp | 2 +- .../physicalmodel/StructuralComponentDCProperties.h | 2 +- .../physicalmodel/loads/AnimationMotorAddon.cpp | 2 +- .../components/physicalmodel/loads/AnimationMotorAddon.h | 2 +- modeling/components/physicalmodel/loads/AnyDecoration.cpp | 2 +- modeling/components/physicalmodel/loads/AnyDecoration.h | 2 +- .../components/physicalmodel/loads/AtomDecoration.cpp | 2 +- modeling/components/physicalmodel/loads/AtomDecoration.h | 2 +- modeling/components/physicalmodel/loads/Decoration.h | 2 +- .../components/physicalmodel/loads/LoadsAppliedTo.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsAppliedTo.h | 2 +- modeling/components/physicalmodel/loads/LoadsEditor.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsEditor.h | 2 +- modeling/components/physicalmodel/loads/LoadsManager.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsManager.h | 2 +- modeling/components/physicalmodel/loads/LoadsMovie.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsMovie.h | 2 +- .../components/physicalmodel/loads/LoadsSimulation.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsSimulation.h | 2 +- .../physicalmodel/loads/LoadsSimulationDriver.cpp | 2 +- .../physicalmodel/loads/LoadsSimulationDriver.h | 2 +- .../components/physicalmodel/loads/LoadsValueEvent.cpp | 2 +- modeling/components/physicalmodel/loads/LoadsValueEvent.h | 2 +- modeling/libraries/lml/LoadsVersion.h.in | 2 +- modeling/libraries/lml/api-doc/CompileLatex.pl | 2 +- modeling/libraries/lmlschema/Acceleration.xsd | 2 +- modeling/libraries/lmlschema/AppliedTo.xsd | 2 +- modeling/libraries/lmlschema/DirState.xsd | 2 +- modeling/libraries/lmlschema/Direction.xsd | 2 +- modeling/libraries/lmlschema/Force.xsd | 2 +- modeling/libraries/lmlschema/Load.xsd | 2 +- modeling/libraries/lmlschema/Loads.xsd | 2 +- modeling/libraries/lmlschema/Pressure.xsd | 2 +- modeling/libraries/lmlschema/Rotation.xsd | 2 +- modeling/libraries/lmlschema/Transition.xsd | 2 +- modeling/libraries/lmlschema/Translation.xsd | 2 +- modeling/libraries/lmlschema/Units.xsd | 2 +- modeling/libraries/lmlschema/ValueEvent.xsd | 2 +- modeling/libraries/mml/monitoring/AnsysBatch.cpp | 2 +- modeling/libraries/mml/monitoring/AnsysBatch.h | 2 +- modeling/libraries/mml/monitoring/AnsysBatchWriter.cpp | 2 +- modeling/libraries/mml/monitoring/AnsysBatchWriter.h | 2 +- modeling/libraries/mml/monitoring/AnsysSimulator.cpp | 2 +- modeling/libraries/mml/monitoring/AnsysSimulator.h | 2 +- modeling/libraries/mml/monitoring/AnsysWidget.cpp | 2 +- modeling/libraries/mml/monitoring/AnsysWidget.h | 2 +- modeling/libraries/mml/monitoring/ArtiSynthSimulator.cpp | 2 +- modeling/libraries/mml/monitoring/ArtiSynthSimulator.h | 2 +- modeling/libraries/mml/monitoring/ParametersWriter.cpp | 2 +- modeling/libraries/mml/monitoring/ParametersWriter.h | 2 +- modeling/libraries/mml/monitoring/PostWriter.cpp | 2 +- modeling/libraries/mml/monitoring/PostWriter.h | 2 +- modeling/libraries/mml/monitoring/PrepWriter.cpp | 2 +- modeling/libraries/mml/monitoring/PrepWriter.h | 2 +- modeling/libraries/mml/monitoring/SofaSimulator.cpp | 2 +- modeling/libraries/mml/monitoring/SofaSimulator.h | 2 +- modeling/libraries/mml/monitoring/SofaWidget.cpp | 2 +- modeling/libraries/mml/monitoring/SofaWidget.h | 2 +- modeling/libraries/mml/monitoring/SoluWriter.cpp | 2 +- modeling/libraries/mml/monitoring/SoluWriter.h | 2 +- modeling/libraries/mml/monitoring/TimePeriodThreshold.cpp | 2 +- modeling/libraries/mml/monitoring/TimePeriodThreshold.h | 2 +- .../libraries/mml/monitoring/TranslationConstraint.cpp | 2 +- modeling/libraries/mml/monitoring/TranslationConstraint.h | 2 +- .../libraries/mml/monitoring/TranslationConstraint.inl | 2 +- modeling/libraries/mml/test/check.sh | 2 +- modeling/libraries/mmlschema/MonitorIn.xsd | 2 +- modeling/libraries/mmlschema/MonitorOut.xsd | 2 +- modeling/libraries/mmlschema/MonitoringModel.xsd | 2 +- modeling/libraries/pml/PhysicalModelVersion.h.in | 2 +- modeling/libraries/pml/RenderingMode.cpp | 2 +- modeling/libraries/pml/api-doc/CompileLatex.pl | 2 +- modeling/libraries/pmlschema/xsl/x3d/x3d2pml.xsl | 2 +- sdk/actions/imageacquisition/InitImagerAction.cpp | 2 +- sdk/actions/imageacquisition/InitImagerAction.h | 2 +- .../imageacquisition/SingleAcquisition2DAction.cpp | 2 +- sdk/actions/imageacquisition/SingleAcquisition2DAction.h | 2 +- .../imageacquisition/SingleAcquisition3DAction.cpp | 2 +- sdk/actions/imageacquisition/SingleAcquisition3DAction.h | 2 +- sdk/actions/imageacquisition/StartImaging2DAction.cpp | 2 +- sdk/actions/imageacquisition/StartImaging2DAction.h | 2 +- sdk/actions/imageacquisition/StartImaging3DAction.cpp | 2 +- sdk/actions/imageacquisition/StartImaging3DAction.h | 2 +- sdk/actions/imageacquisition/StopImaging2DAction.cpp | 2 +- sdk/actions/imageacquisition/StopImaging2DAction.h | 2 +- sdk/actions/imageacquisition/StopImaging3DAction.cpp | 2 +- sdk/actions/imageacquisition/StopImaging3DAction.h | 2 +- sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp | 2 +- sdk/actions/mesh/basicmesh/MeshToImageStencil.h | 2 +- sdk/actions/mesh/meshprocessing/InvertMesh.cpp | 2 +- sdk/actions/mesh/meshprocessing/InvertMesh.h | 2 +- sdk/actions/mesh/meshprocessing/SmoothFilter.cpp | 2 +- sdk/actions/mesh/meshprocessing/SmoothFilter.h | 2 +- .../actionstatemachine/resources/log2html.xsl | 2 +- .../cepgenerator/testdata/actionsExamplesLicence.xml | 2 +- .../cepgenerator/testdata/exampleComponents.xml | 2 +- sdk/applications/config/CamiTKVersionInformation.h.in | 2 +- sdk/applications/wizard/ActionAddParameterState.cpp | 2 +- sdk/applications/wizard/ActionAddParameterState.h | 2 +- sdk/applications/wizard/ActionAddParameterWidget.cpp | 2 +- sdk/applications/wizard/ActionAddParameterWidget.h | 2 +- sdk/applications/wizard/ActionClassificationState.cpp | 2 +- sdk/applications/wizard/ActionClassificationState.h | 2 +- sdk/applications/wizard/ActionClassificationWidget.cpp | 2 +- sdk/applications/wizard/ActionClassificationWidget.h | 2 +- sdk/applications/wizard/ActionCreationState.cpp | 2 +- sdk/applications/wizard/ActionCreationState.h | 2 +- sdk/applications/wizard/ActionDescriptionState.cpp | 2 +- sdk/applications/wizard/ActionDescriptionState.h | 2 +- sdk/applications/wizard/ActionDescriptionWidget.cpp | 2 +- sdk/applications/wizard/ActionDescriptionWidget.h | 2 +- sdk/applications/wizard/ActionExtensionCreationState.cpp | 2 +- sdk/applications/wizard/ActionExtensionCreationState.h | 2 +- .../wizard/ActionExtensionDependenciesState.cpp | 2 +- .../wizard/ActionExtensionDependenciesState.h | 2 +- .../wizard/ActionExtensionDescriptionState.cpp | 2 +- sdk/applications/wizard/ActionExtensionDescriptionState.h | 2 +- .../wizard/ActionExtensionDescriptionWidget.cpp | 2 +- .../wizard/ActionExtensionDescriptionWidget.h | 2 +- sdk/applications/wizard/ActionParameterWidget.cpp | 2 +- sdk/applications/wizard/ActionParameterWidget.h | 2 +- sdk/applications/wizard/ActionSummaryState.cpp | 2 +- sdk/applications/wizard/ActionSummaryState.h | 2 +- sdk/applications/wizard/ActionSummaryWidget.cpp | 2 +- sdk/applications/wizard/ActionSummaryWidget.h | 2 +- sdk/applications/wizard/ActionTagWidget.cpp | 2 +- sdk/applications/wizard/ActionTagWidget.h | 2 +- sdk/applications/wizard/ActionsCreationState.cpp | 2 +- sdk/applications/wizard/ActionsCreationState.h | 2 +- sdk/applications/wizard/ActionsCreationWidget.cpp | 2 +- sdk/applications/wizard/ActionsCreationWidget.h | 2 +- sdk/applications/wizard/CepContactState.cpp | 2 +- sdk/applications/wizard/CepContactState.h | 2 +- sdk/applications/wizard/CepContactWidget.cpp | 2 +- sdk/applications/wizard/CepContactWidget.h | 2 +- sdk/applications/wizard/CepCreateOrModifyWidget.cpp | 2 +- sdk/applications/wizard/CepCreateOrModifyWidget.h | 2 +- sdk/applications/wizard/CepCreateRecapState.cpp | 2 +- sdk/applications/wizard/CepCreateRecapState.h | 2 +- sdk/applications/wizard/CepCreateRecapWidget.cpp | 2 +- sdk/applications/wizard/CepCreateRecapWidget.h | 2 +- sdk/applications/wizard/CepCreationDirectoryState.cpp | 2 +- sdk/applications/wizard/CepCreationDirectoryState.h | 2 +- sdk/applications/wizard/CepCreationDirectoryWidget.cpp | 2 +- sdk/applications/wizard/CepCreationDirectoryWidget.h | 2 +- sdk/applications/wizard/CepDescriptionState.cpp | 2 +- sdk/applications/wizard/CepDescriptionState.h | 2 +- sdk/applications/wizard/CepDescriptionWidget.cpp | 2 +- sdk/applications/wizard/CepDescriptionWidget.h | 2 +- sdk/applications/wizard/ComponentAddPropertyState.cpp | 2 +- sdk/applications/wizard/ComponentAddPropertyState.h | 2 +- sdk/applications/wizard/ComponentAddPropertyWidget.cpp | 2 +- sdk/applications/wizard/ComponentAddPropertyWidget.h | 2 +- sdk/applications/wizard/ComponentCreationState.cpp | 2 +- sdk/applications/wizard/ComponentCreationState.h | 2 +- sdk/applications/wizard/ComponentDescriptionState.cpp | 2 +- sdk/applications/wizard/ComponentDescriptionState.h | 2 +- sdk/applications/wizard/ComponentDescriptionWidget.cpp | 2 +- sdk/applications/wizard/ComponentDescriptionWidget.h | 2 +- .../wizard/ComponentExtensionCreationState.cpp | 2 +- sdk/applications/wizard/ComponentExtensionCreationState.h | 2 +- .../wizard/ComponentExtensionDependenciesState.cpp | 2 +- .../wizard/ComponentExtensionDependenciesState.h | 2 +- .../wizard/ComponentExtensionDescriptionState.cpp | 2 +- .../wizard/ComponentExtensionDescriptionState.h | 2 +- .../wizard/ComponentExtensionDescriptionWidget.cpp | 2 +- .../wizard/ComponentExtensionDescriptionWidget.h | 2 +- sdk/applications/wizard/ComponentPropertyWidget.cpp | 2 +- sdk/applications/wizard/ComponentPropertyWidget.h | 2 +- sdk/applications/wizard/ComponentSummaryState.cpp | 2 +- sdk/applications/wizard/ComponentSummaryState.h | 2 +- sdk/applications/wizard/ComponentSummaryWidget.cpp | 2 +- sdk/applications/wizard/ComponentSummaryWidget.h | 2 +- sdk/applications/wizard/ComponentsCreationState.cpp | 2 +- sdk/applications/wizard/ComponentsCreationState.h | 2 +- sdk/applications/wizard/ComponentsCreationWidget.cpp | 2 +- sdk/applications/wizard/ComponentsCreationWidget.h | 2 +- sdk/applications/wizard/DefaultGUIText.h | 2 +- sdk/applications/wizard/DependenciesState.cpp | 2 +- sdk/applications/wizard/DependenciesState.h | 2 +- sdk/applications/wizard/DependenciesWidget.cpp | 2 +- sdk/applications/wizard/DependenciesWidget.h | 2 +- sdk/applications/wizard/ExtensionSummaryState.cpp | 2 +- sdk/applications/wizard/ExtensionSummaryState.h | 2 +- sdk/applications/wizard/ExtensionSummaryWidget.cpp | 2 +- sdk/applications/wizard/ExtensionSummaryWidget.h | 2 +- sdk/applications/wizard/GeneratingCEPState.cpp | 2 +- sdk/applications/wizard/GeneratingCEPState.h | 2 +- sdk/applications/wizard/GeneratingCEPWidget.cpp | 2 +- sdk/applications/wizard/GeneratingCEPWidget.h | 2 +- sdk/applications/wizard/LibraryCopyFilesState.cpp | 2 +- sdk/applications/wizard/LibraryCopyFilesState.h | 2 +- sdk/applications/wizard/LibraryCopyFilesWidget.cpp | 2 +- sdk/applications/wizard/LibraryCopyFilesWidget.h | 2 +- sdk/applications/wizard/LibraryCreationState.cpp | 2 +- sdk/applications/wizard/LibraryCreationState.h | 2 +- sdk/applications/wizard/LibraryDependenciesState.cpp | 2 +- sdk/applications/wizard/LibraryDependenciesState.h | 2 +- sdk/applications/wizard/LibraryDescriptionState.cpp | 2 +- sdk/applications/wizard/LibraryDescriptionState.h | 2 +- sdk/applications/wizard/LibraryDescriptionWidget.cpp | 2 +- sdk/applications/wizard/LibraryDescriptionWidget.h | 2 +- sdk/applications/wizard/WelcomeWidget.cpp | 2 +- sdk/applications/wizard/WelcomeWidget.h | 2 +- sdk/applications/wizard/WizardController.cpp | 2 +- sdk/applications/wizard/WizardController.h | 2 +- sdk/applications/wizard/WizardMainWindow.cpp | 2 +- sdk/applications/wizard/WizardMainWindow.h | 2 +- sdk/applications/wizard/WizardState.cpp | 2 +- sdk/applications/wizard/WizardState.h | 2 +- sdk/cmake/modules/FindCamiTK.cmake | 2 +- sdk/libraries/cepcoreschema/CMakeLists.txt | 8 +++++++- sdk/libraries/cepcoreschema/testdata/empty.xml | 2 +- .../cepcoreschema/testdata/exampleComponents.xml | 2 +- sdk/libraries/cepgenerator/resources/COPYRIGHT.in | 2 +- sdk/libraries/cepgenerator/resources/FindCamiTK.cmake.in | 2 +- sdk/libraries/core/CamiTKVersion.h.in | 2 +- 304 files changed, 310 insertions(+), 304 deletions(-) diff --git a/imaging/actions/itkfilters/AnisotropicDiffusion.impl b/imaging/actions/itkfilters/AnisotropicDiffusion.impl index a43b7ac1..4fe5f9d6 100644 --- a/imaging/actions/itkfilters/AnisotropicDiffusion.impl +++ b/imaging/actions/itkfilters/AnisotropicDiffusion.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/CannyEdgeDetection.impl b/imaging/actions/itkfilters/CannyEdgeDetection.impl index ee478b7f..eec39900 100644 --- a/imaging/actions/itkfilters/CannyEdgeDetection.impl +++ b/imaging/actions/itkfilters/CannyEdgeDetection.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/ConnectedComponents.impl b/imaging/actions/itkfilters/ConnectedComponents.impl index b290404a..5dfc48dd 100644 --- a/imaging/actions/itkfilters/ConnectedComponents.impl +++ b/imaging/actions/itkfilters/ConnectedComponents.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/Derivative.impl b/imaging/actions/itkfilters/Derivative.impl index 3b5cf36e..2aebcd45 100644 --- a/imaging/actions/itkfilters/Derivative.impl +++ b/imaging/actions/itkfilters/Derivative.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/GaussianFilter.impl b/imaging/actions/itkfilters/GaussianFilter.impl index 5a26d3f3..14cd04b9 100644 --- a/imaging/actions/itkfilters/GaussianFilter.impl +++ b/imaging/actions/itkfilters/GaussianFilter.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/GradientMagnitude.impl b/imaging/actions/itkfilters/GradientMagnitude.impl index 0d3d9656..37bbc3ab 100644 --- a/imaging/actions/itkfilters/GradientMagnitude.impl +++ b/imaging/actions/itkfilters/GradientMagnitude.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.impl b/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.impl index 9279494c..742a57e2 100644 --- a/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.impl +++ b/imaging/actions/itkfilters/GradientMagnitudeRecursiveGaussian.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/Laplacian.impl b/imaging/actions/itkfilters/Laplacian.impl index 9b4551e8..139050e3 100644 --- a/imaging/actions/itkfilters/Laplacian.impl +++ b/imaging/actions/itkfilters/Laplacian.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/LaplacianRecursiveGaussian.impl b/imaging/actions/itkfilters/LaplacianRecursiveGaussian.impl index 8aaf2399..63c51e3d 100644 --- a/imaging/actions/itkfilters/LaplacianRecursiveGaussian.impl +++ b/imaging/actions/itkfilters/LaplacianRecursiveGaussian.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/LaplacianSharpening.impl b/imaging/actions/itkfilters/LaplacianSharpening.impl index 14170e43..78042d97 100644 --- a/imaging/actions/itkfilters/LaplacianSharpening.impl +++ b/imaging/actions/itkfilters/LaplacianSharpening.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/MeanFilter.impl b/imaging/actions/itkfilters/MeanFilter.impl index 9bc3fd96..835db730 100644 --- a/imaging/actions/itkfilters/MeanFilter.impl +++ b/imaging/actions/itkfilters/MeanFilter.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/MedianFilter.impl b/imaging/actions/itkfilters/MedianFilter.impl index d31ebfb4..4e4bf80c 100644 --- a/imaging/actions/itkfilters/MedianFilter.impl +++ b/imaging/actions/itkfilters/MedianFilter.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/MorphologicalOperators.impl b/imaging/actions/itkfilters/MorphologicalOperators.impl index d23d1daa..0e3e38ec 100644 --- a/imaging/actions/itkfilters/MorphologicalOperators.impl +++ b/imaging/actions/itkfilters/MorphologicalOperators.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itkfilters/SobelEdgeDetection.impl b/imaging/actions/itkfilters/SobelEdgeDetection.impl index 31814fd9..3e247cf7 100644 --- a/imaging/actions/itkfilters/SobelEdgeDetection.impl +++ b/imaging/actions/itkfilters/SobelEdgeDetection.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itksegmentation/ManualThreshold.impl b/imaging/actions/itksegmentation/ManualThreshold.impl index a526db7d..7f7a904d 100644 --- a/imaging/actions/itksegmentation/ManualThreshold.impl +++ b/imaging/actions/itksegmentation/ManualThreshold.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itksegmentation/OtsuFilter.impl b/imaging/actions/itksegmentation/OtsuFilter.impl index 8dccdecd..ae9eb11c 100644 --- a/imaging/actions/itksegmentation/OtsuFilter.impl +++ b/imaging/actions/itksegmentation/OtsuFilter.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/actions/itksegmentation/RegionGrowing.impl b/imaging/actions/itksegmentation/RegionGrowing.impl index 9904e2eb..d362d5e0 100644 --- a/imaging/actions/itksegmentation/RegionGrowing.impl +++ b/imaging/actions/itksegmentation/RegionGrowing.impl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomitk/DicomItkComponent.cpp b/imaging/components/dicomitk/DicomItkComponent.cpp index a9639fe1..811e618b 100644 --- a/imaging/components/dicomitk/DicomItkComponent.cpp +++ b/imaging/components/dicomitk/DicomItkComponent.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomitk/DicomItkComponent.h b/imaging/components/dicomitk/DicomItkComponent.h index 8b43dbd8..8374977a 100644 --- a/imaging/components/dicomitk/DicomItkComponent.h +++ b/imaging/components/dicomitk/DicomItkComponent.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomitk/DicomItkComponentExtension.cpp b/imaging/components/dicomitk/DicomItkComponentExtension.cpp index 2ab5a7d1..defaef5d 100644 --- a/imaging/components/dicomitk/DicomItkComponentExtension.cpp +++ b/imaging/components/dicomitk/DicomItkComponentExtension.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomitk/DicomItkComponentExtension.h b/imaging/components/dicomitk/DicomItkComponentExtension.h index f81f0b39..c9b57bb2 100644 --- a/imaging/components/dicomitk/DicomItkComponentExtension.h +++ b/imaging/components/dicomitk/DicomItkComponentExtension.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeComponentExtension.cpp b/imaging/components/dicomtree/DicomTreeComponentExtension.cpp index 6e2c9e6d..e0887dcf 100644 --- a/imaging/components/dicomtree/DicomTreeComponentExtension.cpp +++ b/imaging/components/dicomtree/DicomTreeComponentExtension.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeComponentExtension.h b/imaging/components/dicomtree/DicomTreeComponentExtension.h index 84e78f3f..31d5351f 100644 --- a/imaging/components/dicomtree/DicomTreeComponentExtension.h +++ b/imaging/components/dicomtree/DicomTreeComponentExtension.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeDirectoryComponent.cpp b/imaging/components/dicomtree/DicomTreeDirectoryComponent.cpp index 8a6ea12d..1f4f262e 100644 --- a/imaging/components/dicomtree/DicomTreeDirectoryComponent.cpp +++ b/imaging/components/dicomtree/DicomTreeDirectoryComponent.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeDirectoryComponent.h b/imaging/components/dicomtree/DicomTreeDirectoryComponent.h index d7394a9e..182080e3 100644 --- a/imaging/components/dicomtree/DicomTreeDirectoryComponent.h +++ b/imaging/components/dicomtree/DicomTreeDirectoryComponent.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeSerieComponent.cpp b/imaging/components/dicomtree/DicomTreeSerieComponent.cpp index 6f75c5f9..2c817421 100644 --- a/imaging/components/dicomtree/DicomTreeSerieComponent.cpp +++ b/imaging/components/dicomtree/DicomTreeSerieComponent.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeSerieComponent.h b/imaging/components/dicomtree/DicomTreeSerieComponent.h index ea365db5..1a4b2134 100644 --- a/imaging/components/dicomtree/DicomTreeSerieComponent.h +++ b/imaging/components/dicomtree/DicomTreeSerieComponent.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeStudyComponent.cpp b/imaging/components/dicomtree/DicomTreeStudyComponent.cpp index d09de2bc..d2adcc11 100644 --- a/imaging/components/dicomtree/DicomTreeStudyComponent.cpp +++ b/imaging/components/dicomtree/DicomTreeStudyComponent.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/imaging/components/dicomtree/DicomTreeStudyComponent.h b/imaging/components/dicomtree/DicomTreeStudyComponent.h index 2dae856c..27c5ec77 100644 --- a/imaging/components/dicomtree/DicomTreeStudyComponent.h +++ b/imaging/components/dicomtree/DicomTreeStudyComponent.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/mml/benchmark/benchmark.cpp b/modeling/applications/mml/benchmark/benchmark.cpp index 5aa0c847..9b5edd7a 100644 --- a/modeling/applications/mml/benchmark/benchmark.cpp +++ b/modeling/applications/mml/benchmark/benchmark.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/mml/benchmarkgui/benchmarkgui.cpp b/modeling/applications/mml/benchmarkgui/benchmarkgui.cpp index cb22fc18..eadbb0bb 100644 --- a/modeling/applications/mml/benchmarkgui/benchmarkgui.cpp +++ b/modeling/applications/mml/benchmarkgui/benchmarkgui.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/mml/paramExplorer/paramExplorer.cpp b/modeling/applications/mml/paramExplorer/paramExplorer.cpp index ad665090..6c72ce92 100644 --- a/modeling/applications/mml/paramExplorer/paramExplorer.cpp +++ b/modeling/applications/mml/paramExplorer/paramExplorer.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/mml/pml2mmlOut/pml2mmlOut.cpp b/modeling/applications/mml/pml2mmlOut/pml2mmlOut.cpp index 5d03eccd..777a8cfa 100644 --- a/modeling/applications/mml/pml2mmlOut/pml2mmlOut.cpp +++ b/modeling/applications/mml/pml2mmlOut/pml2mmlOut.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/mml/scn2pml/scn2pml.cpp b/modeling/applications/mml/scn2pml/scn2pml.cpp index d3f1bd13..e8b734b2 100644 --- a/modeling/applications/mml/scn2pml/scn2pml.cpp +++ b/modeling/applications/mml/scn2pml/scn2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/ansys2pml/ansys2pml.cpp b/modeling/applications/pmltools/ansys2pml/ansys2pml.cpp index 375ab758..926babcc 100644 --- a/modeling/applications/pmltools/ansys2pml/ansys2pml.cpp +++ b/modeling/applications/pmltools/ansys2pml/ansys2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/ansys2pml/programarg.h b/modeling/applications/pmltools/ansys2pml/programarg.h index 72b523f3..7bdbe114 100644 --- a/modeling/applications/pmltools/ansys2pml/programarg.h +++ b/modeling/applications/pmltools/ansys2pml/programarg.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/elementsToNeighborhood/elementsToNeighborhood.cpp b/modeling/applications/pmltools/elementsToNeighborhood/elementsToNeighborhood.cpp index 2c0f6d94..682eeec3 100644 --- a/modeling/applications/pmltools/elementsToNeighborhood/elementsToNeighborhood.cpp +++ b/modeling/applications/pmltools/elementsToNeighborhood/elementsToNeighborhood.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/extractCells/extractCells.cpp b/modeling/applications/pmltools/extractCells/extractCells.cpp index d98c148e..e26bf5df 100644 --- a/modeling/applications/pmltools/extractCells/extractCells.cpp +++ b/modeling/applications/pmltools/extractCells/extractCells.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/genatoms/genatoms.cpp b/modeling/applications/pmltools/genatoms/genatoms.cpp index 0ee9cb2d..a58204b9 100644 --- a/modeling/applications/pmltools/genatoms/genatoms.cpp +++ b/modeling/applications/pmltools/genatoms/genatoms.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/gencells/gencells.cpp b/modeling/applications/pmltools/gencells/gencells.cpp index 3bed1685..39828096 100644 --- a/modeling/applications/pmltools/gencells/gencells.cpp +++ b/modeling/applications/pmltools/gencells/gencells.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/gensphere/gensphere.cpp b/modeling/applications/pmltools/gensphere/gensphere.cpp index 769bfd76..9798138c 100644 --- a/modeling/applications/pmltools/gensphere/gensphere.cpp +++ b/modeling/applications/pmltools/gensphere/gensphere.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/insideout/insideout.cpp b/modeling/applications/pmltools/insideout/insideout.cpp index f0a7e46b..d66d79a0 100644 --- a/modeling/applications/pmltools/insideout/insideout.cpp +++ b/modeling/applications/pmltools/insideout/insideout.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/mooreNeighborhood/mooreNeighborhood.cpp b/modeling/applications/pmltools/mooreNeighborhood/mooreNeighborhood.cpp index 6ca401ef..5fb8c191 100644 --- a/modeling/applications/pmltools/mooreNeighborhood/mooreNeighborhood.cpp +++ b/modeling/applications/pmltools/mooreNeighborhood/mooreNeighborhood.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/nobox2pml/nobox2pml.cpp b/modeling/applications/pmltools/nobox2pml/nobox2pml.cpp index 4602357e..7874f1a8 100644 --- a/modeling/applications/pmltools/nobox2pml/nobox2pml.cpp +++ b/modeling/applications/pmltools/nobox2pml/nobox2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/obj2pml/obj2pml.cpp b/modeling/applications/pmltools/obj2pml/obj2pml.cpp index 069680f4..b1e9ba60 100644 --- a/modeling/applications/pmltools/obj2pml/obj2pml.cpp +++ b/modeling/applications/pmltools/obj2pml/obj2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/optimizeMesh/optimizeMesh.cpp b/modeling/applications/pmltools/optimizeMesh/optimizeMesh.cpp index b5e58b50..e17e4b71 100644 --- a/modeling/applications/pmltools/optimizeMesh/optimizeMesh.cpp +++ b/modeling/applications/pmltools/optimizeMesh/optimizeMesh.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/pml2ansys/pml2ansys.cpp b/modeling/applications/pmltools/pml2ansys/pml2ansys.cpp index 91c4b8f7..3bd31c60 100644 --- a/modeling/applications/pmltools/pml2ansys/pml2ansys.cpp +++ b/modeling/applications/pmltools/pml2ansys/pml2ansys.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/pml2csv/pml2csv.cpp b/modeling/applications/pmltools/pml2csv/pml2csv.cpp index 710260ee..1efbca37 100644 --- a/modeling/applications/pmltools/pml2csv/pml2csv.cpp +++ b/modeling/applications/pmltools/pml2csv/pml2csv.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/pml2ghs3d/pml2ghs3d.cpp b/modeling/applications/pmltools/pml2ghs3d/pml2ghs3d.cpp index 918b5fff..ff0bcf5d 100644 --- a/modeling/applications/pmltools/pml2ghs3d/pml2ghs3d.cpp +++ b/modeling/applications/pmltools/pml2ghs3d/pml2ghs3d.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/pml2wrl/pml2wrl.cpp b/modeling/applications/pmltools/pml2wrl/pml2wrl.cpp index ca119003..102db7e7 100644 --- a/modeling/applications/pmltools/pml2wrl/pml2wrl.cpp +++ b/modeling/applications/pmltools/pml2wrl/pml2wrl.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/pmldiff/pmldiff.cpp b/modeling/applications/pmltools/pmldiff/pmldiff.cpp index eebebb6a..76d82864 100644 --- a/modeling/applications/pmltools/pmldiff/pmldiff.cpp +++ b/modeling/applications/pmltools/pmldiff/pmldiff.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/refineMesh/refineMesh.cpp b/modeling/applications/pmltools/refineMesh/refineMesh.cpp index c3ffe603..35585bb8 100644 --- a/modeling/applications/pmltools/refineMesh/refineMesh.cpp +++ b/modeling/applications/pmltools/refineMesh/refineMesh.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/renError/renError.cpp b/modeling/applications/pmltools/renError/renError.cpp index 564462e3..91dfce0c 100644 --- a/modeling/applications/pmltools/renError/renError.cpp +++ b/modeling/applications/pmltools/renError/renError.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/select/select.cpp b/modeling/applications/pmltools/select/select.cpp index 852eb67c..f955cae9 100644 --- a/modeling/applications/pmltools/select/select.cpp +++ b/modeling/applications/pmltools/select/select.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/tri2pml/tri2pml.cpp b/modeling/applications/pmltools/tri2pml/tri2pml.cpp index 240d86f0..afd35d54 100644 --- a/modeling/applications/pmltools/tri2pml/tri2pml.cpp +++ b/modeling/applications/pmltools/tri2pml/tri2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/triangulate/triangulate.cpp b/modeling/applications/pmltools/triangulate/triangulate.cpp index 4f215126..bd0d1d60 100644 --- a/modeling/applications/pmltools/triangulate/triangulate.cpp +++ b/modeling/applications/pmltools/triangulate/triangulate.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/vtk2model/vtk2model.cpp b/modeling/applications/pmltools/vtk2model/vtk2model.cpp index 00db8a53..551ddcb1 100644 --- a/modeling/applications/pmltools/vtk2model/vtk2model.cpp +++ b/modeling/applications/pmltools/vtk2model/vtk2model.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/applications/pmltools/vtk2pml/vtk2pml.cpp b/modeling/applications/pmltools/vtk2pml/vtk2pml.cpp index 74e33cea..cd4eb193 100644 --- a/modeling/applications/pmltools/vtk2pml/vtk2pml.cpp +++ b/modeling/applications/pmltools/vtk2pml/vtk2pml.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDC.cpp b/modeling/components/physicalmodel/AtomDC.cpp index c3a0ac1b..e5a0978f 100644 --- a/modeling/components/physicalmodel/AtomDC.cpp +++ b/modeling/components/physicalmodel/AtomDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDC.h b/modeling/components/physicalmodel/AtomDC.h index ce884f66..1d873b6d 100644 --- a/modeling/components/physicalmodel/AtomDC.h +++ b/modeling/components/physicalmodel/AtomDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCPopup.cpp b/modeling/components/physicalmodel/AtomDCPopup.cpp index 036ef394..6beb45f7 100644 --- a/modeling/components/physicalmodel/AtomDCPopup.cpp +++ b/modeling/components/physicalmodel/AtomDCPopup.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCPopup.h b/modeling/components/physicalmodel/AtomDCPopup.h index 6c332fbc..eaaba5cb 100644 --- a/modeling/components/physicalmodel/AtomDCPopup.h +++ b/modeling/components/physicalmodel/AtomDCPopup.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCProperties.cpp b/modeling/components/physicalmodel/AtomDCProperties.cpp index 23ec113d..d5381385 100644 --- a/modeling/components/physicalmodel/AtomDCProperties.cpp +++ b/modeling/components/physicalmodel/AtomDCProperties.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCProperties.h b/modeling/components/physicalmodel/AtomDCProperties.h index 4464a843..04303d7c 100644 --- a/modeling/components/physicalmodel/AtomDCProperties.h +++ b/modeling/components/physicalmodel/AtomDCProperties.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCWidget.cpp b/modeling/components/physicalmodel/AtomDCWidget.cpp index dd63b7fc..ad0ff43d 100644 --- a/modeling/components/physicalmodel/AtomDCWidget.cpp +++ b/modeling/components/physicalmodel/AtomDCWidget.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/AtomDCWidget.h b/modeling/components/physicalmodel/AtomDCWidget.h index d30a13d9..3f00125f 100644 --- a/modeling/components/physicalmodel/AtomDCWidget.h +++ b/modeling/components/physicalmodel/AtomDCWidget.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/CellDC.cpp b/modeling/components/physicalmodel/CellDC.cpp index e54907d7..31951d36 100644 --- a/modeling/components/physicalmodel/CellDC.cpp +++ b/modeling/components/physicalmodel/CellDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/CellDC.h b/modeling/components/physicalmodel/CellDC.h index 2bbd1013..5acc92ee 100644 --- a/modeling/components/physicalmodel/CellDC.h +++ b/modeling/components/physicalmodel/CellDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/CellDCProperties.cpp b/modeling/components/physicalmodel/CellDCProperties.cpp index e4419336..bf16fdda 100644 --- a/modeling/components/physicalmodel/CellDCProperties.cpp +++ b/modeling/components/physicalmodel/CellDCProperties.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/CellDCProperties.h b/modeling/components/physicalmodel/CellDCProperties.h index 2545f4a4..d3b99f7d 100644 --- a/modeling/components/physicalmodel/CellDCProperties.h +++ b/modeling/components/physicalmodel/CellDCProperties.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/ComponentDC.cpp b/modeling/components/physicalmodel/ComponentDC.cpp index f4e9f769..8f284128 100644 --- a/modeling/components/physicalmodel/ComponentDC.cpp +++ b/modeling/components/physicalmodel/ComponentDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/ComponentDC.h b/modeling/components/physicalmodel/ComponentDC.h index 75c02167..356e38fe 100644 --- a/modeling/components/physicalmodel/ComponentDC.h +++ b/modeling/components/physicalmodel/ComponentDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/MultiComponentDC.cpp b/modeling/components/physicalmodel/MultiComponentDC.cpp index 713db214..40675f23 100644 --- a/modeling/components/physicalmodel/MultiComponentDC.cpp +++ b/modeling/components/physicalmodel/MultiComponentDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/MultiComponentDC.h b/modeling/components/physicalmodel/MultiComponentDC.h index 3dc3fa98..c8fded51 100644 --- a/modeling/components/physicalmodel/MultiComponentDC.h +++ b/modeling/components/physicalmodel/MultiComponentDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/MultiComponentDCPopup.cpp b/modeling/components/physicalmodel/MultiComponentDCPopup.cpp index 854c411d..f4f6c71c 100644 --- a/modeling/components/physicalmodel/MultiComponentDCPopup.cpp +++ b/modeling/components/physicalmodel/MultiComponentDCPopup.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/MultiComponentDCPopup.h b/modeling/components/physicalmodel/MultiComponentDCPopup.h index dbb1f22a..a84f9a53 100644 --- a/modeling/components/physicalmodel/MultiComponentDCPopup.h +++ b/modeling/components/physicalmodel/MultiComponentDCPopup.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMComponentAPI.h b/modeling/components/physicalmodel/PMComponentAPI.h index d1c54145..a3949783 100644 --- a/modeling/components/physicalmodel/PMComponentAPI.h +++ b/modeling/components/physicalmodel/PMComponentAPI.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMComponentExtension.cpp b/modeling/components/physicalmodel/PMComponentExtension.cpp index 6e0b65a0..5f2edde8 100644 --- a/modeling/components/physicalmodel/PMComponentExtension.cpp +++ b/modeling/components/physicalmodel/PMComponentExtension.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMComponentExtension.h b/modeling/components/physicalmodel/PMComponentExtension.h index 563d2556..d5b58e4b 100644 --- a/modeling/components/physicalmodel/PMComponentExtension.h +++ b/modeling/components/physicalmodel/PMComponentExtension.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMManagerDC.cpp b/modeling/components/physicalmodel/PMManagerDC.cpp index 1f3710b0..2ad9c558 100644 --- a/modeling/components/physicalmodel/PMManagerDC.cpp +++ b/modeling/components/physicalmodel/PMManagerDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMManagerDC.h b/modeling/components/physicalmodel/PMManagerDC.h index 6ae1fc78..c8578cdf 100644 --- a/modeling/components/physicalmodel/PMManagerDC.h +++ b/modeling/components/physicalmodel/PMManagerDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMManagerDCPopup.cpp b/modeling/components/physicalmodel/PMManagerDCPopup.cpp index 930618f3..103dd80a 100644 --- a/modeling/components/physicalmodel/PMManagerDCPopup.cpp +++ b/modeling/components/physicalmodel/PMManagerDCPopup.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/PMManagerDCPopup.h b/modeling/components/physicalmodel/PMManagerDCPopup.h index b706a4cc..7426ba96 100644 --- a/modeling/components/physicalmodel/PMManagerDCPopup.h +++ b/modeling/components/physicalmodel/PMManagerDCPopup.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDC.cpp b/modeling/components/physicalmodel/StructuralComponentDC.cpp index a8bf71c2..50eb48f7 100644 --- a/modeling/components/physicalmodel/StructuralComponentDC.cpp +++ b/modeling/components/physicalmodel/StructuralComponentDC.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDC.h b/modeling/components/physicalmodel/StructuralComponentDC.h index d581b1f3..f1d1a45b 100644 --- a/modeling/components/physicalmodel/StructuralComponentDC.h +++ b/modeling/components/physicalmodel/StructuralComponentDC.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDCPopup.cpp b/modeling/components/physicalmodel/StructuralComponentDCPopup.cpp index f7e1b670..b6a8dffe 100644 --- a/modeling/components/physicalmodel/StructuralComponentDCPopup.cpp +++ b/modeling/components/physicalmodel/StructuralComponentDCPopup.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDCPopup.h b/modeling/components/physicalmodel/StructuralComponentDCPopup.h index 99748125..f496a74a 100644 --- a/modeling/components/physicalmodel/StructuralComponentDCPopup.h +++ b/modeling/components/physicalmodel/StructuralComponentDCPopup.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDCProperties.cpp b/modeling/components/physicalmodel/StructuralComponentDCProperties.cpp index bf19daf7..a2d955fe 100644 --- a/modeling/components/physicalmodel/StructuralComponentDCProperties.cpp +++ b/modeling/components/physicalmodel/StructuralComponentDCProperties.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/StructuralComponentDCProperties.h b/modeling/components/physicalmodel/StructuralComponentDCProperties.h index 333895e5..87b4604d 100644 --- a/modeling/components/physicalmodel/StructuralComponentDCProperties.h +++ b/modeling/components/physicalmodel/StructuralComponentDCProperties.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AnimationMotorAddon.cpp b/modeling/components/physicalmodel/loads/AnimationMotorAddon.cpp index 755a5414..3ef7b5cc 100644 --- a/modeling/components/physicalmodel/loads/AnimationMotorAddon.cpp +++ b/modeling/components/physicalmodel/loads/AnimationMotorAddon.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AnimationMotorAddon.h b/modeling/components/physicalmodel/loads/AnimationMotorAddon.h index 14d80268..cbb70c3e 100644 --- a/modeling/components/physicalmodel/loads/AnimationMotorAddon.h +++ b/modeling/components/physicalmodel/loads/AnimationMotorAddon.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AnyDecoration.cpp b/modeling/components/physicalmodel/loads/AnyDecoration.cpp index 1645e6ab..caa1ae40 100644 --- a/modeling/components/physicalmodel/loads/AnyDecoration.cpp +++ b/modeling/components/physicalmodel/loads/AnyDecoration.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AnyDecoration.h b/modeling/components/physicalmodel/loads/AnyDecoration.h index 634a7d92..20159c65 100644 --- a/modeling/components/physicalmodel/loads/AnyDecoration.h +++ b/modeling/components/physicalmodel/loads/AnyDecoration.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AtomDecoration.cpp b/modeling/components/physicalmodel/loads/AtomDecoration.cpp index 277987a3..1fd2c948 100644 --- a/modeling/components/physicalmodel/loads/AtomDecoration.cpp +++ b/modeling/components/physicalmodel/loads/AtomDecoration.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/AtomDecoration.h b/modeling/components/physicalmodel/loads/AtomDecoration.h index b65b7ebb..ab33acd3 100644 --- a/modeling/components/physicalmodel/loads/AtomDecoration.h +++ b/modeling/components/physicalmodel/loads/AtomDecoration.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/Decoration.h b/modeling/components/physicalmodel/loads/Decoration.h index ff62d75b..1301d90c 100644 --- a/modeling/components/physicalmodel/loads/Decoration.h +++ b/modeling/components/physicalmodel/loads/Decoration.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsAppliedTo.cpp b/modeling/components/physicalmodel/loads/LoadsAppliedTo.cpp index 4d1958af..a10842d6 100644 --- a/modeling/components/physicalmodel/loads/LoadsAppliedTo.cpp +++ b/modeling/components/physicalmodel/loads/LoadsAppliedTo.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsAppliedTo.h b/modeling/components/physicalmodel/loads/LoadsAppliedTo.h index 95b4c3ae..828ca800 100644 --- a/modeling/components/physicalmodel/loads/LoadsAppliedTo.h +++ b/modeling/components/physicalmodel/loads/LoadsAppliedTo.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsEditor.cpp b/modeling/components/physicalmodel/loads/LoadsEditor.cpp index 5fc9b3b0..f6d25d15 100644 --- a/modeling/components/physicalmodel/loads/LoadsEditor.cpp +++ b/modeling/components/physicalmodel/loads/LoadsEditor.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsEditor.h b/modeling/components/physicalmodel/loads/LoadsEditor.h index 52a39769..ed6989f2 100644 --- a/modeling/components/physicalmodel/loads/LoadsEditor.h +++ b/modeling/components/physicalmodel/loads/LoadsEditor.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsManager.cpp b/modeling/components/physicalmodel/loads/LoadsManager.cpp index 73f05080..bf732450 100644 --- a/modeling/components/physicalmodel/loads/LoadsManager.cpp +++ b/modeling/components/physicalmodel/loads/LoadsManager.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsManager.h b/modeling/components/physicalmodel/loads/LoadsManager.h index 4a678f28..f0f5a515 100644 --- a/modeling/components/physicalmodel/loads/LoadsManager.h +++ b/modeling/components/physicalmodel/loads/LoadsManager.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsMovie.cpp b/modeling/components/physicalmodel/loads/LoadsMovie.cpp index 58c5ed66..8927479e 100644 --- a/modeling/components/physicalmodel/loads/LoadsMovie.cpp +++ b/modeling/components/physicalmodel/loads/LoadsMovie.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsMovie.h b/modeling/components/physicalmodel/loads/LoadsMovie.h index c2475c48..e0026d46 100644 --- a/modeling/components/physicalmodel/loads/LoadsMovie.h +++ b/modeling/components/physicalmodel/loads/LoadsMovie.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsSimulation.cpp b/modeling/components/physicalmodel/loads/LoadsSimulation.cpp index 85475488..eb1a3f5c 100644 --- a/modeling/components/physicalmodel/loads/LoadsSimulation.cpp +++ b/modeling/components/physicalmodel/loads/LoadsSimulation.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsSimulation.h b/modeling/components/physicalmodel/loads/LoadsSimulation.h index 0fe57d0f..acc16b04 100644 --- a/modeling/components/physicalmodel/loads/LoadsSimulation.h +++ b/modeling/components/physicalmodel/loads/LoadsSimulation.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsSimulationDriver.cpp b/modeling/components/physicalmodel/loads/LoadsSimulationDriver.cpp index 0b144f0c..43a2bc34 100644 --- a/modeling/components/physicalmodel/loads/LoadsSimulationDriver.cpp +++ b/modeling/components/physicalmodel/loads/LoadsSimulationDriver.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsSimulationDriver.h b/modeling/components/physicalmodel/loads/LoadsSimulationDriver.h index 5766f218..127fb29a 100644 --- a/modeling/components/physicalmodel/loads/LoadsSimulationDriver.h +++ b/modeling/components/physicalmodel/loads/LoadsSimulationDriver.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsValueEvent.cpp b/modeling/components/physicalmodel/loads/LoadsValueEvent.cpp index 8490e72a..62f482a8 100644 --- a/modeling/components/physicalmodel/loads/LoadsValueEvent.cpp +++ b/modeling/components/physicalmodel/loads/LoadsValueEvent.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/components/physicalmodel/loads/LoadsValueEvent.h b/modeling/components/physicalmodel/loads/LoadsValueEvent.h index 0cb83b84..bca75f49 100644 --- a/modeling/components/physicalmodel/loads/LoadsValueEvent.h +++ b/modeling/components/physicalmodel/loads/LoadsValueEvent.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lml/LoadsVersion.h.in b/modeling/libraries/lml/LoadsVersion.h.in index b24000ad..ad8370f6 100644 --- a/modeling/libraries/lml/LoadsVersion.h.in +++ b/modeling/libraries/lml/LoadsVersion.h.in @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lml/api-doc/CompileLatex.pl b/modeling/libraries/lml/api-doc/CompileLatex.pl index dc80ec13..81ae7610 100755 --- a/modeling/libraries/lml/api-doc/CompileLatex.pl +++ b/modeling/libraries/lml/api-doc/CompileLatex.pl @@ -6,7 +6,7 @@ q^ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Acceleration.xsd b/modeling/libraries/lmlschema/Acceleration.xsd index 57c52048..e173516b 100644 --- a/modeling/libraries/lmlschema/Acceleration.xsd +++ b/modeling/libraries/lmlschema/Acceleration.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/AppliedTo.xsd b/modeling/libraries/lmlschema/AppliedTo.xsd index 3e4673ef..492b97bc 100644 --- a/modeling/libraries/lmlschema/AppliedTo.xsd +++ b/modeling/libraries/lmlschema/AppliedTo.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/DirState.xsd b/modeling/libraries/lmlschema/DirState.xsd index 783f7230..3da10d0e 100644 --- a/modeling/libraries/lmlschema/DirState.xsd +++ b/modeling/libraries/lmlschema/DirState.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Direction.xsd b/modeling/libraries/lmlschema/Direction.xsd index 560e0b7c..abd34e4f 100644 --- a/modeling/libraries/lmlschema/Direction.xsd +++ b/modeling/libraries/lmlschema/Direction.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Force.xsd b/modeling/libraries/lmlschema/Force.xsd index 1bf80882..1fc37b2e 100644 --- a/modeling/libraries/lmlschema/Force.xsd +++ b/modeling/libraries/lmlschema/Force.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Load.xsd b/modeling/libraries/lmlschema/Load.xsd index b08fedf4..5e159ea8 100644 --- a/modeling/libraries/lmlschema/Load.xsd +++ b/modeling/libraries/lmlschema/Load.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Loads.xsd b/modeling/libraries/lmlschema/Loads.xsd index cfc8e746..08767ad8 100644 --- a/modeling/libraries/lmlschema/Loads.xsd +++ b/modeling/libraries/lmlschema/Loads.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Pressure.xsd b/modeling/libraries/lmlschema/Pressure.xsd index 25438a81..c18f7826 100644 --- a/modeling/libraries/lmlschema/Pressure.xsd +++ b/modeling/libraries/lmlschema/Pressure.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Rotation.xsd b/modeling/libraries/lmlschema/Rotation.xsd index 0e1b1658..47b4a561 100644 --- a/modeling/libraries/lmlschema/Rotation.xsd +++ b/modeling/libraries/lmlschema/Rotation.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Transition.xsd b/modeling/libraries/lmlschema/Transition.xsd index 4c2e570d..324626ab 100644 --- a/modeling/libraries/lmlschema/Transition.xsd +++ b/modeling/libraries/lmlschema/Transition.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Translation.xsd b/modeling/libraries/lmlschema/Translation.xsd index a6200153..6c84bce5 100644 --- a/modeling/libraries/lmlschema/Translation.xsd +++ b/modeling/libraries/lmlschema/Translation.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/Units.xsd b/modeling/libraries/lmlschema/Units.xsd index 4c89abdd..ec042866 100644 --- a/modeling/libraries/lmlschema/Units.xsd +++ b/modeling/libraries/lmlschema/Units.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/lmlschema/ValueEvent.xsd b/modeling/libraries/lmlschema/ValueEvent.xsd index 665fe6c5..a0d78d07 100644 --- a/modeling/libraries/lmlschema/ValueEvent.xsd +++ b/modeling/libraries/lmlschema/ValueEvent.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysBatch.cpp b/modeling/libraries/mml/monitoring/AnsysBatch.cpp index 92365963..ab081019 100644 --- a/modeling/libraries/mml/monitoring/AnsysBatch.cpp +++ b/modeling/libraries/mml/monitoring/AnsysBatch.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysBatch.h b/modeling/libraries/mml/monitoring/AnsysBatch.h index bdf2d2b2..57cf4e9e 100644 --- a/modeling/libraries/mml/monitoring/AnsysBatch.h +++ b/modeling/libraries/mml/monitoring/AnsysBatch.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysBatchWriter.cpp b/modeling/libraries/mml/monitoring/AnsysBatchWriter.cpp index 9ed41ddb..40d2e980 100644 --- a/modeling/libraries/mml/monitoring/AnsysBatchWriter.cpp +++ b/modeling/libraries/mml/monitoring/AnsysBatchWriter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysBatchWriter.h b/modeling/libraries/mml/monitoring/AnsysBatchWriter.h index be6dad9a..df00c147 100644 --- a/modeling/libraries/mml/monitoring/AnsysBatchWriter.h +++ b/modeling/libraries/mml/monitoring/AnsysBatchWriter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysSimulator.cpp b/modeling/libraries/mml/monitoring/AnsysSimulator.cpp index 30d6711d..45061304 100644 --- a/modeling/libraries/mml/monitoring/AnsysSimulator.cpp +++ b/modeling/libraries/mml/monitoring/AnsysSimulator.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysSimulator.h b/modeling/libraries/mml/monitoring/AnsysSimulator.h index cfcdba07..fcfa3c38 100644 --- a/modeling/libraries/mml/monitoring/AnsysSimulator.h +++ b/modeling/libraries/mml/monitoring/AnsysSimulator.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysWidget.cpp b/modeling/libraries/mml/monitoring/AnsysWidget.cpp index 94b11c86..5274d07b 100644 --- a/modeling/libraries/mml/monitoring/AnsysWidget.cpp +++ b/modeling/libraries/mml/monitoring/AnsysWidget.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/AnsysWidget.h b/modeling/libraries/mml/monitoring/AnsysWidget.h index ecdd8784..1ba74897 100644 --- a/modeling/libraries/mml/monitoring/AnsysWidget.h +++ b/modeling/libraries/mml/monitoring/AnsysWidget.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/ArtiSynthSimulator.cpp b/modeling/libraries/mml/monitoring/ArtiSynthSimulator.cpp index 226073a6..13349546 100644 --- a/modeling/libraries/mml/monitoring/ArtiSynthSimulator.cpp +++ b/modeling/libraries/mml/monitoring/ArtiSynthSimulator.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/ArtiSynthSimulator.h b/modeling/libraries/mml/monitoring/ArtiSynthSimulator.h index c3731fb3..aac67610 100644 --- a/modeling/libraries/mml/monitoring/ArtiSynthSimulator.h +++ b/modeling/libraries/mml/monitoring/ArtiSynthSimulator.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/ParametersWriter.cpp b/modeling/libraries/mml/monitoring/ParametersWriter.cpp index 4fbc49ca..6cf9af91 100644 --- a/modeling/libraries/mml/monitoring/ParametersWriter.cpp +++ b/modeling/libraries/mml/monitoring/ParametersWriter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/ParametersWriter.h b/modeling/libraries/mml/monitoring/ParametersWriter.h index 2bb82501..e9574fa6 100644 --- a/modeling/libraries/mml/monitoring/ParametersWriter.h +++ b/modeling/libraries/mml/monitoring/ParametersWriter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/PostWriter.cpp b/modeling/libraries/mml/monitoring/PostWriter.cpp index b5400e8e..c01ca3bc 100644 --- a/modeling/libraries/mml/monitoring/PostWriter.cpp +++ b/modeling/libraries/mml/monitoring/PostWriter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/PostWriter.h b/modeling/libraries/mml/monitoring/PostWriter.h index fd2cdd45..2ad2616d 100644 --- a/modeling/libraries/mml/monitoring/PostWriter.h +++ b/modeling/libraries/mml/monitoring/PostWriter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/PrepWriter.cpp b/modeling/libraries/mml/monitoring/PrepWriter.cpp index 9c82b629..40b90143 100644 --- a/modeling/libraries/mml/monitoring/PrepWriter.cpp +++ b/modeling/libraries/mml/monitoring/PrepWriter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/PrepWriter.h b/modeling/libraries/mml/monitoring/PrepWriter.h index e91caa20..61c087ab 100644 --- a/modeling/libraries/mml/monitoring/PrepWriter.h +++ b/modeling/libraries/mml/monitoring/PrepWriter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SofaSimulator.cpp b/modeling/libraries/mml/monitoring/SofaSimulator.cpp index 1be7d2da..5529b186 100644 --- a/modeling/libraries/mml/monitoring/SofaSimulator.cpp +++ b/modeling/libraries/mml/monitoring/SofaSimulator.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SofaSimulator.h b/modeling/libraries/mml/monitoring/SofaSimulator.h index a5011b66..9714dac4 100644 --- a/modeling/libraries/mml/monitoring/SofaSimulator.h +++ b/modeling/libraries/mml/monitoring/SofaSimulator.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SofaWidget.cpp b/modeling/libraries/mml/monitoring/SofaWidget.cpp index a04896a0..1b682e9d 100644 --- a/modeling/libraries/mml/monitoring/SofaWidget.cpp +++ b/modeling/libraries/mml/monitoring/SofaWidget.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SofaWidget.h b/modeling/libraries/mml/monitoring/SofaWidget.h index 30e4c074..06df0bb3 100644 --- a/modeling/libraries/mml/monitoring/SofaWidget.h +++ b/modeling/libraries/mml/monitoring/SofaWidget.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SoluWriter.cpp b/modeling/libraries/mml/monitoring/SoluWriter.cpp index 5613e332..08b9c44f 100644 --- a/modeling/libraries/mml/monitoring/SoluWriter.cpp +++ b/modeling/libraries/mml/monitoring/SoluWriter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/SoluWriter.h b/modeling/libraries/mml/monitoring/SoluWriter.h index c551540e..c07eda59 100644 --- a/modeling/libraries/mml/monitoring/SoluWriter.h +++ b/modeling/libraries/mml/monitoring/SoluWriter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/TimePeriodThreshold.cpp b/modeling/libraries/mml/monitoring/TimePeriodThreshold.cpp index 6a39eea6..3a9989af 100644 --- a/modeling/libraries/mml/monitoring/TimePeriodThreshold.cpp +++ b/modeling/libraries/mml/monitoring/TimePeriodThreshold.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/TimePeriodThreshold.h b/modeling/libraries/mml/monitoring/TimePeriodThreshold.h index 179da92b..f3c06b31 100644 --- a/modeling/libraries/mml/monitoring/TimePeriodThreshold.h +++ b/modeling/libraries/mml/monitoring/TimePeriodThreshold.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/TranslationConstraint.cpp b/modeling/libraries/mml/monitoring/TranslationConstraint.cpp index 66529a48..d4cc9ea1 100644 --- a/modeling/libraries/mml/monitoring/TranslationConstraint.cpp +++ b/modeling/libraries/mml/monitoring/TranslationConstraint.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/TranslationConstraint.h b/modeling/libraries/mml/monitoring/TranslationConstraint.h index 09d269c2..7762e40d 100644 --- a/modeling/libraries/mml/monitoring/TranslationConstraint.h +++ b/modeling/libraries/mml/monitoring/TranslationConstraint.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/monitoring/TranslationConstraint.inl b/modeling/libraries/mml/monitoring/TranslationConstraint.inl index 0e3375d4..41657443 100644 --- a/modeling/libraries/mml/monitoring/TranslationConstraint.inl +++ b/modeling/libraries/mml/monitoring/TranslationConstraint.inl @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mml/test/check.sh b/modeling/libraries/mml/test/check.sh index decd7c38..2cd53d37 100755 --- a/modeling/libraries/mml/test/check.sh +++ b/modeling/libraries/mml/test/check.sh @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mmlschema/MonitorIn.xsd b/modeling/libraries/mmlschema/MonitorIn.xsd index fafe3552..31152670 100644 --- a/modeling/libraries/mmlschema/MonitorIn.xsd +++ b/modeling/libraries/mmlschema/MonitorIn.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mmlschema/MonitorOut.xsd b/modeling/libraries/mmlschema/MonitorOut.xsd index 0a696cd2..c03e916d 100644 --- a/modeling/libraries/mmlschema/MonitorOut.xsd +++ b/modeling/libraries/mmlschema/MonitorOut.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/mmlschema/MonitoringModel.xsd b/modeling/libraries/mmlschema/MonitoringModel.xsd index 3f4a3cdc..28acab17 100644 --- a/modeling/libraries/mmlschema/MonitoringModel.xsd +++ b/modeling/libraries/mmlschema/MonitoringModel.xsd @@ -4,7 +4,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/pml/PhysicalModelVersion.h.in b/modeling/libraries/pml/PhysicalModelVersion.h.in index d0b06fae..60542e37 100644 --- a/modeling/libraries/pml/PhysicalModelVersion.h.in +++ b/modeling/libraries/pml/PhysicalModelVersion.h.in @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/pml/RenderingMode.cpp b/modeling/libraries/pml/RenderingMode.cpp index 73ee755e..00da7009 100644 --- a/modeling/libraries/pml/RenderingMode.cpp +++ b/modeling/libraries/pml/RenderingMode.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/pml/api-doc/CompileLatex.pl b/modeling/libraries/pml/api-doc/CompileLatex.pl index fd8e75d7..786086eb 100755 --- a/modeling/libraries/pml/api-doc/CompileLatex.pl +++ b/modeling/libraries/pml/api-doc/CompileLatex.pl @@ -6,7 +6,7 @@ q^ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/modeling/libraries/pmlschema/xsl/x3d/x3d2pml.xsl b/modeling/libraries/pmlschema/xsl/x3d/x3d2pml.xsl index a8b73580..50b34130 100644 --- a/modeling/libraries/pmlschema/xsl/x3d/x3d2pml.xsl +++ b/modeling/libraries/pmlschema/xsl/x3d/x3d2pml.xsl @@ -16,7 +16,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/InitImagerAction.cpp b/sdk/actions/imageacquisition/InitImagerAction.cpp index 5e9448bc..e63bd301 100644 --- a/sdk/actions/imageacquisition/InitImagerAction.cpp +++ b/sdk/actions/imageacquisition/InitImagerAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/InitImagerAction.h b/sdk/actions/imageacquisition/InitImagerAction.h index e2a5476d..151e1a56 100644 --- a/sdk/actions/imageacquisition/InitImagerAction.h +++ b/sdk/actions/imageacquisition/InitImagerAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/SingleAcquisition2DAction.cpp b/sdk/actions/imageacquisition/SingleAcquisition2DAction.cpp index d42109b5..982c2d84 100644 --- a/sdk/actions/imageacquisition/SingleAcquisition2DAction.cpp +++ b/sdk/actions/imageacquisition/SingleAcquisition2DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/SingleAcquisition2DAction.h b/sdk/actions/imageacquisition/SingleAcquisition2DAction.h index 1b342652..6e8a82e9 100644 --- a/sdk/actions/imageacquisition/SingleAcquisition2DAction.h +++ b/sdk/actions/imageacquisition/SingleAcquisition2DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/SingleAcquisition3DAction.cpp b/sdk/actions/imageacquisition/SingleAcquisition3DAction.cpp index b36ddc1b..05b94d72 100644 --- a/sdk/actions/imageacquisition/SingleAcquisition3DAction.cpp +++ b/sdk/actions/imageacquisition/SingleAcquisition3DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/SingleAcquisition3DAction.h b/sdk/actions/imageacquisition/SingleAcquisition3DAction.h index 1ccbe407..1ef74e55 100644 --- a/sdk/actions/imageacquisition/SingleAcquisition3DAction.h +++ b/sdk/actions/imageacquisition/SingleAcquisition3DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StartImaging2DAction.cpp b/sdk/actions/imageacquisition/StartImaging2DAction.cpp index 15d44985..9dedbe66 100644 --- a/sdk/actions/imageacquisition/StartImaging2DAction.cpp +++ b/sdk/actions/imageacquisition/StartImaging2DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StartImaging2DAction.h b/sdk/actions/imageacquisition/StartImaging2DAction.h index cbed2d55..00f789e0 100644 --- a/sdk/actions/imageacquisition/StartImaging2DAction.h +++ b/sdk/actions/imageacquisition/StartImaging2DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StartImaging3DAction.cpp b/sdk/actions/imageacquisition/StartImaging3DAction.cpp index 59ce5612..c35ee056 100644 --- a/sdk/actions/imageacquisition/StartImaging3DAction.cpp +++ b/sdk/actions/imageacquisition/StartImaging3DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StartImaging3DAction.h b/sdk/actions/imageacquisition/StartImaging3DAction.h index b86932cb..b935ad91 100644 --- a/sdk/actions/imageacquisition/StartImaging3DAction.h +++ b/sdk/actions/imageacquisition/StartImaging3DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StopImaging2DAction.cpp b/sdk/actions/imageacquisition/StopImaging2DAction.cpp index 200a8be6..053bc1df 100644 --- a/sdk/actions/imageacquisition/StopImaging2DAction.cpp +++ b/sdk/actions/imageacquisition/StopImaging2DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StopImaging2DAction.h b/sdk/actions/imageacquisition/StopImaging2DAction.h index 1bbd7977..c2f4e3f7 100644 --- a/sdk/actions/imageacquisition/StopImaging2DAction.h +++ b/sdk/actions/imageacquisition/StopImaging2DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StopImaging3DAction.cpp b/sdk/actions/imageacquisition/StopImaging3DAction.cpp index c2a108de..1d8a90cf 100644 --- a/sdk/actions/imageacquisition/StopImaging3DAction.cpp +++ b/sdk/actions/imageacquisition/StopImaging3DAction.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/imageacquisition/StopImaging3DAction.h b/sdk/actions/imageacquisition/StopImaging3DAction.h index 2da4b45f..6cd4e1d7 100644 --- a/sdk/actions/imageacquisition/StopImaging3DAction.h +++ b/sdk/actions/imageacquisition/StopImaging3DAction.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2014 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp b/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp index 56f0a41e..84402c20 100644 --- a/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp +++ b/sdk/actions/mesh/basicmesh/MeshToImageStencil.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/basicmesh/MeshToImageStencil.h b/sdk/actions/mesh/basicmesh/MeshToImageStencil.h index 2598fdb0..d501e8f9 100644 --- a/sdk/actions/mesh/basicmesh/MeshToImageStencil.h +++ b/sdk/actions/mesh/basicmesh/MeshToImageStencil.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/meshprocessing/InvertMesh.cpp b/sdk/actions/mesh/meshprocessing/InvertMesh.cpp index 3a390a17..6c916340 100644 --- a/sdk/actions/mesh/meshprocessing/InvertMesh.cpp +++ b/sdk/actions/mesh/meshprocessing/InvertMesh.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/meshprocessing/InvertMesh.h b/sdk/actions/mesh/meshprocessing/InvertMesh.h index 0baba605..dccd30b8 100644 --- a/sdk/actions/mesh/meshprocessing/InvertMesh.h +++ b/sdk/actions/mesh/meshprocessing/InvertMesh.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp b/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp index 48305543..6f7ee64f 100644 --- a/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp +++ b/sdk/actions/mesh/meshprocessing/SmoothFilter.cpp @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/actions/mesh/meshprocessing/SmoothFilter.h b/sdk/actions/mesh/meshprocessing/SmoothFilter.h index 256bca16..6c15df58 100644 --- a/sdk/actions/mesh/meshprocessing/SmoothFilter.h +++ b/sdk/actions/mesh/meshprocessing/SmoothFilter.h @@ -2,7 +2,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/applications/actionstatemachine/resources/log2html.xsl b/sdk/applications/actionstatemachine/resources/log2html.xsl index 359fcbf2..68964712 100644 --- a/sdk/applications/actionstatemachine/resources/log2html.xsl +++ b/sdk/applications/actionstatemachine/resources/log2html.xsl @@ -10,7 +10,7 @@ * $CAMITK_LICENCE_BEGIN$ * * CamiTK - Computer Assisted Medical Intervention ToolKit - * (c) 2001-2012 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO) + * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) * * Visit http://camitk.imag.fr for more information * diff --git a/sdk/applications/cepgenerator/testdata/actionsExamplesLicence.xml b/sdk/applications/cepgenerator/testdata/actionsExamplesLicence.xml index aaf11b7d..2f477732 100644 --- a/sdk/applications/cepgenerator/testdata/actionsExamplesLicence.xml +++ b/sdk/applications/cepgenerator/testdata/actionsExamplesLicence.xml @@ -10,7 +10,7 @@ Date: Wed, 30 Mar 2016 11:14:46 +0200 Subject: [PATCH 026/356] UPDATED Added CEP name (SDK, IMAGING and MODELING) in Q_PLUGIN_METADATA IID. --- imaging/actions/itkfilters/ITKFiltersExtension.h | 6 +++--- .../actions/itksegmentation/ITKSegmentationExtension.h | 2 +- imaging/components/dicom/DicomComponentExtension.h | 2 +- imaging/components/itkimage/ItkImageComponentExtension.h | 4 ++-- modeling/actions/mml/MMLActionExtension.h | 8 ++++---- modeling/actions/pml/PMLActionExtension.h | 6 +++--- modeling/components/mmlcomponent/MMLComponentExtension.h | 4 ++-- modeling/components/pmlcomponent/PMLComponentExtension.h | 4 ++-- sdk/actions/application/ApplicationActionExtension.h | 6 +++--- sdk/actions/frame/editframes/TestFrameExtension.h | 6 +++--- sdk/actions/image/cropvolume/BoxVOIExtension.h | 6 +++--- sdk/actions/image/imagelut/ImageLutExtension.h | 6 +++--- sdk/actions/image/imageresampling/ResampleExtension.h | 6 +++--- sdk/actions/image/multipicking/MultiPickingExtension.h | 6 +++--- .../image/pixelcolorchanger/PixelColorChangerExtension.h | 8 ++++---- .../image/reconstruction/ReconstructionExtension.h | 8 ++++---- sdk/actions/image/reorientimage/ReorientImageExtension.h | 6 +++--- sdk/actions/image/showin3d/ShowIn3DExtension.h | 6 +++--- .../image/volumerendering/VolumeRenderingExtension.h | 6 +++--- .../imageacquisition/ImageAcquisitionActionExtension.h | 2 +- sdk/actions/mesh/basicmesh/BasicMeshExtension.h | 8 ++++---- sdk/actions/mesh/basictopology/BasicTopologyExtension.h | 8 ++++---- sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h | 8 ++++---- sdk/components/msh/MshExtension.h | 4 ++-- sdk/components/obj/ObjExtension.h | 4 ++-- sdk/components/off/OffExtension.h | 4 ++-- sdk/components/stl/StlExtension.h | 2 +- sdk/components/vrml/VRMLComponentExtension.h | 6 +++--- sdk/components/vtkimage/VtkImageComponentExtension.h | 2 +- sdk/components/vtkmesh/VtkMeshComponentExtension.h | 4 ++-- 30 files changed, 79 insertions(+), 79 deletions(-) diff --git a/imaging/actions/itkfilters/ITKFiltersExtension.h b/imaging/actions/itkfilters/ITKFiltersExtension.h index f72fd60e..18f7df82 100644 --- a/imaging/actions/itkfilters/ITKFiltersExtension.h +++ b/imaging/actions/itkfilters/ITKFiltersExtension.h @@ -38,14 +38,14 @@ class ITKFiltersExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.itkfilters") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.action.itkfilters") public: /// the constructor - ITKFiltersExtension() : ActionExtension() {}; + ITKFiltersExtension() : ActionExtension() {} /// the destructor - virtual ~ITKFiltersExtension() {}; + virtual ~ITKFiltersExtension() {} /// Method that return the action extension name virtual QString getName() { diff --git a/imaging/actions/itksegmentation/ITKSegmentationExtension.h b/imaging/actions/itksegmentation/ITKSegmentationExtension.h index 822ba2bb..a35d6259 100644 --- a/imaging/actions/itksegmentation/ITKSegmentationExtension.h +++ b/imaging/actions/itksegmentation/ITKSegmentationExtension.h @@ -38,7 +38,7 @@ class ITKSegmentationExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.itksegmentation") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.action.itksegmentation") public: /// the constructor diff --git a/imaging/components/dicom/DicomComponentExtension.h b/imaging/components/dicom/DicomComponentExtension.h index 55e7ee5b..15308f4d 100644 --- a/imaging/components/dicom/DicomComponentExtension.h +++ b/imaging/components/dicom/DicomComponentExtension.h @@ -52,7 +52,7 @@ class DicomDialogEntry; class DicomComponentExtension : public camitk::ComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.dicom") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.component.dicom") public: /// Constructor diff --git a/imaging/components/itkimage/ItkImageComponentExtension.h b/imaging/components/itkimage/ItkImageComponentExtension.h index 18c2d13b..1def11a3 100644 --- a/imaging/components/itkimage/ItkImageComponentExtension.h +++ b/imaging/components/itkimage/ItkImageComponentExtension.h @@ -39,11 +39,11 @@ class ItkImageComponentExtension : public camitk::ImageComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.itkimage") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.component.itkimage") public: /// the constructor (do nothing really) - ItkImageComponentExtension() : ImageComponentExtension() {}; + ItkImageComponentExtension() : ImageComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/modeling/actions/mml/MMLActionExtension.h b/modeling/actions/mml/MMLActionExtension.h index d960d2a4..69876626 100644 --- a/modeling/actions/mml/MMLActionExtension.h +++ b/modeling/actions/mml/MMLActionExtension.h @@ -40,14 +40,14 @@ class MMLActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.mml") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.action.mml") public: /// the constructor - MMLActionExtension() : ActionExtension() {}; + MMLActionExtension() : ActionExtension() {} /// the destructor - virtual ~MMLActionExtension() {}; + virtual ~MMLActionExtension() {} /// Method must be reimplemented when an ActionExtension is done, /// the own actions of an extension are load there. @@ -68,4 +68,4 @@ public: -#endif // MMLACTIONEXTENSION_H \ No newline at end of file +#endif // MMLACTIONEXTENSION_H diff --git a/modeling/actions/pml/PMLActionExtension.h b/modeling/actions/pml/PMLActionExtension.h index 46a27c42..b455f8ff 100644 --- a/modeling/actions/pml/PMLActionExtension.h +++ b/modeling/actions/pml/PMLActionExtension.h @@ -31,14 +31,14 @@ class PMLActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.pml") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.modeling.action.pml") public: /// Constructor - PMLActionExtension() : ActionExtension() {}; + PMLActionExtension() : ActionExtension() {} /// Destructor - virtual ~PMLActionExtension() {}; + virtual ~PMLActionExtension() {} /// Method returning the action extension name virtual QString getName() { diff --git a/modeling/components/mmlcomponent/MMLComponentExtension.h b/modeling/components/mmlcomponent/MMLComponentExtension.h index ec5634cb..3447afd8 100644 --- a/modeling/components/mmlcomponent/MMLComponentExtension.h +++ b/modeling/components/mmlcomponent/MMLComponentExtension.h @@ -42,11 +42,11 @@ class MMLCOMPONENT_API MMLComponentExtension : public camitk::ComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.mmlcomponent") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.modeling.component.mmlcomponent") public: /// the constructor (do nothing really) - MMLComponentExtension() : ComponentExtension() {}; + MMLComponentExtension() : ComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/modeling/components/pmlcomponent/PMLComponentExtension.h b/modeling/components/pmlcomponent/PMLComponentExtension.h index bd365583..2fde7203 100644 --- a/modeling/components/pmlcomponent/PMLComponentExtension.h +++ b/modeling/components/pmlcomponent/PMLComponentExtension.h @@ -42,11 +42,11 @@ class PMLComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.pmlcomponent") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.modeling.component.pmlcomponent") public: /// the constructor (does nothing really) - PMLComponentExtension() : MeshComponentExtension() {}; + PMLComponentExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/sdk/actions/application/ApplicationActionExtension.h b/sdk/actions/application/ApplicationActionExtension.h index cb9686f2..3ce253fb 100644 --- a/sdk/actions/application/ApplicationActionExtension.h +++ b/sdk/actions/application/ApplicationActionExtension.h @@ -43,14 +43,14 @@ class ApplicationActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.application") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.application") public: /// the constructor (needed to initialize the icon resources) ApplicationActionExtension(); /// the destructor - virtual ~ApplicationActionExtension() {}; + virtual ~ApplicationActionExtension() {} /// initialize all the actions virtual void init(); @@ -67,4 +67,4 @@ public: }; -#endif // APPLICATION_ACTION_EXTENSION_H \ No newline at end of file +#endif // APPLICATION_ACTION_EXTENSION_H diff --git a/sdk/actions/frame/editframes/TestFrameExtension.h b/sdk/actions/frame/editframes/TestFrameExtension.h index 151e8efd..d4d8c200 100644 --- a/sdk/actions/frame/editframes/TestFrameExtension.h +++ b/sdk/actions/frame/editframes/TestFrameExtension.h @@ -30,14 +30,14 @@ class TestFrameExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.editframes") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.editframes") public: /// Constructor - TestFrameExtension() : ActionExtension() {}; + TestFrameExtension() : ActionExtension() {} /// Destructor - virtual ~TestFrameExtension() {}; + virtual ~TestFrameExtension() {} /// Method returning the action extension name virtual QString getName() { diff --git a/sdk/actions/image/cropvolume/BoxVOIExtension.h b/sdk/actions/image/cropvolume/BoxVOIExtension.h index df78d6d1..8be920be 100644 --- a/sdk/actions/image/cropvolume/BoxVOIExtension.h +++ b/sdk/actions/image/cropvolume/BoxVOIExtension.h @@ -38,14 +38,14 @@ class BoxVOIExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES (camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.cropvolume") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.cropvolume") public: /// the constructor - BoxVOIExtension() : ActionExtension() {}; + BoxVOIExtension() : ActionExtension() {} /// the destructor - virtual ~BoxVOIExtension() {}; + virtual ~BoxVOIExtension() {} /// Method that return the action extension name virtual QString getName() { diff --git a/sdk/actions/image/imagelut/ImageLutExtension.h b/sdk/actions/image/imagelut/ImageLutExtension.h index 67b1df8a..a1c68464 100644 --- a/sdk/actions/image/imagelut/ImageLutExtension.h +++ b/sdk/actions/image/imagelut/ImageLutExtension.h @@ -38,14 +38,14 @@ class ImageLutExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imagelut") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.imagelut") public: /// the constructor - ImageLutExtension() : ActionExtension() {}; + ImageLutExtension() : ActionExtension() {} /// the destructor - virtual ~ImageLutExtension() {}; + virtual ~ImageLutExtension() {} /// initialize all the actions virtual void init(); diff --git a/sdk/actions/image/imageresampling/ResampleExtension.h b/sdk/actions/image/imageresampling/ResampleExtension.h index 378aea82..ea21f3a4 100644 --- a/sdk/actions/image/imageresampling/ResampleExtension.h +++ b/sdk/actions/image/imageresampling/ResampleExtension.h @@ -30,14 +30,14 @@ class ResampleExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imageresampling") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.imageresampling") public: /// Constructor - ResampleExtension() : ActionExtension() {}; + ResampleExtension() : ActionExtension() {} /// Destructor - virtual ~ResampleExtension() {}; + virtual ~ResampleExtension() {} /// Method returning the action extension name virtual QString getName() { diff --git a/sdk/actions/image/multipicking/MultiPickingExtension.h b/sdk/actions/image/multipicking/MultiPickingExtension.h index b708902c..307e9a5a 100644 --- a/sdk/actions/image/multipicking/MultiPickingExtension.h +++ b/sdk/actions/image/multipicking/MultiPickingExtension.h @@ -38,14 +38,14 @@ class MultiPickingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES (camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.multipicking") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.multipicking") public: /// the constructor - MultiPickingExtension() : ActionExtension() {}; + MultiPickingExtension() : ActionExtension() {} /// the destructor - virtual ~MultiPickingExtension() {}; + virtual ~MultiPickingExtension() {} /// Method that return the action extension name virtual QString getName() { diff --git a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h index 4b64af84..1ba210e1 100644 --- a/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h +++ b/sdk/actions/image/pixelcolorchanger/PixelColorChangerExtension.h @@ -33,14 +33,14 @@ class PixelColorChangerExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.pixelcolorchanger") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.pixelcolorchanger") public: /// the constructor - PixelColorChangerExtension() : ActionExtension() {}; + PixelColorChangerExtension() : ActionExtension() {} /// the destructor - virtual ~PixelColorChangerExtension() {}; + virtual ~PixelColorChangerExtension() {} /// initialize all the actions virtual void init(); @@ -58,4 +58,4 @@ public: }; -#endif // PIXELCOLORCHANGEREXTENSION_H \ No newline at end of file +#endif // PIXELCOLORCHANGEREXTENSION_H diff --git a/sdk/actions/image/reconstruction/ReconstructionExtension.h b/sdk/actions/image/reconstruction/ReconstructionExtension.h index 76444b0c..49720fe6 100644 --- a/sdk/actions/image/reconstruction/ReconstructionExtension.h +++ b/sdk/actions/image/reconstruction/ReconstructionExtension.h @@ -40,14 +40,14 @@ class ReconstructionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.reconstruction") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.reconstruction") public: /// the constructor - ReconstructionExtension() : ActionExtension() {}; + ReconstructionExtension() : ActionExtension() {} /// the destructor - virtual ~ReconstructionExtension() {}; + virtual ~ReconstructionExtension() {} /// initialize all the actions virtual void init(); @@ -65,4 +65,4 @@ public: }; -#endif // RECONSTRUCTIONEXTENSION_H \ No newline at end of file +#endif // RECONSTRUCTIONEXTENSION_H diff --git a/sdk/actions/image/reorientimage/ReorientImageExtension.h b/sdk/actions/image/reorientimage/ReorientImageExtension.h index 55c5e20b..d8ad278f 100644 --- a/sdk/actions/image/reorientimage/ReorientImageExtension.h +++ b/sdk/actions/image/reorientimage/ReorientImageExtension.h @@ -30,14 +30,14 @@ class ReorientImageExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.reorientimage") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.reorientimage") public: /// Constructor - ReorientImageExtension() : camitk::ActionExtension() {}; + ReorientImageExtension() : camitk::ActionExtension() {} /// Destructor - virtual ~ReorientImageExtension() {}; + virtual ~ReorientImageExtension() {} /// Method returning the action extension name virtual QString getName() { diff --git a/sdk/actions/image/showin3d/ShowIn3DExtension.h b/sdk/actions/image/showin3d/ShowIn3DExtension.h index 82f413a4..c4bfc761 100644 --- a/sdk/actions/image/showin3d/ShowIn3DExtension.h +++ b/sdk/actions/image/showin3d/ShowIn3DExtension.h @@ -37,14 +37,14 @@ class ShowIn3DExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.showin3D") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.showin3D") public: /// Constructor - ShowIn3DExtension() : camitk::ActionExtension() {}; + ShowIn3DExtension() : camitk::ActionExtension() {} /// Destructor - virtual ~ShowIn3DExtension() {}; + virtual ~ShowIn3DExtension() {} /// Method returning the action extension name virtual QString getName() { diff --git a/sdk/actions/image/volumerendering/VolumeRenderingExtension.h b/sdk/actions/image/volumerendering/VolumeRenderingExtension.h index 0e3f7d1e..eef7e403 100644 --- a/sdk/actions/image/volumerendering/VolumeRenderingExtension.h +++ b/sdk/actions/image/volumerendering/VolumeRenderingExtension.h @@ -38,14 +38,14 @@ class VolumeRenderingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.volumerendering") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.volumerendering") public: /// the constructor - VolumeRenderingExtension() : ActionExtension() {}; + VolumeRenderingExtension() : ActionExtension() {} /// the destructor - virtual ~VolumeRenderingExtension() {}; + virtual ~VolumeRenderingExtension() {} /// Method that return the action extension name virtual QString getName() { diff --git a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h index d344ccba..c8dddbf8 100644 --- a/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h +++ b/sdk/actions/imageacquisition/ImageAcquisitionActionExtension.h @@ -41,7 +41,7 @@ class ImageAcquisitionActionExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.imageacquisition") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.imageacquisition") public: /// Constructor diff --git a/sdk/actions/mesh/basicmesh/BasicMeshExtension.h b/sdk/actions/mesh/basicmesh/BasicMeshExtension.h index fd8b1c1d..6c1bbf9e 100644 --- a/sdk/actions/mesh/basicmesh/BasicMeshExtension.h +++ b/sdk/actions/mesh/basicmesh/BasicMeshExtension.h @@ -38,15 +38,15 @@ */ class BasicMeshExtension : public camitk::ActionExtension { Q_OBJECT - Q_INTERFACES(camitk::ActionExtension); - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.basicmesh") + Q_INTERFACES(camitk::ActionExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.basicmesh") public: /// the constructor (needed to initialize the icon resources) BasicMeshExtension(); /// the destructor - virtual ~BasicMeshExtension() {}; + virtual ~BasicMeshExtension() {} /// initialize all the actions virtual void init(); @@ -63,4 +63,4 @@ public: }; -#endif // BASIC_MESH_EXTENSION_H \ No newline at end of file +#endif // BASIC_MESH_EXTENSION_H diff --git a/sdk/actions/mesh/basictopology/BasicTopologyExtension.h b/sdk/actions/mesh/basictopology/BasicTopologyExtension.h index e88879f1..4ab1d7ff 100644 --- a/sdk/actions/mesh/basictopology/BasicTopologyExtension.h +++ b/sdk/actions/mesh/basictopology/BasicTopologyExtension.h @@ -40,15 +40,15 @@ class BasicTopologyExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.basictopology") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.basictopology") public: /// the constructor - BasicTopologyExtension() : ActionExtension() {}; + BasicTopologyExtension() : ActionExtension() {} /// the destructor - virtual ~BasicTopologyExtension() {}; + virtual ~BasicTopologyExtension() {} /// initialize all the actions virtual void init(); @@ -65,4 +65,4 @@ public: }; -#endif // BASIC_TOPOLOGY_EXTENSION_HPP_ \ No newline at end of file +#endif // BASIC_TOPOLOGY_EXTENSION_HPP_ diff --git a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h index ca2a9927..82bc1488 100644 --- a/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h +++ b/sdk/actions/mesh/meshprocessing/MeshProcessingExtension.h @@ -40,14 +40,14 @@ class MeshProcessingExtension : public camitk::ActionExtension { Q_OBJECT Q_INTERFACES(camitk::ActionExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.action.meshprocessing") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.action.meshprocessing") public: /// the constructor - MeshProcessingExtension() : ActionExtension() {}; + MeshProcessingExtension() : ActionExtension() {} /// the destructor - virtual ~MeshProcessingExtension() {}; + virtual ~MeshProcessingExtension() {} /// initialize all the actions virtual void init(); @@ -64,4 +64,4 @@ public: }; -#endif // MESHPROCESSINGEXTENSION_H \ No newline at end of file +#endif // MESHPROCESSINGEXTENSION_H diff --git a/sdk/components/msh/MshExtension.h b/sdk/components/msh/MshExtension.h index c2e8fa50..46a0248a 100644 --- a/sdk/components/msh/MshExtension.h +++ b/sdk/components/msh/MshExtension.h @@ -44,11 +44,11 @@ class MshExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.msh") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.msh") public: /// the constructor (do nothing really) - MshExtension() : MeshComponentExtension() {}; + MshExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/sdk/components/obj/ObjExtension.h b/sdk/components/obj/ObjExtension.h index 61bdc380..2b7894bc 100644 --- a/sdk/components/obj/ObjExtension.h +++ b/sdk/components/obj/ObjExtension.h @@ -39,11 +39,11 @@ class ObjExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.obj") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.obj") public: /// the constructor (do nothing really) - ObjExtension() : MeshComponentExtension() {}; + ObjExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/sdk/components/off/OffExtension.h b/sdk/components/off/OffExtension.h index 92da1587..ef5e1835 100644 --- a/sdk/components/off/OffExtension.h +++ b/sdk/components/off/OffExtension.h @@ -40,11 +40,11 @@ class OffExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.off") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.off") public: /// the constructor (do nothing really) - OffExtension() : MeshComponentExtension() {}; + OffExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/sdk/components/stl/StlExtension.h b/sdk/components/stl/StlExtension.h index 698ac2c7..e53f34cf 100644 --- a/sdk/components/stl/StlExtension.h +++ b/sdk/components/stl/StlExtension.h @@ -39,7 +39,7 @@ class StlExtension : public camitk::ComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.stl") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.stl") public: /// Constructor diff --git a/sdk/components/vrml/VRMLComponentExtension.h b/sdk/components/vrml/VRMLComponentExtension.h index f21e901c..5dea4b47 100644 --- a/sdk/components/vrml/VRMLComponentExtension.h +++ b/sdk/components/vrml/VRMLComponentExtension.h @@ -47,12 +47,12 @@ **/ class VRMLComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT - Q_INTERFACES(camitk::ComponentExtension); - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vrml") + Q_INTERFACES(camitk::ComponentExtension) + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.vrml") public: /// the constructor (do nothing really) - VRMLComponentExtension() : MeshComponentExtension() {}; + VRMLComponentExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; diff --git a/sdk/components/vtkimage/VtkImageComponentExtension.h b/sdk/components/vtkimage/VtkImageComponentExtension.h index cc3754ef..c18e2607 100644 --- a/sdk/components/vtkimage/VtkImageComponentExtension.h +++ b/sdk/components/vtkimage/VtkImageComponentExtension.h @@ -38,7 +38,7 @@ class VtkImageComponentExtension : public camitk::ImageComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vtkimage") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.vtkimage") public: /// the constructor (do nothing really) diff --git a/sdk/components/vtkmesh/VtkMeshComponentExtension.h b/sdk/components/vtkmesh/VtkMeshComponentExtension.h index ff90fc0d..d7287376 100644 --- a/sdk/components/vtkmesh/VtkMeshComponentExtension.h +++ b/sdk/components/vtkmesh/VtkMeshComponentExtension.h @@ -39,11 +39,11 @@ class VtkMeshComponentExtension : public camitk::MeshComponentExtension { Q_OBJECT Q_INTERFACES(camitk::ComponentExtension) - Q_PLUGIN_METADATA(IID "fr.imag.camitk.component.vtkmesh") + Q_PLUGIN_METADATA(IID "fr.imag.camitk.sdk.component.vtkmesh") public: /// the constructor (do nothing really) - VtkMeshComponentExtension() : MeshComponentExtension() {}; + VtkMeshComponentExtension() : MeshComponentExtension() {} /// get the plugin name virtual QString getName() const; -- GitLab From 1fdbfb6feecc606bf6ec4be42a6343b51318e679 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 13:55:44 +0200 Subject: [PATCH 027/356] FIXED debian packaging bug#794740 --- sdk/cmake/modules/CamiTKConfig.cmake.in | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 2a6c2eb6..14f38077 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -179,10 +179,19 @@ mark_as_advanced (CAMITK_CORE_LIB CAMITK_LINK_DIRECTORIES CAMITK_INCLUDE_DIRECTO # additional unix system resources if (UNIX) # only possible on unix - execute_process(COMMAND "date" "+%Y-%m-%d" - OUTPUT_VARIABLE CURRENT_DATE - OUTPUT_STRIP_TRAILING_WHITESPACE - ) + if(DEFINED ENV{SOURCE_DATE_EPOCH}) + # to enable reproducible builds, see debian bug #794740 + execute_process(COMMAND "date" "-u" "+%Y-%m-%d" "--date=@$ENV{SOURCE_DATE_EPOCH}" + OUTPUT_VARIABLE CURRENT_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else() + execute_process(COMMAND "date" "+%Y-%m-%d" + OUTPUT_VARIABLE CURRENT_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + endif() + # Application man pages (always in section 1, this is an application...) set(CAMITK_APPLICATION_MAN_INSTALL_DIR "share/man/man1") # Desktop file always in share/applications (freedesktop standard) -- GitLab From 317a7f99979ecbc59a36981be26ba1b15e579977 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 14:55:16 +0200 Subject: [PATCH 028/356] FIXED bug #21 (parallel build / target dependencies) --- .../macros/camitk/CamiTKApplication.cmake | 16 +++++++++++++- .../macros/camitk/CamiTKExtension.cmake | 22 ++++++++++++++++++- .../modules/macros/camitk/CamiTKLibrary.cmake | 4 ++++ sdk/libraries/core/CMakeLists.txt | 4 ++++ 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 9b0d3788..5657d6ab 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -350,7 +350,9 @@ macro(camitk_application) # 1st CAMITKCORE LIBRARY DEPENDENCY add_dependencies(${APPLICATION_TARGET_NAME} ${CAMITK_CORE_TARGET_LIB_NAME}) - + # add the dependency to the core automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${CAMITK_CORE_TARGET_LIB_NAME}) + # 2nd COMPONENTS DEPENDENCIES if(${APPLICATION_NAME_CMAKE}_NEEDS_COMPONENT_EXTENSION) set(COMPONENTS_DEPENDENCY_LIST "") #use for generating the project.xml file @@ -370,9 +372,13 @@ macro(camitk_application) # CMake / CDash dependencies if(PACKAGING_NSIS) add_dependencies(${APPLICATION_TARGET_NAME} component_${COMPONENT_NEEDED}) + # add the dependency to the component automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component_${COMPONENT_NEEDED}) else() add_dependencies(${APPLICATION_TARGET_NAME} component-${COMPONENT_NEEDED}) set(COMPONENTS_DEPENDENCY_LIST ${COMPONENTS_DEPENDENCY_LIST} component-${COMPONENT_NEEDED}) + # add the dependency to the component automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component-${COMPONENT_NEEDED}) endif() endforeach() endif() @@ -396,9 +402,13 @@ macro(camitk_application) # CMake / CDash dependencies if (PACKAGING_NSIS) add_dependencies(${APPLICATION_TARGET_NAME} action_${ACTION_NEEDED}) + # add the dependency to the action automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action_${ACTION_NEEDED}) else() add_dependencies(${APPLICATION_TARGET_NAME} action-${ACTION_NEEDED}) set(ACTIONS_DEPENDENCY_LIST ${ACTIONS_DEPENDENCY_LIST} action-${ACTION_NEEDED}) + # add the dependency to the action automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action-${ACTION_NEEDED}) endif() endforeach() endif() @@ -425,9 +435,13 @@ macro(camitk_application) # CMake / CDash dependencies if (PACKAGING_NSIS) add_dependencies(${APPLICATION_TARGET_NAME} library_${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library_${CEP_LIBRARY_NEEDED}) else() add_dependencies(${APPLICATION_TARGET_NAME} library-${CEP_LIBRARY_NEEDED}) set(CEP_LIBRARIES_DEPENDENCY_LIST ${CEP_LIBRARIES_DEPENDENCY_LIST} library-${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${APPLICATION_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library-${CEP_LIBRARY_NEEDED}) endif() endforeach() endif() diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index 1495ad40..579d7838 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -425,6 +425,8 @@ macro(camitk_extension) # 1st CAMITKCORE LIBRARY DEPENDENCY add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ${CAMITK_CORE_TARGET_LIB_NAME}) + # add the dependency to the core automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${CAMITK_CORE_TARGET_LIB_NAME}) # 2nd COMPONENTS DEPENDENCIES if(${EXTENSION_NAME_CMAKE}_NEEDS_COMPONENT_EXTENSION) @@ -445,9 +447,13 @@ macro(camitk_extension) # CMake / CDash dependencies if(PACKAGING_NSIS) add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} component_${COMPONENT_NEEDED}) + # add the dependency to the component automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component_${COMPONENT_NEEDED}) else() add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} component-${COMPONENT_NEEDED}) set(COMPONENTS_DEPENDENCY_LIST ${COMPONENTS_DEPENDENCY_LIST} component-${COMPONENT_NEEDED}) + # add the dependency to the component automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS component-${COMPONENT_NEEDED}) endif() endforeach() endif() @@ -471,9 +477,13 @@ macro(camitk_extension) # CMake / CDash dependencies if (PACKAGING_NSIS) add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} action_${ACTION_NEEDED}) + # add the dependency to the action automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action_${ACTION_NEEDED}) else() add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} action-${ACTION_NEEDED}) set(ACTIONS_DEPENDENCY_LIST ${ACTIONS_DEPENDENCY_LIST} action-${ACTION_NEEDED}) + # add the dependency to the action automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action-${ACTION_NEEDED}) endif() endforeach() endif() @@ -500,9 +510,13 @@ macro(camitk_extension) # CMake / CDash dependencies if (PACKAGING_NSIS) add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} library_${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library_${CEP_LIBRARY_NEEDED}) else() add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} library-${CEP_LIBRARY_NEEDED}) set(CEP_LIBRARIES_DEPENDENCY_LIST ${CEP_LIBRARIES_DEPENDENCY_LIST} library-${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library-${CEP_LIBRARY_NEEDED}) endif() endforeach() endif() @@ -511,20 +525,26 @@ macro(camitk_extension) # Those projects are used to run unitarian test on ACTION / COMPONENT extensions. set(APPLICATIONS_DEPENDENCY_LIST "") if(${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS) + # Add this dependencies for automatically constructing application-testactions components dependencies add_dependencies(${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} application-test${TYPE_EXTENSION}s) set(APPLICATIONS_DEPENDENCY_LIST "application-test${TYPE_EXTENSION}s") - # Add this dependencies for automatically constructing application-testactions components dependencies + # add the dependency to the test application automoc target + set_property(TARGET ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS application-test${TYPE_EXTENSION}s) endif() if((CEP_NAME STREQUAL "SDK") OR (CEP_NAME STREQUAL "modeling") OR (CEP_NAME STREQUAL "imaging")) # 6th TEST-COMPONENT APPLICATION DEPENDENCY ON THIS COMPONENT if(${EXTENSION_NAME_CMAKE}_COMPONENT_EXTENSION AND ${EXTENSION_NAME_CMAKE}_TEST_APPLICATION AND NOT PACKAGING_NSIS) add_dependencies(application-testactions ${COMPONENT_TARGET_NAME}) + # add this component automoc target to the dependency of the test application + set_property(TARGET application-testactions APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${COMPONENT_TARGET_NAME}) endif() # 7th TEST-ACTION APPLICATION DEPENDENCY ON ACTION-APPLICATION if(${TYPE_EXTENSION_CMAKE}_TARGET_NAME STREQUAL "action-application") add_dependencies(application-testcomponents action-application) + # add this component automoc target to the dependency of the test application + set_property(TARGET application-testcomponents APPEND PROPERTY AUTOGEN_TARGET_DEPENDS action-application) endif() endif() diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index f29da3b1..3cacce69 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -379,9 +379,13 @@ macro(camitk_library) # CMake / CDash dependencies if(PACKAGING_NSIS) add_dependencies(${LIBRARY_TARGET_NAME} library_${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${LIBRARY_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library_${CEP_LIBRARY_NEEDED}) else() add_dependencies(${LIBRARY_TARGET_NAME} library-${CEP_LIBRARY_NEEDED}) set(LIBRARIES_DEPENDENCY_LIST ${LIBRARIES_DEPENDENCY_LIST} library-${CEP_LIBRARY_NEEDED}) + # add the dependency to the library automoc target + set_property(TARGET ${LIBRARY_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library-${CEP_LIBRARY_NEEDED}) endif() endforeach() endif() diff --git a/sdk/libraries/core/CMakeLists.txt b/sdk/libraries/core/CMakeLists.txt index fd8968b4..d2aa6fbe 100644 --- a/sdk/libraries/core/CMakeLists.txt +++ b/sdk/libraries/core/CMakeLists.txt @@ -99,8 +99,12 @@ endif() if(PACKAGING_NSIS) add_dependencies(${CAMITK_CORE_LIB_TARGET_NAME} library_qtpropertybrowser) + # add the dependency to the qtpropertybrowser automoc target + set_property(TARGET ${CAMITK_CORE_LIB_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library_qtpropertybrowser) else() add_dependencies(${CAMITK_CORE_LIB_TARGET_NAME} library-qtpropertybrowser) + # add the dependency to the qtpropertybrowser automoc target + set_property(TARGET ${CAMITK_CORE_LIB_TARGET_NAME} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS library-qtpropertybrowser) endif() -- GitLab From 7182b9d60c53a8c6b55b8b69e05ad865f9d5cbd4 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 14:55:47 +0200 Subject: [PATCH 029/356] FIXED compiler error if no git command-line installed --- sdk/SDKConfig.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sdk/SDKConfig.cmake b/sdk/SDKConfig.cmake index 234610a9..79aa9f79 100644 --- a/sdk/SDKConfig.cmake +++ b/sdk/SDKConfig.cmake @@ -33,7 +33,10 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libraries/core/CamiTKVersion.h) get_git_info(${CMAKE_CURRENT_SOURCE_DIR}) set(CAMITK_VERSION_GIT ".${CAMITK_GIT_COMMIT_COUNT}") set(CAMITK_SVN_SUBVERSION_FOUND "1") - endif() + else() + set(CAMITK_VERSION_GIT ".git") + set(CAMITK_SVN_SUBVERSION_FOUND "0") + endif() else() set(CAMITK_SVN_SUBVERSION_FOUND "0") set(CAMITK_SOURCE_PACKAGE_VERSION "1") -- GitLab From 2fa6ad2113ec712bd3a20c9bf833d99f340e7745 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 16:55:27 +0200 Subject: [PATCH 030/356] NEW improved git description --- sdk/cmake/modules/macros/GetGitInfo.cmake | 27 ++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sdk/cmake/modules/macros/GetGitInfo.cmake b/sdk/cmake/modules/macros/GetGitInfo.cmake index 06a9bb12..03444961 100644 --- a/sdk/cmake/modules/macros/GetGitInfo.cmake +++ b/sdk/cmake/modules/macros/GetGitInfo.cmake @@ -12,17 +12,24 @@ #! \inparam dir (required) input directory path #! macro(get_git_info dir) - # the subversion commands should be executed with the C locale, otherwise - # the message (which are parsed) may be translated, Alex - # set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}") - # set(ENV{LC_ALL} C) - execute_process(COMMAND ${GIT_EXECUTABLE} rev-list HEAD --count - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE CAMITK_GIT_COMMIT_COUNT - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_COMMIT_COUNT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(NOT CAMITK_GIT_COMMIT_COUNT) message(WARNING "Unable to find the commit number using git : ${GIT_EXECUTABLE}") set(CAMITK_GIT_COMMIT_COUNT "unknown") -- GitLab From 730f132944b10475af3af134323e1851747735d2 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Wed, 30 Mar 2016 17:15:21 +0200 Subject: [PATCH 031/356] FIXED improved CamiTK version information --- sdk/SDKConfig.cmake | 10 ++++++---- .../config/CamiTKVersionInformation.h.in | 18 +++++++++--------- sdk/applications/config/main.cpp | 6 +++--- sdk/cmake/modules/macros/GetGitInfo.cmake | 15 +++++++++++++++ 4 files changed, 33 insertions(+), 16 deletions(-) diff --git a/sdk/SDKConfig.cmake b/sdk/SDKConfig.cmake index 79aa9f79..248f15f9 100644 --- a/sdk/SDKConfig.cmake +++ b/sdk/SDKConfig.cmake @@ -31,14 +31,16 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libraries/core/CamiTKVersion.h) # the svn command itself include(cmake/modules/macros/GetGitInfo.cmake) get_git_info(${CMAKE_CURRENT_SOURCE_DIR}) - set(CAMITK_VERSION_GIT ".${CAMITK_GIT_COMMIT_COUNT}") - set(CAMITK_SVN_SUBVERSION_FOUND "1") + set(CAMITK_VERSION_GIT ".${CAMITK_GIT_BRANCH}.${CAMITK_GIT_ABBREVIATED_HASH}") + set(CAMITK_GIT_FOUND "1") + set(CAMITK_GIT_HASH "${CAMITK_GIT_HASH}") + set(CAMITK_GIT_DATE "${CAMITK_GIT_COMMITER_DATE}") else() set(CAMITK_VERSION_GIT ".git") - set(CAMITK_SVN_SUBVERSION_FOUND "0") + set(CAMITK_GIT_FOUND "0") endif() else() - set(CAMITK_SVN_SUBVERSION_FOUND "0") + set(CAMITK_GIT_FOUND "0") set(CAMITK_SOURCE_PACKAGE_VERSION "1") endif() diff --git a/sdk/applications/config/CamiTKVersionInformation.h.in b/sdk/applications/config/CamiTKVersionInformation.h.in index 7d28b003..365540e0 100644 --- a/sdk/applications/config/CamiTKVersionInformation.h.in +++ b/sdk/applications/config/CamiTKVersionInformation.h.in @@ -28,18 +28,18 @@ bool compiledFromPackageSource() { return @CAMITK_SOURCE_PACKAGE_VERSION@; } -/// if the SDK is compiled from the svn version, this function returns if more svn information are available -bool hasMoreSvnInformation() { - return @CAMITK_SVN_SUBVERSION_FOUND@; +/// if the SDK is compiled from the git version, this function returns if more git information are available +bool hasMoreGitInformation() { + return @CAMITK_GIT_FOUND@; } -/// if the SDK is compiled from the svn version, this function returns the svn revision -std::string svnRevision() { - return "@CAMITK_SVN_WC_REVISION@"; +/// if the SDK is compiled from the git version, this function returns the git complete hash +std::string gitHash() { + return "@CAMITK_GIT_HASH@"; } -/// if the SDK is compiled from the svn version, this function returns the date of the last modified SDK file (YYYY-MM-DD HH:MM:SS) -std::string svnDate() { - return "@CAMITK_SVN_DATE@"; +/// if the SDK is compiled from the git version, this function returns the last commit date +std::string gitDate() { + return "@CAMITK_GIT_DATE@"; } \ No newline at end of file diff --git a/sdk/applications/config/main.cpp b/sdk/applications/config/main.cpp index 79aa302d..fd56cf46 100644 --- a/sdk/applications/config/main.cpp +++ b/sdk/applications/config/main.cpp @@ -63,9 +63,9 @@ int main(int argc, char *argv[]) { if (compiledFromPackageSource()) std::cout << "Compiled using package source." << std::endl; else { - std::cout << "Compiled using svn"; - if (hasMoreSvnInformation()) { //Check if CAMITK_SVN_SUBVERSION_FOUND can be set to "1" otherwise we never get into this 'if' - std::cout << " Rev: " << svnRevision() << ", Date: " << svnDate() << std::endl; + std::cout << "Compiled using git"; + if (hasMoreGitInformation()) { // Check if CAMITK_GIT_FOUND can be set to "1" otherwise we never get into this 'if' + std::cout << " Hash: " << gitHash() << ", Date: " << gitDate() << std::endl; } std::cout << "." << std::endl; } diff --git a/sdk/cmake/modules/macros/GetGitInfo.cmake b/sdk/cmake/modules/macros/GetGitInfo.cmake index 03444961..c04ae2ac 100644 --- a/sdk/cmake/modules/macros/GetGitInfo.cmake +++ b/sdk/cmake/modules/macros/GetGitInfo.cmake @@ -25,14 +25,29 @@ macro(get_git_info dir) ) execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_ABBREVIATED_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%H WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE CAMITK_GIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) + execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%cd + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE CAMITK_GIT_COMMITER_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(NOT CAMITK_GIT_COMMIT_COUNT) message(WARNING "Unable to find the commit number using git : ${GIT_EXECUTABLE}") set(CAMITK_GIT_COMMIT_COUNT "unknown") + set(CAMITK_GIT_BRANCH "unknown") + set(CAMITK_GIT_HASH "unknown") + set(CAMITK_GIT_ABBREVIATED_HASH "unknown") endif() endmacro() \ No newline at end of file -- GitLab From f94a8a5b1baf39670ddfe0a03f58034399b7b92f Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Thu, 31 Mar 2016 10:59:24 +0200 Subject: [PATCH 032/356] FIXED doc color FIXED service layer update (+InterfaceFrame) --- sdk/cmake/modules/doxygen.conf.in | 6 +++--- sdk/doc/mainpage.h | 2 +- sdk/doc/resources/camitk_service_layer.odg | Bin 0 -> 291291 bytes sdk/doc/resources/camitk_service_layer_1.png | Bin 43233 -> 112253 bytes 4 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 sdk/doc/resources/camitk_service_layer.odg diff --git a/sdk/cmake/modules/doxygen.conf.in b/sdk/cmake/modules/doxygen.conf.in index aa03b3b5..f0e4c5b1 100644 --- a/sdk/cmake/modules/doxygen.conf.in +++ b/sdk/cmake/modules/doxygen.conf.in @@ -138,9 +138,9 @@ HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = -HTML_COLORSTYLE_HUE = 216 -HTML_COLORSTYLE_SAT = 91 -HTML_COLORSTYLE_GAMMA = 73 +HTML_COLORSTYLE_HUE = 0 +HTML_COLORSTYLE_SAT = 120 +HTML_COLORSTYLE_GAMMA = 100 HTML_TIMESTAMP = NO #obsolete HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = YES diff --git a/sdk/doc/mainpage.h b/sdk/doc/mainpage.h index d566259a..42e27cac 100644 --- a/sdk/doc/mainpage.h +++ b/sdk/doc/mainpage.h @@ -48,7 +48,7 @@ * @section HomePage Home Page * The home page of the project can be found at : camitk.imag.fr * - * @section copyright (c) UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 + * @section copyright (c) Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO) */ diff --git a/sdk/doc/resources/camitk_service_layer.odg b/sdk/doc/resources/camitk_service_layer.odg new file mode 100644 index 0000000000000000000000000000000000000000..4a51dd8f776469b1545fc5751369f021bf33ede8 GIT binary patch literal 291291 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%0ADKwYJ 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