From 0e2c71a975bd76b6757736071e0356e78252d858 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Tue, 30 Jan 2018 12:43:01 -0700 Subject: [PATCH 0001/1212] Setup for cmake dev. --- isis/3rdParty/Makefile | 121 - isis/3rdParty/lib/README | 2 - isis/3rdParty/plugins/README | 2 - isis/CMakeLists.txt | 273 + isis/Makefile | 12143 +++++++++++++++- isis/cmake/AddIsisModule.cmake | 296 + isis/cmake/BuildDocs.cmake | 507 + .../CMakeDirectoryInformation.cmake | 16 + isis/cmake/CMakeFiles/progress.marks | 1 + isis/cmake/CMakeLists.txt | 30 + isis/cmake/CTestTestfile.cmake | 6 + isis/cmake/CodeGeneration.cmake | 138 + isis/cmake/FindAllDependencies.cmake | 342 + isis/cmake/FindBoost.cmake | 138 + isis/cmake/FindBullet.cmake | 24 + isis/cmake/FindCSPICE.cmake | 23 + isis/cmake/FindCholmod.cmake | 34 + isis/cmake/FindEigen.cmake | 17 + isis/cmake/FindEmbree.cmake | 17 + isis/cmake/FindGMM.cmake | 14 + isis/cmake/FindGSL.cmake | 34 + isis/cmake/FindGeoTIFF.cmake | 34 + isis/cmake/FindGeos.cmake | 37 + isis/cmake/FindHDF5.cmake | 18 + isis/cmake/FindJama.cmake | 16 + isis/cmake/FindKakadu.cmake | 33 + isis/cmake/FindNN.cmake | 15 + isis/cmake/FindOpenCV.cmake | 29 + isis/cmake/FindPCL.cmake | 23 + isis/cmake/FindProtobuf.cmake | 10 + isis/cmake/FindQwt.cmake | 28 + isis/cmake/FindSuperLU.cmake | 23 + isis/cmake/FindTIFF.cmake | 11 + isis/cmake/FindTNT.cmake | 17 + isis/cmake/FindX11.cmake | 14 + isis/cmake/FindXercesC.cmake | 10 + isis/cmake/InstallThirdParty.cmake | 126 + isis/cmake/MacPlistMacros.cmake | 12 + isis/cmake/Makefile | 196 + isis/cmake/RunMakeFileTest.cmake | 81 + isis/cmake/RunUnitTest.cmake | 74 + isis/cmake/TestSetup.cmake | 83 + isis/cmake/Utilities.cmake | 315 + isis/cmake/cmake_install.cmake | 50 + isis/src/CMakeLists.txt | 44 + 45 files changed, 15007 insertions(+), 470 deletions(-) delete mode 100644 isis/3rdParty/Makefile delete mode 100644 isis/3rdParty/lib/README delete mode 100644 isis/3rdParty/plugins/README create mode 100644 isis/CMakeLists.txt create mode 100644 isis/cmake/AddIsisModule.cmake create mode 100644 isis/cmake/BuildDocs.cmake create mode 100644 isis/cmake/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 isis/cmake/CMakeFiles/progress.marks create mode 100644 isis/cmake/CMakeLists.txt create mode 100644 isis/cmake/CTestTestfile.cmake create mode 100644 isis/cmake/CodeGeneration.cmake create mode 100644 isis/cmake/FindAllDependencies.cmake create mode 100644 isis/cmake/FindBoost.cmake create mode 100644 isis/cmake/FindBullet.cmake create mode 100644 isis/cmake/FindCSPICE.cmake create mode 100644 isis/cmake/FindCholmod.cmake create mode 100644 isis/cmake/FindEigen.cmake create mode 100644 isis/cmake/FindEmbree.cmake create mode 100644 isis/cmake/FindGMM.cmake create mode 100644 isis/cmake/FindGSL.cmake create mode 100644 isis/cmake/FindGeoTIFF.cmake create mode 100644 isis/cmake/FindGeos.cmake create mode 100644 isis/cmake/FindHDF5.cmake create mode 100644 isis/cmake/FindJama.cmake create mode 100644 isis/cmake/FindKakadu.cmake create mode 100644 isis/cmake/FindNN.cmake create mode 100644 isis/cmake/FindOpenCV.cmake create mode 100644 isis/cmake/FindPCL.cmake create mode 100644 isis/cmake/FindProtobuf.cmake create mode 100644 isis/cmake/FindQwt.cmake create mode 100644 isis/cmake/FindSuperLU.cmake create mode 100644 isis/cmake/FindTIFF.cmake create mode 100644 isis/cmake/FindTNT.cmake create mode 100644 isis/cmake/FindX11.cmake create mode 100644 isis/cmake/FindXercesC.cmake create mode 100644 isis/cmake/InstallThirdParty.cmake create mode 100644 isis/cmake/MacPlistMacros.cmake create mode 100644 isis/cmake/Makefile create mode 100644 isis/cmake/RunMakeFileTest.cmake create mode 100644 isis/cmake/RunUnitTest.cmake create mode 100644 isis/cmake/TestSetup.cmake create mode 100644 isis/cmake/Utilities.cmake create mode 100644 isis/cmake/cmake_install.cmake create mode 100644 isis/src/CMakeLists.txt diff --git a/isis/3rdParty/Makefile b/isis/3rdParty/Makefile deleted file mode 100644 index 8fe74939ea..0000000000 --- a/isis/3rdParty/Makefile +++ /dev/null @@ -1,121 +0,0 @@ -include $(ISISROOT)/make/isismake.os - -.PHONY: libs license plugins - -all: install - -install: libs license plugins - -#libs: license -libs: - @for library in $(THIRDPARTYLIBS); do \ - $(INSTALL3P) $(INSTALL3POPTS) $$library $(ISISROOT)/3rdParty/lib/; \ - echo $(CURTIMESTAMP) " Installing [$$library]"; \ - if [ "$(HOST_ARCH)" == "Linux" ]; then \ - for file in $$library; do \ - localFile=$(ISISROOT)/3rdParty/lib/`basename $$file`; \ - if [ ! -L "$$localFile" ]; then \ - existingRpath=`$(PATCHELF) --print-rpath "$$localFile" 2>&- | \ - cut -d '/' -f2-4`; \ - dollar='$$'; \ - newRpath=`echo "$${dollar}ORIGIN"`; \ - if [ "$$existingRpath" == "usgs/pkgs/local" ]; then \ - echo $(CURTIMESTAMP) " Patching [" `basename $$file` "]"; \ - $(PATCHELF) --set-rpath "$$newRpath" $$localFile; \ - fi; \ - fi; \ - done; \ - fi; \ - done; \ - for library in $(PATCHLIBS); do \ - $(INSTALL3P) $(INSTALL3POPTS) $$library $(ISISROOT)/3rdParty/lib/; \ - echo $(CURTIMESTAMP) " Installing [$$library]"; \ - if [ "$(HOST_ARCH)" == "Linux" ]; then \ - for file in $$library; do \ - localFile=$(ISISROOT)/3rdParty/lib/`basename $$file`; \ - if [ ! -L "$$localFile" ]; then \ - dollar='$$'; \ - newRpath=`echo "$${dollar}ORIGIN"`; \ - echo $(CURTIMESTAMP) " Patching [" `basename $$file` "]"; \ - $(PATCHELF) --set-rpath "$$newRpath" $$localFile; \ - fi; \ - done; \ - fi; \ - done; \ - if [ "$(HOST_ARCH)" == "Darwin" ]; then \ - chmod u+w $(ISISROOT)/3rdParty/lib/libcrypto.*.dylib; \ - chmod u+w $(ISISROOT)/3rdParty/lib/libssl.*.dylib; \ - chmod u+w $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5/Python;\ - $(ISISROOT)/scripts/SetRunTimePath --libs \ - --libmap=$(ISISROOT)/scripts/darwin_lib_paths.lis \ - --liblog=DarwinLibs.lis --update \ - --relocdir=$(ISISROOT)/3rdParty/lib:$(ISISROOT)/3rdParty \ - --errlog=DarwinErrors.lis \ - `find $(ISISROOT)/3rdParty/lib -name '*.dylib*' -type f` \ - > /dev/null; \ - $(ISISROOT)/scripts/SetRunTimePath --libs \ - --libmap=$(ISISROOT)/scripts/qt_paths.lis \ - --liblog=DarwinLibs.lis \ - --relocdir=$(ISISROOT)/3rdParty/lib:$ISISROOT/3rdParty \ - --update \ - `find $(ISISROOT)/3rdParty/lib -name '[Qq]*' -print \ - -mindepth 3 -maxdepth 4 -type f` > /dev/null; \ - $(ISISROOT)/scripts/SetRunTimePath --bins \ - --libmap=$(ISISROOT)/scripts/darwin_bin_paths.lis \ - --liblog=DarwinLibs.lis \ - --relocdir=$(ISISROOT)/3rdParty/lib:$ISISROOT/3rdParty \ - --update \ - `find $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5 \ - -name 'Python' -print -type f` > /dev/null; \ - chmod u-w $(ISISROOT)/3rdParty/lib/libcrypto.*.dylib; \ - chmod u-w $(ISISROOT)/3rdParty/lib/libssl.*.dylib; \ - chmod u-w $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5/Python;\ - if [ -f "DarwinErrors.lis" ]; then \ - cat DarwinErrors.lis; \ - fi; \ - $(RM) DarwinErrors.lis DarwinLibs.lis; \ - fi - -license: - $(RSYNC) -a $(THIRDPARTYLICPATH) \ - $(ISISROOT)/3rdParty/license/ - -plugins: - @for plugs in $(THIRDPARTYPLUGINS); do \ - echo $(CURTIMESTAMP) " Installing [$$plugs...]"; \ - $(INSTALL3P) $(INSTALL3POPTS) $$plugs $(ISISROOT)/3rdParty/plugins/; \ - done; \ - if [ "$(HOST_ARCH)" == "Darwin" ]; then \ - $(ISISROOT)/scripts/SetRunTimePath --bundles \ - --libmap=$(ISISROOT)/scripts/qt_plugins_paths.lis \ - --liblog=DarwinLibs.lis --update \ - --relocdir=$(ISISROOT)/3rdParty/lib:$(ISISROOT)/3rdParty \ - --errlog=DarwinErrors.lis \ - `find $(ISISROOT)/3rdParty/plugins -name '*.bundle' -type f` \ - `find $(ISISROOT)/3rdParty/plugins -name '*.dylib' -type f` \ - > /dev/null; \ - if [ -f "DarwinErrors.lis" ]; then \ - cat DarwinErrors.lis; \ - fi; \ - $(RM) DarwinErrors.lis DarwinLibs.lis; \ - fi - - -clean: - rm -f lib/lib*.so* lib/lib*.dylib* lib/lib*.a - cd lib && rm -rf *.framework - $(RM) -rf license - @for plugs in plugins/*; do \ - if [ -d $$plugs -a $$plugs != "plugins/CVS" ]; \ - then \ - $(RM) -rf $$plugs; \ - fi \ - done; - -#---------------------------------------------------------------------------- -# Use to see values of variables -# Example: make print-HOST_OS -# Will print the make variable HOST_OS -#---------------------------------------------------------------------------- -print-% : - @echo '$* = $($*)' diff --git a/isis/3rdParty/lib/README b/isis/3rdParty/lib/README deleted file mode 100644 index 370c2cc66e..0000000000 --- a/isis/3rdParty/lib/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains O/S and hardware specific shared libraries needed -to execute ISIS applications diff --git a/isis/3rdParty/plugins/README b/isis/3rdParty/plugins/README deleted file mode 100644 index 55cfae117e..0000000000 --- a/isis/3rdParty/plugins/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains Qt plugins that are exported for use in Isis -applications. diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt new file mode 100644 index 0000000000..ea14a0411b --- /dev/null +++ b/isis/CMakeLists.txt @@ -0,0 +1,273 @@ +#=============================================================================== +# The main build file for building ISIS using CMake. +#=============================================================================== +# CMake initialization + +# Specify the required version of CMake. If your machine does not +# have this, it should be easy to build from https://cmake.org/download/ +cmake_minimum_required(VERSION 3.4) + +# Point cmake to our other CMake files. +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") + +list(APPEND CMAKE_INCLUDE_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/objects/ + /usgs/pkgs/local/v007/include/google-protobuf/protobuf2.6.1/ + /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ + /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ + /usr/lib64/ +) + +set(CMAKE_PREFIX_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/libexec/ + /opt/usgs/v007/ports/Library/Frameworks/ + /opt/usgs/v007/ports/libexec/ + /opt/usgs/v007/ports/bin/ + /opt/usgs/v007/ports/lib/ + /opt/usgs/v007/ports/include/ + /opt/usgs/v007/ports/libexec/qt5 + /opt/usgs/v007/ports/libexec/qt5/bin/ + /opt/usgs/v007/ports/libexec/qt5/lib/ + /opt/usgs/v007/3rdparty/bin + /opt/usgs/v007/3rdparty/include/ + /opt/usgs/v007/3rdparty/lib/ + /opt/usgs/v007/proprietary/ + /opt/usgs/v007/proprietary/include/ + /opt/usgs/v007/proprietary/lib/ + /usr/lib + /usr/lib64/ + /usr/local/lib +) + +include(AddIsisModule) +include(Utilities) +include(TestSetup) +include(InstallThirdParty) + +#=============================================================================== +#=============================================================================== +# Project information + +project (USGS_ISIS) + + +# Short and long name of this package +set(PACKAGE "ISIS") +set(PACKAGE_NAME "USGS ISIS") + +# Version number +set(VERSION "3.5.00.0") +set(PACKAGE_VERSION ${VERSION}) + +# Full name and version number +set(PACKAGE_STRING "${PACKAGE_NAME} ${VERSION}") + +# Other release information +set(VERSION_DATE "2017-04-24") +set(THIRD_PARTY_LIBS_VERSION "v007") +set(RELEASE_STAGE "alpha") # (alpha, beta, stable) + +# Define to the address where bug reports for this package should be sent. +set(PACKAGE_BUGREPORT "https://isis.astrogeology.usgs.gov/fixit") + +# Main website associated with the software package +set(PACKAGE_URL "https://isis.astrogeology.usgs.gov/") + +# Retrieve a string describing the OS this is built on. +get_os_version(osVersionString) +message("Detected Operating System: ${osVersionString}") + +#=============================================================================== +#=============================================================================== +# Configuration options + +# All libraries are build as shared. The main library is also built +# as a static library using some specialized code in Utilities.cmake. +set(BUILD_SHARED_LIBS ON) + + +# Specify flags used +set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) +#set(thirdPartyCppFlags -Wall -ansi -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) + +# Specify user options that can be passed in with the initial CMake command. +option(isis3Data "Directory containing Isis3Data" "NA") +option(isis3TestData "Directory containing Isis3TestData" "NA") +option(testOutputDir "Directory to store app test output folders" "NA") +option(buildCore "Build the core ISIS modules" ON ) +option(buildMissions "Build the mission specific modules" ON ) +option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) +option(buildTests "Set up unit, application, and module tests." ON ) + + +if(EXISTS ${isis3Data}) + set(ENV{ISIS3DATA} "${isis3Data}") + message("Using ISIS3DATA = $ENV{ISIS3DATA}") +else() + message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") +endif() +if(EXISTS ${isis3TestData}) + set(ENV{ISIS3TESTDATA} "${isis3TestData}") + message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") +else() + message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") +endif() +#if(EXISTS ${CMAKE_INSTALL_PREFIX}) +# set(ENV{CMAKE_INSTALL_PREFIX} "${CMAKE_INSTALL_PREFIX}") +# message("Using INSTALL PREFIX = $ENV{CMAKE_INSTALL_PREFIX}") +#else() +# message(WARNING "Isis3TestData directory ${CMAKE_INSTALL_PREFIX} not found, application and module tests will fail.") +#endif() + +if(${testOutputDir} STREQUAL "OFF") + message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") + execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) +else() + # User specified a test output folder, make sure it exists. + message("Writing test data folders to = ${testOutputDir}") + execute_process(COMMAND mkdir -p ${testOutputDir}) +endif() + +# Set the default library extension based on the platform +if(APPLE) + set(SO ".dylib") +else() + set(SO ".so") +endif() + + +#=============================================================================== +#=============================================================================== +# Start setting up the build +# Add extension to find fortran until .so symlink can be added to /usr/lib64 +list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) + +# Set up all the third party library dependencies. +include(FindAllDependencies) + +# Allow everything to include the 3rd party libraries +include_directories(SYSTEM ${ALLINCDIRS}) +link_directories(${ALLLIBDIRS}) + +# add isis headers + + +file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h +${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) +file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc) + +include_directories(${CMAKE_BINARY_DIR}/inc) + +# install scripts +# file(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/scripts) +# file(COPY ${CMAKE_SOURCE_DIR}/scripts DESTINATION ${CMAKE_INSTALL_PREFIX}) + +set(CORE_LIB_NAME isis3) + +# Specify relative library include paths which will be set up on +# the installed files. +if(APPLE) + set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@loader_path/../3rdParty/lib") +else() + set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") +endif() +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) + +# We will set up some links with these files at the end of the install process so +# make sure they are cleared at the start of the install process. +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.${SO})") +EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_BINARY_DIR}/) +install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") +install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") + +# Append CPP flags set in the third party lib file to the string set in this file. +string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) +# Set up the ctest tool which is used to run all of the tests. +enable_testing() +include(CTest) + +# Delete any existing plugin files in the build folder so they +# don't get filled with duplicate entries. +file(GLOB existingPlugins "${CMAKE_BINARY_DIR}/plugins/*.plugin") +if(existingPlugins) + file(REMOVE ${existingPlugins}) +endif() + +# Add a config file to the install bin directory so that QT can find the plugin libraries. +file(WRITE "${CMAKE_BINARY_DIR}/qt.conf" "[Paths]\nPlugins=../3rdParty/plugins/\n") +install(FILES "${CMAKE_BINARY_DIR}/qt.conf" DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) + +#Create the inc directory +execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/inc) + + +# Create an xml folder in the source directory that we will need later +set(sourceXmlFolder ${CMAKE_BINARY_DIR}/bin/xml) +execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/xml) + +# Set up install of the templates folder. +install(DIRECTORY ${CMAKE_SOURCE_DIR}/templates DESTINATION .) + +# Set up install of the make folder. +install(DIRECTORY ${CMAKE_SOURCE_DIR}/make DESTINATION ${CMAKE_INSTALL_PREFIX}) + +# Have CMake process all of the source code and tests. +add_subdirectory(src objects) + +# Set up third party libraries for installation +install_third_party() + +# Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. +# - This is required so that the plugins can be found during unit tests. +# TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. +foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) + get_filename_component(pluginName ${plugin} NAME) + if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) + execute_process(COMMAND ln -s "${plugin}" ${pluginName} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + endif() +endforeach() + +# Set up documentation build target. +# - This script is called by running "make docs". +# - This long call passes all desired variables to the script. +add_custom_target(docs COMMAND ${CMAKE_COMMAND} + -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} + -DDOXYGEN=${DOXYGEN} -DXALAN=${XALAN} + -DLATEX=${LATEX} + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -P ${CMAKE_MODULE_PATH}/BuildDocs.cmake) + +# Add a custom build target to clean out everything that gets added to the source +# directory during the build process. +# - Only a few things are added in order to make the tests work properly so +# this is very straightforward. +add_custom_target(clean_source COMMAND rm -rf "${CMAKE_BINARY_DIR}/*" "${CMAKE_INSTALL_PREFIX}/*") + +# Set up a few top level files for installation. +EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_BINARY_DIR}) +EXECUTE_PROCESS(COMMAND cp -rf ${CMAKE_SOURCE_DIR}/scripts ${CMAKE_BINARY_DIR}) +EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/license.txt ${CMAKE_BINARY_DIR}) +EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/version ${CMAKE_BINARY_DIR}) +EXECUTE_PROCESS(COMMAND cp -rf ${CMAKE_SOURCE_DIR}/make ${CMAKE_BINARY_DIR}) + +# Copy the files on make install as well +install(FILES ${CMAKE_SOURCE_DIR}/IsisPreferences DESTINATION ${CMAKE_INSTALL_PREFIX}) +install(FILES ${CMAKE_SOURCE_DIR}/license.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) +install(FILES ${CMAKE_SOURCE_DIR}/version DESTINATION ${CMAKE_INSTALL_PREFIX}) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/scripts DESTINATION ${CMAKE_INSTALL_PREFIX}) + +# Trigger all post-install behavior. +# - The only way to run commands post-install in CMake is to add a subdirectory at +# the end of this file containing a CMakeLists.txt file which includes all of +# the desired post-install commands inside. +add_subdirectory(cmake) diff --git a/isis/Makefile b/isis/Makefile index 24fd4e1d5d..a27a43b811 100644 --- a/isis/Makefile +++ b/isis/Makefile @@ -1,349 +1,11802 @@ -include $(ISISROOT)/make/isismake.os - -#--------------------------------------------------------------------------- -# Set up ISIS versioning -#--------------------------------------------------------------------------- -#ISISVERSIONFULL := $(shell head -n 1 $(ISISROOT)/version | sed 's/\#.*//' | sed 's/ *$$//') -#ISISMAJOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f1) -#ISISMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f2) -#ISISMINORMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f3) -#ISISMINORMINORMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f4) -#ISISVERSION := $(ISISMAJOR).$(ISISMINOR).$(ISISMINORMINOR).$(ISISMINORMINORMINOR) -#ISISLIBVERSION := $(shell echo $(ISISMAJOR).$(ISISMINOR).$(ISISMINORMINOR) | sed 's/[a-z].*$$//') -#ISISLOCALVERSION := $(shell head -n 3 $(ISISROOT)/version | tail -n 1 | sed 's/\#.*//' | sed 's/ *$$//') -#ISISRELEASE := REL_0_0 +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.9 +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. .NOTPARALLEL: -#---------------------------------------------------------------------------- -# Let the user know how to use the system -#---------------------------------------------------------------------------- -help: - echo "Isis Make System Commands" - echo "------------------------ " - echo "make all : Build and install the entire system (incs,api,apps,docs)" - echo "make thirdParty : Copy required 3rdParty libraries into distribution" - echo "make incs : Install API include files" - echo "make api : Build and install the Isis API" - echo "make apps : Build and install Isis Applications" - echo "make docs : Build Isis Web Documentation" - echo "make quickclean : Clean binaries from source tree but not app test areas" - echo "make cleansrc : Clean binaries from source tree" - echo "make clean : Clean source tree and install area" - echo "make unitTest : Build and execute unit tests for Isis API" - echo "make appTest : Build and execute application tests" - echo "make catTest : Build and execute category tests" - echo "make coverage : Build a test coverage report from generated coverage info" - -#---------------------------------------------------------------------------- -# Target = all -# Dependencies = includes api applications documentation thirdParty -# -# The API include files must be installed before the API can be constructed. -# After the API is created then the applications can be individually built -# and installed. Finally create the web documentation for the entire system. -#---------------------------------------------------------------------------- -all: incs thirdParty api apps docs - -#---------------------------------------------------------------------------- -# Target = incs -# Dependencies = none -# -# The API include files will be installed in $(ISISROOT)/inc. The Isis -# make system will traverse the objs directories (src/base/objs/*) and -# copy the include file from the individual object directory into the -# system directory $(ISISROOT)/inc. -#---------------------------------------------------------------------------- -incs: - echo $(CURTIMESTAMP) "Installing include files" - mkdir -p inc - $(MAKE) --directory=src includes - echo $(CURTIMESTAMP) "Finished installing include files" - echo $(CURTIMESTAMP) " " - -#---------------------------------------------------------------------------- -# Target = api -# Dependencies = objects -# -# The Isis API is essentially libisis.a which will be created in the -# directory $(ISISROOT)/lib. Make api traverses the objs directories -# (src/base/objs/*) and archives the ".o" files into libisis.a. Therefore -# the ".o" files must exist. -# -# Target = objects -# Dependencies = none -# -# Before the API can be built each individual object must be built. -# This target will traverse the objs directories and create the C++ -# object classes leaving the ".o" file in each individual directory. -# The API is not created until "make api" is performed -# -# Finally after the API is completed the shared libraries will be -# constructed from libisis.a -#---------------------------------------------------------------------------- - -api: - echo $(CURTIMESTAMP) "Building Isis API" - mkdir -p lib - $(MAKE) --directory=src objects - echo $(CURTIMESTAMP) "Finished building Isis API" - echo $(CURTIMESTAMP) "" - echo $(CURTIMESTAMP) "Adding API objects" - if [ "$(HOST_ARCH)" == "Linux" ]; then \ - $(MAKE) --directory=src api; \ - elif [ "$(HOST_ARCH)" == "Darwin" ]; then \ - $(MAKE) osx_static; \ - fi; - echo $(CURTIMESTAMP) "Finished adding API objects" - echo $(CURTIMESTAMP) " " - echo $(CURTIMESTAMP) "Creating Shared Libraries ..." - cp make/Makefile.libs lib/Makefile - $(MAKE) --directory=lib shared - echo $(CURTIMESTAMP) "Finished creating Shared Libraries ..." - echo $(CURTIMESTAMP) " " - -# Make the static library on Macos, faster then recursivly call make -osx_static: - $(eval UNIT_TESTS=$(wildcard src/*/objs/*/unitTest.o)) - $(eval PLUGIN_DIRS=$(dir $(wildcard src/*/objs/*/*.plugin))) - $(eval PLUGIN_FILES=$(foreach dir,$(PLUGIN_DIRS),$(wildcard $(dir)*.o))) - $(eval API_OBJS=$(filter-out $(PLUGIN_FILES),$(filter-out $(UNIT_TESTS),$(wildcard src/*/objs/*/*.o)))) - $(AR) -crs $(ISISROOT)/lib/libisis$(ISISLIBVERSION).a $(API_OBJS); - for i in $(PLUGIN_DIRS); do \ - $(MAKE) --directory=$$i plugin install; \ - done - -# echo "Building Isis API with debugging" -# cd src; $(MAKE) objects MODE=DEBUG -# cd src; $(MAKE) api MODE=DEBUG -# echo "Finished building Isis API with debugging" -# echo " " - -#---------------------------------------------------------------------------- -# Target = apps -# Dependencies = none -# -# This will build and install all the Isis application in the directory -# $(ISISROOT)/bin. It also installs the application Xml file in -# $(ISISROOT/bin/xml. Again the make system traverse the apps directories -# (src/base/apps) and builds/installs each application. Of course the -# API must be built for this to work properly -#---------------------------------------------------------------------------- -apps: - echo $(CURTIMESTAMP) "Building Isis Applications" - mkdir -p bin/xml - $(MAKE) --directory=src applications - echo $(CURTIMESTAMP) "Finished building Isis Applications" - echo $(CURTIMESTAMP) " " - -#---------------------------------------------------------------------------- -# Target = docs -# Dependencies = none -# -# This target traverse both the objs and apps directories and moves the -# Xml and assets directories into specific sub-directories under -# $(ISISROOT)/src/docsys. Then it builds the entire docsys tree which -# generates the Isis Documentation under $(ISISROOT)/doc -#---------------------------------------------------------------------------- -docs: - echo $(CURTIMESTAMP) "Building Isis Documentation" - mkdir -p doc - $(MAKE) --directory=src documentation - $(MAKE) --directory=src/docsys docs - echo $(CURTIMESTAMP) "Finished building Isis Documentation" - - -#---------------------------------------------------------------------------- -# Target = coverage -# Dependencies = none -# -# This target builds a report on how much of Isis is tested in the automated -# tests. This is currently excluding applications that run other applications -# because of the amount of time it takes to generate the report (and that's -# not how we want to test our applications ideally). -#---------------------------------------------------------------------------- -coverage: - if [ "$(CODE_COVERAGE_BIN_DIR)" == "" ]; then \ - echo "Make sure you use MODE=TC when building Isis for a coverage" \ - "report."; \ - exit 1; \ - fi; \ - $(ECHO) $(CURTIMESTAMP) "Finding coverage information..."; \ - CSMESFILES=( lib/libisis$(ISISLIBVERSION).so.csmes \ - `find src/*/apps -name "*.o.csmes" | grep -v moc_` ); \ - CSEXEFILES=(`find src/ -name "*.csexe"` `find bin/ -name "*.csexe"`); \ - if [ "$${#CSMESFILES[@]}" == "0" ] || \ - [ "$${#CSEXEFILES[@]}" == "0" ]; then \ - echo "Please build Isis and run the tests with MODE=TC before " \ - "trying to build a coverage report."; \ - exit 1; \ - fi; \ - $(ECHO) $(CURTIMESTAMP) "Merging source file information into isis.csmes..."; \ - $(CODE_COVERAGE_BIN_DIR)/cmmerge $${CSMESFILES[@]} -o isis.csmes; \ - $(ECHO) $(CURTIMESTAMP) "Adding test execution records into isis.csmes..."; \ - for CSEXEFILE in $${CSEXEFILES[@]}; do \ - EXETESTNAME="$$CSEXEFILE"; \ - APPTESTAPPNAME=`echo $$CSEXEFILE | sed 's#\\(.*/apps/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\([^/]*\)\(/.*\)#\\2#'`; \ - CSEXEAPPNAME=`basename $$CSEXEFILE | sed 's/.csexe//'`; \ - if [ "$$APPTESTAPPNAME" == "$$CSEXEFILE" ] || \ - [ "$$APPTESTAPPNAME" == "$$CSEXEAPPNAME" ] || \ - [ "`dirname $$CSEXEFILE`" == "bin" ]; then \ - EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(.*/apps/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\([^/]*\)\(/.*\)#\\2 Application Test (case \\4\\)#'`; \ - EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(src/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\\([a-zA-Z0-9]*\\)\\(.*\\)#\\2 Category Test (case \\4\\)#'`; \ - EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(.*/\\)\\([^/]*\\)\\(/unitTest.csexe\\)#\\2 Unit Test#'`; \ - $(ECHO) -e $(CURTIMESTAMP) " Adding [$$EXETESTNAME] `basename $$CSEXEFILE`"; \ - $(CODE_COVERAGE_BIN_DIR)/cmcsexeimport -t "$$EXETESTNAME" \ - -e $$CSEXEFILE -m "isis.csmes"; \ - fi; \ - done; \ - $(ECHO) -ne $(CURTIMESTAMP) "Scope Coverage: "; \ - $(CODE_COVERAGE_BIN_DIR)/cmreport \ - --title="Isis System-Wide Test Scope Coverage" \ - -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ - --global=all --method=all --source=all --execution=all \ - --method-sort=coverage --execution-sort=coverage \ - --source-sort=coverage -h scopecoverage; \ - $(ECHO) -ne $(CURTIMESTAMP) "Line Coverage: "; \ - $(CODE_COVERAGE_BIN_DIR)/cmreport \ - --title="Isis System-Wide Test Line Coverage" \ - -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ - --global=all --method=all --source=all --execution=all \ - --method-sort=coverage --execution-sort=coverage \ - --source-sort=coverage --line-coverage -h linecoverage; \ - $(ECHO) -ne $(CURTIMESTAMP) "Function Coverage: "; \ - $(CODE_COVERAGE_BIN_DIR)/cmreport \ - --title="Isis System-Wide Test Function Coverage" \ - -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ - --global=all --method=all --source=all --execution=all \ - --method-sort=coverage --execution-sort=coverage \ - --source-sort=coverage --function-coverage -h functioncoverage; - - -#---------------------------------------------------------------------------- -# Target = quickclean -# -# This target cleans the entire Isis system enough for a recompile. It cleans ".o" files and -# binary executables from the source tree. It also, clears the running -# areas under $ISISROOT (inc, doc, bin, bin/xml, and lib) -# -# Target = quickclean -# Dependencies = none -# -# This walks the src tree and removes ".o" files and binary files -#---------------------------------------------------------------------------- -quickclean: - echo $(CURTIMESTAMP) "Cleaning Isis (quick)"; \ - $(MAKE) --directory=src quickclean; \ - rm -rf inc; \ - rm -rf doc; \ - rm -rf bin; \ - rm -rf lib; \ - rm -rf scripts/tabcomplete.csh; \ - rm -rf scopecoverage scopecoverage.html linecoverage linecoverage.html \ - functioncoverage functioncoverage.html *.csmes *.csexe; \ - $(MAKE) --directory=3rdParty clean; \ - echo $(CURTIMESTAMP) "Finished cleaning Isis"; - -#---------------------------------------------------------------------------- -# Target = clean -# Dependencies = cleansrc -# -# This target cleans the entire Isis system. It cleans ".o" files and -# binary executables from the source tree. It also clears the running -# areas under $ISISROOT (inc, doc, bini, bin/xml, and lib) -# -# Target = cleansrc -# Dependencies = none -# -# This walks the src tree and removes ".o" files and binary files -#---------------------------------------------------------------------------- + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /scratch/isiscmake/isis + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /scratch/isiscmake/isis + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles /scratch/isiscmake/isis/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles 0 +.PHONY : all + +# The main clean target clean: - echo $(CURTIMESTAMP) "Cleaning Isis"; \ - $(MAKE) cleansrc; \ - rm -rf inc; \ - rm -rf doc; \ - rm -rf bin; \ - rm -rf lib; \ - rm -rf scripts/tabcomplete.csh; \ - rm -rf scopecoverage scopecoverage.html linecoverage linecoverage.html \ - functioncoverage functioncoverage.html *.csmes *.csexe; \ - $(MAKE) --directory=3rdParty clean; \ - echo $(CURTIMESTAMP) "Finished cleaning Isis"; - -cleansrc: - $(MAKE) --directory=src clean - -tabcomplete: - if [ ! -d bin ]; then \ - echo $(CURTIMESTAMP) "You must build the applications first"; \ - elif [ ! -f bin/isiscomplete ]; then \ - echo $(CURTIMESTAMP) "Isis application 'isiscomplete' is missing"; \ - else \ - echo "#!/bin/csh" > $$ISISROOT/scripts/tabcomplete.csh; \ - isiscomplete `ls $$ISISROOT/bin | grep -v xml` | sed 's/; /;~/g' | \ - tr '~' '\n' > $$ISISROOT/scripts/tabcomplete.csh; \ - fi; - -#---------------------------------------------------------------------------- -# Target = unitTest appTest appTest2 catTest -# Dependencies = none -# -# This target traverses both the objs and apps directories. In the object -# directories it will build the unitTest executable, run it, and difference -# the results with the unitTest truth data. In the application directories -# it will run the appTest script to ensure the program generates the proper -# output data (whether it be a cube, text file, postscript file, etc) -#---------------------------------------------------------------------------- -unitTest: - echo $(CURTIMESTAMP) "Testing Isis API" - $(MAKE) --directory=src unitTest - echo $(CURTIMESTAMP) "Finished testing Isis API" - -appTest: - echo $(CURTIMESTAMP) "Testing Isis Applications version 2" - $(MAKE) --directory=src appTest - echo $(CURTIMESTAMP) "Finished testing Isis Applications version 2" - -catTest: - echo $(CURTIMESTAMP) "Testing Isis Category" - $(MAKE) --directory=src catTest - echo $(CURTIMESTAMP) "Finished testing Isis Category" - -#---------------------------------------------------------------------------- -# Target = thirdParty -# Dependencies = none -# -# This target is used only for external distributions that do not have -# the need to program. As a convenience we provide the shared libraries -# for 3rdParty packages used in ISIS so that external customers do -# not have to download and install RPMs. -#---------------------------------------------------------------------------- -HOST_ARCH ?= $(shell uname -s) -HOST_MACH ?= $(shell uname -m) - -thirdParty: - echo $(CURTIMESTAMP) "Installing 3rdParty libraries" - rm -f $(ISISROOT)/3rdParty/lib/lib* - $(MAKE) -C $(ISISROOT)/3rdParty install - echo $(CURTIMESTAMP) "Finished installing 3rdParty libraries" - echo $(CURTIMESTAMP) " " - - -#---------------------------------------------------------------------------- -# Use to see values of variables -# Example: make print-HOST_OS -# Will print the make variable HOST_OS -#---------------------------------------------------------------------------- -#print-% : -# @echo '$* = $($*)' - -#---------------------------------------------------------------------------- -# Standard make FORCE target. Do not remove unless you know what you are doing -#---------------------------------------------------------------------------- - -FORCE: - -#---------------------------------------------------------------------------- -# Include the make file debugging targets -#---------------------------------------------------------------------------- -include $(ISISROOT)/make/isismake.print + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named docs + +# Build rule for target. +docs: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 docs +.PHONY : docs + +# fast build rule for target. +docs/fast: + $(MAKE) -f CMakeFiles/docs.dir/build.make CMakeFiles/docs.dir/build +.PHONY : docs/fast + +#============================================================================= +# Target rules for targets named ContinuousSubmit + +# Build rule for target. +ContinuousSubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousSubmit +.PHONY : ContinuousSubmit + +# fast build rule for target. +ContinuousSubmit/fast: + $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build +.PHONY : ContinuousSubmit/fast + +#============================================================================= +# Target rules for targets named ContinuousCoverage + +# Build rule for target. +ContinuousCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousCoverage +.PHONY : ContinuousCoverage + +# fast build rule for target. +ContinuousCoverage/fast: + $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build +.PHONY : ContinuousCoverage/fast + +#============================================================================= +# Target rules for targets named ContinuousTest + +# Build rule for target. +ContinuousTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousTest +.PHONY : ContinuousTest + +# fast build rule for target. +ContinuousTest/fast: + $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build +.PHONY : ContinuousTest/fast + +#============================================================================= +# Target rules for targets named ContinuousBuild + +# Build rule for target. +ContinuousBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousBuild +.PHONY : ContinuousBuild + +# fast build rule for target. +ContinuousBuild/fast: + $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build +.PHONY : ContinuousBuild/fast + +#============================================================================= +# Target rules for targets named ContinuousMemCheck + +# Build rule for target. +ContinuousMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousMemCheck +.PHONY : ContinuousMemCheck + +# fast build rule for target. +ContinuousMemCheck/fast: + $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build +.PHONY : ContinuousMemCheck/fast + +#============================================================================= +# Target rules for targets named Nightly + +# Build rule for target. +Nightly: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Nightly +.PHONY : Nightly + +# fast build rule for target. +Nightly/fast: + $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build +.PHONY : Nightly/fast + +#============================================================================= +# Target rules for targets named NightlyTest + +# Build rule for target. +NightlyTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyTest +.PHONY : NightlyTest + +# fast build rule for target. +NightlyTest/fast: + $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build +.PHONY : NightlyTest/fast + +#============================================================================= +# Target rules for targets named NightlyUpdate + +# Build rule for target. +NightlyUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyUpdate +.PHONY : NightlyUpdate + +# fast build rule for target. +NightlyUpdate/fast: + $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build +.PHONY : NightlyUpdate/fast + +#============================================================================= +# Target rules for targets named Continuous + +# Build rule for target. +Continuous: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Continuous +.PHONY : Continuous + +# fast build rule for target. +Continuous/fast: + $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build +.PHONY : Continuous/fast + +#============================================================================= +# Target rules for targets named NightlyBuild + +# Build rule for target. +NightlyBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyBuild +.PHONY : NightlyBuild + +# fast build rule for target. +NightlyBuild/fast: + $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build +.PHONY : NightlyBuild/fast + +#============================================================================= +# Target rules for targets named NightlyStart + +# Build rule for target. +NightlyStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyStart +.PHONY : NightlyStart + +# fast build rule for target. +NightlyStart/fast: + $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build +.PHONY : NightlyStart/fast + +#============================================================================= +# Target rules for targets named NightlyMemoryCheck + +# Build rule for target. +NightlyMemoryCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyMemoryCheck +.PHONY : NightlyMemoryCheck + +# fast build rule for target. +NightlyMemoryCheck/fast: + $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build +.PHONY : NightlyMemoryCheck/fast + +#============================================================================= +# Target rules for targets named NightlyMemCheck + +# Build rule for target. +NightlyMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyMemCheck +.PHONY : NightlyMemCheck + +# fast build rule for target. +NightlyMemCheck/fast: + $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build +.PHONY : NightlyMemCheck/fast + +#============================================================================= +# Target rules for targets named clean_source + +# Build rule for target. +clean_source: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clean_source +.PHONY : clean_source + +# fast build rule for target. +clean_source/fast: + $(MAKE) -f CMakeFiles/clean_source.dir/build.make CMakeFiles/clean_source.dir/build +.PHONY : clean_source/fast + +#============================================================================= +# Target rules for targets named ExperimentalStart + +# Build rule for target. +ExperimentalStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalStart +.PHONY : ExperimentalStart + +# fast build rule for target. +ExperimentalStart/fast: + $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build +.PHONY : ExperimentalStart/fast + +#============================================================================= +# Target rules for targets named ContinuousConfigure + +# Build rule for target. +ContinuousConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousConfigure +.PHONY : ContinuousConfigure + +# fast build rule for target. +ContinuousConfigure/fast: + $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build +.PHONY : ContinuousConfigure/fast + +#============================================================================= +# Target rules for targets named NightlyCoverage + +# Build rule for target. +NightlyCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyCoverage +.PHONY : NightlyCoverage + +# fast build rule for target. +NightlyCoverage/fast: + $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build +.PHONY : NightlyCoverage/fast + +#============================================================================= +# Target rules for targets named ExperimentalUpdate + +# Build rule for target. +ExperimentalUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalUpdate +.PHONY : ExperimentalUpdate + +# fast build rule for target. +ExperimentalUpdate/fast: + $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build +.PHONY : ExperimentalUpdate/fast + +#============================================================================= +# Target rules for targets named ExperimentalConfigure + +# Build rule for target. +ExperimentalConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalConfigure +.PHONY : ExperimentalConfigure + +# fast build rule for target. +ExperimentalConfigure/fast: + $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build +.PHONY : ExperimentalConfigure/fast + +#============================================================================= +# Target rules for targets named ExperimentalCoverage + +# Build rule for target. +ExperimentalCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalCoverage +.PHONY : ExperimentalCoverage + +# fast build rule for target. +ExperimentalCoverage/fast: + $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build +.PHONY : ExperimentalCoverage/fast + +#============================================================================= +# Target rules for targets named ExperimentalBuild + +# Build rule for target. +ExperimentalBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalBuild +.PHONY : ExperimentalBuild + +# fast build rule for target. +ExperimentalBuild/fast: + $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build +.PHONY : ExperimentalBuild/fast + +#============================================================================= +# Target rules for targets named NightlyConfigure + +# Build rule for target. +NightlyConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyConfigure +.PHONY : NightlyConfigure + +# fast build rule for target. +NightlyConfigure/fast: + $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build +.PHONY : NightlyConfigure/fast + +#============================================================================= +# Target rules for targets named ExperimentalTest + +# Build rule for target. +ExperimentalTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalTest +.PHONY : ExperimentalTest + +# fast build rule for target. +ExperimentalTest/fast: + $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build +.PHONY : ExperimentalTest/fast + +#============================================================================= +# Target rules for targets named ExperimentalMemCheck + +# Build rule for target. +ExperimentalMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalMemCheck +.PHONY : ExperimentalMemCheck + +# fast build rule for target. +ExperimentalMemCheck/fast: + $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build +.PHONY : ExperimentalMemCheck/fast + +#============================================================================= +# Target rules for targets named Experimental + +# Build rule for target. +Experimental: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Experimental +.PHONY : Experimental + +# fast build rule for target. +Experimental/fast: + $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build +.PHONY : Experimental/fast + +#============================================================================= +# Target rules for targets named NightlySubmit + +# Build rule for target. +NightlySubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlySubmit +.PHONY : NightlySubmit + +# fast build rule for target. +NightlySubmit/fast: + $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build +.PHONY : NightlySubmit/fast + +#============================================================================= +# Target rules for targets named ExperimentalSubmit + +# Build rule for target. +ExperimentalSubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalSubmit +.PHONY : ExperimentalSubmit + +# fast build rule for target. +ExperimentalSubmit/fast: + $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build +.PHONY : ExperimentalSubmit/fast + +#============================================================================= +# Target rules for targets named ContinuousStart + +# Build rule for target. +ContinuousStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousStart +.PHONY : ContinuousStart + +# fast build rule for target. +ContinuousStart/fast: + $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build +.PHONY : ContinuousStart/fast + +#============================================================================= +# Target rules for targets named ContinuousUpdate + +# Build rule for target. +ContinuousUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousUpdate +.PHONY : ContinuousUpdate + +# fast build rule for target. +ContinuousUpdate/fast: + $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build +.PHONY : ContinuousUpdate/fast + +#============================================================================= +# Target rules for targets named VoyagerCamera + +# Build rule for target. +VoyagerCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 VoyagerCamera +.PHONY : VoyagerCamera + +# fast build rule for target. +VoyagerCamera/fast: + $(MAKE) -f objects/CMakeFiles/VoyagerCamera.dir/build.make objects/CMakeFiles/VoyagerCamera.dir/build +.PHONY : VoyagerCamera/fast + +#============================================================================= +# Target rules for targets named viknonoodle_app + +# Build rule for target. +viknonoodle_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 viknonoodle_app +.PHONY : viknonoodle_app + +# fast build rule for target. +viknonoodle_app/fast: + $(MAKE) -f objects/CMakeFiles/viknonoodle_app.dir/build.make objects/CMakeFiles/viknonoodle_app.dir/build +.PHONY : viknonoodle_app/fast + +#============================================================================= +# Target rules for targets named vikcal_app + +# Build rule for target. +vikcal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vikcal_app +.PHONY : vikcal_app + +# fast build rule for target. +vikcal_app/fast: + $(MAKE) -f objects/CMakeFiles/vikcal_app.dir/build.make objects/CMakeFiles/vikcal_app.dir/build +.PHONY : vikcal_app/fast + +#============================================================================= +# Target rules for targets named vik2isis_app + +# Build rule for target. +vik2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vik2isis_app +.PHONY : vik2isis_app + +# fast build rule for target. +vik2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/vik2isis_app.dir/build.make objects/CMakeFiles/vik2isis_app.dir/build +.PHONY : vik2isis_app/fast + +#============================================================================= +# Target rules for targets named rososiris2isis_app + +# Build rule for target. +rososiris2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 rososiris2isis_app +.PHONY : rososiris2isis_app + +# fast build rule for target. +rososiris2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/rososiris2isis_app.dir/build.make objects/CMakeFiles/rososiris2isis_app.dir/build +.PHONY : rososiris2isis_app/fast + +#============================================================================= +# Target rules for targets named RosettaVirtisCamera + +# Build rule for target. +RosettaVirtisCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 RosettaVirtisCamera +.PHONY : RosettaVirtisCamera + +# fast build rule for target. +RosettaVirtisCamera/fast: + $(MAKE) -f objects/CMakeFiles/RosettaVirtisCamera.dir/build.make objects/CMakeFiles/RosettaVirtisCamera.dir/build +.PHONY : RosettaVirtisCamera/fast + +#============================================================================= +# Target rules for targets named thmvisflat_app + +# Build rule for target. +thmvisflat_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmvisflat_app +.PHONY : thmvisflat_app + +# fast build rule for target. +thmvisflat_app/fast: + $(MAKE) -f objects/CMakeFiles/thmvisflat_app.dir/build.make objects/CMakeFiles/thmvisflat_app.dir/build +.PHONY : thmvisflat_app/fast + +#============================================================================= +# Target rules for targets named ThemisVisCamera + +# Build rule for target. +ThemisVisCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ThemisVisCamera +.PHONY : ThemisVisCamera + +# fast build rule for target. +ThemisVisCamera/fast: + $(MAKE) -f objects/CMakeFiles/ThemisVisCamera.dir/build.make objects/CMakeFiles/ThemisVisCamera.dir/build +.PHONY : ThemisVisCamera/fast + +#============================================================================= +# Target rules for targets named mroctx2isis_app + +# Build rule for target. +mroctx2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mroctx2isis_app +.PHONY : mroctx2isis_app + +# fast build rule for target. +mroctx2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mroctx2isis_app.dir/build.make objects/CMakeFiles/mroctx2isis_app.dir/build +.PHONY : mroctx2isis_app/fast + +#============================================================================= +# Target rules for targets named marcical_app + +# Build rule for target. +marcical_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 marcical_app +.PHONY : marcical_app + +# fast build rule for target. +marcical_app/fast: + $(MAKE) -f objects/CMakeFiles/marcical_app.dir/build.make objects/CMakeFiles/marcical_app.dir/build +.PHONY : marcical_app/fast + +#============================================================================= +# Target rules for targets named marci2isis_app + +# Build rule for target. +marci2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 marci2isis_app +.PHONY : marci2isis_app + +# fast build rule for target. +marci2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/marci2isis_app.dir/build.make objects/CMakeFiles/marci2isis_app.dir/build +.PHONY : marci2isis_app/fast + +#============================================================================= +# Target rules for targets named histitch_app + +# Build rule for target. +histitch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 histitch_app +.PHONY : histitch_app + +# fast build rule for target. +histitch_app/fast: + $(MAKE) -f objects/CMakeFiles/histitch_app.dir/build.make objects/CMakeFiles/histitch_app.dir/build +.PHONY : histitch_app/fast + +#============================================================================= +# Target rules for targets named histat_app + +# Build rule for target. +histat_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 histat_app +.PHONY : histat_app + +# fast build rule for target. +histat_app/fast: + $(MAKE) -f objects/CMakeFiles/histat_app.dir/build.make objects/CMakeFiles/histat_app.dir/build +.PHONY : histat_app/fast + +#============================================================================= +# Target rules for targets named hirdrgen_app + +# Build rule for target. +hirdrgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hirdrgen_app +.PHONY : hirdrgen_app + +# fast build rule for target. +hirdrgen_app/fast: + $(MAKE) -f objects/CMakeFiles/hirdrgen_app.dir/build.make objects/CMakeFiles/hirdrgen_app.dir/build +.PHONY : hirdrgen_app/fast + +#============================================================================= +# Target rules for targets named hinoise_app + +# Build rule for target. +hinoise_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hinoise_app +.PHONY : hinoise_app + +# fast build rule for target. +hinoise_app/fast: + $(MAKE) -f objects/CMakeFiles/hinoise_app.dir/build.make objects/CMakeFiles/hinoise_app.dir/build +.PHONY : hinoise_app/fast + +#============================================================================= +# Target rules for targets named hisharpen_app + +# Build rule for target. +hisharpen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hisharpen_app +.PHONY : hisharpen_app + +# fast build rule for target. +hisharpen_app/fast: + $(MAKE) -f objects/CMakeFiles/hisharpen_app.dir/build.make objects/CMakeFiles/hisharpen_app.dir/build +.PHONY : hisharpen_app/fast + +#============================================================================= +# Target rules for targets named hijitter_app + +# Build rule for target. +hijitter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hijitter_app +.PHONY : hijitter_app + +# fast build rule for target. +hijitter_app/fast: + $(MAKE) -f objects/CMakeFiles/hijitter_app.dir/build.make objects/CMakeFiles/hijitter_app.dir/build +.PHONY : hijitter_app/fast + +#============================================================================= +# Target rules for targets named hifringe_app + +# Build rule for target. +hifringe_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hifringe_app +.PHONY : hifringe_app + +# fast build rule for target. +hifringe_app/fast: + $(MAKE) -f objects/CMakeFiles/hifringe_app.dir/build.make objects/CMakeFiles/hifringe_app.dir/build +.PHONY : hifringe_app/fast + +#============================================================================= +# Target rules for targets named hidtmgen_app + +# Build rule for target. +hidtmgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hidtmgen_app +.PHONY : hidtmgen_app + +# fast build rule for target. +hidtmgen_app/fast: + $(MAKE) -f objects/CMakeFiles/hidtmgen_app.dir/build.make objects/CMakeFiles/hidtmgen_app.dir/build +.PHONY : hidtmgen_app/fast + +#============================================================================= +# Target rules for targets named hicrop_app + +# Build rule for target. +hicrop_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicrop_app +.PHONY : hicrop_app + +# fast build rule for target. +hicrop_app/fast: + $(MAKE) -f objects/CMakeFiles/hicrop_app.dir/build.make objects/CMakeFiles/hicrop_app.dir/build +.PHONY : hicrop_app/fast + +#============================================================================= +# Target rules for targets named hiccdstitch_app + +# Build rule for target. +hiccdstitch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hiccdstitch_app +.PHONY : hiccdstitch_app + +# fast build rule for target. +hiccdstitch_app/fast: + $(MAKE) -f objects/CMakeFiles/hiccdstitch_app.dir/build.make objects/CMakeFiles/hiccdstitch_app.dir/build +.PHONY : hiccdstitch_app/fast + +#============================================================================= +# Target rules for targets named hicalproc_app + +# Build rule for target. +hicalproc_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicalproc_app +.PHONY : hicalproc_app + +# fast build rule for target. +hicalproc_app/fast: + $(MAKE) -f objects/CMakeFiles/hicalproc_app.dir/build.make objects/CMakeFiles/hicalproc_app.dir/build +.PHONY : hicalproc_app/fast + +#============================================================================= +# Target rules for targets named hical_app + +# Build rule for target. +hical_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hical_app +.PHONY : hical_app + +# fast build rule for target. +hical_app/fast: + $(MAKE) -f objects/CMakeFiles/hical_app.dir/build.make objects/CMakeFiles/hical_app.dir/build +.PHONY : hical_app/fast + +#============================================================================= +# Target rules for targets named ctxcal_app + +# Build rule for target. +ctxcal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ctxcal_app +.PHONY : ctxcal_app + +# fast build rule for target. +ctxcal_app/fast: + $(MAKE) -f objects/CMakeFiles/ctxcal_app.dir/build.make objects/CMakeFiles/ctxcal_app.dir/build +.PHONY : ctxcal_app/fast + +#============================================================================= +# Target rules for targets named crism2isis_app + +# Build rule for target. +crism2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 crism2isis_app +.PHONY : crism2isis_app + +# fast build rule for target. +crism2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/crism2isis_app.dir/build.make objects/CMakeFiles/crism2isis_app.dir/build +.PHONY : crism2isis_app/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_MarciCamera + +# Build rule for target. +mro_unit_test_MarciCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_MarciCamera +.PHONY : mro_unit_test_MarciCamera + +# fast build rule for target. +mro_unit_test_MarciCamera/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_MarciCamera.dir/build.make objects/CMakeFiles/mro_unit_test_MarciCamera.dir/build +.PHONY : mro_unit_test_MarciCamera/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_HiriseCamera + +# Build rule for target. +mro_unit_test_HiriseCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiriseCamera +.PHONY : mro_unit_test_HiriseCamera + +# fast build rule for target. +mro_unit_test_HiriseCamera/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiriseCamera.dir/build.make objects/CMakeFiles/mro_unit_test_HiriseCamera.dir/build +.PHONY : mro_unit_test_HiriseCamera/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_CTXCamera + +# Build rule for target. +mro_unit_test_CTXCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_CTXCamera +.PHONY : mro_unit_test_CTXCamera + +# fast build rule for target. +mro_unit_test_CTXCamera/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_CTXCamera.dir/build.make objects/CMakeFiles/mro_unit_test_CTXCamera.dir/build +.PHONY : mro_unit_test_CTXCamera/fast + +#============================================================================= +# Target rules for targets named mro + +# Build rule for target. +mro: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro +.PHONY : mro + +# fast build rule for target. +mro/fast: + $(MAKE) -f objects/CMakeFiles/mro.dir/build.make objects/CMakeFiles/mro.dir/build +.PHONY : mro/fast + +#============================================================================= +# Target rules for targets named HiriseCamera + +# Build rule for target. +HiriseCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HiriseCamera +.PHONY : HiriseCamera + +# fast build rule for target. +HiriseCamera/fast: + $(MAKE) -f objects/CMakeFiles/HiriseCamera.dir/build.make objects/CMakeFiles/HiriseCamera.dir/build +.PHONY : HiriseCamera/fast + +#============================================================================= +# Target rules for targets named CrismCamera + +# Build rule for target. +CrismCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 CrismCamera +.PHONY : CrismCamera + +# fast build rule for target. +CrismCamera/fast: + $(MAKE) -f objects/CMakeFiles/CrismCamera.dir/build.make objects/CMakeFiles/CrismCamera.dir/build +.PHONY : CrismCamera/fast + +#============================================================================= +# Target rules for targets named mocuncompress_app + +# Build rule for target. +mocuncompress_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mocuncompress_app +.PHONY : mocuncompress_app + +# fast build rule for target. +mocuncompress_app/fast: + $(MAKE) -f objects/CMakeFiles/mocuncompress_app.dir/build.make objects/CMakeFiles/mocuncompress_app.dir/build +.PHONY : mocuncompress_app/fast + +#============================================================================= +# Target rules for targets named mocproc_app + +# Build rule for target. +mocproc_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mocproc_app +.PHONY : mocproc_app + +# fast build rule for target. +mocproc_app/fast: + $(MAKE) -f objects/CMakeFiles/mocproc_app.dir/build.make objects/CMakeFiles/mocproc_app.dir/build +.PHONY : mocproc_app/fast + +#============================================================================= +# Target rules for targets named mocnoise50_app + +# Build rule for target. +mocnoise50_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mocnoise50_app +.PHONY : mocnoise50_app + +# fast build rule for target. +mocnoise50_app/fast: + $(MAKE) -f objects/CMakeFiles/mocnoise50_app.dir/build.make objects/CMakeFiles/mocnoise50_app.dir/build +.PHONY : mocnoise50_app/fast + +#============================================================================= +# Target rules for targets named mocgap_app + +# Build rule for target. +mocgap_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mocgap_app +.PHONY : mocgap_app + +# fast build rule for target. +mocgap_app/fast: + $(MAKE) -f objects/CMakeFiles/mocgap_app.dir/build.make objects/CMakeFiles/mocgap_app.dir/build +.PHONY : mocgap_app/fast + +#============================================================================= +# Target rules for targets named moccal_app + +# Build rule for target. +moccal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 moccal_app +.PHONY : moccal_app + +# fast build rule for target. +moccal_app/fast: + $(MAKE) -f objects/CMakeFiles/moccal_app.dir/build.make objects/CMakeFiles/moccal_app.dir/build +.PHONY : moccal_app/fast + +#============================================================================= +# Target rules for targets named mgs_unit_test_MocWideAngleCamera + +# Build rule for target. +mgs_unit_test_MocWideAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocWideAngleCamera +.PHONY : mgs_unit_test_MocWideAngleCamera + +# fast build rule for target. +mgs_unit_test_MocWideAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocWideAngleCamera.dir/build.make objects/CMakeFiles/mgs_unit_test_MocWideAngleCamera.dir/build +.PHONY : mgs_unit_test_MocWideAngleCamera/fast + +#============================================================================= +# Target rules for targets named mgs_unit_test_MocLabels + +# Build rule for target. +mgs_unit_test_MocLabels: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocLabels +.PHONY : mgs_unit_test_MocLabels + +# fast build rule for target. +mgs_unit_test_MocLabels/fast: + $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocLabels.dir/build.make objects/CMakeFiles/mgs_unit_test_MocLabels.dir/build +.PHONY : mgs_unit_test_MocLabels/fast + +#============================================================================= +# Target rules for targets named mdisedrinfo_app + +# Build rule for target. +mdisedrinfo_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdisedrinfo_app +.PHONY : mdisedrinfo_app + +# fast build rule for target. +mdisedrinfo_app/fast: + $(MAKE) -f objects/CMakeFiles/mdisedrinfo_app.dir/build.make objects/CMakeFiles/mdisedrinfo_app.dir/build +.PHONY : mdisedrinfo_app/fast + +#============================================================================= +# Target rules for targets named mdis2pds_app + +# Build rule for target. +mdis2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdis2pds_app +.PHONY : mdis2pds_app + +# fast build rule for target. +mdis2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/mdis2pds_app.dir/build.make objects/CMakeFiles/mdis2pds_app.dir/build +.PHONY : mdis2pds_app/fast + +#============================================================================= +# Target rules for targets named mer2isis_app + +# Build rule for target. +mer2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mer2isis_app +.PHONY : mer2isis_app + +# fast build rule for target. +mer2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mer2isis_app.dir/build.make objects/CMakeFiles/mer2isis_app.dir/build +.PHONY : mer2isis_app/fast + +#============================================================================= +# Target rules for targets named mar10restore_app + +# Build rule for target. +mar10restore_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mar10restore_app +.PHONY : mar10restore_app + +# fast build rule for target. +mar10restore_app/fast: + $(MAKE) -f objects/CMakeFiles/mar10restore_app.dir/build.make objects/CMakeFiles/mar10restore_app.dir/build +.PHONY : mar10restore_app/fast + +#============================================================================= +# Target rules for targets named mar10cal_app + +# Build rule for target. +mar10cal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mar10cal_app +.PHONY : mar10cal_app + +# fast build rule for target. +mar10cal_app/fast: + $(MAKE) -f objects/CMakeFiles/mar10cal_app.dir/build.make objects/CMakeFiles/mar10cal_app.dir/build +.PHONY : mar10cal_app/fast + +#============================================================================= +# Target rules for targets named lrowacpho_app + +# Build rule for target. +lrowacpho_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lrowacpho_app +.PHONY : lrowacpho_app + +# fast build rule for target. +lrowacpho_app/fast: + $(MAKE) -f objects/CMakeFiles/lrowacpho_app.dir/build.make objects/CMakeFiles/lrowacpho_app.dir/build +.PHONY : lrowacpho_app/fast + +#============================================================================= +# Target rules for targets named lrowaccal_app + +# Build rule for target. +lrowaccal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lrowaccal_app +.PHONY : lrowaccal_app + +# fast build rule for target. +lrowaccal_app/fast: + $(MAKE) -f objects/CMakeFiles/lrowaccal_app.dir/build.make objects/CMakeFiles/lrowaccal_app.dir/build +.PHONY : lrowaccal_app/fast + +#============================================================================= +# Target rules for targets named lronacpho_app + +# Build rule for target. +lronacpho_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lronacpho_app +.PHONY : lronacpho_app + +# fast build rule for target. +lronacpho_app/fast: + $(MAKE) -f objects/CMakeFiles/lronacpho_app.dir/build.make objects/CMakeFiles/lronacpho_app.dir/build +.PHONY : lronacpho_app/fast + +#============================================================================= +# Target rules for targets named lronac2pds_app + +# Build rule for target. +lronac2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lronac2pds_app +.PHONY : lronac2pds_app + +# fast build rule for target. +lronac2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/lronac2pds_app.dir/build.make objects/CMakeFiles/lronac2pds_app.dir/build +.PHONY : lronac2pds_app/fast + +#============================================================================= +# Target rules for targets named lromakeflat_app + +# Build rule for target. +lromakeflat_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lromakeflat_app +.PHONY : lromakeflat_app + +# fast build rule for target. +lromakeflat_app/fast: + $(MAKE) -f objects/CMakeFiles/lromakeflat_app.dir/build.make objects/CMakeFiles/lromakeflat_app.dir/build +.PHONY : lromakeflat_app/fast + +#============================================================================= +# Target rules for targets named hicalbeta_app + +# Build rule for target. +hicalbeta_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicalbeta_app +.PHONY : hicalbeta_app + +# fast build rule for target. +hicalbeta_app/fast: + $(MAKE) -f objects/CMakeFiles/hicalbeta_app.dir/build.make objects/CMakeFiles/hicalbeta_app.dir/build +.PHONY : hicalbeta_app/fast + +#============================================================================= +# Target rules for targets named MiniRF + +# Build rule for target. +MiniRF: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MiniRF +.PHONY : MiniRF + +# fast build rule for target. +MiniRF/fast: + $(MAKE) -f objects/CMakeFiles/MiniRF.dir/build.make objects/CMakeFiles/MiniRF.dir/build +.PHONY : MiniRF/fast + +#============================================================================= +# Target rules for targets named LroWideAngleCamera + +# Build rule for target. +LroWideAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LroWideAngleCamera +.PHONY : LroWideAngleCamera + +# fast build rule for target. +LroWideAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/LroWideAngleCamera.dir/build.make objects/CMakeFiles/LroWideAngleCamera.dir/build +.PHONY : LroWideAngleCamera/fast + +#============================================================================= +# Target rules for targets named lo_unit_test_LoMediumCamera + +# Build rule for target. +lo_unit_test_LoMediumCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoMediumCamera +.PHONY : lo_unit_test_LoMediumCamera + +# fast build rule for target. +lo_unit_test_LoMediumCamera/fast: + $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoMediumCamera.dir/build.make objects/CMakeFiles/lo_unit_test_LoMediumCamera.dir/build +.PHONY : lo_unit_test_LoMediumCamera/fast + +#============================================================================= +# Target rules for targets named lo_unit_test_LoHighCamera + +# Build rule for target. +lo_unit_test_LoHighCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoHighCamera +.PHONY : lo_unit_test_LoHighCamera + +# fast build rule for target. +lo_unit_test_LoHighCamera/fast: + $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoHighCamera.dir/build.make objects/CMakeFiles/lo_unit_test_LoHighCamera.dir/build +.PHONY : lo_unit_test_LoHighCamera/fast + +#============================================================================= +# Target rules for targets named lo_unit_test_LoCameraFiducialMap + +# Build rule for target. +lo_unit_test_LoCameraFiducialMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoCameraFiducialMap +.PHONY : lo_unit_test_LoCameraFiducialMap + +# fast build rule for target. +lo_unit_test_LoCameraFiducialMap/fast: + $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoCameraFiducialMap.dir/build.make objects/CMakeFiles/lo_unit_test_LoCameraFiducialMap.dir/build +.PHONY : lo_unit_test_LoCameraFiducialMap/fast + +#============================================================================= +# Target rules for targets named lo + +# Build rule for target. +lo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lo +.PHONY : lo + +# fast build rule for target. +lo/fast: + $(MAKE) -f objects/CMakeFiles/lo.dir/build.make objects/CMakeFiles/lo.dir/build +.PHONY : lo/fast + +#============================================================================= +# Target rules for targets named kaguyatc2isis_app + +# Build rule for target. +kaguyatc2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kaguyatc2isis_app +.PHONY : kaguyatc2isis_app + +# fast build rule for target. +kaguyatc2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/kaguyatc2isis_app.dir/build.make objects/CMakeFiles/kaguyatc2isis_app.dir/build +.PHONY : kaguyatc2isis_app/fast + +#============================================================================= +# Target rules for targets named kaguyasp2isis_app + +# Build rule for target. +kaguyasp2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kaguyasp2isis_app +.PHONY : kaguyasp2isis_app + +# fast build rule for target. +kaguyasp2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/kaguyasp2isis_app.dir/build.make objects/CMakeFiles/kaguyasp2isis_app.dir/build +.PHONY : kaguyasp2isis_app/fast + +#============================================================================= +# Target rules for targets named nirs2isis_app + +# Build rule for target. +nirs2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 nirs2isis_app +.PHONY : nirs2isis_app + +# fast build rule for target. +nirs2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/nirs2isis_app.dir/build.make objects/CMakeFiles/nirs2isis_app.dir/build +.PHONY : nirs2isis_app/fast + +#============================================================================= +# Target rules for targets named HayabusaNirsCamera + +# Build rule for target. +HayabusaNirsCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HayabusaNirsCamera +.PHONY : HayabusaNirsCamera + +# fast build rule for target. +HayabusaNirsCamera/fast: + $(MAKE) -f objects/CMakeFiles/HayabusaNirsCamera.dir/build.make objects/CMakeFiles/HayabusaNirsCamera.dir/build +.PHONY : HayabusaNirsCamera/fast + +#============================================================================= +# Target rules for targets named voyramp_app + +# Build rule for target. +voyramp_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 voyramp_app +.PHONY : voyramp_app + +# fast build rule for target. +voyramp_app/fast: + $(MAKE) -f objects/CMakeFiles/voyramp_app.dir/build.make objects/CMakeFiles/voyramp_app.dir/build +.PHONY : voyramp_app/fast + +#============================================================================= +# Target rules for targets named gllssical_app + +# Build rule for target. +gllssical_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gllssical_app +.PHONY : gllssical_app + +# fast build rule for target. +gllssical_app/fast: + $(MAKE) -f objects/CMakeFiles/gllssical_app.dir/build.make objects/CMakeFiles/gllssical_app.dir/build +.PHONY : gllssical_app/fast + +#============================================================================= +# Target rules for targets named dawnfc2isis_app + +# Build rule for target. +dawnfc2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dawnfc2isis_app +.PHONY : dawnfc2isis_app + +# fast build rule for target. +dawnfc2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/dawnfc2isis_app.dir/build.make objects/CMakeFiles/dawnfc2isis_app.dir/build +.PHONY : dawnfc2isis_app/fast + +#============================================================================= +# Target rules for targets named clemnircal_app + +# Build rule for target. +clemnircal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clemnircal_app +.PHONY : clemnircal_app + +# fast build rule for target. +clemnircal_app/fast: + $(MAKE) -f objects/CMakeFiles/clemnircal_app.dir/build.make objects/CMakeFiles/clemnircal_app.dir/build +.PHONY : clemnircal_app/fast + +#============================================================================= +# Target rules for targets named clem2isis_app + +# Build rule for target. +clem2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clem2isis_app +.PHONY : clem2isis_app + +# fast build rule for target. +clem2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/clem2isis_app.dir/build.make objects/CMakeFiles/clem2isis_app.dir/build +.PHONY : clem2isis_app/fast + +#============================================================================= +# Target rules for targets named LwirCamera + +# Build rule for target. +LwirCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LwirCamera +.PHONY : LwirCamera + +# fast build rule for target. +LwirCamera/fast: + $(MAKE) -f objects/CMakeFiles/LwirCamera.dir/build.make objects/CMakeFiles/LwirCamera.dir/build +.PHONY : LwirCamera/fast + +#============================================================================= +# Target rules for targets named vimscal_app + +# Build rule for target. +vimscal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vimscal_app +.PHONY : vimscal_app + +# fast build rule for target. +vimscal_app/fast: + $(MAKE) -f objects/CMakeFiles/vimscal_app.dir/build.make objects/CMakeFiles/vimscal_app.dir/build +.PHONY : vimscal_app/fast + +#============================================================================= +# Target rules for targets named vims2isis_app + +# Build rule for target. +vims2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vims2isis_app +.PHONY : vims2isis_app + +# fast build rule for target. +vims2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/vims2isis_app.dir/build.make objects/CMakeFiles/vims2isis_app.dir/build +.PHONY : vims2isis_app/fast + +#============================================================================= +# Target rules for targets named cisscal_app + +# Build rule for target. +cisscal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cisscal_app +.PHONY : cisscal_app + +# fast build rule for target. +cisscal_app/fast: + $(MAKE) -f objects/CMakeFiles/cisscal_app.dir/build.make objects/CMakeFiles/cisscal_app.dir/build +.PHONY : cisscal_app/fast + +#============================================================================= +# Target rules for targets named cassini_unit_test_IssWACamera + +# Build rule for target. +cassini_unit_test_IssWACamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_IssWACamera +.PHONY : cassini_unit_test_IssWACamera + +# fast build rule for target. +cassini_unit_test_IssWACamera/fast: + $(MAKE) -f objects/CMakeFiles/cassini_unit_test_IssWACamera.dir/build.make objects/CMakeFiles/cassini_unit_test_IssWACamera.dir/build +.PHONY : cassini_unit_test_IssWACamera/fast + +#============================================================================= +# Target rules for targets named vikclean_app + +# Build rule for target. +vikclean_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vikclean_app +.PHONY : vikclean_app + +# fast build rule for target. +vikclean_app/fast: + $(MAKE) -f objects/CMakeFiles/vikclean_app.dir/build.make objects/CMakeFiles/vikclean_app.dir/build +.PHONY : vikclean_app/fast + +#============================================================================= +# Target rules for targets named cassini + +# Build rule for target. +cassini: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini +.PHONY : cassini + +# fast build rule for target. +cassini/fast: + $(MAKE) -f objects/CMakeFiles/cassini.dir/build.make objects/CMakeFiles/cassini.dir/build +.PHONY : cassini/fast + +#============================================================================= +# Target rules for targets named IssNACamera + +# Build rule for target. +IssNACamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 IssNACamera +.PHONY : IssNACamera + +# fast build rule for target. +IssNACamera/fast: + $(MAKE) -f objects/CMakeFiles/IssNACamera.dir/build.make objects/CMakeFiles/IssNACamera.dir/build +.PHONY : IssNACamera/fast + +#============================================================================= +# Target rules for targets named apollowarp_app + +# Build rule for target. +apollowarp_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollowarp_app +.PHONY : apollowarp_app + +# fast build rule for target. +apollowarp_app/fast: + $(MAKE) -f objects/CMakeFiles/apollowarp_app.dir/build.make objects/CMakeFiles/apollowarp_app.dir/build +.PHONY : apollowarp_app/fast + +#============================================================================= +# Target rules for targets named lorri2isis_app + +# Build rule for target. +lorri2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lorri2isis_app +.PHONY : lorri2isis_app + +# fast build rule for target. +lorri2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/lorri2isis_app.dir/build.make objects/CMakeFiles/lorri2isis_app.dir/build +.PHONY : lorri2isis_app/fast + +#============================================================================= +# Target rules for targets named apolloremrx_app + +# Build rule for target. +apolloremrx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apolloremrx_app +.PHONY : apolloremrx_app + +# fast build rule for target. +apolloremrx_app/fast: + $(MAKE) -f objects/CMakeFiles/apolloremrx_app.dir/build.make objects/CMakeFiles/apolloremrx_app.dir/build +.PHONY : apolloremrx_app/fast + +#============================================================================= +# Target rules for targets named apollopaninit_app + +# Build rule for target. +apollopaninit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollopaninit_app +.PHONY : apollopaninit_app + +# fast build rule for target. +apollopaninit_app/fast: + $(MAKE) -f objects/CMakeFiles/apollopaninit_app.dir/build.make objects/CMakeFiles/apollopaninit_app.dir/build +.PHONY : apollopaninit_app/fast + +#============================================================================= +# Target rules for targets named apollofindrx_app + +# Build rule for target. +apollofindrx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollofindrx_app +.PHONY : apollofindrx_app + +# fast build rule for target. +apollofindrx_app/fast: + $(MAKE) -f objects/CMakeFiles/apollofindrx_app.dir/build.make objects/CMakeFiles/apollofindrx_app.dir/build +.PHONY : apollofindrx_app/fast + +#============================================================================= +# Target rules for targets named apollo2isis_app + +# Build rule for target. +apollo2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo2isis_app +.PHONY : apollo2isis_app + +# fast build rule for target. +apollo2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/apollo2isis_app.dir/build.make objects/CMakeFiles/apollo2isis_app.dir/build +.PHONY : apollo2isis_app/fast + +#============================================================================= +# Target rules for targets named apollo_unit_test_CentroidApolloPan + +# Build rule for target. +apollo_unit_test_CentroidApolloPan: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_CentroidApolloPan +.PHONY : apollo_unit_test_CentroidApolloPan + +# fast build rule for target. +apollo_unit_test_CentroidApolloPan/fast: + $(MAKE) -f objects/CMakeFiles/apollo_unit_test_CentroidApolloPan.dir/build.make objects/CMakeFiles/apollo_unit_test_CentroidApolloPan.dir/build +.PHONY : apollo_unit_test_CentroidApolloPan/fast + +#============================================================================= +# Target rules for targets named ApolloPanoramicCamera + +# Build rule for target. +ApolloPanoramicCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ApolloPanoramicCamera +.PHONY : ApolloPanoramicCamera + +# fast build rule for target. +ApolloPanoramicCamera/fast: + $(MAKE) -f objects/CMakeFiles/ApolloPanoramicCamera.dir/build.make objects/CMakeFiles/ApolloPanoramicCamera.dir/build +.PHONY : ApolloPanoramicCamera/fast + +#============================================================================= +# Target rules for targets named ApolloMetricCamera + +# Build rule for target. +ApolloMetricCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ApolloMetricCamera +.PHONY : ApolloMetricCamera + +# fast build rule for target. +ApolloMetricCamera/fast: + $(MAKE) -f objects/CMakeFiles/ApolloMetricCamera.dir/build.make objects/CMakeFiles/ApolloMetricCamera.dir/build +.PHONY : ApolloMetricCamera/fast + +#============================================================================= +# Target rules for targets named kerneldbgen_app + +# Build rule for target. +kerneldbgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kerneldbgen_app +.PHONY : kerneldbgen_app + +# fast build rule for target. +kerneldbgen_app/fast: + $(MAKE) -f objects/CMakeFiles/kerneldbgen_app.dir/build.make objects/CMakeFiles/kerneldbgen_app.dir/build +.PHONY : kerneldbgen_app/fast + +#============================================================================= +# Target rules for targets named isiscomplete_app + +# Build rule for target. +isiscomplete_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isiscomplete_app +.PHONY : isiscomplete_app + +# fast build rule for target. +isiscomplete_app/fast: + $(MAKE) -f objects/CMakeFiles/isiscomplete_app.dir/build.make objects/CMakeFiles/isiscomplete_app.dir/build +.PHONY : isiscomplete_app/fast + +#============================================================================= +# Target rules for targets named dempack_app + +# Build rule for target. +dempack_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dempack_app +.PHONY : dempack_app + +# fast build rule for target. +dempack_app/fast: + $(MAKE) -f objects/CMakeFiles/dempack_app.dir/build.make objects/CMakeFiles/dempack_app.dir/build +.PHONY : dempack_app/fast + +#============================================================================= +# Target rules for targets named hi2isis_app + +# Build rule for target. +hi2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hi2isis_app +.PHONY : hi2isis_app + +# fast build rule for target. +hi2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/hi2isis_app.dir/build.make objects/CMakeFiles/hi2isis_app.dir/build +.PHONY : hi2isis_app/fast + +#============================================================================= +# Target rules for targets named csspckgen_app + +# Build rule for target. +csspckgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 csspckgen_app +.PHONY : csspckgen_app + +# fast build rule for target. +csspckgen_app/fast: + $(MAKE) -f objects/CMakeFiles/csspckgen_app.dir/build.make objects/CMakeFiles/csspckgen_app.dir/build +.PHONY : csspckgen_app/fast + +#============================================================================= +# Target rules for targets named qtie_app + +# Build rule for target. +qtie_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 qtie_app +.PHONY : qtie_app + +# fast build rule for target. +qtie_app/fast: + $(MAKE) -f objects/CMakeFiles/qtie_app.dir/build.make objects/CMakeFiles/qtie_app.dir/build +.PHONY : qtie_app/fast + +#============================================================================= +# Target rules for targets named qnet_app + +# Build rule for target. +qnet_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 qnet_app +.PHONY : qnet_app + +# fast build rule for target. +qnet_app/fast: + $(MAKE) -f objects/CMakeFiles/qnet_app.dir/build.make objects/CMakeFiles/qnet_app.dir/build +.PHONY : qnet_app/fast + +#============================================================================= +# Target rules for targets named qmos_app + +# Build rule for target. +qmos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 qmos_app +.PHONY : qmos_app + +# fast build rule for target. +qmos_app/fast: + $(MAKE) -f objects/CMakeFiles/qmos_app.dir/build.make objects/CMakeFiles/qmos_app.dir/build +.PHONY : qmos_app/fast + +#============================================================================= +# Target rules for targets named warp_app + +# Build rule for target. +warp_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 warp_app +.PHONY : warp_app + +# fast build rule for target. +warp_app/fast: + $(MAKE) -f objects/CMakeFiles/warp_app.dir/build.make objects/CMakeFiles/warp_app.dir/build +.PHONY : warp_app/fast + +#============================================================================= +# Target rules for targets named sumspice_app + +# Build rule for target. +sumspice_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 sumspice_app +.PHONY : sumspice_app + +# fast build rule for target. +sumspice_app/fast: + $(MAKE) -f objects/CMakeFiles/sumspice_app.dir/build.make objects/CMakeFiles/sumspice_app.dir/build +.PHONY : sumspice_app/fast + +#============================================================================= +# Target rules for targets named slither_app + +# Build rule for target. +slither_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 slither_app +.PHONY : slither_app + +# fast build rule for target. +slither_app/fast: + $(MAKE) -f objects/CMakeFiles/slither_app.dir/build.make objects/CMakeFiles/slither_app.dir/build +.PHONY : slither_app/fast + +#============================================================================= +# Target rules for targets named prtloganalyzer_app + +# Build rule for target. +prtloganalyzer_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 prtloganalyzer_app +.PHONY : prtloganalyzer_app + +# fast build rule for target. +prtloganalyzer_app/fast: + $(MAKE) -f objects/CMakeFiles/prtloganalyzer_app.dir/build.make objects/CMakeFiles/prtloganalyzer_app.dir/build +.PHONY : prtloganalyzer_app/fast + +#============================================================================= +# Target rules for targets named jigsaw_app + +# Build rule for target. +jigsaw_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 jigsaw_app +.PHONY : jigsaw_app + +# fast build rule for target. +jigsaw_app/fast: + $(MAKE) -f objects/CMakeFiles/jigsaw_app.dir/build.make objects/CMakeFiles/jigsaw_app.dir/build +.PHONY : jigsaw_app/fast + +#============================================================================= +# Target rules for targets named fplanemap_app + +# Build rule for target. +fplanemap_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fplanemap_app +.PHONY : fplanemap_app + +# fast build rule for target. +fplanemap_app/fast: + $(MAKE) -f objects/CMakeFiles/fplanemap_app.dir/build.make objects/CMakeFiles/fplanemap_app.dir/build +.PHONY : fplanemap_app/fast + +#============================================================================= +# Target rules for targets named findfeatures_app + +# Build rule for target. +findfeatures_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 findfeatures_app +.PHONY : findfeatures_app + +# fast build rule for target. +findfeatures_app/fast: + $(MAKE) -f objects/CMakeFiles/findfeatures_app.dir/build.make objects/CMakeFiles/findfeatures_app.dir/build +.PHONY : findfeatures_app/fast + +#============================================================================= +# Target rules for targets named coreg_app + +# Build rule for target. +coreg_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 coreg_app +.PHONY : coreg_app + +# fast build rule for target. +coreg_app/fast: + $(MAKE) -f objects/CMakeFiles/coreg_app.dir/build.make objects/CMakeFiles/coreg_app.dir/build +.PHONY : coreg_app/fast + +#============================================================================= +# Target rules for targets named cnetwinnow_app + +# Build rule for target. +cnetwinnow_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetwinnow_app +.PHONY : cnetwinnow_app + +# fast build rule for target. +cnetwinnow_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetwinnow_app.dir/build.make objects/CMakeFiles/cnetwinnow_app.dir/build +.PHONY : cnetwinnow_app/fast + +#============================================================================= +# Target rules for targets named cnetthinner_app + +# Build rule for target. +cnetthinner_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetthinner_app +.PHONY : cnetthinner_app + +# fast build rule for target. +cnetthinner_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetthinner_app.dir/build.make objects/CMakeFiles/cnetthinner_app.dir/build +.PHONY : cnetthinner_app/fast + +#============================================================================= +# Target rules for targets named cnetpvl2bin_app + +# Build rule for target. +cnetpvl2bin_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetpvl2bin_app +.PHONY : cnetpvl2bin_app + +# fast build rule for target. +cnetpvl2bin_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetpvl2bin_app.dir/build.make objects/CMakeFiles/cnetpvl2bin_app.dir/build +.PHONY : cnetpvl2bin_app/fast + +#============================================================================= +# Target rules for targets named MsiCamera + +# Build rule for target. +MsiCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MsiCamera +.PHONY : MsiCamera + +# fast build rule for target. +MsiCamera/fast: + $(MAKE) -f objects/CMakeFiles/MsiCamera.dir/build.make objects/CMakeFiles/MsiCamera.dir/build +.PHONY : MsiCamera/fast + +#============================================================================= +# Target rules for targets named cnetmerge_app + +# Build rule for target. +cnetmerge_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetmerge_app +.PHONY : cnetmerge_app + +# fast build rule for target. +cnetmerge_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetmerge_app.dir/build.make objects/CMakeFiles/cnetmerge_app.dir/build +.PHONY : cnetmerge_app/fast + +#============================================================================= +# Target rules for targets named cnetnewradii_app + +# Build rule for target. +cnetnewradii_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetnewradii_app +.PHONY : cnetnewradii_app + +# fast build rule for target. +cnetnewradii_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetnewradii_app.dir/build.make objects/CMakeFiles/cnetnewradii_app.dir/build +.PHONY : cnetnewradii_app/fast + +#============================================================================= +# Target rules for targets named cnethist_app + +# Build rule for target. +cnethist_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnethist_app +.PHONY : cnethist_app + +# fast build rule for target. +cnethist_app/fast: + $(MAKE) -f objects/CMakeFiles/cnethist_app.dir/build.make objects/CMakeFiles/cnethist_app.dir/build +.PHONY : cnethist_app/fast + +#============================================================================= +# Target rules for targets named cnetcombinept_app + +# Build rule for target. +cnetcombinept_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetcombinept_app +.PHONY : cnetcombinept_app + +# fast build rule for target. +cnetcombinept_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetcombinept_app.dir/build.make objects/CMakeFiles/cnetcombinept_app.dir/build +.PHONY : cnetcombinept_app/fast + +#============================================================================= +# Target rules for targets named cnetbin2pvl_app + +# Build rule for target. +cnetbin2pvl_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetbin2pvl_app +.PHONY : cnetbin2pvl_app + +# fast build rule for target. +cnetbin2pvl_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetbin2pvl_app.dir/build.make objects/CMakeFiles/cnetbin2pvl_app.dir/build +.PHONY : cnetbin2pvl_app/fast + +#============================================================================= +# Target rules for targets named cnet2mat_app + +# Build rule for target. +cnet2mat_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnet2mat_app +.PHONY : cnet2mat_app + +# fast build rule for target. +cnet2mat_app/fast: + $(MAKE) -f objects/CMakeFiles/cnet2mat_app.dir/build.make objects/CMakeFiles/cnet2mat_app.dir/build +.PHONY : cnet2mat_app/fast + +#============================================================================= +# Target rules for targets named cnet2dem_app + +# Build rule for target. +cnet2dem_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnet2dem_app +.PHONY : cnet2dem_app + +# fast build rule for target. +cnet2dem_app/fast: + $(MAKE) -f objects/CMakeFiles/cnet2dem_app.dir/build.make objects/CMakeFiles/cnet2dem_app.dir/build +.PHONY : cnet2dem_app/fast + +#============================================================================= +# Target rules for targets named vicar2isis_app + +# Build rule for target. +vicar2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vicar2isis_app +.PHONY : vicar2isis_app + +# fast build rule for target. +vicar2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/vicar2isis_app.dir/build.make objects/CMakeFiles/vicar2isis_app.dir/build +.PHONY : vicar2isis_app/fast + +#============================================================================= +# Target rules for targets named NewHorizonsMvicFrameCamera + +# Build rule for target. +NewHorizonsMvicFrameCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsMvicFrameCamera +.PHONY : NewHorizonsMvicFrameCamera + +# fast build rule for target. +NewHorizonsMvicFrameCamera/fast: + $(MAKE) -f objects/CMakeFiles/NewHorizonsMvicFrameCamera.dir/build.make objects/CMakeFiles/NewHorizonsMvicFrameCamera.dir/build +.PHONY : NewHorizonsMvicFrameCamera/fast + +#============================================================================= +# Target rules for targets named uncrop_app + +# Build rule for target. +uncrop_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 uncrop_app +.PHONY : uncrop_app + +# fast build rule for target. +uncrop_app/fast: + $(MAKE) -f objects/CMakeFiles/uncrop_app.dir/build.make objects/CMakeFiles/uncrop_app.dir/build +.PHONY : uncrop_app/fast + +#============================================================================= +# Target rules for targets named trim_app + +# Build rule for target. +trim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 trim_app +.PHONY : trim_app + +# fast build rule for target. +trim_app/fast: + $(MAKE) -f objects/CMakeFiles/trim_app.dir/build.make objects/CMakeFiles/trim_app.dir/build +.PHONY : trim_app/fast + +#============================================================================= +# Target rules for targets named tonematch_app + +# Build rule for target. +tonematch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 tonematch_app +.PHONY : tonematch_app + +# fast build rule for target. +tonematch_app/fast: + $(MAKE) -f objects/CMakeFiles/tonematch_app.dir/build.make objects/CMakeFiles/tonematch_app.dir/build +.PHONY : tonematch_app/fast + +#============================================================================= +# Target rules for targets named tabledump_app + +# Build rule for target. +tabledump_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 tabledump_app +.PHONY : tabledump_app + +# fast build rule for target. +tabledump_app/fast: + $(MAKE) -f objects/CMakeFiles/tabledump_app.dir/build.make objects/CMakeFiles/tabledump_app.dir/build +.PHONY : tabledump_app/fast + +#============================================================================= +# Target rules for targets named cassini_unit_test_VimsCamera + +# Build rule for target. +cassini_unit_test_VimsCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_VimsCamera +.PHONY : cassini_unit_test_VimsCamera + +# fast build rule for target. +cassini_unit_test_VimsCamera/fast: + $(MAKE) -f objects/CMakeFiles/cassini_unit_test_VimsCamera.dir/build.make objects/CMakeFiles/cassini_unit_test_VimsCamera.dir/build +.PHONY : cassini_unit_test_VimsCamera/fast + +#============================================================================= +# Target rules for targets named table2cube_app + +# Build rule for target. +table2cube_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 table2cube_app +.PHONY : table2cube_app + +# fast build rule for target. +table2cube_app/fast: + $(MAKE) -f objects/CMakeFiles/table2cube_app.dir/build.make objects/CMakeFiles/table2cube_app.dir/build +.PHONY : table2cube_app/fast + +#============================================================================= +# Target rules for targets named hideal2pds_app + +# Build rule for target. +hideal2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hideal2pds_app +.PHONY : hideal2pds_app + +# fast build rule for target. +hideal2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/hideal2pds_app.dir/build.make objects/CMakeFiles/hideal2pds_app.dir/build +.PHONY : hideal2pds_app/fast + +#============================================================================= +# Target rules for targets named stretch_app + +# Build rule for target. +stretch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 stretch_app +.PHONY : stretch_app + +# fast build rule for target. +stretch_app/fast: + $(MAKE) -f objects/CMakeFiles/stretch_app.dir/build.make objects/CMakeFiles/stretch_app.dir/build +.PHONY : stretch_app/fast + +#============================================================================= +# Target rules for targets named lrowac2isis_app + +# Build rule for target. +lrowac2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lrowac2isis_app +.PHONY : lrowac2isis_app + +# fast build rule for target. +lrowac2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/lrowac2isis_app.dir/build.make objects/CMakeFiles/lrowac2isis_app.dir/build +.PHONY : lrowac2isis_app/fast + +#============================================================================= +# Target rules for targets named apollo + +# Build rule for target. +apollo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo +.PHONY : apollo + +# fast build rule for target. +apollo/fast: + $(MAKE) -f objects/CMakeFiles/apollo.dir/build.make objects/CMakeFiles/apollo.dir/build +.PHONY : apollo/fast + +#============================================================================= +# Target rules for targets named spicefit_app + +# Build rule for target. +spicefit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 spicefit_app +.PHONY : spicefit_app + +# fast build rule for target. +spicefit_app/fast: + $(MAKE) -f objects/CMakeFiles/spicefit_app.dir/build.make objects/CMakeFiles/spicefit_app.dir/build +.PHONY : spicefit_app/fast + +#============================================================================= +# Target rules for targets named speclowpass_app + +# Build rule for target. +speclowpass_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 speclowpass_app +.PHONY : speclowpass_app + +# fast build rule for target. +speclowpass_app/fast: + $(MAKE) -f objects/CMakeFiles/speclowpass_app.dir/build.make objects/CMakeFiles/speclowpass_app.dir/build +.PHONY : speclowpass_app/fast + +#============================================================================= +# Target rules for targets named chan1m32isis_app + +# Build rule for target. +chan1m32isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 chan1m32isis_app +.PHONY : chan1m32isis_app + +# fast build rule for target. +chan1m32isis_app/fast: + $(MAKE) -f objects/CMakeFiles/chan1m32isis_app.dir/build.make objects/CMakeFiles/chan1m32isis_app.dir/build +.PHONY : chan1m32isis_app/fast + +#============================================================================= +# Target rules for targets named spechighpass_app + +# Build rule for target. +spechighpass_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 spechighpass_app +.PHONY : spechighpass_app + +# fast build rule for target. +spechighpass_app/fast: + $(MAKE) -f objects/CMakeFiles/spechighpass_app.dir/build.make objects/CMakeFiles/spechighpass_app.dir/build +.PHONY : spechighpass_app/fast + +#============================================================================= +# Target rules for targets named specadd_app + +# Build rule for target. +specadd_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 specadd_app +.PHONY : specadd_app + +# fast build rule for target. +specadd_app/fast: + $(MAKE) -f objects/CMakeFiles/specadd_app.dir/build.make objects/CMakeFiles/specadd_app.dir/build +.PHONY : specadd_app/fast + +#============================================================================= +# Target rules for targets named smtk_app + +# Build rule for target. +smtk_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 smtk_app +.PHONY : smtk_app + +# fast build rule for target. +smtk_app/fast: + $(MAKE) -f objects/CMakeFiles/smtk_app.dir/build.make objects/CMakeFiles/smtk_app.dir/build +.PHONY : smtk_app/fast + +#============================================================================= +# Target rules for targets named slpmap_app + +# Build rule for target. +slpmap_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 slpmap_app +.PHONY : slpmap_app + +# fast build rule for target. +slpmap_app/fast: + $(MAKE) -f objects/CMakeFiles/slpmap_app.dir/build.make objects/CMakeFiles/slpmap_app.dir/build +.PHONY : slpmap_app/fast + +#============================================================================= +# Target rules for targets named skypt_app + +# Build rule for target. +skypt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 skypt_app +.PHONY : skypt_app + +# fast build rule for target. +skypt_app/fast: + $(MAKE) -f objects/CMakeFiles/skypt_app.dir/build.make objects/CMakeFiles/skypt_app.dir/build +.PHONY : skypt_app/fast + +#============================================================================= +# Target rules for targets named skymap_app + +# Build rule for target. +skymap_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 skymap_app +.PHONY : skymap_app + +# fast build rule for target. +skymap_app/fast: + $(MAKE) -f objects/CMakeFiles/skymap_app.dir/build.make objects/CMakeFiles/skymap_app.dir/build +.PHONY : skymap_app/fast + +#============================================================================= +# Target rules for targets named clemuvviscal_app + +# Build rule for target. +clemuvviscal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clemuvviscal_app +.PHONY : clemuvviscal_app + +# fast build rule for target. +clemuvviscal_app/fast: + $(MAKE) -f objects/CMakeFiles/clemuvviscal_app.dir/build.make objects/CMakeFiles/clemuvviscal_app.dir/build +.PHONY : clemuvviscal_app/fast + +#============================================================================= +# Target rules for targets named sigmastretch_app + +# Build rule for target. +sigmastretch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 sigmastretch_app +.PHONY : sigmastretch_app + +# fast build rule for target. +sigmastretch_app/fast: + $(MAKE) -f objects/CMakeFiles/sigmastretch_app.dir/build.make objects/CMakeFiles/sigmastretch_app.dir/build +.PHONY : sigmastretch_app/fast + +#============================================================================= +# Target rules for targets named shadow_app + +# Build rule for target. +shadow_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 shadow_app +.PHONY : shadow_app + +# fast build rule for target. +shadow_app/fast: + $(MAKE) -f objects/CMakeFiles/shadow_app.dir/build.make objects/CMakeFiles/shadow_app.dir/build +.PHONY : shadow_app/fast + +#============================================================================= +# Target rules for targets named shade_app + +# Build rule for target. +shade_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 shade_app +.PHONY : shade_app + +# fast build rule for target. +shade_app/fast: + $(MAKE) -f objects/CMakeFiles/shade_app.dir/build.make objects/CMakeFiles/shade_app.dir/build +.PHONY : shade_app/fast + +#============================================================================= +# Target rules for targets named mar102isis_app + +# Build rule for target. +mar102isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mar102isis_app +.PHONY : mar102isis_app + +# fast build rule for target. +mar102isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mar102isis_app.dir/build.make objects/CMakeFiles/mar102isis_app.dir/build +.PHONY : mar102isis_app/fast + +#============================================================================= +# Target rules for targets named segment_app + +# Build rule for target. +segment_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 segment_app +.PHONY : segment_app + +# fast build rule for target. +segment_app/fast: + $(MAKE) -f objects/CMakeFiles/segment_app.dir/build.make objects/CMakeFiles/segment_app.dir/build +.PHONY : segment_app/fast + +#============================================================================= +# Target rules for targets named pointreg_app + +# Build rule for target. +pointreg_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pointreg_app +.PHONY : pointreg_app + +# fast build rule for target. +pointreg_app/fast: + $(MAKE) -f objects/CMakeFiles/pointreg_app.dir/build.make objects/CMakeFiles/pointreg_app.dir/build +.PHONY : pointreg_app/fast + +#============================================================================= +# Target rules for targets named rotate_app + +# Build rule for target. +rotate_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 rotate_app +.PHONY : rotate_app + +# fast build rule for target. +rotate_app/fast: + $(MAKE) -f objects/CMakeFiles/rotate_app.dir/build.make objects/CMakeFiles/rotate_app.dir/build +.PHONY : rotate_app/fast + +#============================================================================= +# Target rules for targets named ringspt_app + +# Build rule for target. +ringspt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ringspt_app +.PHONY : ringspt_app + +# fast build rule for target. +ringspt_app/fast: + $(MAKE) -f objects/CMakeFiles/ringspt_app.dir/build.make objects/CMakeFiles/ringspt_app.dir/build +.PHONY : ringspt_app/fast + +#============================================================================= +# Target rules for targets named ringscam2map_app + +# Build rule for target. +ringscam2map_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ringscam2map_app +.PHONY : ringscam2map_app + +# fast build rule for target. +ringscam2map_app/fast: + $(MAKE) -f objects/CMakeFiles/ringscam2map_app.dir/build.make objects/CMakeFiles/ringscam2map_app.dir/build +.PHONY : ringscam2map_app/fast + +#============================================================================= +# Target rules for targets named cnetstats_app + +# Build rule for target. +cnetstats_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetstats_app +.PHONY : cnetstats_app + +# fast build rule for target. +cnetstats_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetstats_app.dir/build.make objects/CMakeFiles/cnetstats_app.dir/build +.PHONY : cnetstats_app/fast + +#============================================================================= +# Target rules for targets named ringsautomos_app + +# Build rule for target. +ringsautomos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ringsautomos_app +.PHONY : ringsautomos_app + +# fast build rule for target. +ringsautomos_app/fast: + $(MAKE) -f objects/CMakeFiles/ringsautomos_app.dir/build.make objects/CMakeFiles/ringsautomos_app.dir/build +.PHONY : ringsautomos_app/fast + +#============================================================================= +# Target rules for targets named raw2isis_app + +# Build rule for target. +raw2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 raw2isis_app +.PHONY : raw2isis_app + +# fast build rule for target. +raw2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/raw2isis_app.dir/build.make objects/CMakeFiles/raw2isis_app.dir/build +.PHONY : raw2isis_app/fast + +#============================================================================= +# Target rules for targets named autoseed_app + +# Build rule for target. +autoseed_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 autoseed_app +.PHONY : autoseed_app + +# fast build rule for target. +autoseed_app/fast: + $(MAKE) -f objects/CMakeFiles/autoseed_app.dir/build.make objects/CMakeFiles/autoseed_app.dir/build +.PHONY : autoseed_app/fast + +#============================================================================= +# Target rules for targets named pixel2map_app + +# Build rule for target. +pixel2map_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pixel2map_app +.PHONY : pixel2map_app + +# fast build rule for target. +pixel2map_app/fast: + $(MAKE) -f objects/CMakeFiles/pixel2map_app.dir/build.make objects/CMakeFiles/pixel2map_app.dir/build +.PHONY : pixel2map_app/fast + +#============================================================================= +# Target rules for targets named thmproc_app + +# Build rule for target. +thmproc_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmproc_app +.PHONY : thmproc_app + +# fast build rule for target. +thmproc_app/fast: + $(MAKE) -f objects/CMakeFiles/thmproc_app.dir/build.make objects/CMakeFiles/thmproc_app.dir/build +.PHONY : thmproc_app/fast + +#============================================================================= +# Target rules for targets named photomet_app + +# Build rule for target. +photomet_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 photomet_app +.PHONY : photomet_app + +# fast build rule for target. +photomet_app/fast: + $(MAKE) -f objects/CMakeFiles/photomet_app.dir/build.make objects/CMakeFiles/photomet_app.dir/build +.PHONY : photomet_app/fast + +#============================================================================= +# Target rules for targets named clemnirclean_app + +# Build rule for target. +clemnirclean_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clemnirclean_app +.PHONY : clemnirclean_app + +# fast build rule for target. +clemnirclean_app/fast: + $(MAKE) -f objects/CMakeFiles/clemnirclean_app.dir/build.make objects/CMakeFiles/clemnirclean_app.dir/build +.PHONY : clemnirclean_app/fast + +#============================================================================= +# Target rules for targets named photemplate_app + +# Build rule for target. +photemplate_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 photemplate_app +.PHONY : photemplate_app + +# fast build rule for target. +photemplate_app/fast: + $(MAKE) -f objects/CMakeFiles/photemplate_app.dir/build.make objects/CMakeFiles/photemplate_app.dir/build +.PHONY : photemplate_app/fast + +#============================================================================= +# Target rules for targets named phohillier_app + +# Build rule for target. +phohillier_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 phohillier_app +.PHONY : phohillier_app + +# fast build rule for target. +phohillier_app/fast: + $(MAKE) -f objects/CMakeFiles/phohillier_app.dir/build.make objects/CMakeFiles/phohillier_app.dir/build +.PHONY : phohillier_app/fast + +#============================================================================= +# Target rules for targets named thm2isis_app + +# Build rule for target. +thm2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thm2isis_app +.PHONY : thm2isis_app + +# fast build rule for target. +thm2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/thm2isis_app.dir/build.make objects/CMakeFiles/thm2isis_app.dir/build +.PHONY : thm2isis_app/fast + +#============================================================================= +# Target rules for targets named phoempglobal_app + +# Build rule for target. +phoempglobal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 phoempglobal_app +.PHONY : phoempglobal_app + +# fast build rule for target. +phoempglobal_app/fast: + $(MAKE) -f objects/CMakeFiles/phoempglobal_app.dir/build.make objects/CMakeFiles/phoempglobal_app.dir/build +.PHONY : phoempglobal_app/fast + +#============================================================================= +# Target rules for targets named viknobutter_app + +# Build rule for target. +viknobutter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 viknobutter_app +.PHONY : viknobutter_app + +# fast build rule for target. +viknobutter_app/fast: + $(MAKE) -f objects/CMakeFiles/viknobutter_app.dir/build.make objects/CMakeFiles/viknobutter_app.dir/build +.PHONY : viknobutter_app/fast + +#============================================================================= +# Target rules for targets named phocube_app + +# Build rule for target. +phocube_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 phocube_app +.PHONY : phocube_app + +# fast build rule for target. +phocube_app/fast: + $(MAKE) -f objects/CMakeFiles/phocube_app.dir/build.make objects/CMakeFiles/phocube_app.dir/build +.PHONY : phocube_app/fast + +#============================================================================= +# Target rules for targets named pca_app + +# Build rule for target. +pca_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pca_app +.PHONY : pca_app + +# fast build rule for target. +pca_app/fast: + $(MAKE) -f objects/CMakeFiles/pca_app.dir/build.make objects/CMakeFiles/pca_app.dir/build +.PHONY : pca_app/fast + +#============================================================================= +# Target rules for targets named pad_app + +# Build rule for target. +pad_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pad_app +.PHONY : pad_app + +# fast build rule for target. +pad_app/fast: + $(MAKE) -f objects/CMakeFiles/pad_app.dir/build.make objects/CMakeFiles/pad_app.dir/build +.PHONY : pad_app/fast + +#============================================================================= +# Target rules for targets named outline_app + +# Build rule for target. +outline_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 outline_app +.PHONY : outline_app + +# fast build rule for target. +outline_app/fast: + $(MAKE) -f objects/CMakeFiles/outline_app.dir/build.make objects/CMakeFiles/outline_app.dir/build +.PHONY : outline_app/fast + +#============================================================================= +# Target rules for targets named cneteditor_app + +# Build rule for target. +cneteditor_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cneteditor_app +.PHONY : cneteditor_app + +# fast build rule for target. +cneteditor_app/fast: + $(MAKE) -f objects/CMakeFiles/cneteditor_app.dir/build.make objects/CMakeFiles/cneteditor_app.dir/build +.PHONY : cneteditor_app/fast + +#============================================================================= +# Target rules for targets named noseam_app + +# Build rule for target. +noseam_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 noseam_app +.PHONY : noseam_app + +# fast build rule for target. +noseam_app/fast: + $(MAKE) -f objects/CMakeFiles/noseam_app.dir/build.make objects/CMakeFiles/noseam_app.dir/build +.PHONY : noseam_app/fast + +#============================================================================= +# Target rules for targets named mocevenodd_app + +# Build rule for target. +mocevenodd_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mocevenodd_app +.PHONY : mocevenodd_app + +# fast build rule for target. +mocevenodd_app/fast: + $(MAKE) -f objects/CMakeFiles/mocevenodd_app.dir/build.make objects/CMakeFiles/mocevenodd_app.dir/build +.PHONY : mocevenodd_app/fast + +#============================================================================= +# Target rules for targets named mosrange_app + +# Build rule for target. +mosrange_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mosrange_app +.PHONY : mosrange_app + +# fast build rule for target. +mosrange_app/fast: + $(MAKE) -f objects/CMakeFiles/mosrange_app.dir/build.make objects/CMakeFiles/mosrange_app.dir/build +.PHONY : mosrange_app/fast + +#============================================================================= +# Target rules for targets named mode_app + +# Build rule for target. +mode_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mode_app +.PHONY : mode_app + +# fast build rule for target. +mode_app/fast: + $(MAKE) -f objects/CMakeFiles/mode_app.dir/build.make objects/CMakeFiles/mode_app.dir/build +.PHONY : mode_app/fast + +#============================================================================= +# Target rules for targets named minmax_app + +# Build rule for target. +minmax_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 minmax_app +.PHONY : minmax_app + +# fast build rule for target. +minmax_app/fast: + $(MAKE) -f objects/CMakeFiles/minmax_app.dir/build.make objects/CMakeFiles/minmax_app.dir/build +.PHONY : minmax_app/fast + +#============================================================================= +# Target rules for targets named median_app + +# Build rule for target. +median_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 median_app +.PHONY : median_app + +# fast build rule for target. +median_app/fast: + $(MAKE) -f objects/CMakeFiles/median_app.dir/build.make objects/CMakeFiles/median_app.dir/build +.PHONY : median_app/fast + +#============================================================================= +# Target rules for targets named maptrim_app + +# Build rule for target. +maptrim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 maptrim_app +.PHONY : maptrim_app + +# fast build rule for target. +maptrim_app/fast: + $(MAKE) -f objects/CMakeFiles/maptrim_app.dir/build.make objects/CMakeFiles/maptrim_app.dir/build +.PHONY : maptrim_app/fast + +#============================================================================= +# Target rules for targets named mappt_app + +# Build rule for target. +mappt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mappt_app +.PHONY : mappt_app + +# fast build rule for target. +mappt_app/fast: + $(MAKE) -f objects/CMakeFiles/mappt_app.dir/build.make objects/CMakeFiles/mappt_app.dir/build +.PHONY : mappt_app/fast + +#============================================================================= +# Target rules for targets named mapmos_app + +# Build rule for target. +mapmos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mapmos_app +.PHONY : mapmos_app + +# fast build rule for target. +mapmos_app/fast: + $(MAKE) -f objects/CMakeFiles/mapmos_app.dir/build.make objects/CMakeFiles/mapmos_app.dir/build +.PHONY : mapmos_app/fast + +#============================================================================= +# Target rules for targets named socetframesettings_app + +# Build rule for target. +socetframesettings_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 socetframesettings_app +.PHONY : socetframesettings_app + +# fast build rule for target. +socetframesettings_app/fast: + $(MAKE) -f objects/CMakeFiles/socetframesettings_app.dir/build.make objects/CMakeFiles/socetframesettings_app.dir/build +.PHONY : socetframesettings_app/fast + +#============================================================================= +# Target rules for targets named apollo_unit_test_ApolloMetricCamera + +# Build rule for target. +apollo_unit_test_ApolloMetricCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_ApolloMetricCamera +.PHONY : apollo_unit_test_ApolloMetricCamera + +# fast build rule for target. +apollo_unit_test_ApolloMetricCamera/fast: + $(MAKE) -f objects/CMakeFiles/apollo_unit_test_ApolloMetricCamera.dir/build.make objects/CMakeFiles/apollo_unit_test_ApolloMetricCamera.dir/build +.PHONY : apollo_unit_test_ApolloMetricCamera/fast + +#============================================================================= +# Target rules for targets named maplab_app + +# Build rule for target. +maplab_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 maplab_app +.PHONY : maplab_app + +# fast build rule for target. +maplab_app/fast: + $(MAKE) -f objects/CMakeFiles/maplab_app.dir/build.make objects/CMakeFiles/maplab_app.dir/build +.PHONY : maplab_app/fast + +#============================================================================= +# Target rules for targets named amicacal_app + +# Build rule for target. +amicacal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 amicacal_app +.PHONY : amicacal_app + +# fast build rule for target. +amicacal_app/fast: + $(MAKE) -f objects/CMakeFiles/amicacal_app.dir/build.make objects/CMakeFiles/amicacal_app.dir/build +.PHONY : amicacal_app/fast + +#============================================================================= +# Target rules for targets named map2map_app + +# Build rule for target. +map2map_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 map2map_app +.PHONY : map2map_app + +# fast build rule for target. +map2map_app/fast: + $(MAKE) -f objects/CMakeFiles/map2map_app.dir/build.make objects/CMakeFiles/map2map_app.dir/build +.PHONY : map2map_app/fast + +#============================================================================= +# Target rules for targets named hiequal_app + +# Build rule for target. +hiequal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hiequal_app +.PHONY : hiequal_app + +# fast build rule for target. +hiequal_app/fast: + $(MAKE) -f objects/CMakeFiles/hiequal_app.dir/build.make objects/CMakeFiles/hiequal_app.dir/build +.PHONY : hiequal_app/fast + +#============================================================================= +# Target rules for targets named map2cam_app + +# Build rule for target. +map2cam_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 map2cam_app +.PHONY : map2cam_app + +# fast build rule for target. +map2cam_app/fast: + $(MAKE) -f objects/CMakeFiles/map2cam_app.dir/build.make objects/CMakeFiles/map2cam_app.dir/build +.PHONY : map2cam_app/fast + +#============================================================================= +# Target rules for targets named lowpass_app + +# Build rule for target. +lowpass_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lowpass_app +.PHONY : lowpass_app + +# fast build rule for target. +lowpass_app/fast: + $(MAKE) -f objects/CMakeFiles/lowpass_app.dir/build.make objects/CMakeFiles/lowpass_app.dir/build +.PHONY : lowpass_app/fast + +#============================================================================= +# Target rules for targets named lineeq_app + +# Build rule for target. +lineeq_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lineeq_app +.PHONY : lineeq_app + +# fast build rule for target. +lineeq_app/fast: + $(MAKE) -f objects/CMakeFiles/lineeq_app.dir/build.make objects/CMakeFiles/lineeq_app.dir/build +.PHONY : lineeq_app/fast + +#============================================================================= +# Target rules for targets named kernfilter_app + +# Build rule for target. +kernfilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kernfilter_app +.PHONY : kernfilter_app + +# fast build rule for target. +kernfilter_app/fast: + $(MAKE) -f objects/CMakeFiles/kernfilter_app.dir/build.make objects/CMakeFiles/kernfilter_app.dir/build +.PHONY : kernfilter_app/fast + +#============================================================================= +# Target rules for targets named isisui_app + +# Build rule for target. +isisui_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isisui_app +.PHONY : isisui_app + +# fast build rule for target. +isisui_app/fast: + $(MAKE) -f objects/CMakeFiles/isisui_app.dir/build.make objects/CMakeFiles/isisui_app.dir/build +.PHONY : isisui_app/fast + +#============================================================================= +# Target rules for targets named isisminer_app + +# Build rule for target. +isisminer_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isisminer_app +.PHONY : isisminer_app + +# fast build rule for target. +isisminer_app/fast: + $(MAKE) -f objects/CMakeFiles/isisminer_app.dir/build.make objects/CMakeFiles/isisminer_app.dir/build +.PHONY : isisminer_app/fast + +#============================================================================= +# Target rules for targets named interestcube_app + +# Build rule for target. +interestcube_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 interestcube_app +.PHONY : interestcube_app + +# fast build rule for target. +interestcube_app/fast: + $(MAKE) -f objects/CMakeFiles/interestcube_app.dir/build.make objects/CMakeFiles/interestcube_app.dir/build +.PHONY : interestcube_app/fast + +#============================================================================= +# Target rules for targets named CTXCamera + +# Build rule for target. +CTXCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 CTXCamera +.PHONY : CTXCamera + +# fast build rule for target. +CTXCamera/fast: + $(MAKE) -f objects/CMakeFiles/CTXCamera.dir/build.make objects/CMakeFiles/CTXCamera.dir/build +.PHONY : CTXCamera/fast + +#============================================================================= +# Target rules for targets named ifft_app + +# Build rule for target. +ifft_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ifft_app +.PHONY : ifft_app + +# fast build rule for target. +ifft_app/fast: + $(MAKE) -f objects/CMakeFiles/ifft_app.dir/build.make objects/CMakeFiles/ifft_app.dir/build +.PHONY : ifft_app/fast + +#============================================================================= +# Target rules for targets named hifurrows_app + +# Build rule for target. +hifurrows_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hifurrows_app +.PHONY : hifurrows_app + +# fast build rule for target. +hifurrows_app/fast: + $(MAKE) -f objects/CMakeFiles/hifurrows_app.dir/build.make objects/CMakeFiles/hifurrows_app.dir/build +.PHONY : hifurrows_app/fast + +#============================================================================= +# Target rules for targets named histmatch_app + +# Build rule for target. +histmatch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 histmatch_app +.PHONY : histmatch_app + +# fast build rule for target. +histmatch_app/fast: + $(MAKE) -f objects/CMakeFiles/histmatch_app.dir/build.make objects/CMakeFiles/histmatch_app.dir/build +.PHONY : histmatch_app/fast + +#============================================================================= +# Target rules for targets named highpass_app + +# Build rule for target. +highpass_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 highpass_app +.PHONY : highpass_app + +# fast build rule for target. +highpass_app/fast: + $(MAKE) -f objects/CMakeFiles/highpass_app.dir/build.make objects/CMakeFiles/highpass_app.dir/build +.PHONY : highpass_app/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_HiLab + +# Build rule for target. +mro_unit_test_HiLab: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiLab +.PHONY : mro_unit_test_HiLab + +# fast build rule for target. +mro_unit_test_HiLab/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiLab.dir/build.make objects/CMakeFiles/mro_unit_test_HiLab.dir/build +.PHONY : mro_unit_test_HiLab/fast + +#============================================================================= +# Target rules for targets named grid_app + +# Build rule for target. +grid_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 grid_app +.PHONY : grid_app + +# fast build rule for target. +grid_app/fast: + $(MAKE) -f objects/CMakeFiles/grid_app.dir/build.make objects/CMakeFiles/grid_app.dir/build +.PHONY : grid_app/fast + +#============================================================================= +# Target rules for targets named greyscale_app + +# Build rule for target. +greyscale_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 greyscale_app +.PHONY : greyscale_app + +# fast build rule for target. +greyscale_app/fast: + $(MAKE) -f objects/CMakeFiles/greyscale_app.dir/build.make objects/CMakeFiles/greyscale_app.dir/build +.PHONY : greyscale_app/fast + +#============================================================================= +# Target rules for targets named IssWACamera + +# Build rule for target. +IssWACamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 IssWACamera +.PHONY : IssWACamera + +# fast build rule for target. +IssWACamera/fast: + $(MAKE) -f objects/CMakeFiles/IssWACamera.dir/build.make objects/CMakeFiles/IssWACamera.dir/build +.PHONY : IssWACamera/fast + +#============================================================================= +# Target rules for targets named isis2std_app + +# Build rule for target. +isis2std_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2std_app +.PHONY : isis2std_app + +# fast build rule for target. +isis2std_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2std_app.dir/build.make objects/CMakeFiles/isis2std_app.dir/build +.PHONY : isis2std_app/fast + +#============================================================================= +# Target rules for targets named gradient_app + +# Build rule for target. +gradient_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gradient_app +.PHONY : gradient_app + +# fast build rule for target. +gradient_app/fast: + $(MAKE) -f objects/CMakeFiles/gradient_app.dir/build.make objects/CMakeFiles/gradient_app.dir/build +.PHONY : gradient_app/fast + +#============================================================================= +# Target rules for targets named getsn_app + +# Build rule for target. +getsn_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 getsn_app +.PHONY : getsn_app + +# fast build rule for target. +getsn_app/fast: + $(MAKE) -f objects/CMakeFiles/getsn_app.dir/build.make objects/CMakeFiles/getsn_app.dir/build +.PHONY : getsn_app/fast + +#============================================================================= +# Target rules for targets named getkey_app + +# Build rule for target. +getkey_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 getkey_app +.PHONY : getkey_app + +# fast build rule for target. +getkey_app/fast: + $(MAKE) -f objects/CMakeFiles/getkey_app.dir/build.make objects/CMakeFiles/getkey_app.dir/build +.PHONY : getkey_app/fast + +#============================================================================= +# Target rules for targets named footprintmerge_app + +# Build rule for target. +footprintmerge_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 footprintmerge_app +.PHONY : footprintmerge_app + +# fast build rule for target. +footprintmerge_app/fast: + $(MAKE) -f objects/CMakeFiles/footprintmerge_app.dir/build.make objects/CMakeFiles/footprintmerge_app.dir/build +.PHONY : footprintmerge_app/fast + +#============================================================================= +# Target rules for targets named thmdriftcor_app + +# Build rule for target. +thmdriftcor_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmdriftcor_app +.PHONY : thmdriftcor_app + +# fast build rule for target. +thmdriftcor_app/fast: + $(MAKE) -f objects/CMakeFiles/thmdriftcor_app.dir/build.make objects/CMakeFiles/thmdriftcor_app.dir/build +.PHONY : thmdriftcor_app/fast + +#============================================================================= +# Target rules for targets named lronaccal_app + +# Build rule for target. +lronaccal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lronaccal_app +.PHONY : lronaccal_app + +# fast build rule for target. +lronaccal_app/fast: + $(MAKE) -f objects/CMakeFiles/lronaccal_app.dir/build.make objects/CMakeFiles/lronaccal_app.dir/build +.PHONY : lronaccal_app/fast + +#============================================================================= +# Target rules for targets named footprintinit_app + +# Build rule for target. +footprintinit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 footprintinit_app +.PHONY : footprintinit_app + +# fast build rule for target. +footprintinit_app/fast: + $(MAKE) -f objects/CMakeFiles/footprintinit_app.dir/build.make objects/CMakeFiles/footprintinit_app.dir/build +.PHONY : footprintinit_app/fast + +#============================================================================= +# Target rules for targets named HiresCamera + +# Build rule for target. +HiresCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HiresCamera +.PHONY : HiresCamera + +# fast build rule for target. +HiresCamera/fast: + $(MAKE) -f objects/CMakeFiles/HiresCamera.dir/build.make objects/CMakeFiles/HiresCamera.dir/build +.PHONY : HiresCamera/fast + +#============================================================================= +# Target rules for targets named fits2isis_app + +# Build rule for target. +fits2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fits2isis_app +.PHONY : fits2isis_app + +# fast build rule for target. +fits2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/fits2isis_app.dir/build.make objects/CMakeFiles/fits2isis_app.dir/build +.PHONY : fits2isis_app/fast + +#============================================================================= +# Target rules for targets named findimageoverlaps_app + +# Build rule for target. +findimageoverlaps_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 findimageoverlaps_app +.PHONY : findimageoverlaps_app + +# fast build rule for target. +findimageoverlaps_app/fast: + $(MAKE) -f objects/CMakeFiles/findimageoverlaps_app.dir/build.make objects/CMakeFiles/findimageoverlaps_app.dir/build +.PHONY : findimageoverlaps_app/fast + +#============================================================================= +# Target rules for targets named findgaps_app + +# Build rule for target. +findgaps_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 findgaps_app +.PHONY : findgaps_app + +# fast build rule for target. +findgaps_app/fast: + $(MAKE) -f objects/CMakeFiles/findgaps_app.dir/build.make objects/CMakeFiles/findgaps_app.dir/build +.PHONY : findgaps_app/fast + +#============================================================================= +# Target rules for targets named errors_app + +# Build rule for target. +errors_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 errors_app +.PHONY : errors_app + +# fast build rule for target. +errors_app/fast: + $(MAKE) -f objects/CMakeFiles/errors_app.dir/build.make objects/CMakeFiles/errors_app.dir/build +.PHONY : errors_app/fast + +#============================================================================= +# Target rules for targets named higlob_app + +# Build rule for target. +higlob_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 higlob_app +.PHONY : higlob_app + +# fast build rule for target. +higlob_app/fast: + $(MAKE) -f objects/CMakeFiles/higlob_app.dir/build.make objects/CMakeFiles/higlob_app.dir/build +.PHONY : higlob_app/fast + +#============================================================================= +# Target rules for targets named skyrange_app + +# Build rule for target. +skyrange_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 skyrange_app +.PHONY : skyrange_app + +# fast build rule for target. +skyrange_app/fast: + $(MAKE) -f objects/CMakeFiles/skyrange_app.dir/build.make objects/CMakeFiles/skyrange_app.dir/build +.PHONY : skyrange_app/fast + +#============================================================================= +# Target rules for targets named equalizer_app + +# Build rule for target. +equalizer_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 equalizer_app +.PHONY : equalizer_app + +# fast build rule for target. +equalizer_app/fast: + $(MAKE) -f objects/CMakeFiles/equalizer_app.dir/build.make objects/CMakeFiles/equalizer_app.dir/build +.PHONY : equalizer_app/fast + +#============================================================================= +# Target rules for targets named edrget_app + +# Build rule for target. +edrget_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 edrget_app +.PHONY : edrget_app + +# fast build rule for target. +edrget_app/fast: + $(MAKE) -f objects/CMakeFiles/edrget_app.dir/build.make objects/CMakeFiles/edrget_app.dir/build +.PHONY : edrget_app/fast + +#============================================================================= +# Target rules for targets named VikingCamera + +# Build rule for target. +VikingCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 VikingCamera +.PHONY : VikingCamera + +# fast build rule for target. +VikingCamera/fast: + $(MAKE) -f objects/CMakeFiles/VikingCamera.dir/build.make objects/CMakeFiles/VikingCamera.dir/build +.PHONY : VikingCamera/fast + +#============================================================================= +# Target rules for targets named phoemplocal_app + +# Build rule for target. +phoemplocal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 phoemplocal_app +.PHONY : phoemplocal_app + +# fast build rule for target. +phoemplocal_app/fast: + $(MAKE) -f objects/CMakeFiles/phoemplocal_app.dir/build.make objects/CMakeFiles/phoemplocal_app.dir/build +.PHONY : phoemplocal_app/fast + +#============================================================================= +# Target rules for targets named editlab_app + +# Build rule for target. +editlab_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 editlab_app +.PHONY : editlab_app + +# fast build rule for target. +editlab_app/fast: + $(MAKE) -f objects/CMakeFiles/editlab_app.dir/build.make objects/CMakeFiles/editlab_app.dir/build +.PHONY : editlab_app/fast + +#============================================================================= +# Target rules for targets named poly_app + +# Build rule for target. +poly_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 poly_app +.PHONY : poly_app + +# fast build rule for target. +poly_app/fast: + $(MAKE) -f objects/CMakeFiles/poly_app.dir/build.make objects/CMakeFiles/poly_app.dir/build +.PHONY : poly_app/fast + +#============================================================================= +# Target rules for targets named dstripe_app + +# Build rule for target. +dstripe_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dstripe_app +.PHONY : dstripe_app + +# fast build rule for target. +dstripe_app/fast: + $(MAKE) -f objects/CMakeFiles/dstripe_app.dir/build.make objects/CMakeFiles/dstripe_app.dir/build +.PHONY : dstripe_app/fast + +#============================================================================= +# Target rules for targets named dsk2isis_app + +# Build rule for target. +dsk2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dsk2isis_app +.PHONY : dsk2isis_app + +# fast build rule for target. +dsk2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/dsk2isis_app.dir/build.make objects/CMakeFiles/dsk2isis_app.dir/build +.PHONY : dsk2isis_app/fast + +#============================================================================= +# Target rules for targets named divfilter_app + +# Build rule for target. +divfilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 divfilter_app +.PHONY : divfilter_app + +# fast build rule for target. +divfilter_app/fast: + $(MAKE) -f objects/CMakeFiles/divfilter_app.dir/build.make objects/CMakeFiles/divfilter_app.dir/build +.PHONY : divfilter_app/fast + +#============================================================================= +# Target rules for targets named MdisCamera + +# Build rule for target. +MdisCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MdisCamera +.PHONY : MdisCamera + +# fast build rule for target. +MdisCamera/fast: + $(MAKE) -f objects/CMakeFiles/MdisCamera.dir/build.make objects/CMakeFiles/MdisCamera.dir/build +.PHONY : MdisCamera/fast + +#============================================================================= +# Target rules for targets named desmear_app + +# Build rule for target. +desmear_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 desmear_app +.PHONY : desmear_app + +# fast build rule for target. +desmear_app/fast: + $(MAKE) -f objects/CMakeFiles/desmear_app.dir/build.make objects/CMakeFiles/desmear_app.dir/build +.PHONY : desmear_app/fast + +#============================================================================= +# Target rules for targets named demprep_app + +# Build rule for target. +demprep_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 demprep_app +.PHONY : demprep_app + +# fast build rule for target. +demprep_app/fast: + $(MAKE) -f objects/CMakeFiles/demprep_app.dir/build.make objects/CMakeFiles/demprep_app.dir/build +.PHONY : demprep_app/fast + +#============================================================================= +# Target rules for targets named ddd2isis_app + +# Build rule for target. +ddd2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ddd2isis_app +.PHONY : ddd2isis_app + +# fast build rule for target. +ddd2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/ddd2isis_app.dir/build.make objects/CMakeFiles/ddd2isis_app.dir/build +.PHONY : ddd2isis_app/fast + +#============================================================================= +# Target rules for targets named cubeit_app + +# Build rule for target. +cubeit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubeit_app +.PHONY : cubeit_app + +# fast build rule for target. +cubeit_app/fast: + $(MAKE) -f objects/CMakeFiles/cubeit_app.dir/build.make objects/CMakeFiles/cubeit_app.dir/build +.PHONY : cubeit_app/fast + +#============================================================================= +# Target rules for targets named cubeavg_app + +# Build rule for target. +cubeavg_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubeavg_app +.PHONY : cubeavg_app + +# fast build rule for target. +cubeavg_app/fast: + $(MAKE) -f objects/CMakeFiles/cubeavg_app.dir/build.make objects/CMakeFiles/cubeavg_app.dir/build +.PHONY : cubeavg_app/fast + +#============================================================================= +# Target rules for targets named messckgen_app + +# Build rule for target. +messckgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 messckgen_app +.PHONY : messckgen_app + +# fast build rule for target. +messckgen_app/fast: + $(MAKE) -f objects/CMakeFiles/messckgen_app.dir/build.make objects/CMakeFiles/messckgen_app.dir/build +.PHONY : messckgen_app/fast + +#============================================================================= +# Target rules for targets named cropspecial_app + +# Build rule for target. +cropspecial_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cropspecial_app +.PHONY : cropspecial_app + +# fast build rule for target. +cropspecial_app/fast: + $(MAKE) -f objects/CMakeFiles/cropspecial_app.dir/build.make objects/CMakeFiles/cropspecial_app.dir/build +.PHONY : cropspecial_app/fast + +#============================================================================= +# Target rules for targets named KaguyaMiCamera + +# Build rule for target. +KaguyaMiCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 KaguyaMiCamera +.PHONY : KaguyaMiCamera + +# fast build rule for target. +KaguyaMiCamera/fast: + $(MAKE) -f objects/CMakeFiles/KaguyaMiCamera.dir/build.make objects/CMakeFiles/KaguyaMiCamera.dir/build +.PHONY : KaguyaMiCamera/fast + +#============================================================================= +# Target rules for targets named svfilter_app + +# Build rule for target. +svfilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 svfilter_app +.PHONY : svfilter_app + +# fast build rule for target. +svfilter_app/fast: + $(MAKE) -f objects/CMakeFiles/svfilter_app.dir/build.make objects/CMakeFiles/svfilter_app.dir/build +.PHONY : svfilter_app/fast + +#============================================================================= +# Target rules for targets named crop_app + +# Build rule for target. +crop_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 crop_app +.PHONY : crop_app + +# fast build rule for target. +crop_app/fast: + $(MAKE) -f objects/CMakeFiles/crop_app.dir/build.make objects/CMakeFiles/crop_app.dir/build +.PHONY : crop_app/fast + +#============================================================================= +# Target rules for targets named copylabel_app + +# Build rule for target. +copylabel_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 copylabel_app +.PHONY : copylabel_app + +# fast build rule for target. +copylabel_app/fast: + $(MAKE) -f objects/CMakeFiles/copylabel_app.dir/build.make objects/CMakeFiles/copylabel_app.dir/build +.PHONY : copylabel_app/fast + +#============================================================================= +# Target rules for targets named circle_app + +# Build rule for target. +circle_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 circle_app +.PHONY : circle_app + +# fast build rule for target. +circle_app/fast: + $(MAKE) -f objects/CMakeFiles/circle_app.dir/build.make objects/CMakeFiles/circle_app.dir/build +.PHONY : circle_app/fast + +#============================================================================= +# Target rules for targets named catlab_app + +# Build rule for target. +catlab_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 catlab_app +.PHONY : catlab_app + +# fast build rule for target. +catlab_app/fast: + $(MAKE) -f objects/CMakeFiles/catlab_app.dir/build.make objects/CMakeFiles/catlab_app.dir/build +.PHONY : catlab_app/fast + +#============================================================================= +# Target rules for targets named camtrim_app + +# Build rule for target. +camtrim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 camtrim_app +.PHONY : camtrim_app + +# fast build rule for target. +camtrim_app/fast: + $(MAKE) -f objects/CMakeFiles/camtrim_app.dir/build.make objects/CMakeFiles/camtrim_app.dir/build +.PHONY : camtrim_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MaximumCorrelation + +# Build rule for target. +isis3_unit_test_MaximumCorrelation: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MaximumCorrelation +.PHONY : isis3_unit_test_MaximumCorrelation + +# fast build rule for target. +isis3_unit_test_MaximumCorrelation/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MaximumCorrelation.dir/build.make objects/CMakeFiles/isis3_unit_test_MaximumCorrelation.dir/build +.PHONY : isis3_unit_test_MaximumCorrelation/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Gruen + +# Build rule for target. +isis3_unit_test_Gruen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Gruen +.PHONY : isis3_unit_test_Gruen + +# fast build rule for target. +isis3_unit_test_Gruen/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Gruen.dir/build.make objects/CMakeFiles/isis3_unit_test_Gruen.dir/build +.PHONY : isis3_unit_test_Gruen/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LunarLambertMcEwen + +# Build rule for target. +isis3_unit_test_LunarLambertMcEwen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambertMcEwen +.PHONY : isis3_unit_test_LunarLambertMcEwen + +# fast build rule for target. +isis3_unit_test_LunarLambertMcEwen/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambertMcEwen.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambertMcEwen.dir/build +.PHONY : isis3_unit_test_LunarLambertMcEwen/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Mixed + +# Build rule for target. +isis3_unit_test_Mixed: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mixed +.PHONY : isis3_unit_test_Mixed + +# fast build rule for target. +isis3_unit_test_Mixed/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mixed.dir/build.make objects/CMakeFiles/isis3_unit_test_Mixed.dir/build +.PHONY : isis3_unit_test_Mixed/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LunarLambertEmpirical + +# Build rule for target. +isis3_unit_test_LunarLambertEmpirical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambertEmpirical +.PHONY : isis3_unit_test_LunarLambertEmpirical + +# fast build rule for target. +isis3_unit_test_LunarLambertEmpirical/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambertEmpirical.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambertEmpirical.dir/build +.PHONY : isis3_unit_test_LunarLambertEmpirical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolygonSeederFactory + +# Build rule for target. +isis3_unit_test_PolygonSeederFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonSeederFactory +.PHONY : isis3_unit_test_PolygonSeederFactory + +# fast build rule for target. +isis3_unit_test_PolygonSeederFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonSeederFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonSeederFactory.dir/build +.PHONY : isis3_unit_test_PolygonSeederFactory/fast + +#============================================================================= +# Target rules for targets named HayabusaAmicaCamera + +# Build rule for target. +HayabusaAmicaCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HayabusaAmicaCamera +.PHONY : HayabusaAmicaCamera + +# fast build rule for target. +HayabusaAmicaCamera/fast: + $(MAKE) -f objects/CMakeFiles/HayabusaAmicaCamera.dir/build.make objects/CMakeFiles/HayabusaAmicaCamera.dir/build +.PHONY : HayabusaAmicaCamera/fast + +#============================================================================= +# Target rules for targets named deltack_app + +# Build rule for target. +deltack_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 deltack_app +.PHONY : deltack_app + +# fast build rule for target. +deltack_app/fast: + $(MAKE) -f objects/CMakeFiles/deltack_app.dir/build.make objects/CMakeFiles/deltack_app.dir/build +.PHONY : deltack_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Longitude + +# Build rule for target. +isis3_unit_test_Longitude: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Longitude +.PHONY : isis3_unit_test_Longitude + +# fast build rule for target. +isis3_unit_test_Longitude/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Longitude.dir/build.make objects/CMakeFiles/isis3_unit_test_Longitude.dir/build +.PHONY : isis3_unit_test_Longitude/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Matrix + +# Build rule for target. +isis3_unit_test_Matrix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Matrix +.PHONY : isis3_unit_test_Matrix + +# fast build rule for target. +isis3_unit_test_Matrix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Matrix.dir/build.make objects/CMakeFiles/isis3_unit_test_Matrix.dir/build +.PHONY : isis3_unit_test_Matrix/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeInfixToPostfix + +# Build rule for target. +isis3_unit_test_CubeInfixToPostfix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeInfixToPostfix +.PHONY : isis3_unit_test_CubeInfixToPostfix + +# fast build rule for target. +isis3_unit_test_CubeInfixToPostfix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeInfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeInfixToPostfix.dir/build +.PHONY : isis3_unit_test_CubeInfixToPostfix/fast + +#============================================================================= +# Target rules for targets named qview_app + +# Build rule for target. +qview_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 qview_app +.PHONY : qview_app + +# fast build rule for target. +qview_app/fast: + $(MAKE) -f objects/CMakeFiles/qview_app.dir/build.make objects/CMakeFiles/qview_app.dir/build +.PHONY : qview_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineEquation + +# Build rule for target. +isis3_unit_test_LineEquation: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineEquation +.PHONY : isis3_unit_test_LineEquation + +# fast build rule for target. +isis3_unit_test_LineEquation/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineEquation.dir/build.make objects/CMakeFiles/isis3_unit_test_LineEquation.dir/build +.PHONY : isis3_unit_test_LineEquation/fast + +#============================================================================= +# Target rules for targets named cosi_app + +# Build rule for target. +cosi_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cosi_app +.PHONY : cosi_app + +# fast build rule for target. +cosi_app/fast: + $(MAKE) -f objects/CMakeFiles/cosi_app.dir/build.make objects/CMakeFiles/cosi_app.dir/build +.PHONY : cosi_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LambertAzimuthalEqualArea + +# Build rule for target. +isis3_unit_test_LambertAzimuthalEqualArea: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LambertAzimuthalEqualArea +.PHONY : isis3_unit_test_LambertAzimuthalEqualArea + +# fast build rule for target. +isis3_unit_test_LambertAzimuthalEqualArea/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LambertAzimuthalEqualArea.dir/build.make objects/CMakeFiles/isis3_unit_test_LambertAzimuthalEqualArea.dir/build +.PHONY : isis3_unit_test_LambertAzimuthalEqualArea/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineScanCameraSkyMap + +# Build rule for target. +isis3_unit_test_LineScanCameraSkyMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraSkyMap +.PHONY : isis3_unit_test_LineScanCameraSkyMap + +# fast build rule for target. +isis3_unit_test_LineScanCameraSkyMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraSkyMap.dir/build +.PHONY : isis3_unit_test_LineScanCameraSkyMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_JP2Importer + +# Build rule for target. +isis3_unit_test_JP2Importer: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Importer +.PHONY : isis3_unit_test_JP2Importer + +# fast build rule for target. +isis3_unit_test_JP2Importer/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Importer.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Importer.dir/build +.PHONY : isis3_unit_test_JP2Importer/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlPointList + +# Build rule for target. +isis3_unit_test_ControlPointList: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlPointList +.PHONY : isis3_unit_test_ControlPointList + +# fast build rule for target. +isis3_unit_test_ControlPointList/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlPointList.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlPointList.dir/build +.PHONY : isis3_unit_test_ControlPointList/fast + +#============================================================================= +# Target rules for targets named mimap2isis_app + +# Build rule for target. +mimap2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mimap2isis_app +.PHONY : mimap2isis_app + +# fast build rule for target. +mimap2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mimap2isis_app.dir/build.make objects/CMakeFiles/mimap2isis_app.dir/build +.PHONY : mimap2isis_app/fast + +#============================================================================= +# Target rules for targets named kaguyami2isis_app + +# Build rule for target. +kaguyami2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kaguyami2isis_app +.PHONY : kaguyami2isis_app + +# fast build rule for target. +kaguyami2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/kaguyami2isis_app.dir/build.make objects/CMakeFiles/kaguyami2isis_app.dir/build +.PHONY : kaguyami2isis_app/fast + +#============================================================================= +# Target rules for targets named remrx_app + +# Build rule for target. +remrx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 remrx_app +.PHONY : remrx_app + +# fast build rule for target. +remrx_app/fast: + $(MAKE) -f objects/CMakeFiles/remrx_app.dir/build.make objects/CMakeFiles/remrx_app.dir/build +.PHONY : remrx_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_JP2Exporter + +# Build rule for target. +isis3_unit_test_JP2Exporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Exporter +.PHONY : isis3_unit_test_JP2Exporter + +# fast build rule for target. +isis3_unit_test_JP2Exporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Exporter.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Exporter.dir/build +.PHONY : isis3_unit_test_JP2Exporter/fast + +#============================================================================= +# Target rules for targets named cnettable_app + +# Build rule for target. +cnettable_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnettable_app +.PHONY : cnettable_app + +# fast build rule for target. +cnettable_app/fast: + $(MAKE) -f objects/CMakeFiles/cnettable_app.dir/build.make objects/CMakeFiles/cnettable_app.dir/build +.PHONY : cnettable_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_JP2Error + +# Build rule for target. +isis3_unit_test_JP2Error: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Error +.PHONY : isis3_unit_test_JP2Error + +# fast build rule for target. +isis3_unit_test_JP2Error/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Error.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Error.dir/build +.PHONY : isis3_unit_test_JP2Error/fast + +#============================================================================= +# Target rules for targets named leisa2isis_app + +# Build rule for target. +leisa2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 leisa2isis_app +.PHONY : leisa2isis_app + +# fast build rule for target. +leisa2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/leisa2isis_app.dir/build.make objects/CMakeFiles/leisa2isis_app.dir/build +.PHONY : leisa2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Isis + +# Build rule for target. +isis3_unit_test_Isis: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isis +.PHONY : isis3_unit_test_Isis + +# fast build rule for target. +isis3_unit_test_Isis/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isis.dir/build.make objects/CMakeFiles/isis3_unit_test_Isis.dir/build +.PHONY : isis3_unit_test_Isis/fast + +#============================================================================= +# Target rules for targets named spkwriter_app + +# Build rule for target. +spkwriter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 spkwriter_app +.PHONY : spkwriter_app + +# fast build rule for target. +spkwriter_app/fast: + $(MAKE) -f objects/CMakeFiles/spkwriter_app.dir/build.make objects/CMakeFiles/spkwriter_app.dir/build +.PHONY : spkwriter_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MinnaertEmpirical + +# Build rule for target. +isis3_unit_test_MinnaertEmpirical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MinnaertEmpirical +.PHONY : isis3_unit_test_MinnaertEmpirical + +# fast build rule for target. +isis3_unit_test_MinnaertEmpirical/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MinnaertEmpirical.dir/build.make objects/CMakeFiles/isis3_unit_test_MinnaertEmpirical.dir/build +.PHONY : isis3_unit_test_MinnaertEmpirical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Intercept + +# Build rule for target. +isis3_unit_test_Intercept: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Intercept +.PHONY : isis3_unit_test_Intercept + +# fast build rule for target. +isis3_unit_test_Intercept/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Intercept.dir/build.make objects/CMakeFiles/isis3_unit_test_Intercept.dir/build +.PHONY : isis3_unit_test_Intercept/fast + +#============================================================================= +# Target rules for targets named ringsmappt_app + +# Build rule for target. +ringsmappt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ringsmappt_app +.PHONY : ringsmappt_app + +# fast build rule for target. +ringsmappt_app/fast: + $(MAKE) -f objects/CMakeFiles/ringsmappt_app.dir/build.make objects/CMakeFiles/ringsmappt_app.dir/build +.PHONY : ringsmappt_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BandManager + +# Build rule for target. +isis3_unit_test_BandManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BandManager +.PHONY : isis3_unit_test_BandManager + +# fast build rule for target. +isis3_unit_test_BandManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BandManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BandManager.dir/build +.PHONY : isis3_unit_test_BandManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_InfixToPostfix + +# Build rule for target. +isis3_unit_test_InfixToPostfix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InfixToPostfix +.PHONY : isis3_unit_test_InfixToPostfix + +# fast build rule for target. +isis3_unit_test_InfixToPostfix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_InfixToPostfix.dir/build +.PHONY : isis3_unit_test_InfixToPostfix/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Planar + +# Build rule for target. +isis3_unit_test_Planar: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Planar +.PHONY : isis3_unit_test_Planar + +# fast build rule for target. +isis3_unit_test_Planar/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Planar.dir/build.make objects/CMakeFiles/isis3_unit_test_Planar.dir/build +.PHONY : isis3_unit_test_Planar/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImportPdsTable + +# Build rule for target. +isis3_unit_test_ImportPdsTable: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImportPdsTable +.PHONY : isis3_unit_test_ImportPdsTable + +# fast build rule for target. +isis3_unit_test_ImportPdsTable/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImportPdsTable.dir/build.make objects/CMakeFiles/isis3_unit_test_ImportPdsTable.dir/build +.PHONY : isis3_unit_test_ImportPdsTable/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_CrismCamera + +# Build rule for target. +mro_unit_test_CrismCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_CrismCamera +.PHONY : mro_unit_test_CrismCamera + +# fast build rule for target. +mro_unit_test_CrismCamera/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_CrismCamera.dir/build.make objects/CMakeFiles/mro_unit_test_CrismCamera.dir/build +.PHONY : mro_unit_test_CrismCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Resource + +# Build rule for target. +isis3_unit_test_Resource: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Resource +.PHONY : isis3_unit_test_Resource + +# fast build rule for target. +isis3_unit_test_Resource/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Resource.dir/build.make objects/CMakeFiles/isis3_unit_test_Resource.dir/build +.PHONY : isis3_unit_test_Resource/fast + +#============================================================================= +# Target rules for targets named UvvisCamera + +# Build rule for target. +UvvisCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 UvvisCamera +.PHONY : UvvisCamera + +# fast build rule for target. +UvvisCamera/fast: + $(MAKE) -f objects/CMakeFiles/UvvisCamera.dir/build.make objects/CMakeFiles/UvvisCamera.dir/build +.PHONY : UvvisCamera/fast + +#============================================================================= +# Target rules for targets named cnetdiff_app + +# Build rule for target. +cnetdiff_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetdiff_app +.PHONY : cnetdiff_app + +# fast build rule for target. +cnetdiff_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetdiff_app.dir/build.make objects/CMakeFiles/cnetdiff_app.dir/build +.PHONY : cnetdiff_app/fast + +#============================================================================= +# Target rules for targets named cubeatt_app + +# Build rule for target. +cubeatt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubeatt_app +.PHONY : cubeatt_app + +# fast build rule for target. +cubeatt_app/fast: + $(MAKE) -f objects/CMakeFiles/cubeatt_app.dir/build.make objects/CMakeFiles/cubeatt_app.dir/build +.PHONY : cubeatt_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImageImporter + +# Build rule for target. +isis3_unit_test_ImageImporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageImporter +.PHONY : isis3_unit_test_ImageImporter + +# fast build rule for target. +isis3_unit_test_ImageImporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageImporter.dir/build +.PHONY : isis3_unit_test_ImageImporter/fast + +#============================================================================= +# Target rules for targets named makecube_app + +# Build rule for target. +makecube_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 makecube_app +.PHONY : makecube_app + +# fast build rule for target. +makecube_app/fast: + $(MAKE) -f objects/CMakeFiles/makecube_app.dir/build.make objects/CMakeFiles/makecube_app.dir/build +.PHONY : makecube_app/fast + +#============================================================================= +# Target rules for targets named isis2fits_app + +# Build rule for target. +isis2fits_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2fits_app +.PHONY : isis2fits_app + +# fast build rule for target. +isis2fits_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2fits_app.dir/build.make objects/CMakeFiles/isis2fits_app.dir/build +.PHONY : isis2fits_app/fast + +#============================================================================= +# Target rules for targets named Mercator + +# Build rule for target. +Mercator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Mercator +.PHONY : Mercator + +# fast build rule for target. +Mercator/fast: + $(MAKE) -f objects/CMakeFiles/Mercator.dir/build.make objects/CMakeFiles/Mercator.dir/build +.PHONY : Mercator/fast + +#============================================================================= +# Target rules for targets named UpturnedEllipsoidTransverseAzimuthal + +# Build rule for target. +UpturnedEllipsoidTransverseAzimuthal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 UpturnedEllipsoidTransverseAzimuthal +.PHONY : UpturnedEllipsoidTransverseAzimuthal + +# fast build rule for target. +UpturnedEllipsoidTransverseAzimuthal/fast: + $(MAKE) -f objects/CMakeFiles/UpturnedEllipsoidTransverseAzimuthal.dir/build.make objects/CMakeFiles/UpturnedEllipsoidTransverseAzimuthal.dir/build +.PHONY : UpturnedEllipsoidTransverseAzimuthal/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SerialNumberList + +# Build rule for target. +isis3_unit_test_SerialNumberList: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SerialNumberList +.PHONY : isis3_unit_test_SerialNumberList + +# fast build rule for target. +isis3_unit_test_SerialNumberList/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SerialNumberList.dir/build.make objects/CMakeFiles/isis3_unit_test_SerialNumberList.dir/build +.PHONY : isis3_unit_test_SerialNumberList/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImageExporter + +# Build rule for target. +isis3_unit_test_ImageExporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageExporter +.PHONY : isis3_unit_test_ImageExporter + +# fast build rule for target. +isis3_unit_test_ImageExporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageExporter.dir/build +.PHONY : isis3_unit_test_ImageExporter/fast + +#============================================================================= +# Target rules for targets named DawnFcCamera + +# Build rule for target. +DawnFcCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 DawnFcCamera +.PHONY : DawnFcCamera + +# fast build rule for target. +DawnFcCamera/fast: + $(MAKE) -f objects/CMakeFiles/DawnFcCamera.dir/build.make objects/CMakeFiles/DawnFcCamera.dir/build +.PHONY : DawnFcCamera/fast + +#============================================================================= +# Target rules for targets named apollocal_app + +# Build rule for target. +apollocal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollocal_app +.PHONY : apollocal_app + +# fast build rule for target. +apollocal_app/fast: + $(MAKE) -f objects/CMakeFiles/apollocal_app.dir/build.make objects/CMakeFiles/apollocal_app.dir/build +.PHONY : apollocal_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImageOverlapSet + +# Build rule for target. +isis3_unit_test_ImageOverlapSet: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageOverlapSet +.PHONY : isis3_unit_test_ImageOverlapSet + +# fast build rule for target. +isis3_unit_test_ImageOverlapSet/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageOverlapSet.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageOverlapSet.dir/build +.PHONY : isis3_unit_test_ImageOverlapSet/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal + +# Build rule for target. +isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal +.PHONY : isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal + +# fast build rule for target. +isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal.dir/build.make objects/CMakeFiles/isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal.dir/build +.PHONY : isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal/fast + +#============================================================================= +# Target rules for targets named hirdr2isis_app + +# Build rule for target. +hirdr2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hirdr2isis_app +.PHONY : hirdr2isis_app + +# fast build rule for target. +hirdr2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/hirdr2isis_app.dir/build.make objects/CMakeFiles/hirdr2isis_app.dir/build +.PHONY : hirdr2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_IdealCamera + +# Build rule for target. +isis3_unit_test_IdealCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IdealCamera +.PHONY : isis3_unit_test_IdealCamera + +# fast build rule for target. +isis3_unit_test_IdealCamera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IdealCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_IdealCamera.dir/build +.PHONY : isis3_unit_test_IdealCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessExportPds + +# Build rule for target. +isis3_unit_test_ProcessExportPds: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExportPds +.PHONY : isis3_unit_test_ProcessExportPds + +# fast build rule for target. +isis3_unit_test_ProcessExportPds/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExportPds.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExportPds.dir/build +.PHONY : isis3_unit_test_ProcessExportPds/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_IException + +# Build rule for target. +isis3_unit_test_IException: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IException +.PHONY : isis3_unit_test_IException + +# fast build rule for target. +isis3_unit_test_IException/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IException.dir/build.make objects/CMakeFiles/isis3_unit_test_IException.dir/build +.PHONY : isis3_unit_test_IException/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_HapkeAtm1 + +# Build rule for target. +isis3_unit_test_HapkeAtm1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_HapkeAtm1 +.PHONY : isis3_unit_test_HapkeAtm1 + +# fast build rule for target. +isis3_unit_test_HapkeAtm1/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_HapkeAtm1.dir/build.make objects/CMakeFiles/isis3_unit_test_HapkeAtm1.dir/build +.PHONY : isis3_unit_test_HapkeAtm1/fast + +#============================================================================= +# Target rules for targets named mar10clean_app + +# Build rule for target. +mar10clean_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mar10clean_app +.PHONY : mar10clean_app + +# fast build rule for target. +mar10clean_app/fast: + $(MAKE) -f objects/CMakeFiles/mar10clean_app.dir/build.make objects/CMakeFiles/mar10clean_app.dir/build +.PHONY : mar10clean_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Gui + +# Build rule for target. +isis3_unit_test_Gui: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Gui +.PHONY : isis3_unit_test_Gui + +# fast build rule for target. +isis3_unit_test_Gui/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Gui.dir/build.make objects/CMakeFiles/isis3_unit_test_Gui.dir/build +.PHONY : isis3_unit_test_Gui/fast + +#============================================================================= +# Target rules for targets named thmnoseam_app + +# Build rule for target. +thmnoseam_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmnoseam_app +.PHONY : thmnoseam_app + +# fast build rule for target. +thmnoseam_app/fast: + $(MAKE) -f objects/CMakeFiles/thmnoseam_app.dir/build.make objects/CMakeFiles/thmnoseam_app.dir/build +.PHONY : thmnoseam_app/fast + +#============================================================================= +# Target rules for targets named fx_app + +# Build rule for target. +fx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fx_app +.PHONY : fx_app + +# fast build rule for target. +fx_app/fast: + $(MAKE) -f objects/CMakeFiles/fx_app.dir/build.make objects/CMakeFiles/fx_app.dir/build +.PHONY : fx_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Ransac + +# Build rule for target. +isis3_unit_test_Ransac: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Ransac +.PHONY : isis3_unit_test_Ransac + +# fast build rule for target. +isis3_unit_test_Ransac/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Ransac.dir/build.make objects/CMakeFiles/isis3_unit_test_Ransac.dir/build +.PHONY : isis3_unit_test_Ransac/fast + +#============================================================================= +# Target rules for targets named RosettaOsirisCamera + +# Build rule for target. +RosettaOsirisCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 RosettaOsirisCamera +.PHONY : RosettaOsirisCamera + +# fast build rule for target. +RosettaOsirisCamera/fast: + $(MAKE) -f objects/CMakeFiles/RosettaOsirisCamera.dir/build.make objects/CMakeFiles/RosettaOsirisCamera.dir/build +.PHONY : RosettaOsirisCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Histogram + +# Build rule for target. +isis3_unit_test_Histogram: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Histogram +.PHONY : isis3_unit_test_Histogram + +# fast build rule for target. +isis3_unit_test_Histogram/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Histogram.dir/build.make objects/CMakeFiles/isis3_unit_test_Histogram.dir/build +.PHONY : isis3_unit_test_Histogram/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GroupedStatistics + +# Build rule for target. +isis3_unit_test_GroupedStatistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GroupedStatistics +.PHONY : isis3_unit_test_GroupedStatistics + +# fast build rule for target. +isis3_unit_test_GroupedStatistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GroupedStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_GroupedStatistics.dir/build +.PHONY : isis3_unit_test_GroupedStatistics/fast + +#============================================================================= +# Target rules for targets named apollo_unit_test_Apollo + +# Build rule for target. +apollo_unit_test_Apollo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_Apollo +.PHONY : apollo_unit_test_Apollo + +# fast build rule for target. +apollo_unit_test_Apollo/fast: + $(MAKE) -f objects/CMakeFiles/apollo_unit_test_Apollo.dir/build.make objects/CMakeFiles/apollo_unit_test_Apollo.dir/build +.PHONY : apollo_unit_test_Apollo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GaussianStretch + +# Build rule for target. +isis3_unit_test_GaussianStretch: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GaussianStretch +.PHONY : isis3_unit_test_GaussianStretch + +# fast build rule for target. +isis3_unit_test_GaussianStretch/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GaussianStretch.dir/build.make objects/CMakeFiles/isis3_unit_test_GaussianStretch.dir/build +.PHONY : isis3_unit_test_GaussianStretch/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GroundGrid + +# Build rule for target. +isis3_unit_test_GroundGrid: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GroundGrid +.PHONY : isis3_unit_test_GroundGrid + +# fast build rule for target. +isis3_unit_test_GroundGrid/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GroundGrid.dir/build.make objects/CMakeFiles/isis3_unit_test_GroundGrid.dir/build +.PHONY : isis3_unit_test_GroundGrid/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GSLUtility + +# Build rule for target. +isis3_unit_test_GSLUtility: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GSLUtility +.PHONY : isis3_unit_test_GSLUtility + +# fast build rule for target. +isis3_unit_test_GSLUtility/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GSLUtility.dir/build.make objects/CMakeFiles/isis3_unit_test_GSLUtility.dir/build +.PHONY : isis3_unit_test_GSLUtility/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FramingCamera + +# Build rule for target. +isis3_unit_test_FramingCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FramingCamera +.PHONY : isis3_unit_test_FramingCamera + +# fast build rule for target. +isis3_unit_test_FramingCamera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FramingCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_FramingCamera.dir/build +.PHONY : isis3_unit_test_FramingCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Stretch + +# Build rule for target. +isis3_unit_test_Stretch: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Stretch +.PHONY : isis3_unit_test_Stretch + +# fast build rule for target. +isis3_unit_test_Stretch/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Stretch.dir/build.make objects/CMakeFiles/isis3_unit_test_Stretch.dir/build +.PHONY : isis3_unit_test_Stretch/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FileName + +# Build rule for target. +isis3_unit_test_FileName: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FileName +.PHONY : isis3_unit_test_FileName + +# fast build rule for target. +isis3_unit_test_FileName/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FileName.dir/build.make objects/CMakeFiles/isis3_unit_test_FileName.dir/build +.PHONY : isis3_unit_test_FileName/fast + +#============================================================================= +# Target rules for targets named SsiCamera + +# Build rule for target. +SsiCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 SsiCamera +.PHONY : SsiCamera + +# fast build rule for target. +SsiCamera/fast: + $(MAKE) -f objects/CMakeFiles/SsiCamera.dir/build.make objects/CMakeFiles/SsiCamera.dir/build +.PHONY : SsiCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Isotropic2 + +# Build rule for target. +isis3_unit_test_Isotropic2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isotropic2 +.PHONY : isis3_unit_test_Isotropic2 + +# fast build rule for target. +isis3_unit_test_Isotropic2/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isotropic2.dir/build.make objects/CMakeFiles/isis3_unit_test_Isotropic2.dir/build +.PHONY : isis3_unit_test_Isotropic2/fast + +#============================================================================= +# Target rules for targets named NewHorizonsMvicTdiCamera + +# Build rule for target. +NewHorizonsMvicTdiCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsMvicTdiCamera +.PHONY : NewHorizonsMvicTdiCamera + +# fast build rule for target. +NewHorizonsMvicTdiCamera/fast: + $(MAKE) -f objects/CMakeFiles/NewHorizonsMvicTdiCamera.dir/build.make objects/CMakeFiles/NewHorizonsMvicTdiCamera.dir/build +.PHONY : NewHorizonsMvicTdiCamera/fast + +#============================================================================= +# Target rules for targets named mrf2pds_app + +# Build rule for target. +mrf2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mrf2pds_app +.PHONY : mrf2pds_app + +# fast build rule for target. +mrf2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/mrf2pds_app.dir/build.make objects/CMakeFiles/mrf2pds_app.dir/build +.PHONY : mrf2pds_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Pipeline + +# Build rule for target. +isis3_unit_test_Pipeline: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pipeline +.PHONY : isis3_unit_test_Pipeline + +# fast build rule for target. +isis3_unit_test_Pipeline/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pipeline.dir/build.make objects/CMakeFiles/isis3_unit_test_Pipeline.dir/build +.PHONY : isis3_unit_test_Pipeline/fast + +#============================================================================= +# Target rules for targets named mask_app + +# Build rule for target. +mask_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mask_app +.PHONY : mask_app + +# fast build rule for target. +mask_app/fast: + $(MAKE) -f objects/CMakeFiles/mask_app.dir/build.make objects/CMakeFiles/mask_app.dir/build +.PHONY : mask_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FileList + +# Build rule for target. +isis3_unit_test_FileList: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FileList +.PHONY : isis3_unit_test_FileList + +# fast build rule for target. +isis3_unit_test_FileList/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FileList.dir/build.make objects/CMakeFiles/isis3_unit_test_FileList.dir/build +.PHONY : isis3_unit_test_FileList/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_HapkeAtm2 + +# Build rule for target. +isis3_unit_test_HapkeAtm2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_HapkeAtm2 +.PHONY : isis3_unit_test_HapkeAtm2 + +# fast build rule for target. +isis3_unit_test_HapkeAtm2/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_HapkeAtm2.dir/build.make objects/CMakeFiles/isis3_unit_test_HapkeAtm2.dir/build +.PHONY : isis3_unit_test_HapkeAtm2/fast + +#============================================================================= +# Target rules for targets named algebra_app + +# Build rule for target. +algebra_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 algebra_app +.PHONY : algebra_app + +# fast build rule for target. +algebra_app/fast: + $(MAKE) -f objects/CMakeFiles/algebra_app.dir/build.make objects/CMakeFiles/algebra_app.dir/build +.PHONY : algebra_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Isotropic1 + +# Build rule for target. +isis3_unit_test_Isotropic1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isotropic1 +.PHONY : isis3_unit_test_Isotropic1 + +# fast build rule for target. +isis3_unit_test_Isotropic1/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isotropic1.dir/build.make objects/CMakeFiles/isis3_unit_test_Isotropic1.dir/build +.PHONY : isis3_unit_test_Isotropic1/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_InlineInfixToPostfix + +# Build rule for target. +isis3_unit_test_InlineInfixToPostfix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InlineInfixToPostfix +.PHONY : isis3_unit_test_InlineInfixToPostfix + +# fast build rule for target. +isis3_unit_test_InlineInfixToPostfix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InlineInfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_InlineInfixToPostfix.dir/build +.PHONY : isis3_unit_test_InlineInfixToPostfix/fast + +#============================================================================= +# Target rules for targets named bit2bit_app + +# Build rule for target. +bit2bit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 bit2bit_app +.PHONY : bit2bit_app + +# fast build rule for target. +bit2bit_app/fast: + $(MAKE) -f objects/CMakeFiles/bit2bit_app.dir/build.make objects/CMakeFiles/bit2bit_app.dir/build +.PHONY : bit2bit_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ExportPdsTable + +# Build rule for target. +isis3_unit_test_ExportPdsTable: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ExportPdsTable +.PHONY : isis3_unit_test_ExportPdsTable + +# fast build rule for target. +isis3_unit_test_ExportPdsTable/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ExportPdsTable.dir/build.make objects/CMakeFiles/isis3_unit_test_ExportPdsTable.dir/build +.PHONY : isis3_unit_test_ExportPdsTable/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PrincipalComponentAnalysis + +# Build rule for target. +isis3_unit_test_PrincipalComponentAnalysis: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PrincipalComponentAnalysis +.PHONY : isis3_unit_test_PrincipalComponentAnalysis + +# fast build rule for target. +isis3_unit_test_PrincipalComponentAnalysis/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PrincipalComponentAnalysis.dir/build.make objects/CMakeFiles/isis3_unit_test_PrincipalComponentAnalysis.dir/build +.PHONY : isis3_unit_test_PrincipalComponentAnalysis/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Equirectangular + +# Build rule for target. +isis3_unit_test_Equirectangular: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Equirectangular +.PHONY : isis3_unit_test_Equirectangular + +# fast build rule for target. +isis3_unit_test_Equirectangular/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Equirectangular.dir/build.make objects/CMakeFiles/isis3_unit_test_Equirectangular.dir/build +.PHONY : isis3_unit_test_Equirectangular/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TopoAtm + +# Build rule for target. +isis3_unit_test_TopoAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TopoAtm +.PHONY : isis3_unit_test_TopoAtm + +# fast build rule for target. +isis3_unit_test_TopoAtm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TopoAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_TopoAtm.dir/build +.PHONY : isis3_unit_test_TopoAtm/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Environment + +# Build rule for target. +isis3_unit_test_Environment: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Environment +.PHONY : isis3_unit_test_Environment + +# fast build rule for target. +isis3_unit_test_Environment/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Environment.dir/build.make objects/CMakeFiles/isis3_unit_test_Environment.dir/build +.PHONY : isis3_unit_test_Environment/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Enlarge + +# Build rule for target. +isis3_unit_test_Enlarge: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Enlarge +.PHONY : isis3_unit_test_Enlarge + +# fast build rule for target. +isis3_unit_test_Enlarge/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Enlarge.dir/build.make objects/CMakeFiles/isis3_unit_test_Enlarge.dir/build +.PHONY : isis3_unit_test_Enlarge/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_OverlapNormalization + +# Build rule for target. +isis3_unit_test_OverlapNormalization: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OverlapNormalization +.PHONY : isis3_unit_test_OverlapNormalization + +# fast build rule for target. +isis3_unit_test_OverlapNormalization/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OverlapNormalization.dir/build.make objects/CMakeFiles/isis3_unit_test_OverlapNormalization.dir/build +.PHONY : isis3_unit_test_OverlapNormalization/fast + +#============================================================================= +# Target rules for targets named himos_app + +# Build rule for target. +himos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 himos_app +.PHONY : himos_app + +# fast build rule for target. +himos_app/fast: + $(MAKE) -f objects/CMakeFiles/himos_app.dir/build.make objects/CMakeFiles/himos_app.dir/build +.PHONY : himos_app/fast + +#============================================================================= +# Target rules for targets named StandardDeviationOperator + +# Build rule for target. +StandardDeviationOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 StandardDeviationOperator +.PHONY : StandardDeviationOperator + +# fast build rule for target. +StandardDeviationOperator/fast: + $(MAKE) -f objects/CMakeFiles/StandardDeviationOperator.dir/build.make objects/CMakeFiles/StandardDeviationOperator.dir/build +.PHONY : StandardDeviationOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SessionLog + +# Build rule for target. +isis3_unit_test_SessionLog: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SessionLog +.PHONY : isis3_unit_test_SessionLog + +# fast build rule for target. +isis3_unit_test_SessionLog/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SessionLog.dir/build.make objects/CMakeFiles/isis3_unit_test_SessionLog.dir/build +.PHONY : isis3_unit_test_SessionLog/fast + +#============================================================================= +# Target rules for targets named makeflat_app + +# Build rule for target. +makeflat_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 makeflat_app +.PHONY : makeflat_app + +# fast build rule for target. +makeflat_app/fast: + $(MAKE) -f objects/CMakeFiles/makeflat_app.dir/build.make objects/CMakeFiles/makeflat_app.dir/build +.PHONY : makeflat_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LunarLambert + +# Build rule for target. +isis3_unit_test_LunarLambert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambert +.PHONY : isis3_unit_test_LunarLambert + +# fast build rule for target. +isis3_unit_test_LunarLambert/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambert.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambert.dir/build +.PHONY : isis3_unit_test_LunarLambert/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Distance + +# Build rule for target. +isis3_unit_test_Distance: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Distance +.PHONY : isis3_unit_test_Distance + +# fast build rule for target. +isis3_unit_test_Distance/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Distance.dir/build.make objects/CMakeFiles/isis3_unit_test_Distance.dir/build +.PHONY : isis3_unit_test_Distance/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Displacement + +# Build rule for target. +isis3_unit_test_Displacement: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Displacement +.PHONY : isis3_unit_test_Displacement + +# fast build rule for target. +isis3_unit_test_Displacement/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Displacement.dir/build.make objects/CMakeFiles/isis3_unit_test_Displacement.dir/build +.PHONY : isis3_unit_test_Displacement/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_JP2Encoder + +# Build rule for target. +isis3_unit_test_JP2Encoder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Encoder +.PHONY : isis3_unit_test_JP2Encoder + +# fast build rule for target. +isis3_unit_test_JP2Encoder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Encoder.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Encoder.dir/build +.PHONY : isis3_unit_test_JP2Encoder/fast + +#============================================================================= +# Target rules for targets named cassini_unit_test_CisscalFile + +# Build rule for target. +cassini_unit_test_CisscalFile: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_CisscalFile +.PHONY : cassini_unit_test_CisscalFile + +# fast build rule for target. +cassini_unit_test_CisscalFile/fast: + $(MAKE) -f objects/CMakeFiles/cassini_unit_test_CisscalFile.dir/build.make objects/CMakeFiles/cassini_unit_test_CisscalFile.dir/build +.PHONY : cassini_unit_test_CisscalFile/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImageOverlap + +# Build rule for target. +isis3_unit_test_ImageOverlap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageOverlap +.PHONY : isis3_unit_test_ImageOverlap + +# fast build rule for target. +isis3_unit_test_ImageOverlap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageOverlap.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageOverlap.dir/build +.PHONY : isis3_unit_test_ImageOverlap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_DemShape + +# Build rule for target. +isis3_unit_test_DemShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DemShape +.PHONY : isis3_unit_test_DemShape + +# fast build rule for target. +isis3_unit_test_DemShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DemShape.dir/build.make objects/CMakeFiles/isis3_unit_test_DemShape.dir/build +.PHONY : isis3_unit_test_DemShape/fast + +#============================================================================= +# Target rules for targets named trimfilter_app + +# Build rule for target. +trimfilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 trimfilter_app +.PHONY : trimfilter_app + +# fast build rule for target. +trimfilter_app/fast: + $(MAKE) -f objects/CMakeFiles/trimfilter_app.dir/build.make objects/CMakeFiles/trimfilter_app.dir/build +.PHONY : trimfilter_app/fast + +#============================================================================= +# Target rules for targets named MoonAlbedo + +# Build rule for target. +MoonAlbedo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MoonAlbedo +.PHONY : MoonAlbedo + +# fast build rule for target. +MoonAlbedo/fast: + $(MAKE) -f objects/CMakeFiles/MoonAlbedo.dir/build.make objects/CMakeFiles/MoonAlbedo.dir/build +.PHONY : MoonAlbedo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GisBlob + +# Build rule for target. +isis3_unit_test_GisBlob: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisBlob +.PHONY : isis3_unit_test_GisBlob + +# fast build rule for target. +isis3_unit_test_GisBlob/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisBlob.dir/build.make objects/CMakeFiles/isis3_unit_test_GisBlob.dir/build +.PHONY : isis3_unit_test_GisBlob/fast + +#============================================================================= +# Target rules for targets named noisefilter_app + +# Build rule for target. +noisefilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 noisefilter_app +.PHONY : noisefilter_app + +# fast build rule for target. +noisefilter_app/fast: + $(MAKE) -f objects/CMakeFiles/noisefilter_app.dir/build.make objects/CMakeFiles/noisefilter_app.dir/build +.PHONY : noisefilter_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeManager + +# Build rule for target. +isis3_unit_test_CubeManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeManager +.PHONY : isis3_unit_test_CubeManager + +# fast build rule for target. +isis3_unit_test_CubeManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeManager.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeManager.dir/build +.PHONY : isis3_unit_test_CubeManager/fast + +#============================================================================= +# Target rules for targets named lo2isis_app + +# Build rule for target. +lo2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lo2isis_app +.PHONY : lo2isis_app + +# fast build rule for target. +lo2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/lo2isis_app.dir/build.make objects/CMakeFiles/lo2isis_app.dir/build +.PHONY : lo2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AutoReg + +# Build rule for target. +isis3_unit_test_AutoReg: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AutoReg +.PHONY : isis3_unit_test_AutoReg + +# fast build rule for target. +isis3_unit_test_AutoReg/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AutoReg.dir/build.make objects/CMakeFiles/isis3_unit_test_AutoReg.dir/build +.PHONY : isis3_unit_test_AutoReg/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Stereo + +# Build rule for target. +isis3_unit_test_Stereo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Stereo +.PHONY : isis3_unit_test_Stereo + +# fast build rule for target. +isis3_unit_test_Stereo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Stereo.dir/build.make objects/CMakeFiles/isis3_unit_test_Stereo.dir/build +.PHONY : isis3_unit_test_Stereo/fast + +#============================================================================= +# Target rules for targets named LunarLambertEmpirical + +# Build rule for target. +LunarLambertEmpirical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LunarLambertEmpirical +.PHONY : LunarLambertEmpirical + +# fast build rule for target. +LunarLambertEmpirical/fast: + $(MAKE) -f objects/CMakeFiles/LunarLambertEmpirical.dir/build.make objects/CMakeFiles/LunarLambertEmpirical.dir/build +.PHONY : LunarLambertEmpirical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Latitude + +# Build rule for target. +isis3_unit_test_Latitude: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Latitude +.PHONY : isis3_unit_test_Latitude + +# fast build rule for target. +isis3_unit_test_Latitude/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Latitude.dir/build.make objects/CMakeFiles/isis3_unit_test_Latitude.dir/build +.PHONY : isis3_unit_test_Latitude/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MaximumLikelihoodWFunctions + +# Build rule for target. +isis3_unit_test_MaximumLikelihoodWFunctions: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MaximumLikelihoodWFunctions +.PHONY : isis3_unit_test_MaximumLikelihoodWFunctions + +# fast build rule for target. +isis3_unit_test_MaximumLikelihoodWFunctions/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MaximumLikelihoodWFunctions.dir/build.make objects/CMakeFiles/isis3_unit_test_MaximumLikelihoodWFunctions.dir/build +.PHONY : isis3_unit_test_MaximumLikelihoodWFunctions/fast + +#============================================================================= +# Target rules for targets named LoMediumCamera + +# Build rule for target. +LoMediumCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LoMediumCamera +.PHONY : LoMediumCamera + +# fast build rule for target. +LoMediumCamera/fast: + $(MAKE) -f objects/CMakeFiles/LoMediumCamera.dir/build.make objects/CMakeFiles/LoMediumCamera.dir/build +.PHONY : LoMediumCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Constants + +# Build rule for target. +isis3_unit_test_Constants: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Constants +.PHONY : isis3_unit_test_Constants + +# fast build rule for target. +isis3_unit_test_Constants/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Constants.dir/build.make objects/CMakeFiles/isis3_unit_test_Constants.dir/build +.PHONY : isis3_unit_test_Constants/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EmbreeShapeModel + +# Build rule for target. +isis3_unit_test_EmbreeShapeModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeShapeModel +.PHONY : isis3_unit_test_EmbreeShapeModel + +# fast build rule for target. +isis3_unit_test_EmbreeShapeModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeShapeModel.dir/build +.PHONY : isis3_unit_test_EmbreeShapeModel/fast + +#============================================================================= +# Target rules for targets named NoOperator + +# Build rule for target. +NoOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NoOperator +.PHONY : NoOperator + +# fast build rule for target. +NoOperator/fast: + $(MAKE) -f objects/CMakeFiles/NoOperator.dir/build.make objects/CMakeFiles/NoOperator.dir/build +.PHONY : NoOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_IString + +# Build rule for target. +isis3_unit_test_IString: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IString +.PHONY : isis3_unit_test_IString + +# fast build rule for target. +isis3_unit_test_IString/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IString.dir/build.make objects/CMakeFiles/isis3_unit_test_IString.dir/build +.PHONY : isis3_unit_test_IString/fast + +#============================================================================= +# Target rules for targets named ThemisIrCamera + +# Build rule for target. +ThemisIrCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ThemisIrCamera +.PHONY : ThemisIrCamera + +# fast build rule for target. +ThemisIrCamera/fast: + $(MAKE) -f objects/CMakeFiles/ThemisIrCamera.dir/build.make objects/CMakeFiles/ThemisIrCamera.dir/build +.PHONY : ThemisIrCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Column + +# Build rule for target. +isis3_unit_test_Column: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Column +.PHONY : isis3_unit_test_Column + +# fast build rule for target. +isis3_unit_test_Column/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Column.dir/build.make objects/CMakeFiles/isis3_unit_test_Column.dir/build +.PHONY : isis3_unit_test_Column/fast + +#============================================================================= +# Target rules for targets named MarciCamera + +# Build rule for target. +MarciCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MarciCamera +.PHONY : MarciCamera + +# fast build rule for target. +MarciCamera/fast: + $(MAKE) -f objects/CMakeFiles/MarciCamera.dir/build.make objects/CMakeFiles/MarciCamera.dir/build +.PHONY : MarciCamera/fast + +#============================================================================= +# Target rules for targets named cnetadd_app + +# Build rule for target. +cnetadd_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetadd_app +.PHONY : cnetadd_app + +# fast build rule for target. +cnetadd_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetadd_app.dir/build.make objects/CMakeFiles/cnetadd_app.dir/build +.PHONY : cnetadd_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CollectorMap + +# Build rule for target. +isis3_unit_test_CollectorMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CollectorMap +.PHONY : isis3_unit_test_CollectorMap + +# fast build rule for target. +isis3_unit_test_CollectorMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CollectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CollectorMap.dir/build +.PHONY : isis3_unit_test_CollectorMap/fast + +#============================================================================= +# Target rules for targets named HrscCamera + +# Build rule for target. +HrscCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HrscCamera +.PHONY : HrscCamera + +# fast build rule for target. +HrscCamera/fast: + $(MAKE) -f objects/CMakeFiles/HrscCamera.dir/build.make objects/CMakeFiles/HrscCamera.dir/build +.PHONY : HrscCamera/fast + +#============================================================================= +# Target rules for targets named MoravecOperator + +# Build rule for target. +MoravecOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MoravecOperator +.PHONY : MoravecOperator + +# fast build rule for target. +MoravecOperator/fast: + $(MAKE) -f objects/CMakeFiles/MoravecOperator.dir/build.make objects/CMakeFiles/MoravecOperator.dir/build +.PHONY : MoravecOperator/fast + +#============================================================================= +# Target rules for targets named hicolormos_app + +# Build rule for target. +hicolormos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicolormos_app +.PHONY : hicolormos_app + +# fast build rule for target. +hicolormos_app/fast: + $(MAKE) -f objects/CMakeFiles/hicolormos_app.dir/build.make objects/CMakeFiles/hicolormos_app.dir/build +.PHONY : hicolormos_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CSVReader + +# Build rule for target. +isis3_unit_test_CSVReader: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CSVReader +.PHONY : isis3_unit_test_CSVReader + +# fast build rule for target. +isis3_unit_test_CSVReader/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CSVReader.dir/build.make objects/CMakeFiles/isis3_unit_test_CSVReader.dir/build +.PHONY : isis3_unit_test_CSVReader/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Interpolator + +# Build rule for target. +isis3_unit_test_Interpolator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Interpolator +.PHONY : isis3_unit_test_Interpolator + +# fast build rule for target. +isis3_unit_test_Interpolator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Interpolator.dir/build.make objects/CMakeFiles/isis3_unit_test_Interpolator.dir/build +.PHONY : isis3_unit_test_Interpolator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpectralDefinition + +# Build rule for target. +isis3_unit_test_SpectralDefinition: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition +.PHONY : isis3_unit_test_SpectralDefinition + +# fast build rule for target. +isis3_unit_test_SpectralDefinition/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition.dir/build +.PHONY : isis3_unit_test_SpectralDefinition/fast + +#============================================================================= +# Target rules for targets named StripPolygonSeeder + +# Build rule for target. +StripPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 StripPolygonSeeder +.PHONY : StripPolygonSeeder + +# fast build rule for target. +StripPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/StripPolygonSeeder.dir/build.make objects/CMakeFiles/StripPolygonSeeder.dir/build +.PHONY : StripPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MosaicSceneWidget + +# Build rule for target. +isis3_unit_test_MosaicSceneWidget: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MosaicSceneWidget +.PHONY : isis3_unit_test_MosaicSceneWidget + +# fast build rule for target. +isis3_unit_test_MosaicSceneWidget/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MosaicSceneWidget.dir/build.make objects/CMakeFiles/isis3_unit_test_MosaicSceneWidget.dir/build +.PHONY : isis3_unit_test_MosaicSceneWidget/fast + +#============================================================================= +# Target rules for targets named explode_app + +# Build rule for target. +explode_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 explode_app +.PHONY : explode_app + +# fast build rule for target. +explode_app/fast: + $(MAKE) -f objects/CMakeFiles/explode_app.dir/build.make objects/CMakeFiles/explode_app.dir/build +.PHONY : explode_app/fast + +#============================================================================= +# Target rules for targets named ObliqueCylindrical + +# Build rule for target. +ObliqueCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ObliqueCylindrical +.PHONY : ObliqueCylindrical + +# fast build rule for target. +ObliqueCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/ObliqueCylindrical.dir/build.make objects/CMakeFiles/ObliqueCylindrical.dir/build +.PHONY : ObliqueCylindrical/fast + +#============================================================================= +# Target rules for targets named LunarLambertMcEwen + +# Build rule for target. +LunarLambertMcEwen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LunarLambertMcEwen +.PHONY : LunarLambertMcEwen + +# fast build rule for target. +LunarLambertMcEwen/fast: + $(MAKE) -f objects/CMakeFiles/LunarLambertMcEwen.dir/build.make objects/CMakeFiles/LunarLambertMcEwen.dir/build +.PHONY : LunarLambertMcEwen/fast + +#============================================================================= +# Target rules for targets named PolarStereographic + +# Build rule for target. +PolarStereographic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 PolarStereographic +.PHONY : PolarStereographic + +# fast build rule for target. +PolarStereographic/fast: + $(MAKE) -f objects/CMakeFiles/PolarStereographic.dir/build.make objects/CMakeFiles/PolarStereographic.dir/build +.PHONY : PolarStereographic/fast + +#============================================================================= +# Target rules for targets named MocNarrowAngleCamera + +# Build rule for target. +MocNarrowAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MocNarrowAngleCamera +.PHONY : MocNarrowAngleCamera + +# fast build rule for target. +MocNarrowAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/MocNarrowAngleCamera.dir/build.make objects/CMakeFiles/MocNarrowAngleCamera.dir/build +.PHONY : MocNarrowAngleCamera/fast + +#============================================================================= +# Target rules for targets named PointPerspective + +# Build rule for target. +PointPerspective: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 PointPerspective +.PHONY : PointPerspective + +# fast build rule for target. +PointPerspective/fast: + $(MAKE) -f objects/CMakeFiles/PointPerspective.dir/build.make objects/CMakeFiles/PointPerspective.dir/build +.PHONY : PointPerspective/fast + +#============================================================================= +# Target rules for targets named mical_app + +# Build rule for target. +mical_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mical_app +.PHONY : mical_app + +# fast build rule for target. +mical_app/fast: + $(MAKE) -f objects/CMakeFiles/mical_app.dir/build.make objects/CMakeFiles/mical_app.dir/build +.PHONY : mical_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TransverseMercator + +# Build rule for target. +isis3_unit_test_TransverseMercator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TransverseMercator +.PHONY : isis3_unit_test_TransverseMercator + +# fast build rule for target. +isis3_unit_test_TransverseMercator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TransverseMercator.dir/build.make objects/CMakeFiles/isis3_unit_test_TransverseMercator.dir/build +.PHONY : isis3_unit_test_TransverseMercator/fast + +#============================================================================= +# Target rules for targets named LoHighCamera + +# Build rule for target. +LoHighCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LoHighCamera +.PHONY : LoHighCamera + +# fast build rule for target. +LoHighCamera/fast: + $(MAKE) -f objects/CMakeFiles/LoHighCamera.dir/build.make objects/CMakeFiles/LoHighCamera.dir/build +.PHONY : LoHighCamera/fast + +#============================================================================= +# Target rules for targets named AdaptiveGruen + +# Build rule for target. +AdaptiveGruen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 AdaptiveGruen +.PHONY : AdaptiveGruen + +# fast build rule for target. +AdaptiveGruen/fast: + $(MAKE) -f objects/CMakeFiles/AdaptiveGruen.dir/build.make objects/CMakeFiles/AdaptiveGruen.dir/build +.PHONY : AdaptiveGruen/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Spice + +# Build rule for target. +isis3_unit_test_Spice: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Spice +.PHONY : isis3_unit_test_Spice + +# fast build rule for target. +isis3_unit_test_Spice/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Spice.dir/build.make objects/CMakeFiles/isis3_unit_test_Spice.dir/build +.PHONY : isis3_unit_test_Spice/fast + +#============================================================================= +# Target rules for targets named LambertAzimuthalEqualArea + +# Build rule for target. +LambertAzimuthalEqualArea: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LambertAzimuthalEqualArea +.PHONY : LambertAzimuthalEqualArea + +# fast build rule for target. +LambertAzimuthalEqualArea/fast: + $(MAKE) -f objects/CMakeFiles/LambertAzimuthalEqualArea.dir/build.make objects/CMakeFiles/LambertAzimuthalEqualArea.dir/build +.PHONY : LambertAzimuthalEqualArea/fast + +#============================================================================= +# Target rules for targets named mirror_app + +# Build rule for target. +mirror_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mirror_app +.PHONY : mirror_app + +# fast build rule for target. +mirror_app/fast: + $(MAKE) -f objects/CMakeFiles/mirror_app.dir/build.make objects/CMakeFiles/mirror_app.dir/build +.PHONY : mirror_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_History + +# Build rule for target. +isis3_unit_test_History: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_History +.PHONY : isis3_unit_test_History + +# fast build rule for target. +isis3_unit_test_History/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_History.dir/build.make objects/CMakeFiles/isis3_unit_test_History.dir/build +.PHONY : isis3_unit_test_History/fast + +#============================================================================= +# Target rules for targets named rosvirtis2isis_app + +# Build rule for target. +rosvirtis2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 rosvirtis2isis_app +.PHONY : rosvirtis2isis_app + +# fast build rule for target. +rosvirtis2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/rosvirtis2isis_app.dir/build.make objects/CMakeFiles/rosvirtis2isis_app.dir/build +.PHONY : rosvirtis2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MinimumDifference + +# Build rule for target. +isis3_unit_test_MinimumDifference: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MinimumDifference +.PHONY : isis3_unit_test_MinimumDifference + +# fast build rule for target. +isis3_unit_test_MinimumDifference/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MinimumDifference.dir/build.make objects/CMakeFiles/isis3_unit_test_MinimumDifference.dir/build +.PHONY : isis3_unit_test_MinimumDifference/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessByTile + +# Build rule for target. +isis3_unit_test_ProcessByTile: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByTile +.PHONY : isis3_unit_test_ProcessByTile + +# fast build rule for target. +isis3_unit_test_ProcessByTile/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByTile.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByTile.dir/build +.PHONY : isis3_unit_test_ProcessByTile/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlTokenizer + +# Build rule for target. +isis3_unit_test_PvlTokenizer: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlTokenizer +.PHONY : isis3_unit_test_PvlTokenizer + +# fast build rule for target. +isis3_unit_test_PvlTokenizer/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlTokenizer.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlTokenizer.dir/build +.PHONY : isis3_unit_test_PvlTokenizer/fast + +#============================================================================= +# Target rules for targets named thmvistrim_app + +# Build rule for target. +thmvistrim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmvistrim_app +.PHONY : thmvistrim_app + +# fast build rule for target. +thmvistrim_app/fast: + $(MAKE) -f objects/CMakeFiles/thmvistrim_app.dir/build.make objects/CMakeFiles/thmvistrim_app.dir/build +.PHONY : thmvistrim_app/fast + +#============================================================================= +# Target rules for targets named MocWideAngleCamera + +# Build rule for target. +MocWideAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MocWideAngleCamera +.PHONY : MocWideAngleCamera + +# fast build rule for target. +MocWideAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/MocWideAngleCamera.dir/build.make objects/CMakeFiles/MocWideAngleCamera.dir/build +.PHONY : MocWideAngleCamera/fast + +#============================================================================= +# Target rules for targets named mdisproc_app + +# Build rule for target. +mdisproc_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdisproc_app +.PHONY : mdisproc_app + +# fast build rule for target. +mdisproc_app/fast: + $(MAKE) -f objects/CMakeFiles/mdisproc_app.dir/build.make objects/CMakeFiles/mdisproc_app.dir/build +.PHONY : mdisproc_app/fast + +#============================================================================= +# Target rules for targets named Planar + +# Build rule for target. +Planar: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Planar +.PHONY : Planar + +# fast build rule for target. +Planar/fast: + $(MAKE) -f objects/CMakeFiles/Planar.dir/build.make objects/CMakeFiles/Planar.dir/build +.PHONY : Planar/fast + +#============================================================================= +# Target rules for targets named hijitreg_app + +# Build rule for target. +hijitreg_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hijitreg_app +.PHONY : hijitreg_app + +# fast build rule for target. +hijitreg_app/fast: + $(MAKE) -f objects/CMakeFiles/hijitreg_app.dir/build.make objects/CMakeFiles/hijitreg_app.dir/build +.PHONY : hijitreg_app/fast + +#============================================================================= +# Target rules for targets named MaximumCorrelation + +# Build rule for target. +MaximumCorrelation: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MaximumCorrelation +.PHONY : MaximumCorrelation + +# fast build rule for target. +MaximumCorrelation/fast: + $(MAKE) -f objects/CMakeFiles/MaximumCorrelation.dir/build.make objects/CMakeFiles/MaximumCorrelation.dir/build +.PHONY : MaximumCorrelation/fast + +#============================================================================= +# Target rules for targets named Hapke + +# Build rule for target. +Hapke: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Hapke +.PHONY : Hapke + +# fast build rule for target. +Hapke/fast: + $(MAKE) -f objects/CMakeFiles/Hapke.dir/build.make objects/CMakeFiles/Hapke.dir/build +.PHONY : Hapke/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlFormatPds + +# Build rule for target. +isis3_unit_test_PvlFormatPds: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFormatPds +.PHONY : isis3_unit_test_PvlFormatPds + +# fast build rule for target. +isis3_unit_test_PvlFormatPds/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFormatPds.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFormatPds.dir/build +.PHONY : isis3_unit_test_PvlFormatPds/fast + +#============================================================================= +# Target rules for targets named cnetsplit_app + +# Build rule for target. +cnetsplit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetsplit_app +.PHONY : cnetsplit_app + +# fast build rule for target. +cnetsplit_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetsplit_app.dir/build.make objects/CMakeFiles/cnetsplit_app.dir/build +.PHONY : cnetsplit_app/fast + +#============================================================================= +# Target rules for targets named TransverseMercator + +# Build rule for target. +TransverseMercator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 TransverseMercator +.PHONY : TransverseMercator + +# fast build rule for target. +TransverseMercator/fast: + $(MAKE) -f objects/CMakeFiles/TransverseMercator.dir/build.make objects/CMakeFiles/TransverseMercator.dir/build +.PHONY : TransverseMercator/fast + +#============================================================================= +# Target rules for targets named ciss2isis_app + +# Build rule for target. +ciss2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ciss2isis_app +.PHONY : ciss2isis_app + +# fast build rule for target. +ciss2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/ciss2isis_app.dir/build.make objects/CMakeFiles/ciss2isis_app.dir/build +.PHONY : ciss2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Cube + +# Build rule for target. +isis3_unit_test_Cube: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Cube +.PHONY : isis3_unit_test_Cube + +# fast build rule for target. +isis3_unit_test_Cube/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Cube.dir/build.make objects/CMakeFiles/isis3_unit_test_Cube.dir/build +.PHONY : isis3_unit_test_Cube/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AdaptiveGruen + +# Build rule for target. +isis3_unit_test_AdaptiveGruen: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AdaptiveGruen +.PHONY : isis3_unit_test_AdaptiveGruen + +# fast build rule for target. +isis3_unit_test_AdaptiveGruen/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AdaptiveGruen.dir/build.make objects/CMakeFiles/isis3_unit_test_AdaptiveGruen.dir/build +.PHONY : isis3_unit_test_AdaptiveGruen/fast + +#============================================================================= +# Target rules for targets named cubenorm_app + +# Build rule for target. +cubenorm_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubenorm_app +.PHONY : cubenorm_app + +# fast build rule for target. +cubenorm_app/fast: + $(MAKE) -f objects/CMakeFiles/cubenorm_app.dir/build.make objects/CMakeFiles/cubenorm_app.dir/build +.PHONY : cubenorm_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Chip + +# Build rule for target. +isis3_unit_test_Chip: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Chip +.PHONY : isis3_unit_test_Chip + +# fast build rule for target. +isis3_unit_test_Chip/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Chip.dir/build.make objects/CMakeFiles/isis3_unit_test_Chip.dir/build +.PHONY : isis3_unit_test_Chip/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ExportDescription + +# Build rule for target. +isis3_unit_test_ExportDescription: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ExportDescription +.PHONY : isis3_unit_test_ExportDescription + +# fast build rule for target. +isis3_unit_test_ExportDescription/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ExportDescription.dir/build.make objects/CMakeFiles/isis3_unit_test_ExportDescription.dir/build +.PHONY : isis3_unit_test_ExportDescription/fast + +#============================================================================= +# Target rules for targets named appjit_app + +# Build rule for target. +appjit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 appjit_app +.PHONY : appjit_app + +# fast build rule for target. +appjit_app/fast: + $(MAKE) -f objects/CMakeFiles/appjit_app.dir/build.make objects/CMakeFiles/appjit_app.dir/build +.PHONY : appjit_app/fast + +#============================================================================= +# Target rules for targets named ckwriter_app + +# Build rule for target. +ckwriter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ckwriter_app +.PHONY : ckwriter_app + +# fast build rule for target. +ckwriter_app/fast: + $(MAKE) -f objects/CMakeFiles/ckwriter_app.dir/build.make objects/CMakeFiles/ckwriter_app.dir/build +.PHONY : ckwriter_app/fast + +#============================================================================= +# Target rules for targets named ForstnerOperator + +# Build rule for target. +ForstnerOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ForstnerOperator +.PHONY : ForstnerOperator + +# fast build rule for target. +ForstnerOperator/fast: + $(MAKE) -f objects/CMakeFiles/ForstnerOperator.dir/build.make objects/CMakeFiles/ForstnerOperator.dir/build +.PHONY : ForstnerOperator/fast + +#============================================================================= +# Target rules for targets named Lambert + +# Build rule for target. +Lambert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Lambert +.PHONY : Lambert + +# fast build rule for target. +Lambert/fast: + $(MAKE) -f objects/CMakeFiles/Lambert.dir/build.make objects/CMakeFiles/Lambert.dir/build +.PHONY : Lambert/fast + +#============================================================================= +# Target rules for targets named mrf2isis_app + +# Build rule for target. +mrf2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mrf2isis_app +.PHONY : mrf2isis_app + +# fast build rule for target. +mrf2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mrf2isis_app.dir/build.make objects/CMakeFiles/mrf2isis_app.dir/build +.PHONY : mrf2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Spectel + +# Build rule for target. +isis3_unit_test_Spectel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Spectel +.PHONY : isis3_unit_test_Spectel + +# fast build rule for target. +isis3_unit_test_Spectel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Spectel.dir/build.make objects/CMakeFiles/isis3_unit_test_Spectel.dir/build +.PHONY : isis3_unit_test_Spectel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Topo + +# Build rule for target. +isis3_unit_test_Topo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Topo +.PHONY : isis3_unit_test_Topo + +# fast build rule for target. +isis3_unit_test_Topo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Topo.dir/build.make objects/CMakeFiles/isis3_unit_test_Topo.dir/build +.PHONY : isis3_unit_test_Topo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Equalization + +# Build rule for target. +isis3_unit_test_Equalization: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Equalization +.PHONY : isis3_unit_test_Equalization + +# fast build rule for target. +isis3_unit_test_Equalization/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Equalization.dir/build.make objects/CMakeFiles/isis3_unit_test_Equalization.dir/build +.PHONY : isis3_unit_test_Equalization/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Hillshade + +# Build rule for target. +isis3_unit_test_Hillshade: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Hillshade +.PHONY : isis3_unit_test_Hillshade + +# fast build rule for target. +isis3_unit_test_Hillshade/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Hillshade.dir/build.make objects/CMakeFiles/isis3_unit_test_Hillshade.dir/build +.PHONY : isis3_unit_test_Hillshade/fast + +#============================================================================= +# Target rules for targets named DawnVirCamera + +# Build rule for target. +DawnVirCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 DawnVirCamera +.PHONY : DawnVirCamera + +# fast build rule for target. +DawnVirCamera/fast: + $(MAKE) -f objects/CMakeFiles/DawnVirCamera.dir/build.make objects/CMakeFiles/DawnVirCamera.dir/build +.PHONY : DawnVirCamera/fast + +#============================================================================= +# Target rules for targets named Sinusoidal + +# Build rule for target. +Sinusoidal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Sinusoidal +.PHONY : Sinusoidal + +# fast build rule for target. +Sinusoidal/fast: + $(MAKE) -f objects/CMakeFiles/Sinusoidal.dir/build.make objects/CMakeFiles/Sinusoidal.dir/build +.PHONY : Sinusoidal/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Projection + +# Build rule for target. +isis3_unit_test_Projection: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Projection +.PHONY : isis3_unit_test_Projection + +# fast build rule for target. +isis3_unit_test_Projection/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Projection.dir/build.make objects/CMakeFiles/isis3_unit_test_Projection.dir/build +.PHONY : isis3_unit_test_Projection/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarGroundMap + +# Build rule for target. +isis3_unit_test_RadarGroundMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarGroundMap +.PHONY : isis3_unit_test_RadarGroundMap + +# fast build rule for target. +isis3_unit_test_RadarGroundMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarGroundMap.dir/build +.PHONY : isis3_unit_test_RadarGroundMap/fast + +#============================================================================= +# Target rules for targets named cathist_app + +# Build rule for target. +cathist_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cathist_app +.PHONY : cathist_app + +# fast build rule for target. +cathist_app/fast: + $(MAKE) -f objects/CMakeFiles/cathist_app.dir/build.make objects/CMakeFiles/cathist_app.dir/build +.PHONY : cathist_app/fast + +#============================================================================= +# Target rules for targets named LommelSeeliger + +# Build rule for target. +LommelSeeliger: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LommelSeeliger +.PHONY : LommelSeeliger + +# fast build rule for target. +LommelSeeliger/fast: + $(MAKE) -f objects/CMakeFiles/LommelSeeliger.dir/build.make objects/CMakeFiles/LommelSeeliger.dir/build +.PHONY : LommelSeeliger/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SimpleCylindrical + +# Build rule for target. +isis3_unit_test_SimpleCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SimpleCylindrical +.PHONY : isis3_unit_test_SimpleCylindrical + +# fast build rule for target. +isis3_unit_test_SimpleCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SimpleCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_SimpleCylindrical.dir/build +.PHONY : isis3_unit_test_SimpleCylindrical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GisTopology + +# Build rule for target. +isis3_unit_test_GisTopology: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisTopology +.PHONY : isis3_unit_test_GisTopology + +# fast build rule for target. +isis3_unit_test_GisTopology/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisTopology.dir/build.make objects/CMakeFiles/isis3_unit_test_GisTopology.dir/build +.PHONY : isis3_unit_test_GisTopology/fast + +#============================================================================= +# Target rules for targets named HapkeAtm1 + +# Build rule for target. +HapkeAtm1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HapkeAtm1 +.PHONY : HapkeAtm1 + +# fast build rule for target. +HapkeAtm1/fast: + $(MAKE) -f objects/CMakeFiles/HapkeAtm1.dir/build.make objects/CMakeFiles/HapkeAtm1.dir/build +.PHONY : HapkeAtm1/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Message + +# Build rule for target. +isis3_unit_test_Message: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Message +.PHONY : isis3_unit_test_Message + +# fast build rule for target. +isis3_unit_test_Message/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Message.dir/build.make objects/CMakeFiles/isis3_unit_test_Message.dir/build +.PHONY : isis3_unit_test_Message/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_DatabaseFactory + +# Build rule for target. +isis3_unit_test_DatabaseFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DatabaseFactory +.PHONY : isis3_unit_test_DatabaseFactory + +# fast build rule for target. +isis3_unit_test_DatabaseFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DatabaseFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_DatabaseFactory.dir/build +.PHONY : isis3_unit_test_DatabaseFactory/fast + +#============================================================================= +# Target rules for targets named rolo2isis_app + +# Build rule for target. +rolo2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 rolo2isis_app +.PHONY : rolo2isis_app + +# fast build rule for target. +rolo2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/rolo2isis_app.dir/build.make objects/CMakeFiles/rolo2isis_app.dir/build +.PHONY : rolo2isis_app/fast + +#============================================================================= +# Target rules for targets named LroNarrowAngleCamera + +# Build rule for target. +LroNarrowAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LroNarrowAngleCamera +.PHONY : LroNarrowAngleCamera + +# fast build rule for target. +LroNarrowAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/LroNarrowAngleCamera.dir/build.make objects/CMakeFiles/LroNarrowAngleCamera.dir/build +.PHONY : LroNarrowAngleCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FunctionTools + +# Build rule for target. +isis3_unit_test_FunctionTools: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FunctionTools +.PHONY : isis3_unit_test_FunctionTools + +# fast build rule for target. +isis3_unit_test_FunctionTools/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FunctionTools.dir/build.make objects/CMakeFiles/isis3_unit_test_FunctionTools.dir/build +.PHONY : isis3_unit_test_FunctionTools/fast + +#============================================================================= +# Target rules for targets named noproj_app + +# Build rule for target. +noproj_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 noproj_app +.PHONY : noproj_app + +# fast build rule for target. +noproj_app/fast: + $(MAKE) -f objects/CMakeFiles/noproj_app.dir/build.make objects/CMakeFiles/noproj_app.dir/build +.PHONY : noproj_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Minnaert + +# Build rule for target. +isis3_unit_test_Minnaert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Minnaert +.PHONY : isis3_unit_test_Minnaert + +# fast build rule for target. +isis3_unit_test_Minnaert/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Minnaert.dir/build.make objects/CMakeFiles/isis3_unit_test_Minnaert.dir/build +.PHONY : isis3_unit_test_Minnaert/fast + +#============================================================================= +# Target rules for targets named mat2cnet_app + +# Build rule for target. +mat2cnet_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mat2cnet_app +.PHONY : mat2cnet_app + +# fast build rule for target. +mat2cnet_app/fast: + $(MAKE) -f objects/CMakeFiles/mat2cnet_app.dir/build.make objects/CMakeFiles/mat2cnet_app.dir/build +.PHONY : mat2cnet_app/fast + +#============================================================================= +# Target rules for targets named camrange_app + +# Build rule for target. +camrange_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 camrange_app +.PHONY : camrange_app + +# fast build rule for target. +camrange_app/fast: + $(MAKE) -f objects/CMakeFiles/camrange_app.dir/build.make objects/CMakeFiles/camrange_app.dir/build +.PHONY : camrange_app/fast + +#============================================================================= +# Target rules for targets named Orthographic + +# Build rule for target. +Orthographic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Orthographic +.PHONY : Orthographic + +# fast build rule for target. +Orthographic/fast: + $(MAKE) -f objects/CMakeFiles/Orthographic.dir/build.make objects/CMakeFiles/Orthographic.dir/build +.PHONY : Orthographic/fast + +#============================================================================= +# Target rules for targets named camstats_app + +# Build rule for target. +camstats_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 camstats_app +.PHONY : camstats_app + +# fast build rule for target. +camstats_app/fast: + $(MAKE) -f objects/CMakeFiles/camstats_app.dir/build.make objects/CMakeFiles/camstats_app.dir/build +.PHONY : camstats_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ObliqueCylindrical + +# Build rule for target. +isis3_unit_test_ObliqueCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObliqueCylindrical +.PHONY : isis3_unit_test_ObliqueCylindrical + +# fast build rule for target. +isis3_unit_test_ObliqueCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObliqueCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_ObliqueCylindrical.dir/build +.PHONY : isis3_unit_test_ObliqueCylindrical/fast + +#============================================================================= +# Target rules for targets named NirCamera + +# Build rule for target. +NirCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NirCamera +.PHONY : NirCamera + +# fast build rule for target. +NirCamera/fast: + $(MAKE) -f objects/CMakeFiles/NirCamera.dir/build.make objects/CMakeFiles/NirCamera.dir/build +.PHONY : NirCamera/fast + +#============================================================================= +# Target rules for targets named RingCylindrical + +# Build rule for target. +RingCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 RingCylindrical +.PHONY : RingCylindrical + +# fast build rule for target. +RingCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/RingCylindrical.dir/build.make objects/CMakeFiles/RingCylindrical.dir/build +.PHONY : RingCylindrical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LimitPolygonSeeder + +# Build rule for target. +isis3_unit_test_LimitPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LimitPolygonSeeder +.PHONY : isis3_unit_test_LimitPolygonSeeder + +# fast build rule for target. +isis3_unit_test_LimitPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LimitPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_LimitPolygonSeeder.dir/build +.PHONY : isis3_unit_test_LimitPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named clemnirnoise_app + +# Build rule for target. +clemnirnoise_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clemnirnoise_app +.PHONY : clemnirnoise_app + +# fast build rule for target. +clemnirnoise_app/fast: + $(MAKE) -f objects/CMakeFiles/clemnirnoise_app.dir/build.make objects/CMakeFiles/clemnirnoise_app.dir/build +.PHONY : clemnirnoise_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraDistortionMap + +# Build rule for target. +isis3_unit_test_CameraDistortionMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraDistortionMap +.PHONY : isis3_unit_test_CameraDistortionMap + +# fast build rule for target. +isis3_unit_test_CameraDistortionMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraDistortionMap.dir/build +.PHONY : isis3_unit_test_CameraDistortionMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpectralDefinition1D + +# Build rule for target. +isis3_unit_test_SpectralDefinition1D: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition1D +.PHONY : isis3_unit_test_SpectralDefinition1D + +# fast build rule for target. +isis3_unit_test_SpectralDefinition1D/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition1D.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition1D.dir/build +.PHONY : isis3_unit_test_SpectralDefinition1D/fast + +#============================================================================= +# Target rules for targets named lronacecho_app + +# Build rule for target. +lronacecho_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lronacecho_app +.PHONY : lronacecho_app + +# fast build rule for target. +lronacecho_app/fast: + $(MAKE) -f objects/CMakeFiles/lronacecho_app.dir/build.make objects/CMakeFiles/lronacecho_app.dir/build +.PHONY : lronacecho_app/fast + +#============================================================================= +# Target rules for targets named overlapstats_app + +# Build rule for target. +overlapstats_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 overlapstats_app +.PHONY : overlapstats_app + +# fast build rule for target. +overlapstats_app/fast: + $(MAKE) -f objects/CMakeFiles/overlapstats_app.dir/build.make objects/CMakeFiles/overlapstats_app.dir/build +.PHONY : overlapstats_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlGraph + +# Build rule for target. +isis3_unit_test_ControlGraph: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlGraph +.PHONY : isis3_unit_test_ControlGraph + +# fast build rule for target. +isis3_unit_test_ControlGraph/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlGraph.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlGraph.dir/build +.PHONY : isis3_unit_test_ControlGraph/fast + +#============================================================================= +# Target rules for targets named vdcomp_app + +# Build rule for target. +vdcomp_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vdcomp_app +.PHONY : vdcomp_app + +# fast build rule for target. +vdcomp_app/fast: + $(MAKE) -f objects/CMakeFiles/vdcomp_app.dir/build.make objects/CMakeFiles/vdcomp_app.dir/build +.PHONY : vdcomp_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessImport + +# Build rule for target. +isis3_unit_test_ProcessImport: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImport +.PHONY : isis3_unit_test_ProcessImport + +# fast build rule for target. +isis3_unit_test_ProcessImport/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImport.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImport.dir/build +.PHONY : isis3_unit_test_ProcessImport/fast + +#============================================================================= +# Target rules for targets named messspkgen_app + +# Build rule for target. +messspkgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 messspkgen_app +.PHONY : messspkgen_app + +# fast build rule for target. +messspkgen_app/fast: + $(MAKE) -f objects/CMakeFiles/messspkgen_app.dir/build.make objects/CMakeFiles/messspkgen_app.dir/build +.PHONY : messspkgen_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Endian + +# Build rule for target. +isis3_unit_test_Endian: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Endian +.PHONY : isis3_unit_test_Endian + +# fast build rule for target. +isis3_unit_test_Endian/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Endian.dir/build.make objects/CMakeFiles/isis3_unit_test_Endian.dir/build +.PHONY : isis3_unit_test_Endian/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Application + +# Build rule for target. +isis3_unit_test_Application: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Application +.PHONY : isis3_unit_test_Application + +# fast build rule for target. +isis3_unit_test_Application/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Application.dir/build.make objects/CMakeFiles/isis3_unit_test_Application.dir/build +.PHONY : isis3_unit_test_Application/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_QtExporter + +# Build rule for target. +isis3_unit_test_QtExporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QtExporter +.PHONY : isis3_unit_test_QtExporter + +# fast build rule for target. +isis3_unit_test_QtExporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QtExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_QtExporter.dir/build +.PHONY : isis3_unit_test_QtExporter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Kernels + +# Build rule for target. +isis3_unit_test_Kernels: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Kernels +.PHONY : isis3_unit_test_Kernels + +# fast build rule for target. +isis3_unit_test_Kernels/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Kernels.dir/build.make objects/CMakeFiles/isis3_unit_test_Kernels.dir/build +.PHONY : isis3_unit_test_Kernels/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TiffImporter + +# Build rule for target. +isis3_unit_test_TiffImporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TiffImporter +.PHONY : isis3_unit_test_TiffImporter + +# fast build rule for target. +isis3_unit_test_TiffImporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TiffImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_TiffImporter.dir/build +.PHONY : isis3_unit_test_TiffImporter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeCalculator + +# Build rule for target. +isis3_unit_test_CubeCalculator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeCalculator +.PHONY : isis3_unit_test_CubeCalculator + +# fast build rule for target. +isis3_unit_test_CubeCalculator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeCalculator.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeCalculator.dir/build +.PHONY : isis3_unit_test_CubeCalculator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraDetectorMap + +# Build rule for target. +isis3_unit_test_CameraDetectorMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraDetectorMap +.PHONY : isis3_unit_test_CameraDetectorMap + +# fast build rule for target. +isis3_unit_test_CameraDetectorMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraDetectorMap.dir/build +.PHONY : isis3_unit_test_CameraDetectorMap/fast + +#============================================================================= +# Target rules for targets named flip_app + +# Build rule for target. +flip_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 flip_app +.PHONY : flip_app + +# fast build rule for target. +flip_app/fast: + $(MAKE) -f objects/CMakeFiles/flip_app.dir/build.make objects/CMakeFiles/flip_app.dir/build +.PHONY : flip_app/fast + +#============================================================================= +# Target rules for targets named LambertConformal + +# Build rule for target. +LambertConformal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LambertConformal +.PHONY : LambertConformal + +# fast build rule for target. +LambertConformal/fast: + $(MAKE) -f objects/CMakeFiles/LambertConformal.dir/build.make objects/CMakeFiles/LambertConformal.dir/build +.PHONY : LambertConformal/fast + +#============================================================================= +# Target rules for targets named lrowac2pds_app + +# Build rule for target. +lrowac2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lrowac2pds_app +.PHONY : lrowac2pds_app + +# fast build rule for target. +lrowac2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/lrowac2pds_app.dir/build.make objects/CMakeFiles/lrowac2pds_app.dir/build +.PHONY : lrowac2pds_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GisGeometry + +# Build rule for target. +isis3_unit_test_GisGeometry: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisGeometry +.PHONY : isis3_unit_test_GisGeometry + +# fast build rule for target. +isis3_unit_test_GisGeometry/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisGeometry.dir/build.make objects/CMakeFiles/isis3_unit_test_GisGeometry.dir/build +.PHONY : isis3_unit_test_GisGeometry/fast + +#============================================================================= +# Target rules for targets named amica2isis_app + +# Build rule for target. +amica2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 amica2isis_app +.PHONY : amica2isis_app + +# fast build rule for target. +amica2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/amica2isis_app.dir/build.make objects/CMakeFiles/amica2isis_app.dir/build +.PHONY : amica2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlSequence + +# Build rule for target. +isis3_unit_test_PvlSequence: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlSequence +.PHONY : isis3_unit_test_PvlSequence + +# fast build rule for target. +isis3_unit_test_PvlSequence/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlSequence.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlSequence.dir/build +.PHONY : isis3_unit_test_PvlSequence/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Quaternion + +# Build rule for target. +isis3_unit_test_Quaternion: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Quaternion +.PHONY : isis3_unit_test_Quaternion + +# fast build rule for target. +isis3_unit_test_Quaternion/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Quaternion.dir/build.make objects/CMakeFiles/isis3_unit_test_Quaternion.dir/build +.PHONY : isis3_unit_test_Quaternion/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EllipsoidShape + +# Build rule for target. +isis3_unit_test_EllipsoidShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EllipsoidShape +.PHONY : isis3_unit_test_EllipsoidShape + +# fast build rule for target. +isis3_unit_test_EllipsoidShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EllipsoidShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EllipsoidShape.dir/build +.PHONY : isis3_unit_test_EllipsoidShape/fast + +#============================================================================= +# Target rules for targets named GridPolygonSeeder + +# Build rule for target. +GridPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 GridPolygonSeeder +.PHONY : GridPolygonSeeder + +# fast build rule for target. +GridPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/GridPolygonSeeder.dir/build.make objects/CMakeFiles/GridPolygonSeeder.dir/build +.PHONY : GridPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named maptemplate_app + +# Build rule for target. +maptemplate_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 maptemplate_app +.PHONY : maptemplate_app + +# fast build rule for target. +maptemplate_app/fast: + $(MAKE) -f objects/CMakeFiles/maptemplate_app.dir/build.make objects/CMakeFiles/maptemplate_app.dir/build +.PHONY : maptemplate_app/fast + +#============================================================================= +# Target rules for targets named decorstretch_app + +# Build rule for target. +decorstretch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 decorstretch_app +.PHONY : decorstretch_app + +# fast build rule for target. +decorstretch_app/fast: + $(MAKE) -f objects/CMakeFiles/decorstretch_app.dir/build.make objects/CMakeFiles/decorstretch_app.dir/build +.PHONY : decorstretch_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineScanCamera + +# Build rule for target. +isis3_unit_test_LineScanCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCamera +.PHONY : isis3_unit_test_LineScanCamera + +# fast build rule for target. +isis3_unit_test_LineScanCamera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCamera.dir/build +.PHONY : isis3_unit_test_LineScanCamera/fast + +#============================================================================= +# Target rules for targets named cassini_unit_test_CissLabels + +# Build rule for target. +cassini_unit_test_CissLabels: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_CissLabels +.PHONY : cassini_unit_test_CissLabels + +# fast build rule for target. +cassini_unit_test_CissLabels/fast: + $(MAKE) -f objects/CMakeFiles/cassini_unit_test_CissLabels.dir/build.make objects/CMakeFiles/cassini_unit_test_CissLabels.dir/build +.PHONY : cassini_unit_test_CissLabels/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FilterCachingAlgorithm + +# Build rule for target. +isis3_unit_test_FilterCachingAlgorithm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FilterCachingAlgorithm +.PHONY : isis3_unit_test_FilterCachingAlgorithm + +# fast build rule for target. +isis3_unit_test_FilterCachingAlgorithm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FilterCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_FilterCachingAlgorithm.dir/build +.PHONY : isis3_unit_test_FilterCachingAlgorithm/fast + +#============================================================================= +# Target rules for targets named SimpleCylindrical + +# Build rule for target. +SimpleCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 SimpleCylindrical +.PHONY : SimpleCylindrical + +# fast build rule for target. +SimpleCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/SimpleCylindrical.dir/build.make objects/CMakeFiles/SimpleCylindrical.dir/build +.PHONY : SimpleCylindrical/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AtmosModel + +# Build rule for target. +isis3_unit_test_AtmosModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AtmosModel +.PHONY : isis3_unit_test_AtmosModel + +# fast build rule for target. +isis3_unit_test_AtmosModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AtmosModel.dir/build.make objects/CMakeFiles/isis3_unit_test_AtmosModel.dir/build +.PHONY : isis3_unit_test_AtmosModel/fast + +#============================================================================= +# Target rules for targets named mvic2isis_app + +# Build rule for target. +mvic2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mvic2isis_app +.PHONY : mvic2isis_app + +# fast build rule for target. +mvic2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mvic2isis_app.dir/build.make objects/CMakeFiles/mvic2isis_app.dir/build +.PHONY : mvic2isis_app/fast + +#============================================================================= +# Target rules for targets named lronac2isis_app + +# Build rule for target. +lronac2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lronac2isis_app +.PHONY : lronac2isis_app + +# fast build rule for target. +lronac2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/lronac2isis_app.dir/build.make objects/CMakeFiles/lronac2isis_app.dir/build +.PHONY : lronac2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BasisFunction + +# Build rule for target. +isis3_unit_test_BasisFunction: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BasisFunction +.PHONY : isis3_unit_test_BasisFunction + +# fast build rule for target. +isis3_unit_test_BasisFunction/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BasisFunction.dir/build.make objects/CMakeFiles/isis3_unit_test_BasisFunction.dir/build +.PHONY : isis3_unit_test_BasisFunction/fast + +#============================================================================= +# Target rules for targets named AlbedoAtm + +# Build rule for target. +AlbedoAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 AlbedoAtm +.PHONY : AlbedoAtm + +# fast build rule for target. +AlbedoAtm/fast: + $(MAKE) -f objects/CMakeFiles/AlbedoAtm.dir/build.make objects/CMakeFiles/AlbedoAtm.dir/build +.PHONY : AlbedoAtm/fast + +#============================================================================= +# Target rules for targets named catoriglab_app + +# Build rule for target. +catoriglab_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 catoriglab_app +.PHONY : catoriglab_app + +# fast build rule for target. +catoriglab_app/fast: + $(MAKE) -f objects/CMakeFiles/catoriglab_app.dir/build.make objects/CMakeFiles/catoriglab_app.dir/build +.PHONY : catoriglab_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AlphaCube + +# Build rule for target. +isis3_unit_test_AlphaCube: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AlphaCube +.PHONY : isis3_unit_test_AlphaCube + +# fast build rule for target. +isis3_unit_test_AlphaCube/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AlphaCube.dir/build.make objects/CMakeFiles/isis3_unit_test_AlphaCube.dir/build +.PHONY : isis3_unit_test_AlphaCube/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_JP2Decoder + +# Build rule for target. +isis3_unit_test_JP2Decoder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Decoder +.PHONY : isis3_unit_test_JP2Decoder + +# fast build rule for target. +isis3_unit_test_JP2Decoder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Decoder.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Decoder.dir/build +.PHONY : isis3_unit_test_JP2Decoder/fast + +#============================================================================= +# Target rules for targets named Topo + +# Build rule for target. +Topo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Topo +.PHONY : Topo + +# fast build rule for target. +Topo/fast: + $(MAKE) -f objects/CMakeFiles/Topo.dir/build.make objects/CMakeFiles/Topo.dir/build +.PHONY : Topo/fast + +#============================================================================= +# Target rules for targets named Equirectangular + +# Build rule for target. +Equirectangular: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Equirectangular +.PHONY : Equirectangular + +# fast build rule for target. +Equirectangular/fast: + $(MAKE) -f objects/CMakeFiles/Equirectangular.dir/build.make objects/CMakeFiles/Equirectangular.dir/build +.PHONY : Equirectangular/fast + +#============================================================================= +# Target rules for targets named Shade + +# Build rule for target. +Shade: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Shade +.PHONY : Shade + +# fast build rule for target. +Shade/fast: + $(MAKE) -f objects/CMakeFiles/Shade.dir/build.make objects/CMakeFiles/Shade.dir/build +.PHONY : Shade/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_InlineCalculator + +# Build rule for target. +isis3_unit_test_InlineCalculator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InlineCalculator +.PHONY : isis3_unit_test_InlineCalculator + +# fast build rule for target. +isis3_unit_test_InlineCalculator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InlineCalculator.dir/build.make objects/CMakeFiles/isis3_unit_test_InlineCalculator.dir/build +.PHONY : isis3_unit_test_InlineCalculator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Process + +# Build rule for target. +isis3_unit_test_Process: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Process +.PHONY : isis3_unit_test_Process + +# fast build rule for target. +isis3_unit_test_Process/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Process.dir/build.make objects/CMakeFiles/isis3_unit_test_Process.dir/build +.PHONY : isis3_unit_test_Process/fast + +#============================================================================= +# Target rules for targets named viknopepper_app + +# Build rule for target. +viknopepper_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 viknopepper_app +.PHONY : viknopepper_app + +# fast build rule for target. +viknopepper_app/fast: + $(MAKE) -f objects/CMakeFiles/viknopepper_app.dir/build.make objects/CMakeFiles/viknopepper_app.dir/build +.PHONY : viknopepper_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_UserInterface + +# Build rule for target. +isis3_unit_test_UserInterface: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UserInterface +.PHONY : isis3_unit_test_UserInterface + +# fast build rule for target. +isis3_unit_test_UserInterface/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UserInterface.dir/build.make objects/CMakeFiles/isis3_unit_test_UserInterface.dir/build +.PHONY : isis3_unit_test_UserInterface/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ID + +# Build rule for target. +isis3_unit_test_ID: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ID +.PHONY : isis3_unit_test_ID + +# fast build rule for target. +isis3_unit_test_ID/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ID.dir/build.make objects/CMakeFiles/isis3_unit_test_ID.dir/build +.PHONY : isis3_unit_test_ID/fast + +#============================================================================= +# Target rules for targets named GradientOperator + +# Build rule for target. +GradientOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 GradientOperator +.PHONY : GradientOperator + +# fast build rule for target. +GradientOperator/fast: + $(MAKE) -f objects/CMakeFiles/GradientOperator.dir/build.make objects/CMakeFiles/GradientOperator.dir/build +.PHONY : GradientOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolygonSeeder + +# Build rule for target. +isis3_unit_test_PolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonSeeder +.PHONY : isis3_unit_test_PolygonSeeder + +# fast build rule for target. +isis3_unit_test_PolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonSeeder.dir/build +.PHONY : isis3_unit_test_PolygonSeeder/fast + +#============================================================================= +# Target rules for targets named pds2isis_app + +# Build rule for target. +pds2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pds2isis_app +.PHONY : pds2isis_app + +# fast build rule for target. +pds2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/pds2isis_app.dir/build.make objects/CMakeFiles/pds2isis_app.dir/build +.PHONY : pds2isis_app/fast + +#============================================================================= +# Target rules for targets named IdealCamera + +# Build rule for target. +IdealCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 IdealCamera +.PHONY : IdealCamera + +# fast build rule for target. +IdealCamera/fast: + $(MAKE) -f objects/CMakeFiles/IdealCamera.dir/build.make objects/CMakeFiles/IdealCamera.dir/build +.PHONY : IdealCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LambertConformal + +# Build rule for target. +isis3_unit_test_LambertConformal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LambertConformal +.PHONY : isis3_unit_test_LambertConformal + +# fast build rule for target. +isis3_unit_test_LambertConformal/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LambertConformal.dir/build.make objects/CMakeFiles/isis3_unit_test_LambertConformal.dir/build +.PHONY : isis3_unit_test_LambertConformal/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Shade + +# Build rule for target. +isis3_unit_test_Shade: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Shade +.PHONY : isis3_unit_test_Shade + +# fast build rule for target. +isis3_unit_test_Shade/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Shade.dir/build.make objects/CMakeFiles/isis3_unit_test_Shade.dir/build +.PHONY : isis3_unit_test_Shade/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EmbreeTargetShape + +# Build rule for target. +isis3_unit_test_EmbreeTargetShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeTargetShape +.PHONY : isis3_unit_test_EmbreeTargetShape + +# fast build rule for target. +isis3_unit_test_EmbreeTargetShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeTargetShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeTargetShape.dir/build +.PHONY : isis3_unit_test_EmbreeTargetShape/fast + +#============================================================================= +# Target rules for targets named voy2isis_app + +# Build rule for target. +voy2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 voy2isis_app +.PHONY : voy2isis_app + +# fast build rule for target. +voy2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/voy2isis_app.dir/build.make objects/CMakeFiles/voy2isis_app.dir/build +.PHONY : voy2isis_app/fast + +#============================================================================= +# Target rules for targets named Mixed + +# Build rule for target. +Mixed: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Mixed +.PHONY : Mixed + +# fast build rule for target. +Mixed/fast: + $(MAKE) -f objects/CMakeFiles/Mixed.dir/build.make objects/CMakeFiles/Mixed.dir/build +.PHONY : Mixed/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraPointInfo + +# Build rule for target. +isis3_unit_test_CameraPointInfo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraPointInfo +.PHONY : isis3_unit_test_CameraPointInfo + +# fast build rule for target. +isis3_unit_test_CameraPointInfo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraPointInfo.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraPointInfo.dir/build +.PHONY : isis3_unit_test_CameraPointInfo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_StandardDeviationOperator + +# Build rule for target. +isis3_unit_test_StandardDeviationOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StandardDeviationOperator +.PHONY : isis3_unit_test_StandardDeviationOperator + +# fast build rule for target. +isis3_unit_test_StandardDeviationOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StandardDeviationOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_StandardDeviationOperator.dir/build +.PHONY : isis3_unit_test_StandardDeviationOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LommelSeeliger + +# Build rule for target. +isis3_unit_test_LommelSeeliger: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LommelSeeliger +.PHONY : isis3_unit_test_LommelSeeliger + +# fast build rule for target. +isis3_unit_test_LommelSeeliger/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LommelSeeliger.dir/build.make objects/CMakeFiles/isis3_unit_test_LommelSeeliger.dir/build +.PHONY : isis3_unit_test_LommelSeeliger/fast + +#============================================================================= +# Target rules for targets named ShadeAtm + +# Build rule for target. +ShadeAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ShadeAtm +.PHONY : ShadeAtm + +# fast build rule for target. +ShadeAtm/fast: + $(MAKE) -f objects/CMakeFiles/ShadeAtm.dir/build.make objects/CMakeFiles/ShadeAtm.dir/build +.PHONY : ShadeAtm/fast + +#============================================================================= +# Target rules for targets named thmbasemap1_app + +# Build rule for target. +thmbasemap1_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 thmbasemap1_app +.PHONY : thmbasemap1_app + +# fast build rule for target. +thmbasemap1_app/fast: + $(MAKE) -f objects/CMakeFiles/thmbasemap1_app.dir/build.make objects/CMakeFiles/thmbasemap1_app.dir/build +.PHONY : thmbasemap1_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NaifStatus + +# Build rule for target. +isis3_unit_test_NaifStatus: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifStatus +.PHONY : isis3_unit_test_NaifStatus + +# fast build rule for target. +isis3_unit_test_NaifStatus/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifStatus.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifStatus.dir/build +.PHONY : isis3_unit_test_NaifStatus/fast + +#============================================================================= +# Target rules for targets named handmos_app + +# Build rule for target. +handmos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 handmos_app +.PHONY : handmos_app + +# fast build rule for target. +handmos_app/fast: + $(MAKE) -f objects/CMakeFiles/handmos_app.dir/build.make objects/CMakeFiles/handmos_app.dir/build +.PHONY : handmos_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BundleUtilities + +# Build rule for target. +isis3_unit_test_BundleUtilities: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleUtilities +.PHONY : isis3_unit_test_BundleUtilities + +# fast build rule for target. +isis3_unit_test_BundleUtilities/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleUtilities.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleUtilities.dir/build +.PHONY : isis3_unit_test_BundleUtilities/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EmbreeTargetManager + +# Build rule for target. +isis3_unit_test_EmbreeTargetManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeTargetManager +.PHONY : isis3_unit_test_EmbreeTargetManager + +# fast build rule for target. +isis3_unit_test_EmbreeTargetManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeTargetManager.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeTargetManager.dir/build +.PHONY : isis3_unit_test_EmbreeTargetManager/fast + +#============================================================================= +# Target rules for targets named pvldiff_app + +# Build rule for target. +pvldiff_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pvldiff_app +.PHONY : pvldiff_app + +# fast build rule for target. +pvldiff_app/fast: + $(MAKE) -f objects/CMakeFiles/pvldiff_app.dir/build.make objects/CMakeFiles/pvldiff_app.dir/build +.PHONY : pvldiff_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CorrelationMatrix + +# Build rule for target. +isis3_unit_test_CorrelationMatrix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CorrelationMatrix +.PHONY : isis3_unit_test_CorrelationMatrix + +# fast build rule for target. +isis3_unit_test_CorrelationMatrix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CorrelationMatrix.dir/build.make objects/CMakeFiles/isis3_unit_test_CorrelationMatrix.dir/build +.PHONY : isis3_unit_test_CorrelationMatrix/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ImagePolygon + +# Build rule for target. +isis3_unit_test_ImagePolygon: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImagePolygon +.PHONY : isis3_unit_test_ImagePolygon + +# fast build rule for target. +isis3_unit_test_ImagePolygon/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImagePolygon.dir/build.make objects/CMakeFiles/isis3_unit_test_ImagePolygon.dir/build +.PHONY : isis3_unit_test_ImagePolygon/fast + +#============================================================================= +# Target rules for targets named LunarAzimuthalEqualArea + +# Build rule for target. +LunarAzimuthalEqualArea: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LunarAzimuthalEqualArea +.PHONY : LunarAzimuthalEqualArea + +# fast build rule for target. +LunarAzimuthalEqualArea/fast: + $(MAKE) -f objects/CMakeFiles/LunarAzimuthalEqualArea.dir/build.make objects/CMakeFiles/LunarAzimuthalEqualArea.dir/build +.PHONY : LunarAzimuthalEqualArea/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LinearAlgebra + +# Build rule for target. +isis3_unit_test_LinearAlgebra: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LinearAlgebra +.PHONY : isis3_unit_test_LinearAlgebra + +# fast build rule for target. +isis3_unit_test_LinearAlgebra/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LinearAlgebra.dir/build.make objects/CMakeFiles/isis3_unit_test_LinearAlgebra.dir/build +.PHONY : isis3_unit_test_LinearAlgebra/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraFactory + +# Build rule for target. +isis3_unit_test_CameraFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraFactory +.PHONY : isis3_unit_test_CameraFactory + +# fast build rule for target. +isis3_unit_test_CameraFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraFactory.dir/build +.PHONY : isis3_unit_test_CameraFactory/fast + +#============================================================================= +# Target rules for targets named LunarLambert + +# Build rule for target. +LunarLambert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LunarLambert +.PHONY : LunarLambert + +# fast build rule for target. +LunarLambert/fast: + $(MAKE) -f objects/CMakeFiles/LunarLambert.dir/build.make objects/CMakeFiles/LunarLambert.dir/build +.PHONY : LunarLambert/fast + +#============================================================================= +# Target rules for targets named hrsc2isis_app + +# Build rule for target. +hrsc2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hrsc2isis_app +.PHONY : hrsc2isis_app + +# fast build rule for target. +hrsc2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/hrsc2isis_app.dir/build.make objects/CMakeFiles/hrsc2isis_app.dir/build +.PHONY : hrsc2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BoxcarManager + +# Build rule for target. +isis3_unit_test_BoxcarManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BoxcarManager +.PHONY : isis3_unit_test_BoxcarManager + +# fast build rule for target. +isis3_unit_test_BoxcarManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BoxcarManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BoxcarManager.dir/build +.PHONY : isis3_unit_test_BoxcarManager/fast + +#============================================================================= +# Target rules for targets named TopoAtm + +# Build rule for target. +TopoAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 TopoAtm +.PHONY : TopoAtm + +# fast build rule for target. +TopoAtm/fast: + $(MAKE) -f objects/CMakeFiles/TopoAtm.dir/build.make objects/CMakeFiles/TopoAtm.dir/build +.PHONY : TopoAtm/fast + +#============================================================================= +# Target rules for targets named hsv2rgb_app + +# Build rule for target. +hsv2rgb_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hsv2rgb_app +.PHONY : hsv2rgb_app + +# fast build rule for target. +hsv2rgb_app/fast: + $(MAKE) -f objects/CMakeFiles/hsv2rgb_app.dir/build.make objects/CMakeFiles/hsv2rgb_app.dir/build +.PHONY : hsv2rgb_app/fast + +#============================================================================= +# Target rules for targets named Isotropic1 + +# Build rule for target. +Isotropic1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Isotropic1 +.PHONY : Isotropic1 + +# fast build rule for target. +Isotropic1/fast: + $(MAKE) -f objects/CMakeFiles/Isotropic1.dir/build.make objects/CMakeFiles/Isotropic1.dir/build +.PHONY : Isotropic1/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolygonTools + +# Build rule for target. +isis3_unit_test_PolygonTools: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonTools +.PHONY : isis3_unit_test_PolygonTools + +# fast build rule for target. +isis3_unit_test_PolygonTools/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonTools.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonTools.dir/build +.PHONY : isis3_unit_test_PolygonTools/fast + +#============================================================================= +# Target rules for targets named mgs_unit_test_MocNarrowAngleSumming + +# Build rule for target. +mgs_unit_test_MocNarrowAngleSumming: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocNarrowAngleSumming +.PHONY : mgs_unit_test_MocNarrowAngleSumming + +# fast build rule for target. +mgs_unit_test_MocNarrowAngleSumming/fast: + $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocNarrowAngleSumming.dir/build.make objects/CMakeFiles/mgs_unit_test_MocNarrowAngleSumming.dir/build +.PHONY : mgs_unit_test_MocNarrowAngleSumming/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraSkyMap + +# Build rule for target. +isis3_unit_test_CameraSkyMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraSkyMap +.PHONY : isis3_unit_test_CameraSkyMap + +# fast build rule for target. +isis3_unit_test_CameraSkyMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraSkyMap.dir/build +.PHONY : isis3_unit_test_CameraSkyMap/fast + +#============================================================================= +# Target rules for targets named moc2isis_app + +# Build rule for target. +moc2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 moc2isis_app +.PHONY : moc2isis_app + +# fast build rule for target. +moc2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/moc2isis_app.dir/build.make objects/CMakeFiles/moc2isis_app.dir/build +.PHONY : moc2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeDataThread + +# Build rule for target. +isis3_unit_test_CubeDataThread: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeDataThread +.PHONY : isis3_unit_test_CubeDataThread + +# fast build rule for target. +isis3_unit_test_CubeDataThread/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeDataThread.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeDataThread.dir/build +.PHONY : isis3_unit_test_CubeDataThread/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineManager + +# Build rule for target. +isis3_unit_test_LineManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineManager +.PHONY : isis3_unit_test_LineManager + +# fast build rule for target. +isis3_unit_test_LineManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineManager.dir/build.make objects/CMakeFiles/isis3_unit_test_LineManager.dir/build +.PHONY : isis3_unit_test_LineManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraFocalPlaneMap + +# Build rule for target. +isis3_unit_test_CameraFocalPlaneMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraFocalPlaneMap +.PHONY : isis3_unit_test_CameraFocalPlaneMap + +# fast build rule for target. +isis3_unit_test_CameraFocalPlaneMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraFocalPlaneMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraFocalPlaneMap.dir/build +.PHONY : isis3_unit_test_CameraFocalPlaneMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_StatCumProbDistDynCalc + +# Build rule for target. +isis3_unit_test_StatCumProbDistDynCalc: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StatCumProbDistDynCalc +.PHONY : isis3_unit_test_StatCumProbDistDynCalc + +# fast build rule for target. +isis3_unit_test_StatCumProbDistDynCalc/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StatCumProbDistDynCalc.dir/build.make objects/CMakeFiles/isis3_unit_test_StatCumProbDistDynCalc.dir/build +.PHONY : isis3_unit_test_StatCumProbDistDynCalc/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarGroundRangeMap + +# Build rule for target. +isis3_unit_test_RadarGroundRangeMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarGroundRangeMap +.PHONY : isis3_unit_test_RadarGroundRangeMap + +# fast build rule for target. +isis3_unit_test_RadarGroundRangeMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarGroundRangeMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarGroundRangeMap.dir/build +.PHONY : isis3_unit_test_RadarGroundRangeMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraGroundMap + +# Build rule for target. +isis3_unit_test_CameraGroundMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraGroundMap +.PHONY : isis3_unit_test_CameraGroundMap + +# fast build rule for target. +isis3_unit_test_CameraGroundMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraGroundMap.dir/build +.PHONY : isis3_unit_test_CameraGroundMap/fast + +#============================================================================= +# Target rules for targets named voycal_app + +# Build rule for target. +voycal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 voycal_app +.PHONY : voycal_app + +# fast build rule for target. +voycal_app/fast: + $(MAKE) -f objects/CMakeFiles/voycal_app.dir/build.make objects/CMakeFiles/voycal_app.dir/build +.PHONY : voycal_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Affine + +# Build rule for target. +isis3_unit_test_Affine: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Affine +.PHONY : isis3_unit_test_Affine + +# fast build rule for target. +isis3_unit_test_Affine/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Affine.dir/build.make objects/CMakeFiles/isis3_unit_test_Affine.dir/build +.PHONY : isis3_unit_test_Affine/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlCubeGraphNode + +# Build rule for target. +isis3_unit_test_ControlCubeGraphNode: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlCubeGraphNode +.PHONY : isis3_unit_test_ControlCubeGraphNode + +# fast build rule for target. +isis3_unit_test_ControlCubeGraphNode/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlCubeGraphNode.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlCubeGraphNode.dir/build +.PHONY : isis3_unit_test_ControlCubeGraphNode/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Albedo + +# Build rule for target. +isis3_unit_test_Albedo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Albedo +.PHONY : isis3_unit_test_Albedo + +# fast build rule for target. +isis3_unit_test_Albedo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Albedo.dir/build.make objects/CMakeFiles/isis3_unit_test_Albedo.dir/build +.PHONY : isis3_unit_test_Albedo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CameraStatistics + +# Build rule for target. +isis3_unit_test_CameraStatistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraStatistics +.PHONY : isis3_unit_test_CameraStatistics + +# fast build rule for target. +isis3_unit_test_CameraStatistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraStatistics.dir/build +.PHONY : isis3_unit_test_CameraStatistics/fast + +#============================================================================= +# Target rules for targets named pds2hideal_app + +# Build rule for target. +pds2hideal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 pds2hideal_app +.PHONY : pds2hideal_app + +# fast build rule for target. +pds2hideal_app/fast: + $(MAKE) -f objects/CMakeFiles/pds2hideal_app.dir/build.make objects/CMakeFiles/pds2hideal_app.dir/build +.PHONY : pds2hideal_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NaifDskApi + +# Build rule for target. +isis3_unit_test_NaifDskApi: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskApi +.PHONY : isis3_unit_test_NaifDskApi + +# fast build rule for target. +isis3_unit_test_NaifDskApi/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskApi.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskApi.dir/build +.PHONY : isis3_unit_test_NaifDskApi/fast + +#============================================================================= +# Target rules for targets named isis2pds_app + +# Build rule for target. +isis2pds_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2pds_app +.PHONY : isis2pds_app + +# fast build rule for target. +isis2pds_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2pds_app.dir/build.make objects/CMakeFiles/isis2pds_app.dir/build +.PHONY : isis2pds_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Selection + +# Build rule for target. +isis3_unit_test_Selection: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Selection +.PHONY : isis3_unit_test_Selection + +# fast build rule for target. +isis3_unit_test_Selection/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Selection.dir/build.make objects/CMakeFiles/isis3_unit_test_Selection.dir/build +.PHONY : isis3_unit_test_Selection/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Angle + +# Build rule for target. +isis3_unit_test_Angle: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Angle +.PHONY : isis3_unit_test_Angle + +# fast build rule for target. +isis3_unit_test_Angle/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Angle.dir/build.make objects/CMakeFiles/isis3_unit_test_Angle.dir/build +.PHONY : isis3_unit_test_Angle/fast + +#============================================================================= +# Target rules for targets named Mariner10Camera + +# Build rule for target. +Mariner10Camera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Mariner10Camera +.PHONY : Mariner10Camera + +# fast build rule for target. +Mariner10Camera/fast: + $(MAKE) -f objects/CMakeFiles/Mariner10Camera.dir/build.make objects/CMakeFiles/Mariner10Camera.dir/build +.PHONY : Mariner10Camera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GaussianDistribution + +# Build rule for target. +isis3_unit_test_GaussianDistribution: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GaussianDistribution +.PHONY : isis3_unit_test_GaussianDistribution + +# fast build rule for target. +isis3_unit_test_GaussianDistribution/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GaussianDistribution.dir/build.make objects/CMakeFiles/isis3_unit_test_GaussianDistribution.dir/build +.PHONY : isis3_unit_test_GaussianDistribution/fast + +#============================================================================= +# Target rules for targets named MinimumDifference + +# Build rule for target. +MinimumDifference: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MinimumDifference +.PHONY : MinimumDifference + +# fast build rule for target. +MinimumDifference/fast: + $(MAKE) -f objects/CMakeFiles/MinimumDifference.dir/build.make objects/CMakeFiles/MinimumDifference.dir/build +.PHONY : MinimumDifference/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Anisotropic2 + +# Build rule for target. +isis3_unit_test_Anisotropic2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Anisotropic2 +.PHONY : isis3_unit_test_Anisotropic2 + +# fast build rule for target. +isis3_unit_test_Anisotropic2/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Anisotropic2.dir/build.make objects/CMakeFiles/isis3_unit_test_Anisotropic2.dir/build +.PHONY : isis3_unit_test_Anisotropic2/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Area3D + +# Build rule for target. +isis3_unit_test_Area3D: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Area3D +.PHONY : isis3_unit_test_Area3D + +# fast build rule for target. +isis3_unit_test_Area3D/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Area3D.dir/build.make objects/CMakeFiles/isis3_unit_test_Area3D.dir/build +.PHONY : isis3_unit_test_Area3D/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GradientOperator + +# Build rule for target. +isis3_unit_test_GradientOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GradientOperator +.PHONY : isis3_unit_test_GradientOperator + +# fast build rule for target. +isis3_unit_test_GradientOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GradientOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_GradientOperator.dir/build +.PHONY : isis3_unit_test_GradientOperator/fast + +#============================================================================= +# Target rules for targets named cnetcheck_app + +# Build rule for target. +cnetcheck_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetcheck_app +.PHONY : cnetcheck_app + +# fast build rule for target. +cnetcheck_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetcheck_app.dir/build.make objects/CMakeFiles/cnetcheck_app.dir/build +.PHONY : cnetcheck_app/fast + +#============================================================================= +# Target rules for targets named percent_app + +# Build rule for target. +percent_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 percent_app +.PHONY : percent_app + +# fast build rule for target. +percent_app/fast: + $(MAKE) -f objects/CMakeFiles/percent_app.dir/build.make objects/CMakeFiles/percent_app.dir/build +.PHONY : percent_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AlbedoAtm + +# Build rule for target. +isis3_unit_test_AlbedoAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AlbedoAtm +.PHONY : isis3_unit_test_AlbedoAtm + +# fast build rule for target. +isis3_unit_test_AlbedoAtm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AlbedoAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_AlbedoAtm.dir/build +.PHONY : isis3_unit_test_AlbedoAtm/fast + +#============================================================================= +# Target rules for targets named isis3 + +# Build rule for target. +isis3: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3 +.PHONY : isis3 + +# fast build rule for target. +isis3/fast: + $(MAKE) -f objects/CMakeFiles/isis3.dir/build.make objects/CMakeFiles/isis3.dir/build +.PHONY : isis3/fast + +#============================================================================= +# Target rules for targets named NewHorizonsLeisaCamera + +# Build rule for target. +NewHorizonsLeisaCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsLeisaCamera +.PHONY : NewHorizonsLeisaCamera + +# fast build rule for target. +NewHorizonsLeisaCamera/fast: + $(MAKE) -f objects/CMakeFiles/NewHorizonsLeisaCamera.dir/build.make objects/CMakeFiles/NewHorizonsLeisaCamera.dir/build +.PHONY : NewHorizonsLeisaCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PushFrameCameraGroundMap + +# Build rule for target. +isis3_unit_test_PushFrameCameraGroundMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraGroundMap +.PHONY : isis3_unit_test_PushFrameCameraGroundMap + +# fast build rule for target. +isis3_unit_test_PushFrameCameraGroundMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraGroundMap.dir/build +.PHONY : isis3_unit_test_PushFrameCameraGroundMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BufferManager + +# Build rule for target. +isis3_unit_test_BufferManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BufferManager +.PHONY : isis3_unit_test_BufferManager + +# fast build rule for target. +isis3_unit_test_BufferManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BufferManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BufferManager.dir/build +.PHONY : isis3_unit_test_BufferManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeAttribute + +# Build rule for target. +isis3_unit_test_CubeAttribute: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeAttribute +.PHONY : isis3_unit_test_CubeAttribute + +# fast build rule for target. +isis3_unit_test_CubeAttribute/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeAttribute.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeAttribute.dir/build +.PHONY : isis3_unit_test_CubeAttribute/fast + +#============================================================================= +# Target rules for targets named gaussstretch_app + +# Build rule for target. +gaussstretch_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gaussstretch_app +.PHONY : gaussstretch_app + +# fast build rule for target. +gaussstretch_app/fast: + $(MAKE) -f objects/CMakeFiles/gaussstretch_app.dir/build.make objects/CMakeFiles/gaussstretch_app.dir/build +.PHONY : gaussstretch_app/fast + +#============================================================================= +# Target rules for targets named MinnaertEmpirical + +# Build rule for target. +MinnaertEmpirical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 MinnaertEmpirical +.PHONY : MinnaertEmpirical + +# fast build rule for target. +MinnaertEmpirical/fast: + $(MAKE) -f objects/CMakeFiles/MinnaertEmpirical.dir/build.make objects/CMakeFiles/MinnaertEmpirical.dir/build +.PHONY : MinnaertEmpirical/fast + +#============================================================================= +# Target rules for targets named hicubeit_app + +# Build rule for target. +hicubeit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicubeit_app +.PHONY : hicubeit_app + +# fast build rule for target. +hicubeit_app/fast: + $(MAKE) -f objects/CMakeFiles/hicubeit_app.dir/build.make objects/CMakeFiles/hicubeit_app.dir/build +.PHONY : hicubeit_app/fast + +#============================================================================= +# Target rules for targets named lopdsgen_app + +# Build rule for target. +lopdsgen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 lopdsgen_app +.PHONY : lopdsgen_app + +# fast build rule for target. +lopdsgen_app/fast: + $(MAKE) -f objects/CMakeFiles/lopdsgen_app.dir/build.make objects/CMakeFiles/lopdsgen_app.dir/build +.PHONY : lopdsgen_app/fast + +#============================================================================= +# Target rules for targets named cnetedit_app + +# Build rule for target. +cnetedit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetedit_app +.PHONY : cnetedit_app + +# fast build rule for target. +cnetedit_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetedit_app.dir/build.make objects/CMakeFiles/cnetedit_app.dir/build +.PHONY : cnetedit_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Kernel + +# Build rule for target. +isis3_unit_test_Kernel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Kernel +.PHONY : isis3_unit_test_Kernel + +# fast build rule for target. +isis3_unit_test_Kernel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Kernel.dir/build.make objects/CMakeFiles/isis3_unit_test_Kernel.dir/build +.PHONY : isis3_unit_test_Kernel/fast + +#============================================================================= +# Target rules for targets named fillgap_app + +# Build rule for target. +fillgap_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fillgap_app +.PHONY : fillgap_app + +# fast build rule for target. +fillgap_app/fast: + $(MAKE) -f objects/CMakeFiles/fillgap_app.dir/build.make objects/CMakeFiles/fillgap_app.dir/build +.PHONY : fillgap_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Basis1VariableFunction + +# Build rule for target. +isis3_unit_test_Basis1VariableFunction: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Basis1VariableFunction +.PHONY : isis3_unit_test_Basis1VariableFunction + +# fast build rule for target. +isis3_unit_test_Basis1VariableFunction/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Basis1VariableFunction.dir/build.make objects/CMakeFiles/isis3_unit_test_Basis1VariableFunction.dir/build +.PHONY : isis3_unit_test_Basis1VariableFunction/fast + +#============================================================================= +# Target rules for targets named cassini_unit_test_IssNACamera + +# Build rule for target. +cassini_unit_test_IssNACamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_IssNACamera +.PHONY : cassini_unit_test_IssNACamera + +# fast build rule for target. +cassini_unit_test_IssNACamera/fast: + $(MAKE) -f objects/CMakeFiles/cassini_unit_test_IssNACamera.dir/build.make objects/CMakeFiles/cassini_unit_test_IssNACamera.dir/build +.PHONY : cassini_unit_test_IssNACamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Blobber + +# Build rule for target. +isis3_unit_test_Blobber: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Blobber +.PHONY : isis3_unit_test_Blobber + +# fast build rule for target. +isis3_unit_test_Blobber/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Blobber.dir/build.make objects/CMakeFiles/isis3_unit_test_Blobber.dir/build +.PHONY : isis3_unit_test_Blobber/fast + +#============================================================================= +# Target rules for targets named VimsCamera + +# Build rule for target. +VimsCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 VimsCamera +.PHONY : VimsCamera + +# fast build rule for target. +VimsCamera/fast: + $(MAKE) -f objects/CMakeFiles/VimsCamera.dir/build.make objects/CMakeFiles/VimsCamera.dir/build +.PHONY : VimsCamera/fast + +#============================================================================= +# Target rules for targets named cnetref_app + +# Build rule for target. +cnetref_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetref_app +.PHONY : cnetref_app + +# fast build rule for target. +cnetref_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetref_app.dir/build.make objects/CMakeFiles/cnetref_app.dir/build +.PHONY : cnetref_app/fast + +#============================================================================= +# Target rules for targets named specpix_app + +# Build rule for target. +specpix_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 specpix_app +.PHONY : specpix_app + +# fast build rule for target. +specpix_app/fast: + $(MAKE) -f objects/CMakeFiles/specpix_app.dir/build.make objects/CMakeFiles/specpix_app.dir/build +.PHONY : specpix_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BoxcarCachingAlgorithm + +# Build rule for target. +isis3_unit_test_BoxcarCachingAlgorithm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BoxcarCachingAlgorithm +.PHONY : isis3_unit_test_BoxcarCachingAlgorithm + +# fast build rule for target. +isis3_unit_test_BoxcarCachingAlgorithm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BoxcarCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_BoxcarCachingAlgorithm.dir/build +.PHONY : isis3_unit_test_BoxcarCachingAlgorithm/fast + +#============================================================================= +# Target rules for targets named ctxevenodd_app + +# Build rule for target. +ctxevenodd_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ctxevenodd_app +.PHONY : ctxevenodd_app + +# fast build rule for target. +ctxevenodd_app/fast: + $(MAKE) -f objects/CMakeFiles/ctxevenodd_app.dir/build.make objects/CMakeFiles/ctxevenodd_app.dir/build +.PHONY : ctxevenodd_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Calculator + +# Build rule for target. +isis3_unit_test_Calculator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Calculator +.PHONY : isis3_unit_test_Calculator + +# fast build rule for target. +isis3_unit_test_Calculator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Calculator.dir/build.make objects/CMakeFiles/isis3_unit_test_Calculator.dir/build +.PHONY : isis3_unit_test_Calculator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EquatorialCylindricalShape + +# Build rule for target. +isis3_unit_test_EquatorialCylindricalShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EquatorialCylindricalShape +.PHONY : isis3_unit_test_EquatorialCylindricalShape + +# fast build rule for target. +isis3_unit_test_EquatorialCylindricalShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EquatorialCylindricalShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EquatorialCylindricalShape.dir/build +.PHONY : isis3_unit_test_EquatorialCylindricalShape/fast + +#============================================================================= +# Target rules for targets named spiceinit_app + +# Build rule for target. +spiceinit_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 spiceinit_app +.PHONY : spiceinit_app + +# fast build rule for target. +spiceinit_app/fast: + $(MAKE) -f objects/CMakeFiles/spiceinit_app.dir/build.make objects/CMakeFiles/spiceinit_app.dir/build +.PHONY : spiceinit_app/fast + +#============================================================================= +# Target rules for targets named photrim_app + +# Build rule for target. +photrim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 photrim_app +.PHONY : photrim_app + +# fast build rule for target. +photrim_app/fast: + $(MAKE) -f objects/CMakeFiles/photrim_app.dir/build.make objects/CMakeFiles/photrim_app.dir/build +.PHONY : photrim_app/fast + +#============================================================================= +# Target rules for targets named Robinson + +# Build rule for target. +Robinson: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Robinson +.PHONY : Robinson + +# fast build rule for target. +Robinson/fast: + $(MAKE) -f objects/CMakeFiles/Robinson.dir/build.make objects/CMakeFiles/Robinson.dir/build +.PHONY : Robinson/fast + +#============================================================================= +# Target rules for targets named deriv_app + +# Build rule for target. +deriv_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 deriv_app +.PHONY : deriv_app + +# fast build rule for target. +deriv_app/fast: + $(MAKE) -f objects/CMakeFiles/deriv_app.dir/build.make objects/CMakeFiles/deriv_app.dir/build +.PHONY : deriv_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Brick + +# Build rule for target. +isis3_unit_test_Brick: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Brick +.PHONY : isis3_unit_test_Brick + +# fast build rule for target. +isis3_unit_test_Brick/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Brick.dir/build.make objects/CMakeFiles/isis3_unit_test_Brick.dir/build +.PHONY : isis3_unit_test_Brick/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Buffer + +# Build rule for target. +isis3_unit_test_Buffer: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Buffer +.PHONY : isis3_unit_test_Buffer + +# fast build rule for target. +isis3_unit_test_Buffer/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Buffer.dir/build.make objects/CMakeFiles/isis3_unit_test_Buffer.dir/build +.PHONY : isis3_unit_test_Buffer/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNetVersioner + +# Build rule for target. +isis3_unit_test_ControlNetVersioner: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetVersioner +.PHONY : isis3_unit_test_ControlNetVersioner + +# fast build rule for target. +isis3_unit_test_ControlNetVersioner/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetVersioner.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetVersioner.dir/build +.PHONY : isis3_unit_test_ControlNetVersioner/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Anisotropic1 + +# Build rule for target. +isis3_unit_test_Anisotropic1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Anisotropic1 +.PHONY : isis3_unit_test_Anisotropic1 + +# fast build rule for target. +isis3_unit_test_Anisotropic1/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Anisotropic1.dir/build.make objects/CMakeFiles/isis3_unit_test_Anisotropic1.dir/build +.PHONY : isis3_unit_test_Anisotropic1/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineScanCameraDetectorMap + +# Build rule for target. +isis3_unit_test_LineScanCameraDetectorMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraDetectorMap +.PHONY : isis3_unit_test_LineScanCameraDetectorMap + +# fast build rule for target. +isis3_unit_test_LineScanCameraDetectorMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraDetectorMap.dir/build +.PHONY : isis3_unit_test_LineScanCameraDetectorMap/fast + +#============================================================================= +# Target rules for targets named shadowtau_app + +# Build rule for target. +shadowtau_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 shadowtau_app +.PHONY : shadowtau_app + +# fast build rule for target. +shadowtau_app/fast: + $(MAKE) -f objects/CMakeFiles/shadowtau_app.dir/build.make objects/CMakeFiles/shadowtau_app.dir/build +.PHONY : shadowtau_app/fast + +#============================================================================= +# Target rules for targets named Anisotropic1 + +# Build rule for target. +Anisotropic1: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Anisotropic1 +.PHONY : Anisotropic1 + +# fast build rule for target. +Anisotropic1/fast: + $(MAKE) -f objects/CMakeFiles/Anisotropic1.dir/build.make objects/CMakeFiles/Anisotropic1.dir/build +.PHONY : Anisotropic1/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AtmosModelFactory + +# Build rule for target. +isis3_unit_test_AtmosModelFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AtmosModelFactory +.PHONY : isis3_unit_test_AtmosModelFactory + +# fast build rule for target. +isis3_unit_test_AtmosModelFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AtmosModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_AtmosModelFactory.dir/build +.PHONY : isis3_unit_test_AtmosModelFactory/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Blob + +# Build rule for target. +isis3_unit_test_Blob: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Blob +.PHONY : isis3_unit_test_Blob + +# fast build rule for target. +isis3_unit_test_Blob/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Blob.dir/build.make objects/CMakeFiles/isis3_unit_test_Blob.dir/build +.PHONY : isis3_unit_test_Blob/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpicePosition + +# Build rule for target. +isis3_unit_test_SpicePosition: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpicePosition +.PHONY : isis3_unit_test_SpicePosition + +# fast build rule for target. +isis3_unit_test_SpicePosition/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpicePosition.dir/build.make objects/CMakeFiles/isis3_unit_test_SpicePosition.dir/build +.PHONY : isis3_unit_test_SpicePosition/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BundleSolutionInfo + +# Build rule for target. +isis3_unit_test_BundleSolutionInfo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleSolutionInfo +.PHONY : isis3_unit_test_BundleSolutionInfo + +# fast build rule for target. +isis3_unit_test_BundleSolutionInfo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleSolutionInfo.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleSolutionInfo.dir/build +.PHONY : isis3_unit_test_BundleSolutionInfo/fast + +#============================================================================= +# Target rules for targets named gauss_app + +# Build rule for target. +gauss_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gauss_app +.PHONY : gauss_app + +# fast build rule for target. +gauss_app/fast: + $(MAKE) -f objects/CMakeFiles/gauss_app.dir/build.make objects/CMakeFiles/gauss_app.dir/build +.PHONY : gauss_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BulletDskShape + +# Build rule for target. +isis3_unit_test_BulletDskShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletDskShape +.PHONY : isis3_unit_test_BulletDskShape + +# fast build rule for target. +isis3_unit_test_BulletDskShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletDskShape.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletDskShape.dir/build +.PHONY : isis3_unit_test_BulletDskShape/fast + +#============================================================================= +# Target rules for targets named cubediff_app + +# Build rule for target. +cubediff_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubediff_app +.PHONY : cubediff_app + +# fast build rule for target. +cubediff_app/fast: + $(MAKE) -f objects/CMakeFiles/cubediff_app.dir/build.make objects/CMakeFiles/cubediff_app.dir/build +.PHONY : cubediff_app/fast + +#============================================================================= +# Target rules for targets named Minnaert + +# Build rule for target. +Minnaert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Minnaert +.PHONY : Minnaert + +# fast build rule for target. +Minnaert/fast: + $(MAKE) -f objects/CMakeFiles/Minnaert.dir/build.make objects/CMakeFiles/Minnaert.dir/build +.PHONY : Minnaert/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BulletShapeModel + +# Build rule for target. +isis3_unit_test_BulletShapeModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletShapeModel +.PHONY : isis3_unit_test_BulletShapeModel + +# fast build rule for target. +isis3_unit_test_BulletShapeModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletShapeModel.dir/build +.PHONY : isis3_unit_test_BulletShapeModel/fast + +#============================================================================= +# Target rules for targets named std2isis_app + +# Build rule for target. +std2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 std2isis_app +.PHONY : std2isis_app + +# fast build rule for target. +std2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/std2isis_app.dir/build.make objects/CMakeFiles/std2isis_app.dir/build +.PHONY : std2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TileManager + +# Build rule for target. +isis3_unit_test_TileManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TileManager +.PHONY : isis3_unit_test_TileManager + +# fast build rule for target. +isis3_unit_test_TileManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TileManager.dir/build.make objects/CMakeFiles/isis3_unit_test_TileManager.dir/build +.PHONY : isis3_unit_test_TileManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BulletTargetShape + +# Build rule for target. +isis3_unit_test_BulletTargetShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletTargetShape +.PHONY : isis3_unit_test_BulletTargetShape + +# fast build rule for target. +isis3_unit_test_BulletTargetShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletTargetShape.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletTargetShape.dir/build +.PHONY : isis3_unit_test_BulletTargetShape/fast + +#============================================================================= +# Target rules for targets named caminfo_app + +# Build rule for target. +caminfo_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 caminfo_app +.PHONY : caminfo_app + +# fast build rule for target. +caminfo_app/fast: + $(MAKE) -f objects/CMakeFiles/caminfo_app.dir/build.make objects/CMakeFiles/caminfo_app.dir/build +.PHONY : caminfo_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Camera + +# Build rule for target. +isis3_unit_test_Camera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Camera +.PHONY : isis3_unit_test_Camera + +# fast build rule for target. +isis3_unit_test_Camera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Camera.dir/build.make objects/CMakeFiles/isis3_unit_test_Camera.dir/build +.PHONY : isis3_unit_test_Camera/fast + +#============================================================================= +# Target rules for targets named Mollweide + +# Build rule for target. +Mollweide: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Mollweide +.PHONY : Mollweide + +# fast build rule for target. +Mollweide/fast: + $(MAKE) -f objects/CMakeFiles/Mollweide.dir/build.make objects/CMakeFiles/Mollweide.dir/build +.PHONY : Mollweide/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Centroid + +# Build rule for target. +isis3_unit_test_Centroid: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Centroid +.PHONY : isis3_unit_test_Centroid + +# fast build rule for target. +isis3_unit_test_Centroid/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Centroid.dir/build.make objects/CMakeFiles/isis3_unit_test_Centroid.dir/build +.PHONY : isis3_unit_test_Centroid/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PixelFOV + +# Build rule for target. +isis3_unit_test_PixelFOV: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PixelFOV +.PHONY : isis3_unit_test_PixelFOV + +# fast build rule for target. +isis3_unit_test_PixelFOV/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PixelFOV.dir/build.make objects/CMakeFiles/isis3_unit_test_PixelFOV.dir/build +.PHONY : isis3_unit_test_PixelFOV/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Mollweide + +# Build rule for target. +isis3_unit_test_Mollweide: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mollweide +.PHONY : isis3_unit_test_Mollweide + +# fast build rule for target. +isis3_unit_test_Mollweide/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mollweide.dir/build.make objects/CMakeFiles/isis3_unit_test_Mollweide.dir/build +.PHONY : isis3_unit_test_Mollweide/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MoonAlbedo + +# Build rule for target. +isis3_unit_test_MoonAlbedo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MoonAlbedo +.PHONY : isis3_unit_test_MoonAlbedo + +# fast build rule for target. +isis3_unit_test_MoonAlbedo/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MoonAlbedo.dir/build.make objects/CMakeFiles/isis3_unit_test_MoonAlbedo.dir/build +.PHONY : isis3_unit_test_MoonAlbedo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_FourierTransform + +# Build rule for target. +isis3_unit_test_FourierTransform: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FourierTransform +.PHONY : isis3_unit_test_FourierTransform + +# fast build rule for target. +isis3_unit_test_FourierTransform/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FourierTransform.dir/build.make objects/CMakeFiles/isis3_unit_test_FourierTransform.dir/build +.PHONY : isis3_unit_test_FourierTransform/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NaifDskShape + +# Build rule for target. +isis3_unit_test_NaifDskShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskShape +.PHONY : isis3_unit_test_NaifDskShape + +# fast build rule for target. +isis3_unit_test_NaifDskShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskShape.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskShape.dir/build +.PHONY : isis3_unit_test_NaifDskShape/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpectralDefinition2D + +# Build rule for target. +isis3_unit_test_SpectralDefinition2D: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition2D +.PHONY : isis3_unit_test_SpectralDefinition2D + +# fast build rule for target. +isis3_unit_test_SpectralDefinition2D/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition2D.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition2D.dir/build +.PHONY : isis3_unit_test_SpectralDefinition2D/fast + +#============================================================================= +# Target rules for targets named dawnvir2isis_app + +# Build rule for target. +dawnvir2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dawnvir2isis_app +.PHONY : dawnvir2isis_app + +# fast build rule for target. +dawnvir2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/dawnvir2isis_app.dir/build.make objects/CMakeFiles/dawnvir2isis_app.dir/build +.PHONY : dawnvir2isis_app/fast + +#============================================================================= +# Target rules for targets named Chandrayaan1M3Camera + +# Build rule for target. +Chandrayaan1M3Camera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Chandrayaan1M3Camera +.PHONY : Chandrayaan1M3Camera + +# fast build rule for target. +Chandrayaan1M3Camera/fast: + $(MAKE) -f objects/CMakeFiles/Chandrayaan1M3Camera.dir/build.make objects/CMakeFiles/Chandrayaan1M3Camera.dir/build +.PHONY : Chandrayaan1M3Camera/fast + +#============================================================================= +# Target rules for targets named ratio_app + +# Build rule for target. +ratio_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ratio_app +.PHONY : ratio_app + +# fast build rule for target. +ratio_app/fast: + $(MAKE) -f objects/CMakeFiles/ratio_app.dir/build.make objects/CMakeFiles/ratio_app.dir/build +.PHONY : ratio_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NoNormalization + +# Build rule for target. +isis3_unit_test_NoNormalization: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NoNormalization +.PHONY : isis3_unit_test_NoNormalization + +# fast build rule for target. +isis3_unit_test_NoNormalization/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NoNormalization.dir/build.make objects/CMakeFiles/isis3_unit_test_NoNormalization.dir/build +.PHONY : isis3_unit_test_NoNormalization/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NoOperator + +# Build rule for target. +isis3_unit_test_NoOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NoOperator +.PHONY : isis3_unit_test_NoOperator + +# fast build rule for target. +isis3_unit_test_NoOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NoOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_NoOperator.dir/build +.PHONY : isis3_unit_test_NoOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TProjection + +# Build rule for target. +isis3_unit_test_TProjection: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TProjection +.PHONY : isis3_unit_test_TProjection + +# fast build rule for target. +isis3_unit_test_TProjection/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TProjection.dir/build.make objects/CMakeFiles/isis3_unit_test_TProjection.dir/build +.PHONY : isis3_unit_test_TProjection/fast + +#============================================================================= +# Target rules for targets named apollo_unit_test_ApolloPanoramicCamera + +# Build rule for target. +apollo_unit_test_ApolloPanoramicCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_ApolloPanoramicCamera +.PHONY : apollo_unit_test_ApolloPanoramicCamera + +# fast build rule for target. +apollo_unit_test_ApolloPanoramicCamera/fast: + $(MAKE) -f objects/CMakeFiles/apollo_unit_test_ApolloPanoramicCamera.dir/build.make objects/CMakeFiles/apollo_unit_test_ApolloPanoramicCamera.dir/build +.PHONY : apollo_unit_test_ApolloPanoramicCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NormModel + +# Build rule for target. +isis3_unit_test_NormModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NormModel +.PHONY : isis3_unit_test_NormModel + +# fast build rule for target. +isis3_unit_test_NormModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NormModel.dir/build.make objects/CMakeFiles/isis3_unit_test_NormModel.dir/build +.PHONY : isis3_unit_test_NormModel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NormModelFactory + +# Build rule for target. +isis3_unit_test_NormModelFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NormModelFactory +.PHONY : isis3_unit_test_NormModelFactory + +# fast build rule for target. +isis3_unit_test_NormModelFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NormModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_NormModelFactory.dir/build +.PHONY : isis3_unit_test_NormModelFactory/fast + +#============================================================================= +# Target rules for targets named stats_app + +# Build rule for target. +stats_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 stats_app +.PHONY : stats_app + +# fast build rule for target. +stats_app/fast: + $(MAKE) -f objects/CMakeFiles/stats_app.dir/build.make objects/CMakeFiles/stats_app.dir/build +.PHONY : stats_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LeastSquares + +# Build rule for target. +isis3_unit_test_LeastSquares: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LeastSquares +.PHONY : isis3_unit_test_LeastSquares + +# fast build rule for target. +isis3_unit_test_LeastSquares/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LeastSquares.dir/build.make objects/CMakeFiles/isis3_unit_test_LeastSquares.dir/build +.PHONY : isis3_unit_test_LeastSquares/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Sensor + +# Build rule for target. +isis3_unit_test_Sensor: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Sensor +.PHONY : isis3_unit_test_Sensor + +# fast build rule for target. +isis3_unit_test_Sensor/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Sensor.dir/build.make objects/CMakeFiles/isis3_unit_test_Sensor.dir/build +.PHONY : isis3_unit_test_Sensor/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NumericalApproximation + +# Build rule for target. +isis3_unit_test_NumericalApproximation: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NumericalApproximation +.PHONY : isis3_unit_test_NumericalApproximation + +# fast build rule for target. +isis3_unit_test_NumericalApproximation/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NumericalApproximation.dir/build.make objects/CMakeFiles/isis3_unit_test_NumericalApproximation.dir/build +.PHONY : isis3_unit_test_NumericalApproximation/fast + +#============================================================================= +# Target rules for targets named hicubenorm_app + +# Build rule for target. +hicubenorm_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hicubenorm_app +.PHONY : hicubenorm_app + +# fast build rule for target. +hicubenorm_app/fast: + $(MAKE) -f objects/CMakeFiles/hicubenorm_app.dir/build.make objects/CMakeFiles/hicubenorm_app.dir/build +.PHONY : hicubenorm_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Lambert + +# Build rule for target. +isis3_unit_test_Lambert: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Lambert +.PHONY : isis3_unit_test_Lambert + +# fast build rule for target. +isis3_unit_test_Lambert/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Lambert.dir/build.make objects/CMakeFiles/isis3_unit_test_Lambert.dir/build +.PHONY : isis3_unit_test_Lambert/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PixelType + +# Build rule for target. +isis3_unit_test_PixelType: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PixelType +.PHONY : isis3_unit_test_PixelType + +# fast build rule for target. +isis3_unit_test_PixelType/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PixelType.dir/build.make objects/CMakeFiles/isis3_unit_test_PixelType.dir/build +.PHONY : isis3_unit_test_PixelType/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TableRecord + +# Build rule for target. +isis3_unit_test_TableRecord: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TableRecord +.PHONY : isis3_unit_test_TableRecord + +# fast build rule for target. +isis3_unit_test_TableRecord/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TableRecord.dir/build.make objects/CMakeFiles/isis3_unit_test_TableRecord.dir/build +.PHONY : isis3_unit_test_TableRecord/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SubArea + +# Build rule for target. +isis3_unit_test_SubArea: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SubArea +.PHONY : isis3_unit_test_SubArea + +# fast build rule for target. +isis3_unit_test_SubArea/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SubArea.dir/build.make objects/CMakeFiles/isis3_unit_test_SubArea.dir/build +.PHONY : isis3_unit_test_SubArea/fast + +#============================================================================= +# Target rules for targets named socetlinescankeywords_app + +# Build rule for target. +socetlinescankeywords_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 socetlinescankeywords_app +.PHONY : socetlinescankeywords_app + +# fast build rule for target. +socetlinescankeywords_app/fast: + $(MAKE) -f objects/CMakeFiles/socetlinescankeywords_app.dir/build.make objects/CMakeFiles/socetlinescankeywords_app.dir/build +.PHONY : socetlinescankeywords_app/fast + +#============================================================================= +# Target rules for targets named blobdump_app + +# Build rule for target. +blobdump_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 blobdump_app +.PHONY : blobdump_app + +# fast build rule for target. +blobdump_app/fast: + $(MAKE) -f objects/CMakeFiles/blobdump_app.dir/build.make objects/CMakeFiles/blobdump_app.dir/build +.PHONY : blobdump_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ObservationNumber + +# Build rule for target. +isis3_unit_test_ObservationNumber: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObservationNumber +.PHONY : isis3_unit_test_ObservationNumber + +# fast build rule for target. +isis3_unit_test_ObservationNumber/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObservationNumber.dir/build.make objects/CMakeFiles/isis3_unit_test_ObservationNumber.dir/build +.PHONY : isis3_unit_test_ObservationNumber/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ObservationNumberList + +# Build rule for target. +isis3_unit_test_ObservationNumberList: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObservationNumberList +.PHONY : isis3_unit_test_ObservationNumberList + +# fast build rule for target. +isis3_unit_test_ObservationNumberList/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObservationNumberList.dir/build.make objects/CMakeFiles/isis3_unit_test_ObservationNumberList.dir/build +.PHONY : isis3_unit_test_ObservationNumberList/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Orthographic + +# Build rule for target. +isis3_unit_test_Orthographic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Orthographic +.PHONY : isis3_unit_test_Orthographic + +# fast build rule for target. +isis3_unit_test_Orthographic/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Orthographic.dir/build.make objects/CMakeFiles/isis3_unit_test_Orthographic.dir/build +.PHONY : isis3_unit_test_Orthographic/fast + +#============================================================================= +# Target rules for targets named NewHorizonsLorriCamera + +# Build rule for target. +NewHorizonsLorriCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsLorriCamera +.PHONY : NewHorizonsLorriCamera + +# fast build rule for target. +NewHorizonsLorriCamera/fast: + $(MAKE) -f objects/CMakeFiles/NewHorizonsLorriCamera.dir/build.make objects/CMakeFiles/NewHorizonsLorriCamera.dir/build +.PHONY : NewHorizonsLorriCamera/fast + +#============================================================================= +# Target rules for targets named mdiscal_app + +# Build rule for target. +mdiscal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdiscal_app +.PHONY : mdiscal_app + +# fast build rule for target. +mdiscal_app/fast: + $(MAKE) -f objects/CMakeFiles/mdiscal_app.dir/build.make objects/CMakeFiles/mdiscal_app.dir/build +.PHONY : mdiscal_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_OverlapStatistics + +# Build rule for target. +isis3_unit_test_OverlapStatistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OverlapStatistics +.PHONY : isis3_unit_test_OverlapStatistics + +# fast build rule for target. +isis3_unit_test_OverlapStatistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OverlapStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_OverlapStatistics.dir/build +.PHONY : isis3_unit_test_OverlapStatistics/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Parabola + +# Build rule for target. +isis3_unit_test_Parabola: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Parabola +.PHONY : isis3_unit_test_Parabola + +# fast build rule for target. +isis3_unit_test_Parabola/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Parabola.dir/build.make objects/CMakeFiles/isis3_unit_test_Parabola.dir/build +.PHONY : isis3_unit_test_Parabola/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PhotoModel + +# Build rule for target. +isis3_unit_test_PhotoModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PhotoModel +.PHONY : isis3_unit_test_PhotoModel + +# fast build rule for target. +isis3_unit_test_PhotoModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PhotoModel.dir/build.make objects/CMakeFiles/isis3_unit_test_PhotoModel.dir/build +.PHONY : isis3_unit_test_PhotoModel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadialDistortionMap + +# Build rule for target. +isis3_unit_test_RadialDistortionMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadialDistortionMap +.PHONY : isis3_unit_test_RadialDistortionMap + +# fast build rule for target. +isis3_unit_test_RadialDistortionMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadialDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadialDistortionMap.dir/build +.PHONY : isis3_unit_test_RadialDistortionMap/fast + +#============================================================================= +# Target rules for targets named viknosalt_app + +# Build rule for target. +viknosalt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 viknosalt_app +.PHONY : viknosalt_app + +# fast build rule for target. +viknosalt_app/fast: + $(MAKE) -f objects/CMakeFiles/viknosalt_app.dir/build.make objects/CMakeFiles/viknosalt_app.dir/build +.PHONY : viknosalt_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PhotoModelFactory + +# Build rule for target. +isis3_unit_test_PhotoModelFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PhotoModelFactory +.PHONY : isis3_unit_test_PhotoModelFactory + +# fast build rule for target. +isis3_unit_test_PhotoModelFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PhotoModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_PhotoModelFactory.dir/build +.PHONY : isis3_unit_test_PhotoModelFactory/fast + +#============================================================================= +# Target rules for targets named cnetextract_app + +# Build rule for target. +cnetextract_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cnetextract_app +.PHONY : cnetextract_app + +# fast build rule for target. +cnetextract_app/fast: + $(MAKE) -f objects/CMakeFiles/cnetextract_app.dir/build.make objects/CMakeFiles/cnetextract_app.dir/build +.PHONY : cnetextract_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessByQuickFilter + +# Build rule for target. +isis3_unit_test_ProcessByQuickFilter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByQuickFilter +.PHONY : isis3_unit_test_ProcessByQuickFilter + +# fast build rule for target. +isis3_unit_test_ProcessByQuickFilter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByQuickFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByQuickFilter.dir/build +.PHONY : isis3_unit_test_ProcessByQuickFilter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SqlRecord + +# Build rule for target. +isis3_unit_test_SqlRecord: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SqlRecord +.PHONY : isis3_unit_test_SqlRecord + +# fast build rule for target. +isis3_unit_test_SqlRecord/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SqlRecord.dir/build.make objects/CMakeFiles/isis3_unit_test_SqlRecord.dir/build +.PHONY : isis3_unit_test_SqlRecord/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Photometry + +# Build rule for target. +isis3_unit_test_Photometry: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Photometry +.PHONY : isis3_unit_test_Photometry + +# fast build rule for target. +isis3_unit_test_Photometry/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Photometry.dir/build.make objects/CMakeFiles/isis3_unit_test_Photometry.dir/build +.PHONY : isis3_unit_test_Photometry/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Pixel + +# Build rule for target. +isis3_unit_test_Pixel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pixel +.PHONY : isis3_unit_test_Pixel + +# fast build rule for target. +isis3_unit_test_Pixel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pixel.dir/build.make objects/CMakeFiles/isis3_unit_test_Pixel.dir/build +.PHONY : isis3_unit_test_Pixel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PlaneShape + +# Build rule for target. +isis3_unit_test_PlaneShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PlaneShape +.PHONY : isis3_unit_test_PlaneShape + +# fast build rule for target. +isis3_unit_test_PlaneShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PlaneShape.dir/build.make objects/CMakeFiles/isis3_unit_test_PlaneShape.dir/build +.PHONY : isis3_unit_test_PlaneShape/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Plugin + +# Build rule for target. +isis3_unit_test_Plugin: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Plugin +.PHONY : isis3_unit_test_Plugin + +# fast build rule for target. +isis3_unit_test_Plugin/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Plugin.dir/build.make objects/CMakeFiles/isis3_unit_test_Plugin.dir/build +.PHONY : isis3_unit_test_Plugin/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PointPerspective + +# Build rule for target. +isis3_unit_test_PointPerspective: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PointPerspective +.PHONY : isis3_unit_test_PointPerspective + +# fast build rule for target. +isis3_unit_test_PointPerspective/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PointPerspective.dir/build.make objects/CMakeFiles/isis3_unit_test_PointPerspective.dir/build +.PHONY : isis3_unit_test_PointPerspective/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNetStatistics + +# Build rule for target. +isis3_unit_test_ControlNetStatistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetStatistics +.PHONY : isis3_unit_test_ControlNetStatistics + +# fast build rule for target. +isis3_unit_test_ControlNetStatistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetStatistics.dir/build +.PHONY : isis3_unit_test_ControlNetStatistics/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ShapeModel + +# Build rule for target. +isis3_unit_test_ShapeModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShapeModel +.PHONY : isis3_unit_test_ShapeModel + +# fast build rule for target. +isis3_unit_test_ShapeModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_ShapeModel.dir/build +.PHONY : isis3_unit_test_ShapeModel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_CubeCachingAlgorithm + +# Build rule for target. +isis3_unit_test_CubeCachingAlgorithm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeCachingAlgorithm +.PHONY : isis3_unit_test_CubeCachingAlgorithm + +# fast build rule for target. +isis3_unit_test_CubeCachingAlgorithm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeCachingAlgorithm.dir/build +.PHONY : isis3_unit_test_CubeCachingAlgorithm/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessRubberSheet + +# Build rule for target. +isis3_unit_test_ProcessRubberSheet: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessRubberSheet +.PHONY : isis3_unit_test_ProcessRubberSheet + +# fast build rule for target. +isis3_unit_test_ProcessRubberSheet/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessRubberSheet.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessRubberSheet.dir/build +.PHONY : isis3_unit_test_ProcessRubberSheet/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_EndianSwapper + +# Build rule for target. +isis3_unit_test_EndianSwapper: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EndianSwapper +.PHONY : isis3_unit_test_EndianSwapper + +# fast build rule for target. +isis3_unit_test_EndianSwapper/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EndianSwapper.dir/build.make objects/CMakeFiles/isis3_unit_test_EndianSwapper.dir/build +.PHONY : isis3_unit_test_EndianSwapper/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolynomialBivariate + +# Build rule for target. +isis3_unit_test_PolynomialBivariate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolynomialBivariate +.PHONY : isis3_unit_test_PolynomialBivariate + +# fast build rule for target. +isis3_unit_test_PolynomialBivariate/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolynomialBivariate.dir/build.make objects/CMakeFiles/isis3_unit_test_PolynomialBivariate.dir/build +.PHONY : isis3_unit_test_PolynomialBivariate/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Robinson + +# Build rule for target. +isis3_unit_test_Robinson: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Robinson +.PHONY : isis3_unit_test_Robinson + +# fast build rule for target. +isis3_unit_test_Robinson/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Robinson.dir/build.make objects/CMakeFiles/isis3_unit_test_Robinson.dir/build +.PHONY : isis3_unit_test_Robinson/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolynomialUnivariate + +# Build rule for target. +isis3_unit_test_PolynomialUnivariate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolynomialUnivariate +.PHONY : isis3_unit_test_PolynomialUnivariate + +# fast build rule for target. +isis3_unit_test_PolynomialUnivariate/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolynomialUnivariate.dir/build.make objects/CMakeFiles/isis3_unit_test_PolynomialUnivariate.dir/build +.PHONY : isis3_unit_test_PolynomialUnivariate/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Target + +# Build rule for target. +isis3_unit_test_Target: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Target +.PHONY : isis3_unit_test_Target + +# fast build rule for target. +isis3_unit_test_Target/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Target.dir/build.make objects/CMakeFiles/isis3_unit_test_Target.dir/build +.PHONY : isis3_unit_test_Target/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BundleSettings + +# Build rule for target. +isis3_unit_test_BundleSettings: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleSettings +.PHONY : isis3_unit_test_BundleSettings + +# fast build rule for target. +isis3_unit_test_BundleSettings/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleSettings.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleSettings.dir/build +.PHONY : isis3_unit_test_BundleSettings/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RingCylindrical + +# Build rule for target. +isis3_unit_test_RingCylindrical: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RingCylindrical +.PHONY : isis3_unit_test_RingCylindrical + +# fast build rule for target. +isis3_unit_test_RingCylindrical/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RingCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_RingCylindrical.dir/build +.PHONY : isis3_unit_test_RingCylindrical/fast + +#============================================================================= +# Target rules for targets named Anisotropic2 + +# Build rule for target. +Anisotropic2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Anisotropic2 +.PHONY : Anisotropic2 + +# fast build rule for target. +Anisotropic2/fast: + $(MAKE) -f objects/CMakeFiles/Anisotropic2.dir/build.make objects/CMakeFiles/Anisotropic2.dir/build +.PHONY : Anisotropic2/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Portal + +# Build rule for target. +isis3_unit_test_Portal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Portal +.PHONY : isis3_unit_test_Portal + +# fast build rule for target. +isis3_unit_test_Portal/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Portal.dir/build.make objects/CMakeFiles/isis3_unit_test_Portal.dir/build +.PHONY : isis3_unit_test_Portal/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Preference + +# Build rule for target. +isis3_unit_test_Preference: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Preference +.PHONY : isis3_unit_test_Preference + +# fast build rule for target. +isis3_unit_test_Preference/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Preference.dir/build.make objects/CMakeFiles/isis3_unit_test_Preference.dir/build +.PHONY : isis3_unit_test_Preference/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessByBoxcar + +# Build rule for target. +isis3_unit_test_ProcessByBoxcar: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByBoxcar +.PHONY : isis3_unit_test_ProcessByBoxcar + +# fast build rule for target. +isis3_unit_test_ProcessByBoxcar/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByBoxcar.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByBoxcar.dir/build +.PHONY : isis3_unit_test_ProcessByBoxcar/fast + +#============================================================================= +# Target rules for targets named histeq_app + +# Build rule for target. +histeq_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 histeq_app +.PHONY : histeq_app + +# fast build rule for target. +histeq_app/fast: + $(MAKE) -f objects/CMakeFiles/histeq_app.dir/build.make objects/CMakeFiles/histeq_app.dir/build +.PHONY : histeq_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessByBrick + +# Build rule for target. +isis3_unit_test_ProcessByBrick: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByBrick +.PHONY : isis3_unit_test_ProcessByBrick + +# fast build rule for target. +isis3_unit_test_ProcessByBrick/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByBrick.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByBrick.dir/build +.PHONY : isis3_unit_test_ProcessByBrick/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessBySample + +# Build rule for target. +isis3_unit_test_ProcessBySample: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessBySample +.PHONY : isis3_unit_test_ProcessBySample + +# fast build rule for target. +isis3_unit_test_ProcessBySample/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessBySample.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessBySample.dir/build +.PHONY : isis3_unit_test_ProcessBySample/fast + +#============================================================================= +# Target rules for targets named isis2gml_app + +# Build rule for target. +isis2gml_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2gml_app +.PHONY : isis2gml_app + +# fast build rule for target. +isis2gml_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2gml_app.dir/build.make objects/CMakeFiles/isis2gml_app.dir/build +.PHONY : isis2gml_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessBySpectra + +# Build rule for target. +isis3_unit_test_ProcessBySpectra: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessBySpectra +.PHONY : isis3_unit_test_ProcessBySpectra + +# fast build rule for target. +isis3_unit_test_ProcessBySpectra/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessBySpectra.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessBySpectra.dir/build +.PHONY : isis3_unit_test_ProcessBySpectra/fast + +#============================================================================= +# Target rules for targets named blend_app + +# Build rule for target. +blend_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 blend_app +.PHONY : blend_app + +# fast build rule for target. +blend_app/fast: + $(MAKE) -f objects/CMakeFiles/blend_app.dir/build.make objects/CMakeFiles/blend_app.dir/build +.PHONY : blend_app/fast + +#============================================================================= +# Target rules for targets named findrx_app + +# Build rule for target. +findrx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 findrx_app +.PHONY : findrx_app + +# fast build rule for target. +findrx_app/fast: + $(MAKE) -f objects/CMakeFiles/findrx_app.dir/build.make objects/CMakeFiles/findrx_app.dir/build +.PHONY : findrx_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessExport + +# Build rule for target. +isis3_unit_test_ProcessExport: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExport +.PHONY : isis3_unit_test_ProcessExport + +# fast build rule for target. +isis3_unit_test_ProcessExport/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExport.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExport.dir/build +.PHONY : isis3_unit_test_ProcessExport/fast + +#============================================================================= +# Target rules for targets named cam2map_app + +# Build rule for target. +cam2map_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cam2map_app +.PHONY : cam2map_app + +# fast build rule for target. +cam2map_app/fast: + $(MAKE) -f objects/CMakeFiles/cam2map_app.dir/build.make objects/CMakeFiles/cam2map_app.dir/build +.PHONY : cam2map_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Hapke + +# Build rule for target. +isis3_unit_test_Hapke: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Hapke +.PHONY : isis3_unit_test_Hapke + +# fast build rule for target. +isis3_unit_test_Hapke/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Hapke.dir/build.make objects/CMakeFiles/isis3_unit_test_Hapke.dir/build +.PHONY : isis3_unit_test_Hapke/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessExportPds4 + +# Build rule for target. +isis3_unit_test_ProcessExportPds4: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExportPds4 +.PHONY : isis3_unit_test_ProcessExportPds4 + +# fast build rule for target. +isis3_unit_test_ProcessExportPds4/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExportPds4.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExportPds4.dir/build +.PHONY : isis3_unit_test_ProcessExportPds4/fast + +#============================================================================= +# Target rules for targets named kuwahara_app + +# Build rule for target. +kuwahara_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kuwahara_app +.PHONY : kuwahara_app + +# fast build rule for target. +kuwahara_app/fast: + $(MAKE) -f objects/CMakeFiles/kuwahara_app.dir/build.make objects/CMakeFiles/kuwahara_app.dir/build +.PHONY : kuwahara_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessGroundPolygons + +# Build rule for target. +isis3_unit_test_ProcessGroundPolygons: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessGroundPolygons +.PHONY : isis3_unit_test_ProcessGroundPolygons + +# fast build rule for target. +isis3_unit_test_ProcessGroundPolygons/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessGroundPolygons.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessGroundPolygons.dir/build +.PHONY : isis3_unit_test_ProcessGroundPolygons/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessImportFits + +# Build rule for target. +isis3_unit_test_ProcessImportFits: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportFits +.PHONY : isis3_unit_test_ProcessImportFits + +# fast build rule for target. +isis3_unit_test_ProcessImportFits/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportFits.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportFits.dir/build +.PHONY : isis3_unit_test_ProcessImportFits/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_OriginalLabel + +# Build rule for target. +isis3_unit_test_OriginalLabel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OriginalLabel +.PHONY : isis3_unit_test_OriginalLabel + +# fast build rule for target. +isis3_unit_test_OriginalLabel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OriginalLabel.dir/build.make objects/CMakeFiles/isis3_unit_test_OriginalLabel.dir/build +.PHONY : isis3_unit_test_OriginalLabel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PolarStereographic + +# Build rule for target. +isis3_unit_test_PolarStereographic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolarStereographic +.PHONY : isis3_unit_test_PolarStereographic + +# fast build rule for target. +isis3_unit_test_PolarStereographic/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolarStereographic.dir/build.make objects/CMakeFiles/isis3_unit_test_PolarStereographic.dir/build +.PHONY : isis3_unit_test_PolarStereographic/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessImportPds + +# Build rule for target. +isis3_unit_test_ProcessImportPds: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportPds +.PHONY : isis3_unit_test_ProcessImportPds + +# fast build rule for target. +isis3_unit_test_ProcessImportPds/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportPds.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportPds.dir/build +.PHONY : isis3_unit_test_ProcessImportPds/fast + +#============================================================================= +# Target rules for targets named specdivfilter_app + +# Build rule for target. +specdivfilter_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 specdivfilter_app +.PHONY : specdivfilter_app + +# fast build rule for target. +specdivfilter_app/fast: + $(MAKE) -f objects/CMakeFiles/specdivfilter_app.dir/build.make objects/CMakeFiles/specdivfilter_app.dir/build +.PHONY : specdivfilter_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_WorldMapper + +# Build rule for target. +isis3_unit_test_WorldMapper: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_WorldMapper +.PHONY : isis3_unit_test_WorldMapper + +# fast build rule for target. +isis3_unit_test_WorldMapper/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_WorldMapper.dir/build.make objects/CMakeFiles/isis3_unit_test_WorldMapper.dir/build +.PHONY : isis3_unit_test_WorldMapper/fast + +#============================================================================= +# Target rules for targets named clemhirescal_app + +# Build rule for target. +clemhirescal_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 clemhirescal_app +.PHONY : clemhirescal_app + +# fast build rule for target. +clemhirescal_app/fast: + $(MAKE) -f objects/CMakeFiles/clemhirescal_app.dir/build.make objects/CMakeFiles/clemhirescal_app.dir/build +.PHONY : clemhirescal_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessImportVicar + +# Build rule for target. +isis3_unit_test_ProcessImportVicar: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportVicar +.PHONY : isis3_unit_test_ProcessImportVicar + +# fast build rule for target. +isis3_unit_test_ProcessImportVicar/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportVicar.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportVicar.dir/build +.PHONY : isis3_unit_test_ProcessImportVicar/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_DbAccess + +# Build rule for target. +isis3_unit_test_DbAccess: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DbAccess +.PHONY : isis3_unit_test_DbAccess + +# fast build rule for target. +isis3_unit_test_DbAccess/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DbAccess.dir/build.make objects/CMakeFiles/isis3_unit_test_DbAccess.dir/build +.PHONY : isis3_unit_test_DbAccess/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessMapMosaic + +# Build rule for target. +isis3_unit_test_ProcessMapMosaic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessMapMosaic +.PHONY : isis3_unit_test_ProcessMapMosaic + +# fast build rule for target. +isis3_unit_test_ProcessMapMosaic/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessMapMosaic.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessMapMosaic.dir/build +.PHONY : isis3_unit_test_ProcessMapMosaic/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessMosaic + +# Build rule for target. +isis3_unit_test_ProcessMosaic: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessMosaic +.PHONY : isis3_unit_test_ProcessMosaic + +# fast build rule for target. +isis3_unit_test_ProcessMosaic/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessMosaic.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessMosaic.dir/build +.PHONY : isis3_unit_test_ProcessMosaic/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessPolygons + +# Build rule for target. +isis3_unit_test_ProcessPolygons: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessPolygons +.PHONY : isis3_unit_test_ProcessPolygons + +# fast build rule for target. +isis3_unit_test_ProcessPolygons/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessPolygons.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessPolygons.dir/build +.PHONY : isis3_unit_test_ProcessPolygons/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProgramLauncher + +# Build rule for target. +isis3_unit_test_ProgramLauncher: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProgramLauncher +.PHONY : isis3_unit_test_ProgramLauncher + +# fast build rule for target. +isis3_unit_test_ProgramLauncher/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProgramLauncher.dir/build.make objects/CMakeFiles/isis3_unit_test_ProgramLauncher.dir/build +.PHONY : isis3_unit_test_ProgramLauncher/fast + +#============================================================================= +# Target rules for targets named kaguyasp2ascii_app + +# Build rule for target. +kaguyasp2ascii_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 kaguyasp2ascii_app +.PHONY : kaguyasp2ascii_app + +# fast build rule for target. +kaguyasp2ascii_app/fast: + $(MAKE) -f objects/CMakeFiles/kaguyasp2ascii_app.dir/build.make objects/CMakeFiles/kaguyasp2ascii_app.dir/build +.PHONY : kaguyasp2ascii_app/fast + +#============================================================================= +# Target rules for targets named mvstats_app + +# Build rule for target. +mvstats_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mvstats_app +.PHONY : mvstats_app + +# fast build rule for target. +mvstats_app/fast: + $(MAKE) -f objects/CMakeFiles/mvstats_app.dir/build.make objects/CMakeFiles/mvstats_app.dir/build +.PHONY : mvstats_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PushFrameCamera + +# Build rule for target. +isis3_unit_test_PushFrameCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCamera +.PHONY : isis3_unit_test_PushFrameCamera + +# fast build rule for target. +isis3_unit_test_PushFrameCamera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCamera.dir/build +.PHONY : isis3_unit_test_PushFrameCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TriangularPlate + +# Build rule for target. +isis3_unit_test_TriangularPlate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TriangularPlate +.PHONY : isis3_unit_test_TriangularPlate + +# fast build rule for target. +isis3_unit_test_TriangularPlate/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TriangularPlate.dir/build.make objects/CMakeFiles/isis3_unit_test_TriangularPlate.dir/build +.PHONY : isis3_unit_test_TriangularPlate/fast + +#============================================================================= +# Target rules for targets named hidestripe_app + +# Build rule for target. +hidestripe_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hidestripe_app +.PHONY : hidestripe_app + +# fast build rule for target. +hidestripe_app/fast: + $(MAKE) -f objects/CMakeFiles/hidestripe_app.dir/build.make objects/CMakeFiles/hidestripe_app.dir/build +.PHONY : hidestripe_app/fast + +#============================================================================= +# Target rules for targets named center_app + +# Build rule for target. +center_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 center_app +.PHONY : center_app + +# fast build rule for target. +center_app/fast: + $(MAKE) -f objects/CMakeFiles/center_app.dir/build.make objects/CMakeFiles/center_app.dir/build +.PHONY : center_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AutoRegFactory + +# Build rule for target. +isis3_unit_test_AutoRegFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AutoRegFactory +.PHONY : isis3_unit_test_AutoRegFactory + +# fast build rule for target. +isis3_unit_test_AutoRegFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AutoRegFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_AutoRegFactory.dir/build +.PHONY : isis3_unit_test_AutoRegFactory/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MoravecOperator + +# Build rule for target. +isis3_unit_test_MoravecOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MoravecOperator +.PHONY : isis3_unit_test_MoravecOperator + +# fast build rule for target. +isis3_unit_test_MoravecOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MoravecOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_MoravecOperator.dir/build +.PHONY : isis3_unit_test_MoravecOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PushFrameCameraDetectorMap + +# Build rule for target. +isis3_unit_test_PushFrameCameraDetectorMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraDetectorMap +.PHONY : isis3_unit_test_PushFrameCameraDetectorMap + +# fast build rule for target. +isis3_unit_test_PushFrameCameraDetectorMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraDetectorMap.dir/build +.PHONY : isis3_unit_test_PushFrameCameraDetectorMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Pvl + +# Build rule for target. +isis3_unit_test_Pvl: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pvl +.PHONY : isis3_unit_test_Pvl + +# fast build rule for target. +isis3_unit_test_Pvl/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pvl.dir/build.make objects/CMakeFiles/isis3_unit_test_Pvl.dir/build +.PHONY : isis3_unit_test_Pvl/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlContainer + +# Build rule for target. +isis3_unit_test_PvlContainer: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlContainer +.PHONY : isis3_unit_test_PvlContainer + +# fast build rule for target. +isis3_unit_test_PvlContainer/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlContainer.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlContainer.dir/build +.PHONY : isis3_unit_test_PvlContainer/fast + +#============================================================================= +# Target rules for targets named fft_app + +# Build rule for target. +fft_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fft_app +.PHONY : fft_app + +# fast build rule for target. +fft_app/fast: + $(MAKE) -f objects/CMakeFiles/fft_app.dir/build.make objects/CMakeFiles/fft_app.dir/build +.PHONY : fft_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlEditDialog + +# Build rule for target. +isis3_unit_test_PvlEditDialog: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlEditDialog +.PHONY : isis3_unit_test_PvlEditDialog + +# fast build rule for target. +isis3_unit_test_PvlEditDialog/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlEditDialog.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlEditDialog.dir/build +.PHONY : isis3_unit_test_PvlEditDialog/fast + +#============================================================================= +# Target rules for targets named LimitPolygonSeeder + +# Build rule for target. +LimitPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LimitPolygonSeeder +.PHONY : LimitPolygonSeeder + +# fast build rule for target. +LimitPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/LimitPolygonSeeder.dir/build.make objects/CMakeFiles/LimitPolygonSeeder.dir/build +.PHONY : LimitPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlFlatMap + +# Build rule for target. +isis3_unit_test_PvlFlatMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFlatMap +.PHONY : isis3_unit_test_PvlFlatMap + +# fast build rule for target. +isis3_unit_test_PvlFlatMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFlatMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFlatMap.dir/build +.PHONY : isis3_unit_test_PvlFlatMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlFormat + +# Build rule for target. +isis3_unit_test_PvlFormat: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFormat +.PHONY : isis3_unit_test_PvlFormat + +# fast build rule for target. +isis3_unit_test_PvlFormat/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFormat.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFormat.dir/build +.PHONY : isis3_unit_test_PvlFormat/fast + +#============================================================================= +# Target rules for targets named vikfixtrx_app + +# Build rule for target. +vikfixtrx_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vikfixtrx_app +.PHONY : vikfixtrx_app + +# fast build rule for target. +vikfixtrx_app/fast: + $(MAKE) -f objects/CMakeFiles/vikfixtrx_app.dir/build.make objects/CMakeFiles/vikfixtrx_app.dir/build +.PHONY : vikfixtrx_app/fast + +#============================================================================= +# Target rules for targets named NoNormalization + +# Build rule for target. +NoNormalization: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NoNormalization +.PHONY : NoNormalization + +# fast build rule for target. +NoNormalization/fast: + $(MAKE) -f objects/CMakeFiles/NoNormalization.dir/build.make objects/CMakeFiles/NoNormalization.dir/build +.PHONY : NoNormalization/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RingPlaneProjection + +# Build rule for target. +isis3_unit_test_RingPlaneProjection: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RingPlaneProjection +.PHONY : isis3_unit_test_RingPlaneProjection + +# fast build rule for target. +isis3_unit_test_RingPlaneProjection/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RingPlaneProjection.dir/build.make objects/CMakeFiles/isis3_unit_test_RingPlaneProjection.dir/build +.PHONY : isis3_unit_test_RingPlaneProjection/fast + +#============================================================================= +# Target rules for targets named nocam2map_app + +# Build rule for target. +nocam2map_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 nocam2map_app +.PHONY : nocam2map_app + +# fast build rule for target. +nocam2map_app/fast: + $(MAKE) -f objects/CMakeFiles/nocam2map_app.dir/build.make objects/CMakeFiles/nocam2map_app.dir/build +.PHONY : nocam2map_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlGroup + +# Build rule for target. +isis3_unit_test_PvlGroup: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlGroup +.PHONY : isis3_unit_test_PvlGroup + +# fast build rule for target. +isis3_unit_test_PvlGroup/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlGroup.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlGroup.dir/build +.PHONY : isis3_unit_test_PvlGroup/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AbstractPlate + +# Build rule for target. +isis3_unit_test_AbstractPlate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AbstractPlate +.PHONY : isis3_unit_test_AbstractPlate + +# fast build rule for target. +isis3_unit_test_AbstractPlate/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AbstractPlate.dir/build.make objects/CMakeFiles/isis3_unit_test_AbstractPlate.dir/build +.PHONY : isis3_unit_test_AbstractPlate/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlKeyword + +# Build rule for target. +isis3_unit_test_PvlKeyword: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlKeyword +.PHONY : isis3_unit_test_PvlKeyword + +# fast build rule for target. +isis3_unit_test_PvlKeyword/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlKeyword.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlKeyword.dir/build +.PHONY : isis3_unit_test_PvlKeyword/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlObject + +# Build rule for target. +isis3_unit_test_PvlObject: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlObject +.PHONY : isis3_unit_test_PvlObject + +# fast build rule for target. +isis3_unit_test_PvlObject/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlObject.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlObject.dir/build +.PHONY : isis3_unit_test_PvlObject/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlToPvlTranslationManager + +# Build rule for target. +isis3_unit_test_PvlToPvlTranslationManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToPvlTranslationManager +.PHONY : isis3_unit_test_PvlToPvlTranslationManager + +# fast build rule for target. +isis3_unit_test_PvlToPvlTranslationManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToPvlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToPvlTranslationManager.dir/build +.PHONY : isis3_unit_test_PvlToPvlTranslationManager/fast + +#============================================================================= +# Target rules for targets named sharpen_app + +# Build rule for target. +sharpen_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 sharpen_app +.PHONY : sharpen_app + +# fast build rule for target. +sharpen_app/fast: + $(MAKE) -f objects/CMakeFiles/sharpen_app.dir/build.make objects/CMakeFiles/sharpen_app.dir/build +.PHONY : sharpen_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlToXmlTranslationManager + +# Build rule for target. +isis3_unit_test_PvlToXmlTranslationManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToXmlTranslationManager +.PHONY : isis3_unit_test_PvlToXmlTranslationManager + +# fast build rule for target. +isis3_unit_test_PvlToXmlTranslationManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToXmlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToXmlTranslationManager.dir/build +.PHONY : isis3_unit_test_PvlToXmlTranslationManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LunarAzimuthalEqualArea + +# Build rule for target. +isis3_unit_test_LunarAzimuthalEqualArea: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarAzimuthalEqualArea +.PHONY : isis3_unit_test_LunarAzimuthalEqualArea + +# fast build rule for target. +isis3_unit_test_LunarAzimuthalEqualArea/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarAzimuthalEqualArea.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarAzimuthalEqualArea.dir/build +.PHONY : isis3_unit_test_LunarAzimuthalEqualArea/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlToken + +# Build rule for target. +isis3_unit_test_PvlToken: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToken +.PHONY : isis3_unit_test_PvlToken + +# fast build rule for target. +isis3_unit_test_PvlToken/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToken.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToken.dir/build +.PHONY : isis3_unit_test_PvlToken/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BulletWorldManager + +# Build rule for target. +isis3_unit_test_BulletWorldManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletWorldManager +.PHONY : isis3_unit_test_BulletWorldManager + +# fast build rule for target. +isis3_unit_test_BulletWorldManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletWorldManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletWorldManager.dir/build +.PHONY : isis3_unit_test_BulletWorldManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PvlTranslationTable + +# Build rule for target. +isis3_unit_test_PvlTranslationTable: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlTranslationTable +.PHONY : isis3_unit_test_PvlTranslationTable + +# fast build rule for target. +isis3_unit_test_PvlTranslationTable/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlTranslationTable.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlTranslationTable.dir/build +.PHONY : isis3_unit_test_PvlTranslationTable/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SurfaceModel + +# Build rule for target. +isis3_unit_test_SurfaceModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SurfaceModel +.PHONY : isis3_unit_test_SurfaceModel + +# fast build rule for target. +isis3_unit_test_SurfaceModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SurfaceModel.dir/build.make objects/CMakeFiles/isis3_unit_test_SurfaceModel.dir/build +.PHONY : isis3_unit_test_SurfaceModel/fast + +#============================================================================= +# Target rules for targets named Albedo + +# Build rule for target. +Albedo: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Albedo +.PHONY : Albedo + +# fast build rule for target. +Albedo/fast: + $(MAKE) -f objects/CMakeFiles/Albedo.dir/build.make objects/CMakeFiles/Albedo.dir/build +.PHONY : Albedo/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_InterestOperator + +# Build rule for target. +isis3_unit_test_InterestOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InterestOperator +.PHONY : isis3_unit_test_InterestOperator + +# fast build rule for target. +isis3_unit_test_InterestOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InterestOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_InterestOperator.dir/build +.PHONY : isis3_unit_test_InterestOperator/fast + +#============================================================================= +# Target rules for targets named desmile_app + +# Build rule for target. +desmile_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 desmile_app +.PHONY : desmile_app + +# fast build rule for target. +desmile_app/fast: + $(MAKE) -f objects/CMakeFiles/desmile_app.dir/build.make objects/CMakeFiles/desmile_app.dir/build +.PHONY : desmile_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_QtImporter + +# Build rule for target. +isis3_unit_test_QtImporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QtImporter +.PHONY : isis3_unit_test_QtImporter + +# fast build rule for target. +isis3_unit_test_QtImporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QtImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_QtImporter.dir/build +.PHONY : isis3_unit_test_QtImporter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_QuickFilter + +# Build rule for target. +isis3_unit_test_QuickFilter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QuickFilter +.PHONY : isis3_unit_test_QuickFilter + +# fast build rule for target. +isis3_unit_test_QuickFilter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QuickFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_QuickFilter.dir/build +.PHONY : isis3_unit_test_QuickFilter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarPulseMap + +# Build rule for target. +isis3_unit_test_RadarPulseMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarPulseMap +.PHONY : isis3_unit_test_RadarPulseMap + +# fast build rule for target. +isis3_unit_test_RadarPulseMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarPulseMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarPulseMap.dir/build +.PHONY : isis3_unit_test_RadarPulseMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Reduce + +# Build rule for target. +isis3_unit_test_Reduce: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Reduce +.PHONY : isis3_unit_test_Reduce + +# fast build rule for target. +isis3_unit_test_Reduce/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Reduce.dir/build.make objects/CMakeFiles/isis3_unit_test_Reduce.dir/build +.PHONY : isis3_unit_test_Reduce/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNetFilter + +# Build rule for target. +isis3_unit_test_ControlNetFilter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetFilter +.PHONY : isis3_unit_test_ControlNetFilter + +# fast build rule for target. +isis3_unit_test_ControlNetFilter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetFilter.dir/build +.PHONY : isis3_unit_test_ControlNetFilter/fast + +#============================================================================= +# Target rules for targets named cubefunc_app + +# Build rule for target. +cubefunc_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cubefunc_app +.PHONY : cubefunc_app + +# fast build rule for target. +cubefunc_app/fast: + $(MAKE) -f objects/CMakeFiles/cubefunc_app.dir/build.make objects/CMakeFiles/cubefunc_app.dir/build +.PHONY : cubefunc_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarSkyMap + +# Build rule for target. +isis3_unit_test_RadarSkyMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarSkyMap +.PHONY : isis3_unit_test_RadarSkyMap + +# fast build rule for target. +isis3_unit_test_RadarSkyMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarSkyMap.dir/build +.PHONY : isis3_unit_test_RadarSkyMap/fast + +#============================================================================= +# Target rules for targets named barscale_app + +# Build rule for target. +barscale_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 barscale_app +.PHONY : barscale_app + +# fast build rule for target. +barscale_app/fast: + $(MAKE) -f objects/CMakeFiles/barscale_app.dir/build.make objects/CMakeFiles/barscale_app.dir/build +.PHONY : barscale_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_OriginalXmlLabel + +# Build rule for target. +isis3_unit_test_OriginalXmlLabel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OriginalXmlLabel +.PHONY : isis3_unit_test_OriginalXmlLabel + +# fast build rule for target. +isis3_unit_test_OriginalXmlLabel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OriginalXmlLabel.dir/build.make objects/CMakeFiles/isis3_unit_test_OriginalXmlLabel.dir/build +.PHONY : isis3_unit_test_OriginalXmlLabel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarSlantRangeMap + +# Build rule for target. +isis3_unit_test_RadarSlantRangeMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarSlantRangeMap +.PHONY : isis3_unit_test_RadarSlantRangeMap + +# fast build rule for target. +isis3_unit_test_RadarSlantRangeMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarSlantRangeMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarSlantRangeMap.dir/build +.PHONY : isis3_unit_test_RadarSlantRangeMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ReseauDistortionMap + +# Build rule for target. +isis3_unit_test_ReseauDistortionMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ReseauDistortionMap +.PHONY : isis3_unit_test_ReseauDistortionMap + +# fast build rule for target. +isis3_unit_test_ReseauDistortionMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ReseauDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_ReseauDistortionMap.dir/build +.PHONY : isis3_unit_test_ReseauDistortionMap/fast + +#============================================================================= +# Target rules for targets named rgb2hsv_app + +# Build rule for target. +rgb2hsv_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 rgb2hsv_app +.PHONY : rgb2hsv_app + +# fast build rule for target. +rgb2hsv_app/fast: + $(MAKE) -f objects/CMakeFiles/rgb2hsv_app.dir/build.make objects/CMakeFiles/rgb2hsv_app.dir/build +.PHONY : rgb2hsv_app/fast + +#============================================================================= +# Target rules for targets named enlarge_app + +# Build rule for target. +enlarge_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 enlarge_app +.PHONY : enlarge_app + +# fast build rule for target. +enlarge_app/fast: + $(MAKE) -f objects/CMakeFiles/enlarge_app.dir/build.make objects/CMakeFiles/enlarge_app.dir/build +.PHONY : enlarge_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_AbstractShape + +# Build rule for target. +isis3_unit_test_AbstractShape: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AbstractShape +.PHONY : isis3_unit_test_AbstractShape + +# fast build rule for target. +isis3_unit_test_AbstractShape/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AbstractShape.dir/build.make objects/CMakeFiles/isis3_unit_test_AbstractShape.dir/build +.PHONY : isis3_unit_test_AbstractShape/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SerialNumber + +# Build rule for target. +isis3_unit_test_SerialNumber: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SerialNumber +.PHONY : isis3_unit_test_SerialNumber + +# fast build rule for target. +isis3_unit_test_SerialNumber/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SerialNumber.dir/build.make objects/CMakeFiles/isis3_unit_test_SerialNumber.dir/build +.PHONY : isis3_unit_test_SerialNumber/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ShadeAtm + +# Build rule for target. +isis3_unit_test_ShadeAtm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShadeAtm +.PHONY : isis3_unit_test_ShadeAtm + +# fast build rule for target. +isis3_unit_test_ShadeAtm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShadeAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_ShadeAtm.dir/build +.PHONY : isis3_unit_test_ShadeAtm/fast + +#============================================================================= +# Target rules for targets named reduce_app + +# Build rule for target. +reduce_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 reduce_app +.PHONY : reduce_app + +# fast build rule for target. +reduce_app/fast: + $(MAKE) -f objects/CMakeFiles/reduce_app.dir/build.make objects/CMakeFiles/reduce_app.dir/build +.PHONY : reduce_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ShapeModelFactory + +# Build rule for target. +isis3_unit_test_ShapeModelFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShapeModelFactory +.PHONY : isis3_unit_test_ShapeModelFactory + +# fast build rule for target. +isis3_unit_test_ShapeModelFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShapeModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_ShapeModelFactory.dir/build +.PHONY : isis3_unit_test_ShapeModelFactory/fast + +#============================================================================= +# Target rules for targets named isis2raw_app + +# Build rule for target. +isis2raw_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2raw_app +.PHONY : isis2raw_app + +# fast build rule for target. +isis2raw_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2raw_app.dir/build.make objects/CMakeFiles/isis2raw_app.dir/build +.PHONY : isis2raw_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProcessByLine + +# Build rule for target. +isis3_unit_test_ProcessByLine: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByLine +.PHONY : isis3_unit_test_ProcessByLine + +# fast build rule for target. +isis3_unit_test_ProcessByLine/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByLine.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByLine.dir/build +.PHONY : isis3_unit_test_ProcessByLine/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Sinusoidal + +# Build rule for target. +isis3_unit_test_Sinusoidal: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Sinusoidal +.PHONY : isis3_unit_test_Sinusoidal + +# fast build rule for target. +isis3_unit_test_Sinusoidal/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Sinusoidal.dir/build.make objects/CMakeFiles/isis3_unit_test_Sinusoidal.dir/build +.PHONY : isis3_unit_test_Sinusoidal/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SmtkMatcher + +# Build rule for target. +isis3_unit_test_SmtkMatcher: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SmtkMatcher +.PHONY : isis3_unit_test_SmtkMatcher + +# fast build rule for target. +isis3_unit_test_SmtkMatcher/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SmtkMatcher.dir/build.make objects/CMakeFiles/isis3_unit_test_SmtkMatcher.dir/build +.PHONY : isis3_unit_test_SmtkMatcher/fast + +#============================================================================= +# Target rules for targets named translate_app + +# Build rule for target. +translate_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 translate_app +.PHONY : translate_app + +# fast build rule for target. +translate_app/fast: + $(MAKE) -f objects/CMakeFiles/translate_app.dir/build.make objects/CMakeFiles/translate_app.dir/build +.PHONY : translate_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SparseBlockMatrix + +# Build rule for target. +isis3_unit_test_SparseBlockMatrix: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SparseBlockMatrix +.PHONY : isis3_unit_test_SparseBlockMatrix + +# fast build rule for target. +isis3_unit_test_SparseBlockMatrix/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SparseBlockMatrix.dir/build.make objects/CMakeFiles/isis3_unit_test_SparseBlockMatrix.dir/build +.PHONY : isis3_unit_test_SparseBlockMatrix/fast + +#============================================================================= +# Target rules for targets named spiceserver_app + +# Build rule for target. +spiceserver_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 spiceserver_app +.PHONY : spiceserver_app + +# fast build rule for target. +spiceserver_app/fast: + $(MAKE) -f objects/CMakeFiles/spiceserver_app.dir/build.make objects/CMakeFiles/spiceserver_app.dir/build +.PHONY : spiceserver_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Color + +# Build rule for target. +isis3_unit_test_Color: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Color +.PHONY : isis3_unit_test_Color + +# fast build rule for target. +isis3_unit_test_Color/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Color.dir/build.make objects/CMakeFiles/isis3_unit_test_Color.dir/build +.PHONY : isis3_unit_test_Color/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpecialPixel + +# Build rule for target. +isis3_unit_test_SpecialPixel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpecialPixel +.PHONY : isis3_unit_test_SpecialPixel + +# fast build rule for target. +isis3_unit_test_SpecialPixel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpecialPixel.dir/build.make objects/CMakeFiles/isis3_unit_test_SpecialPixel.dir/build +.PHONY : isis3_unit_test_SpecialPixel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Statistics + +# Build rule for target. +isis3_unit_test_Statistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Statistics +.PHONY : isis3_unit_test_Statistics + +# fast build rule for target. +isis3_unit_test_Statistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Statistics.dir/build.make objects/CMakeFiles/isis3_unit_test_Statistics.dir/build +.PHONY : isis3_unit_test_Statistics/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SampleManager + +# Build rule for target. +isis3_unit_test_SampleManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SampleManager +.PHONY : isis3_unit_test_SampleManager + +# fast build rule for target. +isis3_unit_test_SampleManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SampleManager.dir/build.make objects/CMakeFiles/isis3_unit_test_SampleManager.dir/build +.PHONY : isis3_unit_test_SampleManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Strategy + +# Build rule for target. +isis3_unit_test_Strategy: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Strategy +.PHONY : isis3_unit_test_Strategy + +# fast build rule for target. +isis3_unit_test_Strategy/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Strategy.dir/build.make objects/CMakeFiles/isis3_unit_test_Strategy.dir/build +.PHONY : isis3_unit_test_Strategy/fast + +#============================================================================= +# Target rules for targets named mar10nonoise_app + +# Build rule for target. +mar10nonoise_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mar10nonoise_app +.PHONY : mar10nonoise_app + +# fast build rule for target. +mar10nonoise_app/fast: + $(MAKE) -f objects/CMakeFiles/mar10nonoise_app.dir/build.make objects/CMakeFiles/mar10nonoise_app.dir/build +.PHONY : mar10nonoise_app/fast + +#============================================================================= +# Target rules for targets named Isotropic2 + +# Build rule for target. +Isotropic2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Isotropic2 +.PHONY : Isotropic2 + +# fast build rule for target. +Isotropic2/fast: + $(MAKE) -f objects/CMakeFiles/Isotropic2.dir/build.make objects/CMakeFiles/Isotropic2.dir/build +.PHONY : Isotropic2/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_StreamExporter + +# Build rule for target. +isis3_unit_test_StreamExporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StreamExporter +.PHONY : isis3_unit_test_StreamExporter + +# fast build rule for target. +isis3_unit_test_StreamExporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StreamExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_StreamExporter.dir/build +.PHONY : isis3_unit_test_StreamExporter/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SurfacePoint + +# Build rule for target. +isis3_unit_test_SurfacePoint: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SurfacePoint +.PHONY : isis3_unit_test_SurfacePoint + +# fast build rule for target. +isis3_unit_test_SurfacePoint/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SurfacePoint.dir/build.make objects/CMakeFiles/isis3_unit_test_SurfacePoint.dir/build +.PHONY : isis3_unit_test_SurfacePoint/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Table + +# Build rule for target. +isis3_unit_test_Table: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Table +.PHONY : isis3_unit_test_Table + +# fast build rule for target. +isis3_unit_test_Table/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Table.dir/build.make objects/CMakeFiles/isis3_unit_test_Table.dir/build +.PHONY : isis3_unit_test_Table/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpiceRotation + +# Build rule for target. +isis3_unit_test_SpiceRotation: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpiceRotation +.PHONY : isis3_unit_test_SpiceRotation + +# fast build rule for target. +isis3_unit_test_SpiceRotation/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpiceRotation.dir/build.make objects/CMakeFiles/isis3_unit_test_SpiceRotation.dir/build +.PHONY : isis3_unit_test_SpiceRotation/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TableField + +# Build rule for target. +isis3_unit_test_TableField: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TableField +.PHONY : isis3_unit_test_TableField + +# fast build rule for target. +isis3_unit_test_TableField/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TableField.dir/build.make objects/CMakeFiles/isis3_unit_test_TableField.dir/build +.PHONY : isis3_unit_test_TableField/fast + +#============================================================================= +# Target rules for targets named seedgrid_app + +# Build rule for target. +seedgrid_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 seedgrid_app +.PHONY : seedgrid_app + +# fast build rule for target. +seedgrid_app/fast: + $(MAKE) -f objects/CMakeFiles/seedgrid_app.dir/build.make objects/CMakeFiles/seedgrid_app.dir/build +.PHONY : seedgrid_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ProjectionFactory + +# Build rule for target. +isis3_unit_test_ProjectionFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProjectionFactory +.PHONY : isis3_unit_test_ProjectionFactory + +# fast build rule for target. +isis3_unit_test_ProjectionFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProjectionFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_ProjectionFactory.dir/build +.PHONY : isis3_unit_test_ProjectionFactory/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TextFile + +# Build rule for target. +isis3_unit_test_TextFile: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TextFile +.PHONY : isis3_unit_test_TextFile + +# fast build rule for target. +isis3_unit_test_TextFile/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TextFile.dir/build.make objects/CMakeFiles/isis3_unit_test_TextFile.dir/build +.PHONY : isis3_unit_test_TextFile/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_TiffExporter + +# Build rule for target. +isis3_unit_test_TiffExporter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TiffExporter +.PHONY : isis3_unit_test_TiffExporter + +# fast build rule for target. +isis3_unit_test_TiffExporter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TiffExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_TiffExporter.dir/build +.PHONY : isis3_unit_test_TiffExporter/fast + +#============================================================================= +# Target rules for targets named mro_unit_test_HiEqualization + +# Build rule for target. +mro_unit_test_HiEqualization: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiEqualization +.PHONY : mro_unit_test_HiEqualization + +# fast build rule for target. +mro_unit_test_HiEqualization/fast: + $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiEqualization.dir/build.make objects/CMakeFiles/mro_unit_test_HiEqualization.dir/build +.PHONY : mro_unit_test_HiEqualization/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_InterestOperatorFactory + +# Build rule for target. +isis3_unit_test_InterestOperatorFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InterestOperatorFactory +.PHONY : isis3_unit_test_InterestOperatorFactory + +# fast build rule for target. +isis3_unit_test_InterestOperatorFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InterestOperatorFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_InterestOperatorFactory.dir/build +.PHONY : isis3_unit_test_InterestOperatorFactory/fast + +#============================================================================= +# Target rules for targets named gllssi2isis_app + +# Build rule for target. +gllssi2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gllssi2isis_app +.PHONY : gllssi2isis_app + +# fast build rule for target. +gllssi2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/gllssi2isis_app.dir/build.make objects/CMakeFiles/gllssi2isis_app.dir/build +.PHONY : gllssi2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LineScanCameraGroundMap + +# Build rule for target. +isis3_unit_test_LineScanCameraGroundMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraGroundMap +.PHONY : isis3_unit_test_LineScanCameraGroundMap + +# fast build rule for target. +isis3_unit_test_LineScanCameraGroundMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraGroundMap.dir/build +.PHONY : isis3_unit_test_LineScanCameraGroundMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_IsisAml + +# Build rule for target. +isis3_unit_test_IsisAml: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IsisAml +.PHONY : isis3_unit_test_IsisAml + +# fast build rule for target. +isis3_unit_test_IsisAml/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IsisAml.dir/build.make objects/CMakeFiles/isis3_unit_test_IsisAml.dir/build +.PHONY : isis3_unit_test_IsisAml/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Transform + +# Build rule for target. +isis3_unit_test_Transform: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Transform +.PHONY : isis3_unit_test_Transform + +# fast build rule for target. +isis3_unit_test_Transform/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Transform.dir/build.make objects/CMakeFiles/isis3_unit_test_Transform.dir/build +.PHONY : isis3_unit_test_Transform/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_UniqueIOCachingAlgorithm + +# Build rule for target. +isis3_unit_test_UniqueIOCachingAlgorithm: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UniqueIOCachingAlgorithm +.PHONY : isis3_unit_test_UniqueIOCachingAlgorithm + +# fast build rule for target. +isis3_unit_test_UniqueIOCachingAlgorithm/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UniqueIOCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_UniqueIOCachingAlgorithm.dir/build +.PHONY : isis3_unit_test_UniqueIOCachingAlgorithm/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_UniversalGroundMap + +# Build rule for target. +isis3_unit_test_UniversalGroundMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UniversalGroundMap +.PHONY : isis3_unit_test_UniversalGroundMap + +# fast build rule for target. +isis3_unit_test_UniversalGroundMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UniversalGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_UniversalGroundMap.dir/build +.PHONY : isis3_unit_test_UniversalGroundMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_VariableLineScanCameraDetectorMap + +# Build rule for target. +isis3_unit_test_VariableLineScanCameraDetectorMap: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_VariableLineScanCameraDetectorMap +.PHONY : isis3_unit_test_VariableLineScanCameraDetectorMap + +# fast build rule for target. +isis3_unit_test_VariableLineScanCameraDetectorMap/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_VariableLineScanCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_VariableLineScanCameraDetectorMap.dir/build +.PHONY : isis3_unit_test_VariableLineScanCameraDetectorMap/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_VecFilter + +# Build rule for target. +isis3_unit_test_VecFilter: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_VecFilter +.PHONY : isis3_unit_test_VecFilter + +# fast build rule for target. +isis3_unit_test_VecFilter/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_VecFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_VecFilter.dir/build +.PHONY : isis3_unit_test_VecFilter/fast + +#============================================================================= +# Target rules for targets named fakecube_app + +# Build rule for target. +fakecube_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 fakecube_app +.PHONY : fakecube_app + +# fast build rule for target. +fakecube_app/fast: + $(MAKE) -f objects/CMakeFiles/fakecube_app.dir/build.make objects/CMakeFiles/fakecube_app.dir/build +.PHONY : fakecube_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_XmlStackedHandler + +# Build rule for target. +isis3_unit_test_XmlStackedHandler: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlStackedHandler +.PHONY : isis3_unit_test_XmlStackedHandler + +# fast build rule for target. +isis3_unit_test_XmlStackedHandler/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlStackedHandler.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlStackedHandler.dir/build +.PHONY : isis3_unit_test_XmlStackedHandler/fast + +#============================================================================= +# Target rules for targets named isis2ascii_app + +# Build rule for target. +isis2ascii_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis2ascii_app +.PHONY : isis2ascii_app + +# fast build rule for target. +isis2ascii_app/fast: + $(MAKE) -f objects/CMakeFiles/isis2ascii_app.dir/build.make objects/CMakeFiles/isis2ascii_app.dir/build +.PHONY : isis2ascii_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_XmlStackedHandlerReader + +# Build rule for target. +isis3_unit_test_XmlStackedHandlerReader: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlStackedHandlerReader +.PHONY : isis3_unit_test_XmlStackedHandlerReader + +# fast build rule for target. +isis3_unit_test_XmlStackedHandlerReader/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlStackedHandlerReader.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlStackedHandlerReader.dir/build +.PHONY : isis3_unit_test_XmlStackedHandlerReader/fast + +#============================================================================= +# Target rules for targets named mapgrid_app + +# Build rule for target. +mapgrid_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mapgrid_app +.PHONY : mapgrid_app + +# fast build rule for target. +mapgrid_app/fast: + $(MAKE) -f objects/CMakeFiles/mapgrid_app.dir/build.make objects/CMakeFiles/mapgrid_app.dir/build +.PHONY : mapgrid_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_StripPolygonSeeder + +# Build rule for target. +isis3_unit_test_StripPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StripPolygonSeeder +.PHONY : isis3_unit_test_StripPolygonSeeder + +# fast build rule for target. +isis3_unit_test_StripPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StripPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_StripPolygonSeeder.dir/build +.PHONY : isis3_unit_test_StripPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_XmlToPvlTranslationManager + +# Build rule for target. +isis3_unit_test_XmlToPvlTranslationManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlToPvlTranslationManager +.PHONY : isis3_unit_test_XmlToPvlTranslationManager + +# fast build rule for target. +isis3_unit_test_XmlToPvlTranslationManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlToPvlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlToPvlTranslationManager.dir/build +.PHONY : isis3_unit_test_XmlToPvlTranslationManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Progress + +# Build rule for target. +isis3_unit_test_Progress: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Progress +.PHONY : isis3_unit_test_Progress + +# fast build rule for target. +isis3_unit_test_Progress/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Progress.dir/build.make objects/CMakeFiles/isis3_unit_test_Progress.dir/build +.PHONY : isis3_unit_test_Progress/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_iTime + +# Build rule for target. +isis3_unit_test_iTime: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_iTime +.PHONY : isis3_unit_test_iTime + +# fast build rule for target. +isis3_unit_test_iTime/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_iTime.dir/build.make objects/CMakeFiles/isis3_unit_test_iTime.dir/build +.PHONY : isis3_unit_test_iTime/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_KernelDb + +# Build rule for target. +isis3_unit_test_KernelDb: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_KernelDb +.PHONY : isis3_unit_test_KernelDb + +# fast build rule for target. +isis3_unit_test_KernelDb/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_KernelDb.dir/build.make objects/CMakeFiles/isis3_unit_test_KernelDb.dir/build +.PHONY : isis3_unit_test_KernelDb/fast + +#============================================================================= +# Target rules for targets named gllnims2isis_app + +# Build rule for target. +gllnims2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gllnims2isis_app +.PHONY : gllnims2isis_app + +# fast build rule for target. +gllnims2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/gllnims2isis_app.dir/build.make objects/CMakeFiles/gllnims2isis_app.dir/build +.PHONY : gllnims2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Database + +# Build rule for target. +isis3_unit_test_Database: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Database +.PHONY : isis3_unit_test_Database + +# fast build rule for target. +isis3_unit_test_Database/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Database.dir/build.make objects/CMakeFiles/isis3_unit_test_Database.dir/build +.PHONY : isis3_unit_test_Database/fast + +#============================================================================= +# Target rules for targets named mdisddr_app + +# Build rule for target. +mdisddr_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdisddr_app +.PHONY : mdisddr_app + +# fast build rule for target. +mdisddr_app/fast: + $(MAKE) -f objects/CMakeFiles/mdisddr_app.dir/build.make objects/CMakeFiles/mdisddr_app.dir/build +.PHONY : mdisddr_app/fast + +#============================================================================= +# Target rules for targets named HapkeAtm2 + +# Build rule for target. +HapkeAtm2: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 HapkeAtm2 +.PHONY : HapkeAtm2 + +# fast build rule for target. +HapkeAtm2/fast: + $(MAKE) -f objects/CMakeFiles/HapkeAtm2.dir/build.make objects/CMakeFiles/HapkeAtm2.dir/build +.PHONY : HapkeAtm2/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_DbProfile + +# Build rule for target. +isis3_unit_test_DbProfile: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DbProfile +.PHONY : isis3_unit_test_DbProfile + +# fast build rule for target. +isis3_unit_test_DbProfile/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DbProfile.dir/build.make objects/CMakeFiles/isis3_unit_test_DbProfile.dir/build +.PHONY : isis3_unit_test_DbProfile/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SpectralDefinitionFactory + +# Build rule for target. +isis3_unit_test_SpectralDefinitionFactory: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinitionFactory +.PHONY : isis3_unit_test_SpectralDefinitionFactory + +# fast build rule for target. +isis3_unit_test_SpectralDefinitionFactory/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinitionFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinitionFactory.dir/build +.PHONY : isis3_unit_test_SpectralDefinitionFactory/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_SqlQuery + +# Build rule for target. +isis3_unit_test_SqlQuery: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SqlQuery +.PHONY : isis3_unit_test_SqlQuery + +# fast build rule for target. +isis3_unit_test_SqlQuery/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SqlQuery.dir/build.make objects/CMakeFiles/isis3_unit_test_SqlQuery.dir/build +.PHONY : isis3_unit_test_SqlQuery/fast + +#============================================================================= +# Target rules for targets named mgs + +# Build rule for target. +mgs: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mgs +.PHONY : mgs + +# fast build rule for target. +mgs/fast: + $(MAKE) -f objects/CMakeFiles/mgs.dir/build.make objects/CMakeFiles/mgs.dir/build +.PHONY : mgs/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_RadarCamera + +# Build rule for target. +isis3_unit_test_RadarCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarCamera +.PHONY : isis3_unit_test_RadarCamera + +# fast build rule for target. +isis3_unit_test_RadarCamera/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarCamera.dir/build +.PHONY : isis3_unit_test_RadarCamera/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BundleAdjust + +# Build rule for target. +isis3_unit_test_BundleAdjust: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleAdjust +.PHONY : isis3_unit_test_BundleAdjust + +# fast build rule for target. +isis3_unit_test_BundleAdjust/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleAdjust.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleAdjust.dir/build +.PHONY : isis3_unit_test_BundleAdjust/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ForstnerOperator + +# Build rule for target. +isis3_unit_test_ForstnerOperator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ForstnerOperator +.PHONY : isis3_unit_test_ForstnerOperator + +# fast build rule for target. +isis3_unit_test_ForstnerOperator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ForstnerOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_ForstnerOperator.dir/build +.PHONY : isis3_unit_test_ForstnerOperator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_BundleResults + +# Build rule for target. +isis3_unit_test_BundleResults: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleResults +.PHONY : isis3_unit_test_BundleResults + +# fast build rule for target. +isis3_unit_test_BundleResults/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleResults.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleResults.dir/build +.PHONY : isis3_unit_test_BundleResults/fast + +#============================================================================= +# Target rules for targets named mgs_unit_test_MocNarrowAngleCamera + +# Build rule for target. +mgs_unit_test_MocNarrowAngleCamera: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocNarrowAngleCamera +.PHONY : mgs_unit_test_MocNarrowAngleCamera + +# fast build rule for target. +mgs_unit_test_MocNarrowAngleCamera/fast: + $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocNarrowAngleCamera.dir/build.make objects/CMakeFiles/mgs_unit_test_MocNarrowAngleCamera.dir/build +.PHONY : mgs_unit_test_MocNarrowAngleCamera/fast + +#============================================================================= +# Target rules for targets named apollopanstitcher_app + +# Build rule for target. +apollopanstitcher_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 apollopanstitcher_app +.PHONY : apollopanstitcher_app + +# fast build rule for target. +apollopanstitcher_app/fast: + $(MAKE) -f objects/CMakeFiles/apollopanstitcher_app.dir/build.make objects/CMakeFiles/apollopanstitcher_app.dir/build +.PHONY : apollopanstitcher_app/fast + +#============================================================================= +# Target rules for targets named bandnorm_app + +# Build rule for target. +bandnorm_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 bandnorm_app +.PHONY : bandnorm_app + +# fast build rule for target. +bandnorm_app/fast: + $(MAKE) -f objects/CMakeFiles/bandnorm_app.dir/build.make objects/CMakeFiles/bandnorm_app.dir/build +.PHONY : bandnorm_app/fast + +#============================================================================= +# Target rules for targets named mdis2isis_app + +# Build rule for target. +mdis2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mdis2isis_app +.PHONY : mdis2isis_app + +# fast build rule for target. +mdis2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/mdis2isis_app.dir/build.make objects/CMakeFiles/mdis2isis_app.dir/build +.PHONY : mdis2isis_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_MultivariateStatistics + +# Build rule for target. +isis3_unit_test_MultivariateStatistics: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MultivariateStatistics +.PHONY : isis3_unit_test_MultivariateStatistics + +# fast build rule for target. +isis3_unit_test_MultivariateStatistics/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MultivariateStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_MultivariateStatistics.dir/build +.PHONY : isis3_unit_test_MultivariateStatistics/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlMeasure + +# Build rule for target. +isis3_unit_test_ControlMeasure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlMeasure +.PHONY : isis3_unit_test_ControlMeasure + +# fast build rule for target. +isis3_unit_test_ControlMeasure/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlMeasure.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlMeasure.dir/build +.PHONY : isis3_unit_test_ControlMeasure/fast + +#============================================================================= +# Target rules for targets named marciflip_app + +# Build rule for target. +marciflip_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 marciflip_app +.PHONY : marciflip_app + +# fast build rule for target. +marciflip_app/fast: + $(MAKE) -f objects/CMakeFiles/marciflip_app.dir/build.make objects/CMakeFiles/marciflip_app.dir/build +.PHONY : marciflip_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlMeasureLogData + +# Build rule for target. +isis3_unit_test_ControlMeasureLogData: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlMeasureLogData +.PHONY : isis3_unit_test_ControlMeasureLogData + +# fast build rule for target. +isis3_unit_test_ControlMeasureLogData/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlMeasureLogData.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlMeasureLogData.dir/build +.PHONY : isis3_unit_test_ControlMeasureLogData/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNet + +# Build rule for target. +isis3_unit_test_ControlNet: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNet +.PHONY : isis3_unit_test_ControlNet + +# fast build rule for target. +isis3_unit_test_ControlNet/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNet.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNet.dir/build +.PHONY : isis3_unit_test_ControlNet/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_Mercator + +# Build rule for target. +isis3_unit_test_Mercator: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mercator +.PHONY : isis3_unit_test_Mercator + +# fast build rule for target. +isis3_unit_test_Mercator/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mercator.dir/build.make objects/CMakeFiles/isis3_unit_test_Mercator.dir/build +.PHONY : isis3_unit_test_Mercator/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_NaifDskPlateModel + +# Build rule for target. +isis3_unit_test_NaifDskPlateModel: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskPlateModel +.PHONY : isis3_unit_test_NaifDskPlateModel + +# fast build rule for target. +isis3_unit_test_NaifDskPlateModel/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskPlateModel.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskPlateModel.dir/build +.PHONY : isis3_unit_test_NaifDskPlateModel/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNetDiff + +# Build rule for target. +isis3_unit_test_ControlNetDiff: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetDiff +.PHONY : isis3_unit_test_ControlNetDiff + +# fast build rule for target. +isis3_unit_test_ControlNetDiff/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetDiff.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetDiff.dir/build +.PHONY : isis3_unit_test_ControlNetDiff/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_LabelTranslationManager + +# Build rule for target. +isis3_unit_test_LabelTranslationManager: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LabelTranslationManager +.PHONY : isis3_unit_test_LabelTranslationManager + +# fast build rule for target. +isis3_unit_test_LabelTranslationManager/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LabelTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_LabelTranslationManager.dir/build +.PHONY : isis3_unit_test_LabelTranslationManager/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlNetValidMeasure + +# Build rule for target. +isis3_unit_test_ControlNetValidMeasure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetValidMeasure +.PHONY : isis3_unit_test_ControlNetValidMeasure + +# fast build rule for target. +isis3_unit_test_ControlNetValidMeasure/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetValidMeasure.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetValidMeasure.dir/build +.PHONY : isis3_unit_test_ControlNetValidMeasure/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_GridPolygonSeeder + +# Build rule for target. +isis3_unit_test_GridPolygonSeeder: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GridPolygonSeeder +.PHONY : isis3_unit_test_GridPolygonSeeder + +# fast build rule for target. +isis3_unit_test_GridPolygonSeeder/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GridPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_GridPolygonSeeder.dir/build +.PHONY : isis3_unit_test_GridPolygonSeeder/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_ControlPoint + +# Build rule for target. +isis3_unit_test_ControlPoint: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlPoint +.PHONY : isis3_unit_test_ControlPoint + +# fast build rule for target. +isis3_unit_test_ControlPoint/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlPoint.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlPoint.dir/build +.PHONY : isis3_unit_test_ControlPoint/fast + +#============================================================================= +# Target rules for targets named ascii2isis_app + +# Build rule for target. +ascii2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ascii2isis_app +.PHONY : ascii2isis_app + +# fast build rule for target. +ascii2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/ascii2isis_app.dir/build.make objects/CMakeFiles/ascii2isis_app.dir/build +.PHONY : ascii2isis_app/fast + +#============================================================================= +# Target rules for targets named hist_app + +# Build rule for target. +hist_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 hist_app +.PHONY : hist_app + +# fast build rule for target. +hist_app/fast: + $(MAKE) -f objects/CMakeFiles/hist_app.dir/build.make objects/CMakeFiles/hist_app.dir/build +.PHONY : hist_app/fast + +#============================================================================= +# Target rules for targets named isis3_unit_test_PushFrameCameraCcdLayout + +# Build rule for target. +isis3_unit_test_PushFrameCameraCcdLayout: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraCcdLayout +.PHONY : isis3_unit_test_PushFrameCameraCcdLayout + +# fast build rule for target. +isis3_unit_test_PushFrameCameraCcdLayout/fast: + $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraCcdLayout.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraCcdLayout.dir/build +.PHONY : isis3_unit_test_PushFrameCameraCcdLayout/fast + +#============================================================================= +# Target rules for targets named automos_app + +# Build rule for target. +automos_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 automos_app +.PHONY : automos_app + +# fast build rule for target. +automos_app/fast: + $(MAKE) -f objects/CMakeFiles/automos_app.dir/build.make objects/CMakeFiles/automos_app.dir/build +.PHONY : automos_app/fast + +#============================================================================= +# Target rules for targets named autoregtemplate_app + +# Build rule for target. +autoregtemplate_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 autoregtemplate_app +.PHONY : autoregtemplate_app + +# fast build rule for target. +autoregtemplate_app/fast: + $(MAKE) -f objects/CMakeFiles/autoregtemplate_app.dir/build.make objects/CMakeFiles/autoregtemplate_app.dir/build +.PHONY : autoregtemplate_app/fast + +#============================================================================= +# Target rules for targets named bandtrim_app + +# Build rule for target. +bandtrim_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 bandtrim_app +.PHONY : bandtrim_app + +# fast build rule for target. +bandtrim_app/fast: + $(MAKE) -f objects/CMakeFiles/bandtrim_app.dir/build.make objects/CMakeFiles/bandtrim_app.dir/build +.PHONY : bandtrim_app/fast + +#============================================================================= +# Target rules for targets named msi2isis_app + +# Build rule for target. +msi2isis_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 msi2isis_app +.PHONY : msi2isis_app + +# fast build rule for target. +msi2isis_app/fast: + $(MAKE) -f objects/CMakeFiles/msi2isis_app.dir/build.make objects/CMakeFiles/msi2isis_app.dir/build +.PHONY : msi2isis_app/fast + +#============================================================================= +# Target rules for targets named butterworth_app + +# Build rule for target. +butterworth_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 butterworth_app +.PHONY : butterworth_app + +# fast build rule for target. +butterworth_app/fast: + $(MAKE) -f objects/CMakeFiles/butterworth_app.dir/build.make objects/CMakeFiles/butterworth_app.dir/build +.PHONY : butterworth_app/fast + +#============================================================================= +# Target rules for targets named mapsize_app + +# Build rule for target. +mapsize_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 mapsize_app +.PHONY : mapsize_app + +# fast build rule for target. +mapsize_app/fast: + $(MAKE) -f objects/CMakeFiles/mapsize_app.dir/build.make objects/CMakeFiles/mapsize_app.dir/build +.PHONY : mapsize_app/fast + +#============================================================================= +# Target rules for targets named cam2cam_app + +# Build rule for target. +cam2cam_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cam2cam_app +.PHONY : cam2cam_app + +# fast build rule for target. +cam2cam_app/fast: + $(MAKE) -f objects/CMakeFiles/cam2cam_app.dir/build.make objects/CMakeFiles/cam2cam_app.dir/build +.PHONY : cam2cam_app/fast + +#============================================================================= +# Target rules for targets named campt_app + +# Build rule for target. +campt_app: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 campt_app +.PHONY : campt_app + +# fast build rule for target. +campt_app/fast: + $(MAKE) -f objects/CMakeFiles/campt_app.dir/build.make objects/CMakeFiles/campt_app.dir/build +.PHONY : campt_app/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... edit_cache" + @echo "... docs" + @echo "... ContinuousSubmit" + @echo "... ContinuousCoverage" + @echo "... ContinuousTest" + @echo "... ContinuousBuild" + @echo "... ContinuousMemCheck" + @echo "... Nightly" + @echo "... NightlyTest" + @echo "... NightlyUpdate" + @echo "... install/local" + @echo "... Continuous" + @echo "... NightlyBuild" + @echo "... NightlyStart" + @echo "... NightlyMemoryCheck" + @echo "... NightlyMemCheck" + @echo "... clean_source" + @echo "... ExperimentalStart" + @echo "... ContinuousConfigure" + @echo "... NightlyCoverage" + @echo "... ExperimentalUpdate" + @echo "... test" + @echo "... ExperimentalConfigure" + @echo "... ExperimentalCoverage" + @echo "... ExperimentalBuild" + @echo "... NightlyConfigure" + @echo "... ExperimentalTest" + @echo "... ExperimentalMemCheck" + @echo "... Experimental" + @echo "... NightlySubmit" + @echo "... ExperimentalSubmit" + @echo "... ContinuousStart" + @echo "... ContinuousUpdate" + @echo "... VoyagerCamera" + @echo "... viknonoodle_app" + @echo "... vikcal_app" + @echo "... vik2isis_app" + @echo "... rososiris2isis_app" + @echo "... RosettaVirtisCamera" + @echo "... thmvisflat_app" + @echo "... ThemisVisCamera" + @echo "... mroctx2isis_app" + @echo "... marcical_app" + @echo "... marci2isis_app" + @echo "... histitch_app" + @echo "... histat_app" + @echo "... hirdrgen_app" + @echo "... hinoise_app" + @echo "... hisharpen_app" + @echo "... hijitter_app" + @echo "... hifringe_app" + @echo "... hidtmgen_app" + @echo "... hicrop_app" + @echo "... hiccdstitch_app" + @echo "... hicalproc_app" + @echo "... hical_app" + @echo "... ctxcal_app" + @echo "... crism2isis_app" + @echo "... mro_unit_test_MarciCamera" + @echo "... mro_unit_test_HiriseCamera" + @echo "... mro_unit_test_CTXCamera" + @echo "... mro" + @echo "... HiriseCamera" + @echo "... CrismCamera" + @echo "... mocuncompress_app" + @echo "... mocproc_app" + @echo "... mocnoise50_app" + @echo "... mocgap_app" + @echo "... moccal_app" + @echo "... mgs_unit_test_MocWideAngleCamera" + @echo "... mgs_unit_test_MocLabels" + @echo "... mdisedrinfo_app" + @echo "... mdis2pds_app" + @echo "... mer2isis_app" + @echo "... mar10restore_app" + @echo "... mar10cal_app" + @echo "... lrowacpho_app" + @echo "... lrowaccal_app" + @echo "... lronacpho_app" + @echo "... lronac2pds_app" + @echo "... lromakeflat_app" + @echo "... hicalbeta_app" + @echo "... MiniRF" + @echo "... LroWideAngleCamera" + @echo "... lo_unit_test_LoMediumCamera" + @echo "... lo_unit_test_LoHighCamera" + @echo "... lo_unit_test_LoCameraFiducialMap" + @echo "... lo" + @echo "... kaguyatc2isis_app" + @echo "... kaguyasp2isis_app" + @echo "... nirs2isis_app" + @echo "... HayabusaNirsCamera" + @echo "... voyramp_app" + @echo "... gllssical_app" + @echo "... dawnfc2isis_app" + @echo "... clemnircal_app" + @echo "... clem2isis_app" + @echo "... LwirCamera" + @echo "... vimscal_app" + @echo "... vims2isis_app" + @echo "... cisscal_app" + @echo "... cassini_unit_test_IssWACamera" + @echo "... vikclean_app" + @echo "... cassini" + @echo "... IssNACamera" + @echo "... apollowarp_app" + @echo "... lorri2isis_app" + @echo "... apolloremrx_app" + @echo "... apollopaninit_app" + @echo "... apollofindrx_app" + @echo "... apollo2isis_app" + @echo "... apollo_unit_test_CentroidApolloPan" + @echo "... ApolloPanoramicCamera" + @echo "... ApolloMetricCamera" + @echo "... kerneldbgen_app" + @echo "... isiscomplete_app" + @echo "... dempack_app" + @echo "... hi2isis_app" + @echo "... csspckgen_app" + @echo "... qtie_app" + @echo "... qnet_app" + @echo "... qmos_app" + @echo "... warp_app" + @echo "... sumspice_app" + @echo "... slither_app" + @echo "... prtloganalyzer_app" + @echo "... jigsaw_app" + @echo "... fplanemap_app" + @echo "... findfeatures_app" + @echo "... coreg_app" + @echo "... cnetwinnow_app" + @echo "... cnetthinner_app" + @echo "... cnetpvl2bin_app" + @echo "... MsiCamera" + @echo "... cnetmerge_app" + @echo "... cnetnewradii_app" + @echo "... cnethist_app" + @echo "... cnetcombinept_app" + @echo "... cnetbin2pvl_app" + @echo "... cnet2mat_app" + @echo "... cnet2dem_app" + @echo "... vicar2isis_app" + @echo "... NewHorizonsMvicFrameCamera" + @echo "... uncrop_app" + @echo "... trim_app" + @echo "... tonematch_app" + @echo "... tabledump_app" + @echo "... cassini_unit_test_VimsCamera" + @echo "... table2cube_app" + @echo "... hideal2pds_app" + @echo "... stretch_app" + @echo "... lrowac2isis_app" + @echo "... apollo" + @echo "... spicefit_app" + @echo "... speclowpass_app" + @echo "... chan1m32isis_app" + @echo "... spechighpass_app" + @echo "... specadd_app" + @echo "... smtk_app" + @echo "... slpmap_app" + @echo "... skypt_app" + @echo "... skymap_app" + @echo "... clemuvviscal_app" + @echo "... sigmastretch_app" + @echo "... shadow_app" + @echo "... shade_app" + @echo "... mar102isis_app" + @echo "... segment_app" + @echo "... pointreg_app" + @echo "... rotate_app" + @echo "... ringspt_app" + @echo "... ringscam2map_app" + @echo "... cnetstats_app" + @echo "... ringsautomos_app" + @echo "... raw2isis_app" + @echo "... autoseed_app" + @echo "... pixel2map_app" + @echo "... thmproc_app" + @echo "... photomet_app" + @echo "... clemnirclean_app" + @echo "... photemplate_app" + @echo "... phohillier_app" + @echo "... thm2isis_app" + @echo "... phoempglobal_app" + @echo "... viknobutter_app" + @echo "... phocube_app" + @echo "... pca_app" + @echo "... pad_app" + @echo "... outline_app" + @echo "... cneteditor_app" + @echo "... noseam_app" + @echo "... mocevenodd_app" + @echo "... mosrange_app" + @echo "... mode_app" + @echo "... minmax_app" + @echo "... median_app" + @echo "... maptrim_app" + @echo "... mappt_app" + @echo "... mapmos_app" + @echo "... socetframesettings_app" + @echo "... apollo_unit_test_ApolloMetricCamera" + @echo "... maplab_app" + @echo "... amicacal_app" + @echo "... map2map_app" + @echo "... hiequal_app" + @echo "... map2cam_app" + @echo "... lowpass_app" + @echo "... lineeq_app" + @echo "... kernfilter_app" + @echo "... isisui_app" + @echo "... isisminer_app" + @echo "... interestcube_app" + @echo "... CTXCamera" + @echo "... ifft_app" + @echo "... hifurrows_app" + @echo "... histmatch_app" + @echo "... highpass_app" + @echo "... mro_unit_test_HiLab" + @echo "... grid_app" + @echo "... greyscale_app" + @echo "... IssWACamera" + @echo "... isis2std_app" + @echo "... gradient_app" + @echo "... getsn_app" + @echo "... getkey_app" + @echo "... footprintmerge_app" + @echo "... thmdriftcor_app" + @echo "... lronaccal_app" + @echo "... footprintinit_app" + @echo "... HiresCamera" + @echo "... fits2isis_app" + @echo "... findimageoverlaps_app" + @echo "... findgaps_app" + @echo "... errors_app" + @echo "... higlob_app" + @echo "... skyrange_app" + @echo "... equalizer_app" + @echo "... edrget_app" + @echo "... VikingCamera" + @echo "... phoemplocal_app" + @echo "... editlab_app" + @echo "... poly_app" + @echo "... dstripe_app" + @echo "... dsk2isis_app" + @echo "... divfilter_app" + @echo "... MdisCamera" + @echo "... desmear_app" + @echo "... demprep_app" + @echo "... ddd2isis_app" + @echo "... cubeit_app" + @echo "... cubeavg_app" + @echo "... messckgen_app" + @echo "... cropspecial_app" + @echo "... KaguyaMiCamera" + @echo "... svfilter_app" + @echo "... crop_app" + @echo "... copylabel_app" + @echo "... circle_app" + @echo "... catlab_app" + @echo "... camtrim_app" + @echo "... isis3_unit_test_MaximumCorrelation" + @echo "... isis3_unit_test_Gruen" + @echo "... isis3_unit_test_LunarLambertMcEwen" + @echo "... isis3_unit_test_Mixed" + @echo "... isis3_unit_test_LunarLambertEmpirical" + @echo "... isis3_unit_test_PolygonSeederFactory" + @echo "... HayabusaAmicaCamera" + @echo "... deltack_app" + @echo "... isis3_unit_test_Longitude" + @echo "... isis3_unit_test_Matrix" + @echo "... isis3_unit_test_CubeInfixToPostfix" + @echo "... qview_app" + @echo "... isis3_unit_test_LineEquation" + @echo "... cosi_app" + @echo "... isis3_unit_test_LambertAzimuthalEqualArea" + @echo "... isis3_unit_test_LineScanCameraSkyMap" + @echo "... isis3_unit_test_JP2Importer" + @echo "... isis3_unit_test_ControlPointList" + @echo "... mimap2isis_app" + @echo "... kaguyami2isis_app" + @echo "... remrx_app" + @echo "... isis3_unit_test_JP2Exporter" + @echo "... cnettable_app" + @echo "... isis3_unit_test_JP2Error" + @echo "... leisa2isis_app" + @echo "... isis3_unit_test_Isis" + @echo "... spkwriter_app" + @echo "... isis3_unit_test_MinnaertEmpirical" + @echo "... isis3_unit_test_Intercept" + @echo "... ringsmappt_app" + @echo "... isis3_unit_test_BandManager" + @echo "... isis3_unit_test_InfixToPostfix" + @echo "... isis3_unit_test_Planar" + @echo "... isis3_unit_test_ImportPdsTable" + @echo "... mro_unit_test_CrismCamera" + @echo "... isis3_unit_test_Resource" + @echo "... UvvisCamera" + @echo "... cnetdiff_app" + @echo "... cubeatt_app" + @echo "... isis3_unit_test_ImageImporter" + @echo "... makecube_app" + @echo "... isis2fits_app" + @echo "... Mercator" + @echo "... UpturnedEllipsoidTransverseAzimuthal" + @echo "... isis3_unit_test_SerialNumberList" + @echo "... isis3_unit_test_ImageExporter" + @echo "... DawnFcCamera" + @echo "... apollocal_app" + @echo "... isis3_unit_test_ImageOverlapSet" + @echo "... isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal" + @echo "... hirdr2isis_app" + @echo "... isis3_unit_test_IdealCamera" + @echo "... isis3_unit_test_ProcessExportPds" + @echo "... isis3_unit_test_IException" + @echo "... isis3_unit_test_HapkeAtm1" + @echo "... mar10clean_app" + @echo "... isis3_unit_test_Gui" + @echo "... thmnoseam_app" + @echo "... fx_app" + @echo "... isis3_unit_test_Ransac" + @echo "... RosettaOsirisCamera" + @echo "... isis3_unit_test_Histogram" + @echo "... isis3_unit_test_GroupedStatistics" + @echo "... apollo_unit_test_Apollo" + @echo "... isis3_unit_test_GaussianStretch" + @echo "... isis3_unit_test_GroundGrid" + @echo "... isis3_unit_test_GSLUtility" + @echo "... isis3_unit_test_FramingCamera" + @echo "... isis3_unit_test_Stretch" + @echo "... isis3_unit_test_FileName" + @echo "... SsiCamera" + @echo "... isis3_unit_test_Isotropic2" + @echo "... NewHorizonsMvicTdiCamera" + @echo "... mrf2pds_app" + @echo "... isis3_unit_test_Pipeline" + @echo "... mask_app" + @echo "... isis3_unit_test_FileList" + @echo "... isis3_unit_test_HapkeAtm2" + @echo "... algebra_app" + @echo "... isis3_unit_test_Isotropic1" + @echo "... isis3_unit_test_InlineInfixToPostfix" + @echo "... bit2bit_app" + @echo "... isis3_unit_test_ExportPdsTable" + @echo "... isis3_unit_test_PrincipalComponentAnalysis" + @echo "... isis3_unit_test_Equirectangular" + @echo "... isis3_unit_test_TopoAtm" + @echo "... isis3_unit_test_Environment" + @echo "... isis3_unit_test_Enlarge" + @echo "... isis3_unit_test_OverlapNormalization" + @echo "... himos_app" + @echo "... StandardDeviationOperator" + @echo "... isis3_unit_test_SessionLog" + @echo "... makeflat_app" + @echo "... isis3_unit_test_LunarLambert" + @echo "... isis3_unit_test_Distance" + @echo "... isis3_unit_test_Displacement" + @echo "... isis3_unit_test_JP2Encoder" + @echo "... cassini_unit_test_CisscalFile" + @echo "... isis3_unit_test_ImageOverlap" + @echo "... isis3_unit_test_DemShape" + @echo "... trimfilter_app" + @echo "... MoonAlbedo" + @echo "... isis3_unit_test_GisBlob" + @echo "... noisefilter_app" + @echo "... isis3_unit_test_CubeManager" + @echo "... lo2isis_app" + @echo "... isis3_unit_test_AutoReg" + @echo "... isis3_unit_test_Stereo" + @echo "... LunarLambertEmpirical" + @echo "... isis3_unit_test_Latitude" + @echo "... isis3_unit_test_MaximumLikelihoodWFunctions" + @echo "... LoMediumCamera" + @echo "... isis3_unit_test_Constants" + @echo "... isis3_unit_test_EmbreeShapeModel" + @echo "... NoOperator" + @echo "... isis3_unit_test_IString" + @echo "... ThemisIrCamera" + @echo "... isis3_unit_test_Column" + @echo "... MarciCamera" + @echo "... cnetadd_app" + @echo "... isis3_unit_test_CollectorMap" + @echo "... HrscCamera" + @echo "... MoravecOperator" + @echo "... hicolormos_app" + @echo "... isis3_unit_test_CSVReader" + @echo "... isis3_unit_test_Interpolator" + @echo "... isis3_unit_test_SpectralDefinition" + @echo "... StripPolygonSeeder" + @echo "... isis3_unit_test_MosaicSceneWidget" + @echo "... explode_app" + @echo "... ObliqueCylindrical" + @echo "... LunarLambertMcEwen" + @echo "... PolarStereographic" + @echo "... MocNarrowAngleCamera" + @echo "... PointPerspective" + @echo "... mical_app" + @echo "... isis3_unit_test_TransverseMercator" + @echo "... LoHighCamera" + @echo "... AdaptiveGruen" + @echo "... isis3_unit_test_Spice" + @echo "... LambertAzimuthalEqualArea" + @echo "... mirror_app" + @echo "... isis3_unit_test_History" + @echo "... rosvirtis2isis_app" + @echo "... isis3_unit_test_MinimumDifference" + @echo "... isis3_unit_test_ProcessByTile" + @echo "... isis3_unit_test_PvlTokenizer" + @echo "... thmvistrim_app" + @echo "... MocWideAngleCamera" + @echo "... mdisproc_app" + @echo "... Planar" + @echo "... hijitreg_app" + @echo "... MaximumCorrelation" + @echo "... Hapke" + @echo "... isis3_unit_test_PvlFormatPds" + @echo "... cnetsplit_app" + @echo "... TransverseMercator" + @echo "... ciss2isis_app" + @echo "... isis3_unit_test_Cube" + @echo "... isis3_unit_test_AdaptiveGruen" + @echo "... cubenorm_app" + @echo "... isis3_unit_test_Chip" + @echo "... isis3_unit_test_ExportDescription" + @echo "... appjit_app" + @echo "... ckwriter_app" + @echo "... ForstnerOperator" + @echo "... Lambert" + @echo "... mrf2isis_app" + @echo "... isis3_unit_test_Spectel" + @echo "... isis3_unit_test_Topo" + @echo "... isis3_unit_test_Equalization" + @echo "... isis3_unit_test_Hillshade" + @echo "... DawnVirCamera" + @echo "... Sinusoidal" + @echo "... isis3_unit_test_Projection" + @echo "... isis3_unit_test_RadarGroundMap" + @echo "... cathist_app" + @echo "... LommelSeeliger" + @echo "... isis3_unit_test_SimpleCylindrical" + @echo "... isis3_unit_test_GisTopology" + @echo "... HapkeAtm1" + @echo "... isis3_unit_test_Message" + @echo "... isis3_unit_test_DatabaseFactory" + @echo "... rolo2isis_app" + @echo "... LroNarrowAngleCamera" + @echo "... isis3_unit_test_FunctionTools" + @echo "... noproj_app" + @echo "... isis3_unit_test_Minnaert" + @echo "... mat2cnet_app" + @echo "... camrange_app" + @echo "... Orthographic" + @echo "... camstats_app" + @echo "... isis3_unit_test_ObliqueCylindrical" + @echo "... NirCamera" + @echo "... RingCylindrical" + @echo "... isis3_unit_test_LimitPolygonSeeder" + @echo "... clemnirnoise_app" + @echo "... isis3_unit_test_CameraDistortionMap" + @echo "... isis3_unit_test_SpectralDefinition1D" + @echo "... lronacecho_app" + @echo "... overlapstats_app" + @echo "... isis3_unit_test_ControlGraph" + @echo "... vdcomp_app" + @echo "... isis3_unit_test_ProcessImport" + @echo "... messspkgen_app" + @echo "... isis3_unit_test_Endian" + @echo "... isis3_unit_test_Application" + @echo "... isis3_unit_test_QtExporter" + @echo "... isis3_unit_test_Kernels" + @echo "... isis3_unit_test_TiffImporter" + @echo "... isis3_unit_test_CubeCalculator" + @echo "... isis3_unit_test_CameraDetectorMap" + @echo "... flip_app" + @echo "... LambertConformal" + @echo "... lrowac2pds_app" + @echo "... isis3_unit_test_GisGeometry" + @echo "... amica2isis_app" + @echo "... isis3_unit_test_PvlSequence" + @echo "... isis3_unit_test_Quaternion" + @echo "... isis3_unit_test_EllipsoidShape" + @echo "... GridPolygonSeeder" + @echo "... maptemplate_app" + @echo "... decorstretch_app" + @echo "... isis3_unit_test_LineScanCamera" + @echo "... cassini_unit_test_CissLabels" + @echo "... isis3_unit_test_FilterCachingAlgorithm" + @echo "... SimpleCylindrical" + @echo "... isis3_unit_test_AtmosModel" + @echo "... mvic2isis_app" + @echo "... lronac2isis_app" + @echo "... isis3_unit_test_BasisFunction" + @echo "... AlbedoAtm" + @echo "... catoriglab_app" + @echo "... isis3_unit_test_AlphaCube" + @echo "... isis3_unit_test_JP2Decoder" + @echo "... Topo" + @echo "... Equirectangular" + @echo "... Shade" + @echo "... isis3_unit_test_InlineCalculator" + @echo "... isis3_unit_test_Process" + @echo "... viknopepper_app" + @echo "... isis3_unit_test_UserInterface" + @echo "... isis3_unit_test_ID" + @echo "... GradientOperator" + @echo "... isis3_unit_test_PolygonSeeder" + @echo "... pds2isis_app" + @echo "... IdealCamera" + @echo "... isis3_unit_test_LambertConformal" + @echo "... isis3_unit_test_Shade" + @echo "... isis3_unit_test_EmbreeTargetShape" + @echo "... voy2isis_app" + @echo "... Mixed" + @echo "... isis3_unit_test_CameraPointInfo" + @echo "... isis3_unit_test_StandardDeviationOperator" + @echo "... isis3_unit_test_LommelSeeliger" + @echo "... ShadeAtm" + @echo "... thmbasemap1_app" + @echo "... isis3_unit_test_NaifStatus" + @echo "... handmos_app" + @echo "... isis3_unit_test_BundleUtilities" + @echo "... isis3_unit_test_EmbreeTargetManager" + @echo "... pvldiff_app" + @echo "... isis3_unit_test_CorrelationMatrix" + @echo "... isis3_unit_test_ImagePolygon" + @echo "... LunarAzimuthalEqualArea" + @echo "... isis3_unit_test_LinearAlgebra" + @echo "... isis3_unit_test_CameraFactory" + @echo "... LunarLambert" + @echo "... hrsc2isis_app" + @echo "... isis3_unit_test_BoxcarManager" + @echo "... TopoAtm" + @echo "... hsv2rgb_app" + @echo "... Isotropic1" + @echo "... isis3_unit_test_PolygonTools" + @echo "... mgs_unit_test_MocNarrowAngleSumming" + @echo "... isis3_unit_test_CameraSkyMap" + @echo "... moc2isis_app" + @echo "... isis3_unit_test_CubeDataThread" + @echo "... isis3_unit_test_LineManager" + @echo "... isis3_unit_test_CameraFocalPlaneMap" + @echo "... isis3_unit_test_StatCumProbDistDynCalc" + @echo "... isis3_unit_test_RadarGroundRangeMap" + @echo "... isis3_unit_test_CameraGroundMap" + @echo "... voycal_app" + @echo "... isis3_unit_test_Affine" + @echo "... isis3_unit_test_ControlCubeGraphNode" + @echo "... isis3_unit_test_Albedo" + @echo "... isis3_unit_test_CameraStatistics" + @echo "... pds2hideal_app" + @echo "... isis3_unit_test_NaifDskApi" + @echo "... isis2pds_app" + @echo "... isis3_unit_test_Selection" + @echo "... isis3_unit_test_Angle" + @echo "... Mariner10Camera" + @echo "... isis3_unit_test_GaussianDistribution" + @echo "... MinimumDifference" + @echo "... isis3_unit_test_Anisotropic2" + @echo "... isis3_unit_test_Area3D" + @echo "... isis3_unit_test_GradientOperator" + @echo "... cnetcheck_app" + @echo "... percent_app" + @echo "... isis3_unit_test_AlbedoAtm" + @echo "... isis3" + @echo "... NewHorizonsLeisaCamera" + @echo "... isis3_unit_test_PushFrameCameraGroundMap" + @echo "... isis3_unit_test_BufferManager" + @echo "... isis3_unit_test_CubeAttribute" + @echo "... gaussstretch_app" + @echo "... MinnaertEmpirical" + @echo "... hicubeit_app" + @echo "... lopdsgen_app" + @echo "... cnetedit_app" + @echo "... isis3_unit_test_Kernel" + @echo "... fillgap_app" + @echo "... isis3_unit_test_Basis1VariableFunction" + @echo "... cassini_unit_test_IssNACamera" + @echo "... isis3_unit_test_Blobber" + @echo "... VimsCamera" + @echo "... cnetref_app" + @echo "... specpix_app" + @echo "... isis3_unit_test_BoxcarCachingAlgorithm" + @echo "... ctxevenodd_app" + @echo "... isis3_unit_test_Calculator" + @echo "... isis3_unit_test_EquatorialCylindricalShape" + @echo "... spiceinit_app" + @echo "... photrim_app" + @echo "... Robinson" + @echo "... deriv_app" + @echo "... isis3_unit_test_Brick" + @echo "... isis3_unit_test_Buffer" + @echo "... isis3_unit_test_ControlNetVersioner" + @echo "... isis3_unit_test_Anisotropic1" + @echo "... isis3_unit_test_LineScanCameraDetectorMap" + @echo "... shadowtau_app" + @echo "... Anisotropic1" + @echo "... isis3_unit_test_AtmosModelFactory" + @echo "... isis3_unit_test_Blob" + @echo "... isis3_unit_test_SpicePosition" + @echo "... isis3_unit_test_BundleSolutionInfo" + @echo "... gauss_app" + @echo "... isis3_unit_test_BulletDskShape" + @echo "... cubediff_app" + @echo "... Minnaert" + @echo "... isis3_unit_test_BulletShapeModel" + @echo "... std2isis_app" + @echo "... isis3_unit_test_TileManager" + @echo "... isis3_unit_test_BulletTargetShape" + @echo "... caminfo_app" + @echo "... isis3_unit_test_Camera" + @echo "... Mollweide" + @echo "... isis3_unit_test_Centroid" + @echo "... isis3_unit_test_PixelFOV" + @echo "... isis3_unit_test_Mollweide" + @echo "... isis3_unit_test_MoonAlbedo" + @echo "... isis3_unit_test_FourierTransform" + @echo "... isis3_unit_test_NaifDskShape" + @echo "... isis3_unit_test_SpectralDefinition2D" + @echo "... dawnvir2isis_app" + @echo "... Chandrayaan1M3Camera" + @echo "... ratio_app" + @echo "... isis3_unit_test_NoNormalization" + @echo "... isis3_unit_test_NoOperator" + @echo "... isis3_unit_test_TProjection" + @echo "... apollo_unit_test_ApolloPanoramicCamera" + @echo "... isis3_unit_test_NormModel" + @echo "... isis3_unit_test_NormModelFactory" + @echo "... stats_app" + @echo "... isis3_unit_test_LeastSquares" + @echo "... isis3_unit_test_Sensor" + @echo "... isis3_unit_test_NumericalApproximation" + @echo "... hicubenorm_app" + @echo "... isis3_unit_test_Lambert" + @echo "... isis3_unit_test_PixelType" + @echo "... isis3_unit_test_TableRecord" + @echo "... isis3_unit_test_SubArea" + @echo "... socetlinescankeywords_app" + @echo "... blobdump_app" + @echo "... isis3_unit_test_ObservationNumber" + @echo "... isis3_unit_test_ObservationNumberList" + @echo "... isis3_unit_test_Orthographic" + @echo "... NewHorizonsLorriCamera" + @echo "... mdiscal_app" + @echo "... isis3_unit_test_OverlapStatistics" + @echo "... isis3_unit_test_Parabola" + @echo "... isis3_unit_test_PhotoModel" + @echo "... isis3_unit_test_RadialDistortionMap" + @echo "... viknosalt_app" + @echo "... isis3_unit_test_PhotoModelFactory" + @echo "... cnetextract_app" + @echo "... isis3_unit_test_ProcessByQuickFilter" + @echo "... isis3_unit_test_SqlRecord" + @echo "... isis3_unit_test_Photometry" + @echo "... isis3_unit_test_Pixel" + @echo "... isis3_unit_test_PlaneShape" + @echo "... isis3_unit_test_Plugin" + @echo "... isis3_unit_test_PointPerspective" + @echo "... isis3_unit_test_ControlNetStatistics" + @echo "... isis3_unit_test_ShapeModel" + @echo "... isis3_unit_test_CubeCachingAlgorithm" + @echo "... isis3_unit_test_ProcessRubberSheet" + @echo "... isis3_unit_test_EndianSwapper" + @echo "... isis3_unit_test_PolynomialBivariate" + @echo "... isis3_unit_test_Robinson" + @echo "... isis3_unit_test_PolynomialUnivariate" + @echo "... isis3_unit_test_Target" + @echo "... isis3_unit_test_BundleSettings" + @echo "... isis3_unit_test_RingCylindrical" + @echo "... Anisotropic2" + @echo "... isis3_unit_test_Portal" + @echo "... isis3_unit_test_Preference" + @echo "... isis3_unit_test_ProcessByBoxcar" + @echo "... histeq_app" + @echo "... isis3_unit_test_ProcessByBrick" + @echo "... isis3_unit_test_ProcessBySample" + @echo "... isis2gml_app" + @echo "... isis3_unit_test_ProcessBySpectra" + @echo "... blend_app" + @echo "... findrx_app" + @echo "... isis3_unit_test_ProcessExport" + @echo "... cam2map_app" + @echo "... isis3_unit_test_Hapke" + @echo "... isis3_unit_test_ProcessExportPds4" + @echo "... kuwahara_app" + @echo "... isis3_unit_test_ProcessGroundPolygons" + @echo "... isis3_unit_test_ProcessImportFits" + @echo "... isis3_unit_test_OriginalLabel" + @echo "... isis3_unit_test_PolarStereographic" + @echo "... isis3_unit_test_ProcessImportPds" + @echo "... specdivfilter_app" + @echo "... isis3_unit_test_WorldMapper" + @echo "... clemhirescal_app" + @echo "... isis3_unit_test_ProcessImportVicar" + @echo "... isis3_unit_test_DbAccess" + @echo "... isis3_unit_test_ProcessMapMosaic" + @echo "... isis3_unit_test_ProcessMosaic" + @echo "... isis3_unit_test_ProcessPolygons" + @echo "... isis3_unit_test_ProgramLauncher" + @echo "... kaguyasp2ascii_app" + @echo "... mvstats_app" + @echo "... isis3_unit_test_PushFrameCamera" + @echo "... isis3_unit_test_TriangularPlate" + @echo "... hidestripe_app" + @echo "... center_app" + @echo "... isis3_unit_test_AutoRegFactory" + @echo "... isis3_unit_test_MoravecOperator" + @echo "... isis3_unit_test_PushFrameCameraDetectorMap" + @echo "... isis3_unit_test_Pvl" + @echo "... isis3_unit_test_PvlContainer" + @echo "... fft_app" + @echo "... isis3_unit_test_PvlEditDialog" + @echo "... LimitPolygonSeeder" + @echo "... isis3_unit_test_PvlFlatMap" + @echo "... isis3_unit_test_PvlFormat" + @echo "... vikfixtrx_app" + @echo "... NoNormalization" + @echo "... isis3_unit_test_RingPlaneProjection" + @echo "... nocam2map_app" + @echo "... isis3_unit_test_PvlGroup" + @echo "... isis3_unit_test_AbstractPlate" + @echo "... isis3_unit_test_PvlKeyword" + @echo "... isis3_unit_test_PvlObject" + @echo "... isis3_unit_test_PvlToPvlTranslationManager" + @echo "... sharpen_app" + @echo "... isis3_unit_test_PvlToXmlTranslationManager" + @echo "... isis3_unit_test_LunarAzimuthalEqualArea" + @echo "... isis3_unit_test_PvlToken" + @echo "... isis3_unit_test_BulletWorldManager" + @echo "... isis3_unit_test_PvlTranslationTable" + @echo "... isis3_unit_test_SurfaceModel" + @echo "... Albedo" + @echo "... isis3_unit_test_InterestOperator" + @echo "... desmile_app" + @echo "... isis3_unit_test_QtImporter" + @echo "... isis3_unit_test_QuickFilter" + @echo "... isis3_unit_test_RadarPulseMap" + @echo "... isis3_unit_test_Reduce" + @echo "... isis3_unit_test_ControlNetFilter" + @echo "... cubefunc_app" + @echo "... isis3_unit_test_RadarSkyMap" + @echo "... barscale_app" + @echo "... isis3_unit_test_OriginalXmlLabel" + @echo "... isis3_unit_test_RadarSlantRangeMap" + @echo "... isis3_unit_test_ReseauDistortionMap" + @echo "... rgb2hsv_app" + @echo "... enlarge_app" + @echo "... isis3_unit_test_AbstractShape" + @echo "... isis3_unit_test_SerialNumber" + @echo "... isis3_unit_test_ShadeAtm" + @echo "... reduce_app" + @echo "... isis3_unit_test_ShapeModelFactory" + @echo "... isis2raw_app" + @echo "... isis3_unit_test_ProcessByLine" + @echo "... isis3_unit_test_Sinusoidal" + @echo "... isis3_unit_test_SmtkMatcher" + @echo "... translate_app" + @echo "... isis3_unit_test_SparseBlockMatrix" + @echo "... spiceserver_app" + @echo "... isis3_unit_test_Color" + @echo "... isis3_unit_test_SpecialPixel" + @echo "... isis3_unit_test_Statistics" + @echo "... isis3_unit_test_SampleManager" + @echo "... isis3_unit_test_Strategy" + @echo "... mar10nonoise_app" + @echo "... Isotropic2" + @echo "... isis3_unit_test_StreamExporter" + @echo "... isis3_unit_test_SurfacePoint" + @echo "... isis3_unit_test_Table" + @echo "... isis3_unit_test_SpiceRotation" + @echo "... isis3_unit_test_TableField" + @echo "... seedgrid_app" + @echo "... isis3_unit_test_ProjectionFactory" + @echo "... isis3_unit_test_TextFile" + @echo "... isis3_unit_test_TiffExporter" + @echo "... mro_unit_test_HiEqualization" + @echo "... isis3_unit_test_InterestOperatorFactory" + @echo "... gllssi2isis_app" + @echo "... isis3_unit_test_LineScanCameraGroundMap" + @echo "... isis3_unit_test_IsisAml" + @echo "... isis3_unit_test_Transform" + @echo "... isis3_unit_test_UniqueIOCachingAlgorithm" + @echo "... isis3_unit_test_UniversalGroundMap" + @echo "... isis3_unit_test_VariableLineScanCameraDetectorMap" + @echo "... isis3_unit_test_VecFilter" + @echo "... fakecube_app" + @echo "... isis3_unit_test_XmlStackedHandler" + @echo "... isis2ascii_app" + @echo "... isis3_unit_test_XmlStackedHandlerReader" + @echo "... mapgrid_app" + @echo "... isis3_unit_test_StripPolygonSeeder" + @echo "... isis3_unit_test_XmlToPvlTranslationManager" + @echo "... isis3_unit_test_Progress" + @echo "... isis3_unit_test_iTime" + @echo "... isis3_unit_test_KernelDb" + @echo "... gllnims2isis_app" + @echo "... isis3_unit_test_Database" + @echo "... mdisddr_app" + @echo "... HapkeAtm2" + @echo "... isis3_unit_test_DbProfile" + @echo "... isis3_unit_test_SpectralDefinitionFactory" + @echo "... isis3_unit_test_SqlQuery" + @echo "... mgs" + @echo "... isis3_unit_test_RadarCamera" + @echo "... isis3_unit_test_BundleAdjust" + @echo "... isis3_unit_test_ForstnerOperator" + @echo "... isis3_unit_test_BundleResults" + @echo "... mgs_unit_test_MocNarrowAngleCamera" + @echo "... apollopanstitcher_app" + @echo "... bandnorm_app" + @echo "... mdis2isis_app" + @echo "... isis3_unit_test_MultivariateStatistics" + @echo "... isis3_unit_test_ControlMeasure" + @echo "... marciflip_app" + @echo "... isis3_unit_test_ControlMeasureLogData" + @echo "... isis3_unit_test_ControlNet" + @echo "... isis3_unit_test_Mercator" + @echo "... isis3_unit_test_NaifDskPlateModel" + @echo "... isis3_unit_test_ControlNetDiff" + @echo "... isis3_unit_test_LabelTranslationManager" + @echo "... isis3_unit_test_ControlNetValidMeasure" + @echo "... isis3_unit_test_GridPolygonSeeder" + @echo "... isis3_unit_test_ControlPoint" + @echo "... ascii2isis_app" + @echo "... hist_app" + @echo "... isis3_unit_test_PushFrameCameraCcdLayout" + @echo "... automos_app" + @echo "... autoregtemplate_app" + @echo "... bandtrim_app" + @echo "... msi2isis_app" + @echo "... butterworth_app" + @echo "... mapsize_app" + @echo "... cam2cam_app" + @echo "... campt_app" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake new file mode 100644 index 0000000000..8c3d369fd7 --- /dev/null +++ b/isis/cmake/AddIsisModule.cmake @@ -0,0 +1,296 @@ +#=============================================================================== +# Functions to add ISIS modules to the CMake build +#=============================================================================== + +include(CodeGeneration) + + +# Incorporate an application folder +function(add_isis_app folder libDependencies) + + # The internal build name will be different than the output name + # - This deals with problems compiling same-named targets on case-insensitive machines. + get_filename_component(appName ${folder} NAME) + set(internalAppName ${appName}_app) + + # Get the source and header files + file(GLOB headers "${folder}/*.h" "${folder}/*.hpp") + file(GLOB sources "${folder}/*.c" "${folder}/*.cpp") + file(GLOB xmlFiles "${folder}/*.xml") + + # All the XML files need to be copied to the install directory + # - They also need be put in the source folder for the app tests + install(FILES ${xmlFiles} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin/xml") + if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/xml) + execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/bin/xml) + endif() + + foreach(xml ${xmlFiles}) + get_filename_component(folder ${xml} DIRECTORY) + get_filename_component(name ${folder} NAME) + if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/xml/${name}.xml) + execute_process(COMMAND ln -s "${xml}" "${name}.xml" + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin/xml) + endif() + endforeach() + + # Generate required QT files + generate_moc_files(mocFiles ${folder}) + set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # Set up the executable + add_executable(${internalAppName} ${headers} ${sources} ${mocFiles}) + set_target_properties(${internalAppName} PROPERTIES LINKER_LANGUAGE CXX) + + # Have the app install with the real name, not the internal name. + target_link_libraries(${internalAppName} ${libDependencies}) + set_target_properties(${internalAppName} PROPERTIES OUTPUT_NAME ${appName}) + install(TARGETS ${internalAppName} DESTINATION bin) + + if(${buildTests}) + # Set up the app tests + # - There may be multiple test folders in the /tsts directory, each + # with its own Makefile describing the test. + set(testFolder ${folder}/tsts) + file(GLOB tests "${testFolder}/*") + foreach(f ${tests}) + add_makefile_test_folder(${f} ${appName}_app) + endforeach() + endif() + +endfunction(add_isis_app) + + + + +# Set up the lone unit test in an obj folder +function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) + + # Get the object name (last folder part) + get_filename_component(folder ${testFile} DIRECTORY) + get_filename_component(filename ${folder} NAME) + + # See if there are any plugin libraries that match the name + # - If there are, we need to link to them! + set(matchedLibs) + foreach (f ${pluginLibs}) + if(${f} STREQUAL ${filename}) + set(matchedLibs ${f}) + endif() + endforeach() + + # Generate a name for the executable + set(executableName "${moduleName}_unit_test_${filename}") + + # Create the executable and link it to the module library + add_executable( ${executableName} ${testFile} ) + set(depLibs "${reqLibs};${matchedLibs}") + target_link_libraries(${executableName} ${moduleName} ${depLibs}) + + # Call function to add the test + add_unit_test_target(${executableName} ${truthFile}) + +endfunction(make_obj_unit_test) + + + + +# Incorporate a single obj folder +function(add_isis_obj folder reqLibs) + + get_filename_component(folderName ${folder} NAME) + + # Look inside this folder for include files + + # Find the source and header files + file(GLOB headers "${folder}/*.h" "${folder}/*.hpp") + file(GLOB sources "${folder}/*.c" "${folder}/*.cpp") + file(GLOB truths "${folder}/*.truth") + file(GLOB plugins "${folder}/*.plugin") + + # Generate protobuf, ui, and moc files if needed. + generate_protobuf_files(protoFiles ${folder}) + generate_ui_files(uiFiles ${folder}) + generate_moc_files(mocFiles ${folder}) + + # Don't include the unit test in the main source list + set(unitTest ${folder}/unitTest.cpp) + list(REMOVE_ITEM sources "${unitTest}") + + # Add the unit test file for this folder if it exists. + if(EXISTS "${unitTest}") + set(thisTestFiles ${unitTest}) + else() + set(thisTestFiles) + endif() + + set(thisSourceFiles ${headers} ${sources} ${protoFiles} ${uiFiles} ${mocFiles}) + set(thisTruthFiles ${truths} ) + + # If there are multiple truth files, select based on the OS. + list(LENGTH thisTestFiles numTest) + list(LENGTH thisTruthFiles numTruth) + if(NOT (${numTest} EQUAL ${numTruth}) ) + + # Look for a truth file that contains the OS string + set(matchedTruth "NONE") + foreach(truthFile ${thisTruthFiles}) + + # If the truth file contains the OS string, use it. + string(FIND ${truthFile} ${osVersionString} position) + if(NOT ${position} EQUAL -1) + set(matchedTruth ${truthFile}) + break() + endif() + + endforeach() + + # If no OS matched, use the default truth file. + if(${matchedTruth} STREQUAL "NONE") + set(matchedTruth "${folder}/${folderName}.truth") + endif() + set(thisTruthFiles ${matchedTruth}) + endif() + + # Always pass the test and truth files to the caller + set(newTestFiles ${thisTestFiles} PARENT_SCOPE) + set(newTruthFiles ${thisTruthFiles} PARENT_SCOPE) + + list(LENGTH plugins numPlugins) + if(${numPlugins} EQUAL 0) + # No plugins, pass the source files back to the caller to add to the larger library. + set(newSourceFiles ${thisSourceFiles} PARENT_SCOPE) + else() + # Folder with a plugin means that this is a separate library! + # Add it here and then we are done with the source files. + + if(NOT (${numPlugins} EQUAL 1)) + message( FATAL_ERROR "Error: Multiple plugins found in folder!" ) + endif() + + get_filename_component(libName ${folder} NAME) + get_filename_component(pluginName ${plugins} NAME) + message("Adding plugin library: ${libName}") + + add_library_wrapper(${libName} "${thisSourceFiles}" "${reqLibs}") + + # Append the plugin file to a single file in the build directory + # where the .so files will be created. During installation copy these + # plugin files to the installation library folder. + set(pluginPath ${CMAKE_BINARY_DIR}/lib/${pluginName}) + cat(${plugins} ${pluginPath}) + install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) + + # Record this library name for the caller + set(newPluginLib ${libName} PARENT_SCOPE) + endif() + + +endfunction(add_isis_obj) + + + + +# Adds an entire module folder. +# - This includes the "base" folder and all the mission specific folders. +# - Each call of this function generates one library. +function(add_isis_module name) + + # First argument is the module name. + # Arguments after the first are the folders to look in. + set(topFolders ${ARGN}) + + message("Adding ISIS module with folders: ${topFolders}") + + set(objFolders) + set(appFolders) + set(tstFolders) + foreach(f ${topFolders}) + + # Folders: apps, lib, tests + set(objsDir "${CMAKE_CURRENT_LIST_DIR}/${f}/objs") + set(appsDir "${CMAKE_CURRENT_LIST_DIR}/${f}/apps") + set(tstsDir "${CMAKE_CURRENT_LIST_DIR}/${f}/tsts") + + # Start with the objs folder + get_subdirectory_list(${objsDir} thisObjFolders) + get_subdirectory_list(${appsDir} thisAppFolders) + get_subdirectory_list(${tstsDir} thisTstFolders) + + set(objFolders ${objFolders} ${thisObjFolders}) + set(appFolders ${appFolders} ${thisAppFolders}) + set(tstFolders ${tstFolders} ${thisTstFolders}) + + endforeach() + + # Now that we have the library info, call function to add it to the build! + # - Base module depends on 3rd party libs, other libs also depend on base. + # - Only the base module gets both a static and shared library. + if(${name} STREQUAL ${CORE_LIB_NAME}) + set(reqLibs ${ALLLIBS}) + set(alsoStatic ON) + else() + set(reqLibs "${CORE_LIB_NAME};${ALLLIBS}") + set(alsoStatic OFF) + endif() + + set(sourceFiles) + set(unitTestFiles) + set(truthFiles) + set(pluginLibs) + foreach(f ${objFolders}) + set(newSourceFiles) + set(newTestFiles) + set(newTruthFiles) + set(newPluginLib) + add_isis_obj(${f} "${reqLibs}") # Library add function + set(sourceFiles ${sourceFiles} ${newSourceFiles}) + set(unitTestFiles ${unitTestFiles} ${newTestFiles}) + set(truthFiles ${truthFiles} ${newTruthFiles}) + set(pluginLibs ${pluginLibs} ${newPluginLib}) + + endforeach(f) + + # Some modules don't generate a library + list(LENGTH sourceFiles temp) + if (NOT ${temp} EQUAL 0) + message("Adding library: ${name}") + add_library_wrapper(${name} "${sourceFiles}" "${reqLibs}" ${alsoStatic}) + + # Have the plugin libraries depend on the module library + foreach(plug ${pluginLibs}) + target_link_libraries(${plug} ${name}) + endforeach() + + # For everything beyond the module library, require the module library. + set(reqLibs "${reqLibs};${name}") + + if(${buildTests}) + set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/unitTest) + + # Now that the library is added, add all the unit tests for it. + list(LENGTH unitTestFiles temp) + math(EXPR numTests "${temp} - 1") + foreach(val RANGE ${numTests}) + list(GET unitTestFiles ${val} testFile ) + list(GET truthFiles ${val} truthFile) + make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") + endforeach() + endif() + + endif() + + # Process the apps (core library always required) + foreach(f ${appFolders}) + add_isis_app(${f} "${reqLibs}") + endforeach() + + if(${buildTests}) + # Process the tests + # - The test suite in qisis/SquishTests are not properly located or handled by this code! + foreach(f ${tstFolders}) + add_makefile_test_folder(${f} ${name}_module) + endforeach() + endif() + +endfunction(add_isis_module) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake new file mode 100644 index 0000000000..98ddb27faa --- /dev/null +++ b/isis/cmake/BuildDocs.cmake @@ -0,0 +1,507 @@ +#============================================================================== +# File for building the ISIS documentation. +# - This is one of the most complicated parts of the build system! +# It makes heavy use of the Xalan XML tool and also requires Latex and Doxygen. +# - This file is called as a stand-alone script when "make docs" is executed. +#============================================================================== + + +cmake_minimum_required(VERSION 3.3) + +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") +list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/cmake") +include(Utilities) + +# Set up Xalan's command-line option names. +set(XALAN_VALIDATE_OPTION "-v") +set(XALAN_OUTFILE_OPTION "-o") +set(XALAN_PARAM_OPTION "-p") +set(XALAN_INFILE_OPTION "" ) +set(XALAN_XSL_OPTION "" ) + +# TODO: How should this be set? +set(MODE "") + + +#------------------------------------------------------------------------ + + +# Populate application doc files into "isis/doc/Application/presentation" +function(copy_app_docs_info) + + # Go through all application folders, copy .xml and assets + get_subdirectory_list("${PROJECT_SOURCE_DIR}/src" moduleFolders) + foreach(f ${moduleFolders}) + get_filename_component(moduleName ${f} NAME_WE) + + # Only need to process app folders, not obj folders. + if ((${moduleName} STREQUAL "docsys") OR (NOT EXISTS "${f}/apps")) + continue() # Skip this folder + endif() + + file(MAKE_DIRECTORY ${appDataFolder}/${moduleName}) + + get_subdirectory_list(${f}/apps appFolders) + foreach(appF ${appFolders}) + # Each app gets its own folder in the build directory + get_filename_component(appName ${appF} NAME_WE) + set(thisDataFolder ${appDataFolder}/${moduleName}/${appName}) + file(MAKE_DIRECTORY ${thisDataFolder}) + + # Copy the .xml file and the asset folder if it exists. + copy_file(${appF}/${appName}.xml ${thisDataFolder}/${appName}.xml) + if(EXISTS ${appF}/assets) + copy_folder(${appF}/assets ${thisDataFolder}) + endif() + endforeach() # End loop through apps + + endforeach() # End loop through modules + +endfunction(copy_app_docs_info) + + + + + +# Build the top level of the documents directory +function(build_upper_level) + + # Copy existing folders to the install directory + copy_folder(${docBuildFolder}/assets ${docInstallFolder}) + copy_folder(${docBuildFolder}/w3c ${docInstallFolder}) + + # Make new (empty) output folders + set(newFolders UserDocs AboutIsis General Guides Installation TechnicalInfo) + foreach(f ${newFolders}) + file(MAKE_DIRECTORY "${docInstallFolder}/${f}") + endforeach() + + # These folders are populated inside "build_documents_folder" + + # Create index.html file + execute_process(COMMAND ${XALAN} ${XALAN_VALIDATE_OPTION} ${XALAN_PARAM_OPTION} menuPath \"\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/index.html ${XALAN_INFILE_OPTION} ${docBuildFolder}/build/homepage.xml ${XALAN_XSL_OPTION} ${docBuildFolder}/build/main.xsl) + + # This folder just gets copied as-is + execute_process(COMMAND cp -r ${PROJECT_SOURCE_DIR}/src/docsys/Schemas ${docInstallFolder}/Schemas) + +endfunction(build_upper_level) + + + + + +# Build src/docsys/documents folder. +function(build_documents_folder) + + message("Building documents folder...") + message(" Building table of contents XML...") + + # Get list of folders of interest + get_subdirectory_list(${docBuildFolder}/documents docFolders) + set(blacklistFolders ${docBuildFolder}/documents/ReleaseNotes # Folders we don't want + ${docBuildFolder}/documents/ParameterChanges + ${docBuildFolder}/documents/ApiChanges) + list(REMOVE_ITEM docFolders ${blacklistFolders}) + + # Build doctoc.xml, the documents table of contents file. + set(doctocPath ${docBuildFolder}/build/doctoc.xml) + file(REMOVE ${doctocPath}) + cat(${docBuildFolder}/build/doctoc_header.xml ${doctocPath}) + foreach(f ${docFolders}) + # Each folder in documents gets a section added to doctoc + get_filename_component(docName ${f} NAME_WE) + + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} dirParam \"${docName}\" ${XALAN_INFILE_OPTION} ${f}/${docName}.xml ${XALAN_XSL_OPTION} ${docBuildFolder}/build/IsisDocumentTOCbuild.xsl OUTPUT_VARIABLE result) + file(APPEND ${doctocPath} ${result}) + + endforeach() + cat(${docBuildFolder}/build/doctoc_footer.xml ${doctocPath}) + + # Write out a modified .xsl file with the correct location of the Xalan executable. + set(modDocBuildXslFile ${docBuildFolder}/build/IsisInlineDocumentBuild_mod.xsl) + file(READ ${PROJECT_SOURCE_DIR}/scripts/IsisInlineDocumentBuild_mod.xsl xslContents) + string(REPLACE XALAN_BIN_LOCATION ${XALAN} xslContents "${xslContents}") + file(WRITE ${modDocBuildXslFile} "${xslContents}") + + # Build individual documents folders + message(" Building individual documents...") + file(MAKE_DIRECTORY ${docInstallFolder}/documents) + foreach(f ${docFolders}) + + message("Building documents folder: ${f}") + + # Handle paths for this folder + get_filename_component(docName ${f} NAME_WE) + set(thisOutputFolder ${docInstallFolder}/documents/${docName}) + file(MAKE_DIRECTORY ${thisOutputFolder}) + + # Use Xalan to generate an intermediate makefile, then execute that makefile + # to generate the output documentation files. + + set(xalanCommand ${XALAN} ${XALAN_PARAM_OPTION} menuPath "../../" ${XALAN_PARAM_OPTION} dirParam "'${docName}'" ${XALAN_OUTFILE_OPTION} ${f}/Makefile_temp ${XALAN_INFILE_OPTION} ${docName}.xml ${XALAN_XSL_OPTION} ${modDocBuildXslFile}) + execute_process(COMMAND ${xalanCommand} WORKING_DIRECTORY ${f}) + + execute_process(COMMAND make -f Makefile_temp docs WORKING_DIRECTORY ${f}) + execute_process(COMMAND rm -f ${f}/Makefile_temp) # Clean up + + # Copy all generated html files and any assets to the install folder + file(GLOB htmlFiles ${f}/*.html) + file(COPY ${htmlFiles} DESTINATION ${thisOutputFolder}) + if(EXISTS "${f}/assets") + copy_folder(${f}/assets ${thisOutputFolder}/assets) + endif() + if(EXISTS "${f}/images") + copy_folder(${f}/images ${thisOutputFolder}/images) + endif() + + endforeach() + + message(" Building table of contents files...") + # These go in top level folders in /doc/ + + # ABOUT ISIS TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/AboutIsis/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/AboutIsis.xsl) + + # GENERAL TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/General/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/General.xsl) + + # GUIDES TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/Guides/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/Guides.xsl) + + # INSTALLATION TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/Installation/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/Installation.xsl) + + # TECHNICAL INFO TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/TechnicalInfo/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/TechnicalInfo.xsl) + + # USER DOCS TOC + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${docInstallFolder}/UserDocs/index.html ${XALAN_INFILE_OPTION} ${doctocPath} ${XALAN_XSL_OPTION} ${docBuildFolder}/build/UserDocs.xsl) + +endfunction(build_documents_folder) + + + + + +# Supporting files should already be in /src/docsys/Application +function(build_application_docs) + + # Is there any reason not to just generate all these files from their original + # locations instead of copying them to a temporary build directory? + + set(appFolder "${docBuildFolder}/Application") + set(printerStyleFolder "${appFolder}/presentation/PrinterFriendly/styles") + set(tabbedStyleFolder "${appFolder}/presentation/Tabbed/styles") + + set(installAppFolder "${docInstallFolder}/Application") + set(installPrinterFolder "${installAppFolder}/presentation/PrinterFriendly") + set(installTabbedFolder "${installAppFolder}/presentation/Tabbed") + + # Make output directories and copy the styles + file(MAKE_DIRECTORY "${installPrinterFolder}") + file(MAKE_DIRECTORY "${installTabbedFolder}") + file(MAKE_DIRECTORY "${installPrinterFolder}/styles") + file(MAKE_DIRECTORY "${installTabbedFolder}/styles") + copy_wildcard("${printerStyleFolder}/*.css" ${installPrinterFolder}/styles/) + copy_wildcard("${tabbedStyleFolder}/*.css" ${installTabbedFolder}/styles/ ) + + # Loop through module folders + get_subdirectory_list(${appDataFolder} moduleFolders) + foreach(mod ${moduleFolders}) + get_filename_component(moduleName ${mod} NAME) + + # Loop through application folders + get_subdirectory_list(${mod} appDataFolders) + foreach(f ${appDataFolders}) + get_filename_component(appName ${f} NAME) + + # Get printer-friendly and tabbed output folders + set(pfAppFolder ${installPrinterFolder}/${appName}) + set(tbAppFolder ${installTabbedFolder}/${appName}) + file(MAKE_DIRECTORY "${pfAppFolder}") + file(MAKE_DIRECTORY "${tbAppFolder}") + + if(EXISTS ${f}/assets) + copy_folder(${f}/assets ${pfAppFolder}) + copy_folder(${f}/assets ${tbAppFolder}) + endif() + + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../../../../\" ${XALAN_OUTFILE_OPTION} ${pfAppFolder}/${appName}.html ${XALAN_INFILE_OPTION} ${f}/${appName}.xml ${XALAN_XSL_OPTION} ${printerStyleFolder}/IsisApplicationDocStyle.xsl) + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../../../../\" ${XALAN_OUTFILE_OPTION} ${tbAppFolder}/${appName}.html ${XALAN_INFILE_OPTION} ${f}/${appName}.xml ${XALAN_XSL_OPTION} ${tabbedStyleFolder}/IsisApplicationDocStyle.xsl) + + endforeach() # End loop through app folders + + endforeach() # End loop through module folders + + # Make the table of contents that goes in the /bin/xml folder + + # Set up the file + set(appTocPath "${CMAKE_INSTALL_PREFIX}/bin/xml/applicationTOC.xml") + file(REMOVE ${appTocPath}) + cat(${docBuildFolder}/Application/build/toc_header.xml ${appTocPath}) + get_subdirectory_list(${appDataFolder} moduleFolders) + + # Loop through module folders + foreach(mod ${moduleFolders}) + get_filename_component(moduleName ${mod} NAME_WE) + + # Loop through application folders + get_subdirectory_list(${mod} appDataFolders) + foreach(f ${appDataFolders}) + + get_filename_component(docName ${f} NAME_WE) + + # Use Xalan to generate a piece of the TOC and append it to the file + execute_process(COMMAND ${XALAN} ${XALAN_INFILE_OPTION} ${f}/${docName}.xml ${XALAN_XSL_OPTION} ${docBuildFolder}/Application/build/IsisApplicationTOCbuild.xsl OUTPUT_VARIABLE result) + file(APPEND ${appTocPath} ${result}) + endforeach() + endforeach() + + # Append the footer to complete the TOC file! + cat(${docBuildFolder}/Application/build/toc_footer.xml ${appTocPath}) + +endfunction(build_application_docs) + + + + + +# Use the application TOC file to build some other TOCs +function(add_extra_tocs) + + set(TOCDIR "${docInstallFolder}/Application") + set(buildFolder "${docBuildFolder}/Application/build") + set(tocXml "${CMAKE_INSTALL_PREFIX}/bin/xml/applicationTOC.xml") + + # Build alpha.html + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${TOCDIR}/alpha.html ${XALAN_INFILE_OPTION} ${tocXml} ${XALAN_XSL_OPTION} ${buildFolder}/TOCindex_alpha.xsl) + + # Build index.html + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${TOCDIR}/index.html ${XALAN_INFILE_OPTION} ${tocXml} ${XALAN_XSL_OPTION} ${buildFolder}/TOCindex_category.xsl) + + # Build oldvnew.html + execute_process(COMMAND ${XALAN} ${XALAN_PARAM_OPTION} menuPath \"../\" ${XALAN_OUTFILE_OPTION} ${TOCDIR}/oldvnew.html ${XALAN_INFILE_OPTION} ${tocXml} ${XALAN_XSL_OPTION} ${buildFolder}/TOCindex_oldvnew.xsl) + + # Build applicationCategories.xml + execute_process(COMMAND ${XALAN} ${XALAN_OUTFILE_OPTION} ${CMAKE_INSTALL_PREFIX}/bin/xml/applicationCategories.xml ${XALAN_INFILE_OPTION} ${docBuildFolder}/Schemas/Application/application.xsd ${XALAN_XSL_OPTION} ${buildFolder}/IsisApplicationCategoriesbuild.xsl) + +endfunction(add_extra_tocs) + + + + + +# Set up three Doxygen configuration files +function(build_object_conf) + + message("Building apps configuration...") + + # Make a list of each object folder with an assets folder + get_subdirectory_list(moduleFolders ${PROJECT_SOURCE_DIR}) + set(OBJECTASSETS) + foreach(mod ${moduleFolders}) + get_subdirectory_list(objFolders ${mod}/objs) + foreach(obj ${objFolders}) + if(EXISTS ${obj}/assets) + set(OBJECTASSETS ${OBJECTASSETS} ${obj}/assets) + endif() + endforeach() # End obj loop + endforeach() # End module loop + + set(objConfDir ${docBuildFolder}/src/docsys/Object/build) + file(MAKE_DIRECTORY ${objConfDir}/apps) + + # The three conf files start from an input base file and append more options + set(appsConf ${objConfDir}/apps_tag_temp.conf ) + set(programmerConf ${objConfDir}/Programmer_temp.conf) + set(developerConf ${objConfDir}/Developer_temp.conf ) + set(docInstallDir ${docInstallFolder}/Object ) + + # Copy settings files from the source folder to the build folder + copy_wildcard("${PROJECT_SOURCE_DIR}/src/docsys/Object/build/*" ${objConfDir}) + + # Append to the app conf file + # apps_tag.conf doesnt exist? + cat(${objConfDir}/apps_tag.conf ${appsConf}) + file(APPEND ${appsConf} "LATEX_CMD_NAME = ${LATEX}\n") + file(APPEND ${appsConf} "OUTPUT_DIRECTORY = ${docInstallDir}\n") + file(APPEND ${appsConf} "STRIP_FROM_PATH = ${PROJECT_SOURCE_DIR}/\n") + file(APPEND ${appsConf} "INPUT = ${PROJECT_SOURCE_DIR}/src/ ${objConfDir}/isisDoxyDefs.doxydef\n") + file(APPEND ${appsConf} "HTML_HEADER = ${objConfDir}/IsisObjectHeader.html\n") + file(APPEND ${appsConf} "HTML_FOOTER = ${objConfDir}/IsisObjectFooter.html\n") + file(APPEND ${appsConf} "PROJECT_LOGO = ${docBuildFolder}/assets/icons/USGS_logo55h.png\n") + file(APPEND ${appsConf} "HTML_OUTPUT = apps\n") + + if(NOT ${DOT_PATH} STREQUAL "") + file(APPEND ${appsConf} "DOT_PATH = /opt/local/bin\n") + endif() + + # Append to the programmer conf file + cat(${objConfDir}/Programmer.conf ${programmerConf}) + file(APPEND ${programmerConf} "OUTPUT_DIRECTORY = ${docInstallDir}\n") + file(APPEND ${programmerConf} "FILE_PATTERNS = *objs*.h") + file(APPEND ${programmerConf} " *objs*.cpp") + file(APPEND ${programmerConf} " *build/isisDoxyDefs.doxydef\n") + file(APPEND ${programmerConf} "STRIP_FROM_PATH = ${PROJECT_SOURCE_DIR}/\n") + file(APPEND ${programmerConf} "INPUT = ${PROJECT_SOURCE_DIR}/src/ ${objConfDir}/isisDoxyDefs.doxydef\n") + file(APPEND ${programmerConf} "HTML_HEADER = ${objConfDir}/IsisObjectHeader.html\n") + file(APPEND ${programmerConf} "HTML_FOOTER = ${objConfDir}/IsisObjectFooter.html\n") + file(APPEND ${programmerConf} "PROJECT_LOGO = ${docBuildFolder}/assets/icons/USGS_logo55h.png\n") + file(APPEND ${programmerConf} "HTML_OUTPUT = Programmer\n") + file(APPEND ${programmerConf} "IMAGE_PATH = \n") + + string(FIND "${MODE}" "LOUD" pos) + if (NOT ${pos} STREQUAL "-1") + file(APPEND ${programmerConf} "QUIET = NO\n") + file(APPEND ${programmerConf} "WARNINGS = YES\n") + file(APPEND ${programmerConf} "WARN_IF_UNDOCUMENTED = NO\n") + file(APPEND ${programmerConf} "WARN_IF_DOC_ERROR = YES\n") + file(APPEND ${programmerConf} "WARN_NO_PARAMDOC = YES\n") + else() + file(APPEND ${programmerConf} "QUIET = YES\n") + file(APPEND ${programmerConf} "WARN_IF_UNDOCUMENTED = NO\n") + file(APPEND ${programmerConf} "WARN_IF_DOC_ERROR = YES\n") + file(APPEND ${programmerConf} "WARN_NO_PARAMDOC = YES\n") + endif() + + if (NOT ${DOT_PATH} STREQUAL "") + file(APPEND ${programmerConf} "DOT_PATH = /opt/local/bin\n") + endif() + + foreach(dirname ${OBJECTASSETS}) + file(APPEND ${programmerConf} "${dirname} \\\n") + endforeach() + + # Append to the developer conf file + cat(${objConfDir}/Developer.conf ${developerConf}) + file(APPEND ${developerConf} "LATEX_CMD_NAME = ${LATEX}\n") + file(APPEND ${developerConf} "OUTPUT_DIRECTORY = ${docInstallDir}\n") + file(APPEND ${developerConf} "STRIP_FROM_PATH = ${CMAKE_INSTALL_PREFIX}/\n") + file(APPEND ${developerConf} "INPUT = ${PROJECT_SOURCE_DIR}/src/ ${objConfDir}/isisDoxyDefs.doxydef\n") + file(APPEND ${developerConf} "HTML_HEADER = ${objConfDir}/IsisObjectHeader.html\n") + file(APPEND ${developerConf} "HTML_FOOTER = ${objConfDir}/IsisObjectFooter.html\n") + file(APPEND ${developerConf} "PROJECT_LOGO = ${docBuildFolder}/assets/icons/USGS_logo55h.png\n") + file(APPEND ${developerConf} "HTML_OUTPUT = Developer\n") + file(APPEND ${developerConf} "IMAGE_PATH = \n") + string(FIND "${MODE}" "LOUD" pos) + if (NOT ${pos} STREQUAL "-1") + file(APPEND ${developerConf} "QUIET = NO\n") + file(APPEND ${developerConf} "WARNINGS = YES\n") + file(APPEND ${developerConf} "WARN_IF_UNDOCUMENTED = NO\n") + file(APPEND ${developerConf} "WARN_IF_DOC_ERROR = YES\n") + file(APPEND ${developerConf} "WARN_NO_PARAMDOC = YES\n") + else() + file(APPEND ${developerConf} "QUIET = YES\n") + file(APPEND ${developerConf} "WARNINGS = NO\n") + file(APPEND ${developerConf} "WARN_IF_UNDOCUMENTED = NO\n") + file(APPEND ${developerConf} "WARN_IF_DOC_ERROR = NO\n") + file(APPEND ${developerConf} "WARN_NO_PARAMDOC = NO\n") + endif() + + foreach(dirname ${OBJECTASSETS}) + file(APPEND ${developerConf} "${dirname} \\\n") + endforeach() + +endfunction(build_object_conf) + + + + +# Build doxygen output for ISIS code +function(build_object_docs) + + # Create app, developer, and programmer Doxygen configuration files. + build_object_conf() + + # TODO: Do prog_tester conf here as well? + + set(objConfDir ${docBuildFolder}/src/docsys/Object/build) + + message("Copying object assets...") + file(MAKE_DIRECTORY "${docInstallFolder}/Object") + execute_process(COMMAND cp -r ${docBuildFolder}/Object/assets ${docInstallFolder}/Object/) + + + message("Creating Object Documentation") + file(MAKE_DIRECTORY ${docInstallFolder}/Object/apps) + file(MAKE_DIRECTORY ${docInstallFolder}/Object/Developer) + file(MAKE_DIRECTORY ${docInstallFolder}/Object/Programmer) + file(MAKE_DIRECTORY ${docInstallFolder}/documents/DocStyle/assets) + copy_wildcard("${docBuildFolder}/Object/*.html" ${docInstallFolder}/Object/) + #copy_file(${objBuildDir}/isisDoxyDefs.doxydef ${docInstallFolder}/documents/DocStyle/assets/isisDoxyDefs.doxydef) + + + message("Building Apps documentation..") + execute_process(COMMAND ${DOXYGEN} "${objConfDir}/apps_tag_temp.conf" + WORKING_DIRECTORY ${docBuildFolder}/src/docsys/Object/) + message("Finished building Apps documentation.") + + message("Building Programmer documentation...") + execute_process(COMMAND ${DOXYGEN} "${objConfDir}/Programmer_temp.conf" + WORKING_DIRECTORY ${docBuildFolder}/src/docsys/Object/) + message("Finished building Programmer documentation.") + + message("Building Developer documentation...") + execute_process(COMMAND ${DOXYGEN} "${objConfDir}/Developer_temp.conf" + WORKING_DIRECTORY ${docBuildFolder}/src/docsys/Object/) + message("Finished building Developer documentation.") + +endfunction(build_object_docs) + + + + + +# Build all the documentation +function(build_docs) + + message("Building Isis Documentation...") + + # Set up output directory and a temporary directory for building + set(docBuildFolder ${CMAKE_BINARY_DIR}/docBuild) + set(appDataFolder ${docBuildFolder}/Application/data) + set(docInstallFolder ${CMAKE_INSTALL_PREFIX}/doc) # Final output documentation + + # Clean up existing files + execute_process(COMMAND rm -rf ${docBuildFolder}) + execute_process(COMMAND rm -rf ${docInstallFolder}) + + message("XALAN = ${XALAN}") + message("DOXYGEN = ${DOXYGEN}") + message("LATEX = ${LATEX}") + + # Copy everything from src/docsys to docBuildFolder + execute_process(COMMAND cp -r ${PROJECT_SOURCE_DIR}/src/docsys ${docBuildFolder}) + + file(MAKE_DIRECTORY "${docBuildFolder}/Application") + file(MAKE_DIRECTORY "${docBuildFolder}/Application/data") + file(MAKE_DIRECTORY "${docInstallFolder}") + + message("Copying application information...") + copy_app_docs_info() + + message("Building upper level directories...") + build_upper_level() + + build_documents_folder() + + message("Building application docs...") + build_application_docs() + + message("Building additional TOCs...") + add_extra_tocs() + + # This step requires Latex and Doxygen + message("Building object documentation") + build_object_docs() + + message("Finished building object documentation!") + +endfunction(build_docs) + + + + +# This file gets called as a script, so call this function to run +# all the code in the file. +build_docs() diff --git a/isis/cmake/CMakeFiles/CMakeDirectoryInformation.cmake b/isis/cmake/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000000..6756580626 --- /dev/null +++ b/isis/cmake/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.9 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/scratch/isiscmake/isis") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/scratch/isiscmake/isis") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/isis/cmake/CMakeFiles/progress.marks b/isis/cmake/CMakeFiles/progress.marks new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/isis/cmake/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/isis/cmake/CMakeLists.txt b/isis/cmake/CMakeLists.txt new file mode 100644 index 0000000000..4bb9e778d4 --- /dev/null +++ b/isis/cmake/CMakeLists.txt @@ -0,0 +1,30 @@ + +# This file contains everything that should be exectuted AFTER the installation +# step has completed. + +message("Setting up post-install behavior...") + +# Set up format version numbers for the main shared library on install +install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_BINARY_DIR}/lib/libisis3${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.0${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis${SO})") + + + +# On OSX, need to correct all the paths encoded in each of the distributed library files so +# that they properly find the distruted files using relative paths. +if (APPLE) + # Call the correction script on each folder containing libraries + install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/lib)") + install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/lib resetRpath)") + install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/bin)") + + # Also need to get the plugin folders + get_subdirectory_list(${CMAKE_SOURCE_DIR}/3rdParty/plugins pluginFolders) + foreach(f ${pluginFolders}) + get_filename_component(name ${f} NAME) + install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/plugins/${name} resetRpath)") + endforeach() + +endif() diff --git a/isis/cmake/CTestTestfile.cmake b/isis/cmake/CTestTestfile.cmake new file mode 100644 index 0000000000..d19043d1b2 --- /dev/null +++ b/isis/cmake/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /scratch/isiscmake/isis/cmake +# Build directory: /scratch/isiscmake/isis/cmake +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/isis/cmake/CodeGeneration.cmake b/isis/cmake/CodeGeneration.cmake new file mode 100644 index 0000000000..9f48041afc --- /dev/null +++ b/isis/cmake/CodeGeneration.cmake @@ -0,0 +1,138 @@ +#================================================================== +# Contains functions for generating code files +#================================================================== + +# TODO: Can we consolidate the following three functions? + + +# Generate ui_*.h files from *.ui files using QT tool uic. +# - ${UIC} must point to the uic tool +function( generate_ui_files uiGenOut folder) + + # Finds all .ui files in the current dir + file(GLOB uiInput "${folder}/*.ui") + + # If no .ui files in this folder we are finished. + list(LENGTH uiInput numFiles) + if (${numFiles} EQUAL 0) + set(${uiGenOut} "" PARENT_SCOPE) + return() + endif() + + # Set where generated files go to and add that directory to the include path + get_code_gen_dir(${folder} uiGenDir) + + # For each input ui file + foreach(uiFile ${uiInput}) + # Get the name of the file without extension + get_filename_component(uiName ${uiFile} NAME_WE) + + # Add the generated file to UI_GEN variable + set(outUiFile "${uiGenDir}/ui_${uiName}.h") + set(uiGen ${uiGen} ${outUiFile}) + + # Add the custom command that will generate this file + # - The generated files will be put in the CMake build directory, + # not the source tree + add_custom_command(OUTPUT ${outUiFile} + COMMAND ${UIC} ${uiFile} -o ${outUiFile} && cp ${outUiFile} ${CMAKE_BINARY_DIR}/inc + DEPENDS ${uiFile} + WORKING_DIRECTORY ${folder} + COMMENT "Generating UI headers...") + endforeach() + + + set(${uiGenOut} ${uiGen} PARENT_SCOPE) # Set up output variable + +endfunction() + + + + +# Generate moc_*.cpp files from *.h files using Q_OBJECT using the moc tool. +# - ${MOC} must point to the moc tool +function( generate_moc_files mocGenOut folder) + + # Finds all .h files in the current dir including the text Q_OBJECT + file(GLOB candidateFiles "${folder}/*.h") + set(mocInput) + foreach(f ${candidateFiles}) + execute_process(COMMAND grep Q_OBJECT ${f} + OUTPUT_VARIABLE result + RESULT_VARIABLE code) + if("${code}" STREQUAL "0") + set(mocInput ${mocInput} ${f}) + endif() + endforeach() + + # If no Q_OBJECT files in this folder we are finished. + list(LENGTH mocInput numFiles) + if (${numFiles} EQUAL 0) + set(${mocGenOut} "" PARENT_SCOPE) + return() + endif() + + # Set where generated files go to and add that directory to the include path + get_code_gen_dir(${folder} mocGenDir) + + # For each input moc file + foreach(mocFile ${mocInput}) + # Get the name of the file without extension + get_filename_component(mocName ${mocFile} NAME_WE) + + # Add the generated file to mocGen variable + set(outMocFile "${mocGenDir}/moc_${mocName}.cpp") + set(mocGen ${mocGen} ${outMocFile}) + + # Add the custom command that will generate this file + # - The generated files will be put in the CMake build directory, + # not the source tree + add_custom_command(OUTPUT ${outMocFile} + COMMAND ${MOC} ${mocFile} -o ${outMocFile} + DEPENDS ${mocFile} + WORKING_DIRECTORY ${folder} + COMMENT "Generating MOC files...") + endforeach() + set(${mocGenOut} ${mocGen} PARENT_SCOPE) # Set up output variable +endfunction() + +# Generate ProtoBuf output files for an obj folder. +# - ${PROTOC} must point to the protobuf tool +function(generate_protobuf_files protoGenOut folder) + + # Finds all .proto files in the current dir + file(GLOB protoInput "${folder}/*.proto") + + # If no .proto files in this folder we are finished. + list(LENGTH protoInput numFiles) + if (${numFiles} EQUAL 0) + set(${protoGenOut} "" PARENT_SCOPE) + return() + endif() + + # Set where generated files go to and add that directory to the include path + get_code_gen_dir(${folder} protoGenDir) + + # For each input protobuf file + foreach(protoFile ${protoInput}) + # Get the name of the file without extension + get_filename_component(protoName ${protoFile} NAME_WE) + + # Add the two generated files to PROTO_GEN variable + set(protoGen ${protoGen} + ${protoGenDir}/${protoName}.pb.h + ${protoGenDir}/${protoName}.pb.cc) + + set(PROTO_HEADERS ${PROTO_HEADERS} ${protoGenDir}/${protoName}.pb.h) + endforeach() + + # Add the custom command that will generate all the files + # - The generated files will be put in the CMake build directory, not the source tree. + add_custom_command(OUTPUT ${protoGen} + COMMAND ${PROTOC} --proto_path ${folder} --cpp_out ${protoGenDir} ${protoInput} && cp ${PROTO_HEADERS} ${CMAKE_BINARY_DIR}/inc + DEPENDS ${protoInput} + WORKING_DIRECTORY ${folder} + COMMENT "Generating Protocol Buffers...") + + set(${protoGenOut} ${protoGen} PARENT_SCOPE) # Set up output variable +endfunction() diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake new file mode 100644 index 0000000000..74b22e224d --- /dev/null +++ b/isis/cmake/FindAllDependencies.cmake @@ -0,0 +1,342 @@ +#=============================================================================== +# High level script to handle all required 3rd party dependencies +# - All of them are expected to be in the 3rdParty folder, this script does not +# go looking for them if they are not? +#=============================================================================== + +# Specify top level directories +set(thirdPartyDir "/usgs/pkgs/local/v007") +set(INCLUDE_DIR "${thirdPartyDir}/include") +set(LIB_DIR "${thirdPartyDir}/lib") +set(PLUGIN_DIR "${thirdPartyDir}/plugins") +set(BIN_DIR "${thirdPartyDir}/bin") +set(LIC_DIR "${thirdPartyDir}/license") + +# Set up plugin dir for OSX to correctly find qt5 plugins for installing +if(APPLE) + set(thirdPartyDir "/opt/usgs/v007") + set(PLUGIN_DIR "${thirdPartyDir}/ports/libexec/qt5/plugins") +endif(APPLE) + +set(JP2KFLAG 1) + +# Add thirdPartyCppFlags +set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) +set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") + +# Paths to required executables +find_program(XALAN Xalan REQUIRED) +find_program(LATEX latex) +find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) +find_program(UIC uic REQUIRED) +find_program(MOC moc REQUIRED) +find_program(RCC rcc REQUIRED) +find_program(PROTOC protoc REQUIRED) + +# message(STATUS "${CMAKE_PREFIX_PATH}") + +include(FindProtobuf) + +if(APPLE) + find_package(Qt5 COMPONENTS + Core + Concurrent + DBus + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + Positioning + PrintSupport + Qml + Quick + Script + ScriptTools + Sensors + Sql + Svg + Test + WebChannel + WebEngine + WebEngineWidgets + Widgets + Xml + XmlPatterns REQUIRED) +else() #oh god why + find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) + find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) + find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) + find_path(QT5_GUI_INCLUDE_DIR NAMES qpainter.h PATH_SUFFIXES qt/qt5.7.1/QtGui) + find_path(QT5_MULTIMEDIA_INCLUDE_DIR NAMES qmediacontent.h PATH_SUFFIXES qt/qt5.7.1/QtMultimedia) + find_path(QT5_MULTIMEDIAWIDGETS_INCLUDE_DIR NAMES qvideowidget.h PATH_SUFFIXES qt/qt5.7.1/QtMultimediaWidgets) + find_path(QT5_NETWORK_INCLUDE_DIR NAMES qsslsocket.h PATH_SUFFIXES qt/qt5.7.1/QtNetwork) + find_path(QT5_OPENGL_INCLUDE_DIR NAMES qtopenglglobal.h PATH_SUFFIXES qt/qt5.7.1/QtOpenGL) + find_path(QT5_POSITIONING_INCLUDE_DIR NAMES qgeocoordinate.h PATH_SUFFIXES qt/qt5.7.1/QtPositioning) + find_path(QT5_PRINTSUPPORT_INCLUDE_DIR NAMES qprinter.h PATH_SUFFIXES qt/qt5.7.1/QtPrintSupport) + find_path(QT5_QML_INCLUDE_DIR NAMES qqmlinfo.h PATH_SUFFIXES qt/qt5.7.1/QtQml) + find_path(QT5_QUICK_INCLUDE_DIR NAMES qquickview.h PATH_SUFFIXES qt/qt5.7.1/QtQuick) +# find_path(QT5_SCRIPT_INCLUDE_DIR NAMES qscriptengine.h PATH_SUFFIXES qt/qt5.7.1/QtScript) +#find_path(QT5_SCRIPTTOOLS_INCLUDE_DIR NAMES qtscripttoolsversion.h PATH_SUFFIXES qt/qt5.7.1/QtScriptTools) + find_path(QT5_SENSORS_INCLUDE_DIR NAMES qgyroscope.h PATH_SUFFIXES qt/qt5.7.1/QtSensors) + find_path(QT5_SQL_INCLUDE_DIR NAMES qsql.h PATH_SUFFIXES qt/qt5.7.1/QtSql) + find_path(QT5_SVG_INCLUDE_DIR NAMES qsvgwidget.h PATH_SUFFIXES qt/qt5.7.1/QtSvg) + find_path(QT5_TEST_INCLUDE_DIR NAMES qtest.h PATH_SUFFIXES qt/qt5.7.1/QtTest) + find_path(QT5_WEBCHANNEL_INCLUDE_DIR NAMES qwebchannel.h PATH_SUFFIXES qt/qt5.7.1/QtWebChannel) + find_path(QT5_WEBENGINE_INCLUDE_DIR NAMES qtwebengineglobal.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngine) + find_path(QT5_WEBENGINEWIDGETS_INCLUDE_DIR NAMES qwebenginescript.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngineWidgets) + find_path(QT5_WIDGETS_INCLUDE_DIR NAMES qwidget.h PATH_SUFFIXES qt/qt5.7.1/QtWidgets) + find_path(QT5_XML_INCLUDE_DIR NAMES qxml.h PATH_SUFFIXES qt/qt5.7.1/QtXml) + find_path(QT5_XMLPATTERNS_INCLUDE_DIR NAMES qtxmlpatternsglobal.h PATH_SUFFIXES qt/qt5.7.1/QtXmlPatterns) + + get_filename_component(QT5_ROOT_INCLUDE_DIR "${QT5_CORE_INCLUDE_DIR}" DIRECTORY) + + find_library(QT5_CORE_LIBRARY NAMES Qt5Core) + find_library(QT5_CONCURRENT_LIBRARY NAMES Qt5Concurrent) + find_library(QT5_DBUS_LIBRARY NAMES Qt5DBus) + find_library(QT5_GUI_LIBRARY NAMES Qt5Gui) + find_library(QT5_MULTIMEDIA_LIBRARY NAMES Qt5Multimedia) + find_library(QT5_MULTIMEDIAWIDGETS_LIBRARY NAMES Qt5MultimediaWidgets) + find_library(QT5_NETWORK_LIBRARY NAMES Qt5Network) + find_library(QT5_OPENGL_LIBRARY NAMES Qt5OpenGL) + find_library(QT5_POSITIONING_LIBRARY NAMES Qt5Positioning) + find_library(QT5_PRINTSUPPORT_LIBRARY NAMES Qt5PrintSupport) + find_library(QT5_QML_LIBRARY NAMES Qt5Qml) + find_library(QT5_QUICK_LIBRARY NAMES Qt5Quick) + find_library(QT5_SCRIPT_LIBRARY NAMES Qt5Script) + find_library(QT5_SCRIPTTOOLS_LIBRARY NAMES Qt5ScriptTools) + find_library(QT5_SENSORS_LIBRARY NAMES Qt5Sensors) + find_library(QT5_SQL_LIBRARY NAMES Qt5Sql) + find_library(QT5_SVG_LIBRARY NAMES Qt5Svg) + find_library(QT5_TEST_LIBRARY NAMES Qt5Test) + find_library(QT5_WEBCHANNEL_LIBRARY NAMES Qt5WebChannel) + find_library(QT5_WEBENGINE_LIBRARY NAMES Qt5WebEngine) + find_library(QT5_WEBENGINECORE_LIBRARY NAMES Qt5WebEngineCore) + find_library(QT5_WEBENGINEWIDGETS_LIBRARY NAMES Qt5WebEngineWidgets) + find_library(QT5_WIDGETS_LIBRARY NAMES Qt5Widgets) + find_library(QT5_XML_LIBRARY NAMES Qt5Xml) + find_library(QT5_XMLPATTERNS_LIBRARY NAMES Qt5XmlPatterns) +endif(APPLE) + +find_package(Qwt 6 REQUIRED) +find_package(XercesC 3.1 REQUIRED) +find_package(GeoTIFF 2 REQUIRED) +find_package(TIFF 5 REQUIRED) +find_package(CSPICE 65 REQUIRED) +find_package(TNT 1.2.6 REQUIRED) +find_package(Geos 3.5.0 REQUIRED) +find_package(GSL 19 REQUIRED) +find_package(Protobuf 9 REQUIRED) +find_package(Boost 1.59 REQUIRED) +find_package(X11 6 REQUIRED) +find_package(GSL 19 REQUIRED) +find_package(GMM REQUIRED) +find_package(HDF5 1.8.15 REQUIRED) +find_package(SuperLU 4.3 REQUIRED) +find_package(Cholmod 4.4.5 REQUIRED) +find_package(Embree 2.15.0 REQUIRED) +find_package(PCL 1.8.0 REQUIRED) +find_package(Eigen REQUIRED) +find_package(Bullet 2.86 REQUIRED) +find_package(OpenCV 3.1.0 REQUIRED) +find_package(NN REQUIRED) +find_package(Jama REQUIRED) + +# Only include Kakadu if it is available +if(${JP2KFLAG}) + find_package(Kakadu) +endif(${JP2KFLAG}) + +get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES +foreach (_variableName ${_variableNames}) +#message("VAR=${_variableName}") + if (_variableName MATCHES ".+_INCLUDE_DIR$") + list(APPEND ALLINCDIRS "${${_variableName}}") + elseif (_variableName MATCHES ".+_INCLUDE_PATH$") + list(APPEND ALLINCDIRS "${${_variableName}}") + endif(_variableName MATCHES ".+_INCLUDE_DIR$") +endforeach() +list(APPEND ALLINCDIRS "/opt/usgs/v007/ports/include/" "/opt/usgs/v007/3rdParty/include/") + +foreach (_variableName ${_variableNames}) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBS "${${_variableName}}") + endif(_variableName MATCHES "^CMAKE+") +endforeach() + +foreach (_variableName ${_variableNames}) + get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + endif(_variableName MATCHES "^CMAKE+") +endforeach() + +#list(APPEND ALLLIBDIRS "/usr/lib64") +list(REMOVE_DUPLICATES ALLLIBDIRS) +list(REMOVE_DUPLICATES ALLLIBS) +list(REMOVE_DUPLICATES ALLINCDIRS) + +# message(STATUS "ALL LIBS DIRS: ${ALLLIBDIRS}") +# message(STATUS "ALL LIBS: ${ALLLIBS}") +# message(STATUS "ALL INCS: ${ALLINCDIRS}") +#--------------------------------------------------------------------------- +# Define the third party distribution libraries (patterns) +#--------------------------------------------------------------------------- + +# On OSX we need to include a LOT of extra libraries! +set(EXTRA_DYNAMIC_LIBS) +if(APPLE) + set(extras + # QT dependencies + libpcre16*.dylib + libgthread-*.dylib + libpcre.*dylib + libharfbuzz*.dylib + libgraphite2.*dylib + libleveldb*.dylib* + libsnappy.*dylib + libwebp*.dylib + libdbus*.dylib + libiconv*.dylib + liblzma*.dylib + libz*.dylib + libssl*.dylib + libcrypto*.dylib + libpng*.dylib + libjpeg.*dylib + libmng.*dylib + liblcms2.*dylib + libsqlite3.*dylib + postgresql*/libpq.*dylib + mysql56/mysql/libmysqlclient*.dylib + libiodbc*.dylib + # OpenCV dependancies + libtbb*.dylib + libjasper*.dylib + libImath*.dylib + libIlmImf*.dylib + libIex*.dylib + libHalf*.dylib + libIlmThread*.dylib + libswscale*.dylib + # Secondary requirements to all OpenCV dependancies + libSDL-1*.dylib + libnettle*.dylib + libhogweed*.dylib + libgmp*.dylib + libxvidcore*.dylib + libx264*.dylib + libvorbisenc*.dylib + libvorbis*.dylib + libogg*.dylib + libtheoraenc*.dylib + libtheoradec*.dylib + libspeex*.dylib + libschroedinger-1*.dylib + libopus*.dylib + libopenjpeg*.dylib + libmp3lame*.dylib + libmodplug*.dylib + libfreetype*.dylib + libbluray*.dylib + libass*.dylib + libgnutls*.dylib + libbz2*.dylib + libXrandr*.dylib + libXext*.dylib + libXrender*.dylib + libX11*.dylib + libxcb*.dylib + libXau*.dylib + libXdmcp*.dylib + liborc-0*.dylib + libxml2*.dylib + libfribidi*.dylib + libfontconfig*.dylib + libexpat*.dylib + libintl*.dylib + libglib-*.dylib + libp11-kit*.dylib + libffi*.dylib + # OpenCV3 dependencies + libavresample*.dylib + libxcb-shm*.dylib + libsoxr*.dylib + libopenjp2*.dylib + libOpenNI*.dylib + libswresample*.dylib + libidn*.dylib + libtasn1*.dylib + libusb*.dylib + # libxerces-c depends on these libraries + libicui18n*.dylib + libicuuc*.dylib + libicudata*.dylib + # libgeotiff depends on these libraries + libproj*.dylib) + +else() # Linux + set(extras libtbb.so*) +endif() + +set(EXTRALIBDIR ${LIB_DIR}) +foreach(lib ${extras}) + set(EXTRA_DYNAMIC_LIBS ${EXTRA_DYNAMIC_LIBS} ${EXTRALIBDIR}/${lib}) +endforeach() + +# message("EXTRA_DYNAMIC_LIBS = ${EXTRA_DYNAMIC_LIBS}") + +# Libraries +set(THIRDPARTYLIBS) + +set(RAW_DYNAMIC_LIBS ${QT_DYNAMIC_LIBS} + ${QWT_DYNAMIC_LIBS} + ${XERCES_DYNAMIC_LIBS} + ${GEOTIFF_DYNAMIC_LIBS} + ${HDF5_DYNAMIC_LIBS} + ${TIFF_DYNAMIC_LIBS} + ${NAIF_DYNAMIC_LIBS} + ${GEOS_DYNAMIC_LIBS} + ${GSL_DYNAMIC_LIBS} + ${SUPERLU_DYNAMIC_LIBS} + ${PROTOBUF_DYNAMIC_LIBS} + ${KAKADU_DYNAMIC_LIBS} # Empty if not available + ${CHOLMOD_DYNAMIC_LIBS} + ${OPENCV_DYNAMIC_LIBS} + ${EXTRA_DYNAMIC_LIBS}) + +# message("THIRDPARTYLIBS = ${RAW_DYNAMIC_LIBS}") + +# For each item in this list, expand the wildcard to get the actual library list. +foreach(lib ${RAW_DYNAMIC_LIBS}) + + string(FIND "${lib}" "*" position) + if(${position} EQUAL -1) + # No wildcard, just add it. + set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${lib}) + else() + # Expand wildcard, then add. + file(GLOB expandedLibs ${lib}) + set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${expandedLibs}) + endif() +endforeach() + +message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}") + +# Plugins +file(GLOB_RECURSE THIRDPARTYPLUGINS "${PLUGIN_DIR}/*${SO}") +file(GLOB THIRDPARTYPLUGINFOLDERS "${PLUGIN_DIR}/*") + +# message("third party libs = ${THIRDPARTYLIBS}") +# message("third party plugins = ${THIRDPARTYPLUGINS}") +# message("third party plugins folders = ${THIRDPARTYPLUGINFOLDERS}") diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake new file mode 100644 index 0000000000..a12e1661a0 --- /dev/null +++ b/isis/cmake/FindBoost.cmake @@ -0,0 +1,138 @@ +# CMake module for find_package(Boost) +# Finds include directory and all applicable libraries +# +# Sets the following: +# BOOST_INCLUDE_DIR + +find_path(BOOST_INCLUDE_DIR + NAME flyweight.hpp + PATH_SUFFIXES boost/boost1.59.0/boost/ boost +) + +message("BOOST_INCLUDE_DIR = ${BOOST_INCLUDE_DIR}") + + +get_filename_component(BOOST_ROOT_INCLUDE_DIR "${BOOST_INCLUDE_DIR}" DIRECTORY) + +find_library(BOOST_ATOMIC_MT_LIBRARY + NAMES boost_atomic-mt boost_atomic +) +find_library(BOOST_LOG_MT_LIBRARY + NAMES boost_log-mt boost_log +) +find_library(BOOST_REGEX_MT_LIBRARY + NAMES boost_regex-mt boost_regex +) +find_library(BOOST_LOG_SETUP_MT_LIBRARY + NAMES boost_log_setup-mt boost_log_setup +) +find_library(BOOST_SERIALIZATION_MT_LIBRARY + NAMES boost_serialization-mt boost_serialization +) +find_library(BOOST_CHRONO_MT_LIBRARY + NAMES boost_chrono-mt boost_chrono +) +find_library(BOOST_MATH_C99_MT_LIBRARY + NAMES boost_math_c99-mt boost_math_c99 +) +find_library(BOOST_SIGNALS_MT_LIBRARY + NAMES boost_signals-mt boost_signals +) +find_library(BOOST_CONTAINER_MT_LIBRARY + NAMES boost_container-mt boost_container +) +find_library(BOOST_MATH_C99F_MT_LIBRARY + NAMES boost_math_c99f-mt boost_math_c99f +) +find_library(BOOST_CONTEXT_MT_LIBRARY + NAMES boost_context-mt boost_context +) +find_library(BOOST_MATH_C99L_MT_LIBRARY + NAMES boost_math_c99l-mt boost_math_c99l +) +find_library(BOOST_SYSTEM_MT_LIBRARY + NAMES boost_system-mt boost_system +) +find_library(BOOST_COROUTINE_MT_LIBRARY + NAMES boost_coroutine-mt boost_coroutine +) +find_library(BOOST_MATH_TR1_MT_LIBRARY + NAMES boost_math_tr1-mt boost_math_tr1 +) +find_library(BOOST_MATH_TR1F_MT_LIBRARY + NAMES boost_math_tr1f-mt boost_math_tr1f +) +find_library(BOOST_MATH_TR1L_MT_LIBRARY + NAMES boost_math_tr1l-mt boost_math_tr1l +) +find_library(BOOST_TEST_EXEC_MONITOR_MT_LIBRARY + NAMES boost_test_exec_monitor-mt boost_test_exec_monitor +) +find_library(BOOST_DATE_TIME_MT_LIBRARY + NAMES boost_date_time-mt boost_date_time +) +find_library(BOOST_THREAD_MT_LIBRARY + NAMES boost_thread-mt boost_thread +) +find_library(BOOST_EXCEPTION_MT_LIBRARY + NAMES boost_exception-mt boost_exception +) +find_library(BOOST_TIMER_MT_LIBRARY + NAMES boost_timer-mt boost_timer +) +find_library(BOOST_FILESYSTEM_MT_LIBRARY + NAMES boost_filesystem-mt boost_filesystem +) +find_library(BOOST_PRG_EXEC_MONITOR_MT_LIBRARY + NAMES boost_prg_exec_monitor-mt boost_prg_exec_monitor +) +find_library(BOOST_PROGRAM_OPTIONS_MT_LIBRARY + NAMES boost_program_options-mt boost_program_options +) +find_library(BOOST_UNIT_TEST_FRAMEWORK_MT_LIBRARY + NAMES boost_unit_test_framework-mt boost_unit_test_framework +) +find_library(BOOST_IOSTREAMS_MT_LIBRARY + NAMES boost_iostreams-mt boost_iostreams +) + +#message("BOOST_IOSTREAMS_MT_LIBRARY = ${BOOST_IOSTREAMS_MT_LIBRARY}") +#tjw: Not sure if needed...commenting out because library is missing +#find_library(BOOST_PYTHON_MT_LIBRARY +# NAMES boost_python-mt boost_python +#) +find_library(BOOST_WAVE_MT_LIBRARY + NAMES boost_wave-mt boost_wave +) +#tjw: not being linked against by ISIS presently +#find_library(BOOST_LOCAL_MT_LIBRARY +# NAMES boost_locale-mt boost_locale +#) +find_library(BOOST_RANDOM_MT_LIBRARY + NAMES boost_random-mt boost_random +) +find_library(BOOST_WSERIALIZATION_MT_LIBRARY + NAMES boost_wserialization-mt boost_wserialization +) +find_library(PYTHON_LIBRARY + NAMES python2 python2.7 python3 +) +find_library(C_LIBRARY + NAMES c +) + +#tjw +#if(APPLE) +# file(READ "${BOOST_INCLUDE_DIR}/version.hpp" EXTRACT LIMIT 4 OFFSET 1103) +# string(SUBSTRING ${EXTRACT} 0 1 VERSION_MAJOR) +# string(SUBSTRING ${EXTRACT} 2 2 VERSION_MINOR) +# string(CONCAT VERSION_NUM ${VERSION_MAJOR} "." ${VERSION_MINOR}) +#else(APPLE) +# get_version(${BOOST_ATOMIC_MT_LIBRARY} VERSION_NUM) +#endif(APPLE) + +#message("BOOST FOUND VERSION = ${VERSION_NUM}") + +#if(VERSION_NUM VERSION_LESS Boost_FIND_VERSION) +# message(FATAL_ERROR "Boost version is too old (${VERSION_NUM}). Use ${Boost_FIND_VERSION} or higher.") +#endif(VERSION_NUM VERSION_LESS Boost_FIND_VERSION) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake new file mode 100644 index 0000000000..d6390d8615 --- /dev/null +++ b/isis/cmake/FindBullet.cmake @@ -0,0 +1,24 @@ +# CMake module for find_package(Bullet) +# Finds include directory and all applicable libraries +# +# Sets the following: +# BULLET_INCLUDE_DIR +# BULLET_LIBRARY + +find_path(BULLET_INCLUDE_DIR + NAME btBulletCollisionCommon.h + PATH_SUFFIXES bullet +) + +find_library(BULLET_OPENCL_LIBRARY NAMES Bullet3OpenCL_clew) +find_library(BULLET_SOFTBODY_LIBRARY NAMES BulletSoftBody) +find_library(BULLET_INVERSEDYNAMICS_LIBRARY NAMES BulletInverseDynamics) +find_library(BULLET_DYNAMICS_LIBRARY NAMES Bullet3Common) +find_library(BULLET_COLLISION_LIBRARY NAMES BulletDynamics) +find_library(BULLET3_GEOMETRY_LIBRARY NAMES BulletCollision) +find_library(BULLET3_DYNAMICS_LIBRARY NAMES Bullet3Geometry) +find_library(BULLET3_COLLISION_LIBRARY NAMES Bullet3Dynamics) +find_library(BULLET3_COMMON_LIBRARY NAMES Bullet3Collision) +find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) + +get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake new file mode 100644 index 0000000000..e7b390f05f --- /dev/null +++ b/isis/cmake/FindCSPICE.cmake @@ -0,0 +1,23 @@ +# CMake module for find_package(CSPICE) +# Finds include directory and all applicable libraries +# +# Sets the following: +# CSPICE_INCLUDE_DIR +# CSPICE_LIBRARY + +find_path(CSPICE_INCLUDE_DIR + NAME SpiceUsr.h + PATH_SUFFIXES naif +) + +find_library(CSPICE_LIBRARY + NAMES cspice +) + +string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${CSPICE_LIBRARY}}) +file(GLOB FOUND_FILES + "${MY_PATH}.*[0-9]**.a" +) +get_filename_component(VERSION_FILE "${FOUND_FILES}" NAME) + +get_filename_component(CSPICE_ROOT_INCLUDE_DIR "${CSPICE_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake new file mode 100644 index 0000000000..8ace8619f6 --- /dev/null +++ b/isis/cmake/FindCholmod.cmake @@ -0,0 +1,34 @@ +# CMake module for find_package(Cholmod) +# Finds include directory and all applicable libraries +# +# Sets the following: +# CHOLMOD_INCLUDE_DIR +# CHOLMOD_LIBLIST + +find_path(CHOLMOD_INCLUDE_DIR + NAME cholmod.h + PATH_SUFFIXES SuiteSparse/SuiteSparse4.4.5/SuiteSparse/ SuiteSparse +) + +find_library(CHOLMOD_LIBRARY NAMES cholmod) +find_library(CCOLAMD_LIBRARY NAMES ccolamd) +find_library(COLAMD_LIBRARY NAMES colamd) +find_library(CAMD_LIBRARY NAMES camd) +find_library(AMD_LIBRARY NAMES amd) +find_library(SUITESPARSE_LIBRARY NAMES suitesparseconfig) +# OSX does not link against lapack +if(NOT APPLE) + find_library(LAPACK_LIBRARY NAMES lapack) +endif() + +# Dependencies for lapack + +# add gcc location for MacOS +find_library(FORTRAN_LIBRARY NAMES gfortran + NAMES gfortran + PATHS /opt/usgs/v007/ports/lib/gcc5/ +) + +find_library(BLAS_LIBRARY NAMES blas) + +get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake new file mode 100644 index 0000000000..78110b9671 --- /dev/null +++ b/isis/cmake/FindEigen.cmake @@ -0,0 +1,17 @@ +# CMake module for find_package(PCL) +# Finds include directory and all applicable libraries +# +# Sets the following: +# PCL_INCLUDE_DIR + +#find_path(EIGEN_INCLUDE_DIR +# NAME Core +# PATH_SUFFIXES eigen/Eigen eigen3/Eigen +#) + +find_path(EIGEN_ROOT_INCLUDE_DIR + NAME Eigen + PATH_SUFFIXES eigen eigen3 +) + +message("Eigen FOUND") diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake new file mode 100644 index 0000000000..a424265047 --- /dev/null +++ b/isis/cmake/FindEmbree.cmake @@ -0,0 +1,17 @@ +# CMake module for find_package(Embree) +# Finds include directory and all applicable libraries +# +# Sets the following: +# EMBREE_INCLUDE_DIR +# EMBREE_LIBRARY + +find_path(EMBREE_INCLUDE_DIR + NAME rtcore.h + PATH_SUFFIXES embree2 +) + +find_library(EMBREE_LIBRARY + NAMES embree +) + +get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake new file mode 100644 index 0000000000..31b556041a --- /dev/null +++ b/isis/cmake/FindGMM.cmake @@ -0,0 +1,14 @@ +# CMake module for find_package(GMM) +# Finds include directory and all applicable libraries +# +# Sets the following: +# GMM_INCLUDE_DIR + +find_path(GMM_INCLUDE_DIR + NAMES gmm.h + PATH_SUFFIXES /gmm/gmm-5.0/gmm/ gmm +) + +get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) + +message("GMM FOUND VERSION = UNABLE TO VERSION") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake new file mode 100644 index 0000000000..377ac2f98e --- /dev/null +++ b/isis/cmake/FindGSL.cmake @@ -0,0 +1,34 @@ +# CMake module for find_package(GSL) +# Finds include directory and all applicable libraries +# +# Sets the following: +# GSL_INCLUDE_DIR +# GSL_LIBLIST + +find_path(GSL_INCLUDE_DIR + NAMES gsl_math.h + PATH_SUFFIXES gsl +) + +find_library(GSL_LIBRARY + NAMES gsl +) + +find_library(GSL_CBLAS_LIBRARY + NAMES gslcblas +) + +if(APPLE) + string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${GSL_LIBRARY}}) + file(GLOB FOUND_FILES + "${MY_PATH}.*[0-9]**.dylib" + ) + get_filename_component(VERSION_FILE ${FOUND_FILES} NAME) + string(REGEX MATCH "[0-9][0-9]" VERSION_NUM ${VERSION_FILE}) +else(APPLE) + get_version(${GSL_LIBRARY} VERSION_NUM) +endif(APPLE) +message("GSL FOUND VERSION = ${VERSION_NUM}") +set(GSL LIBLIST ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY}) + +get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake new file mode 100644 index 0000000000..b5e97609c6 --- /dev/null +++ b/isis/cmake/FindGeoTIFF.cmake @@ -0,0 +1,34 @@ +# CMake module for find_package(GeoTIFF) +# Finds include directory and all applicable libraries +# +# Sets the following: +# GEOTIFF_INCLUDE_DIR +# GEOTIFF_LIBRARY + +find_path(GEOTIFF_INCLUDE_DIR + NAMES geotiff.h + PATH_SUFFIXES geotiff +) + +find_library(GEOTIFF_LIBRARY + NAMES geotiff +) + +# DO SOMETHING DIFFERENT FOR APPLE +if(APPLE) + string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${GEOTIFF_LIBRARY}}) + file(GLOB FOUND_FILES + "${MY_PATH}.*[0-9]**.dylib" + ) + get_filename_component(VERSION_FILE ${FOUND_FILES} NAME) + string(REGEX MATCH "[0-9]" VERSION_NUM ${VERSION_FILE}) +else(APPLE) + get_version(${GEOTIFF_LIBRARY} VERSION_NUM) +endif(APPLE) +message("GEOTIFF FOUND VERSION = ${VERSION_NUM}") + +get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) + +if(VERSION_NUM VERSION_LESS GeoTIFF_FIND_VERSION) + message(FATAL_ERROR "GeoTIFF version is too old (${VERSION_NUM}). Use ${GeoTIFF_FIND_VERSION} or higher.") +endif(VERSION_NUM VERSION_LESS GeoTIFF_FIND_VERSION) diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake new file mode 100644 index 0000000000..51a1bf146d --- /dev/null +++ b/isis/cmake/FindGeos.cmake @@ -0,0 +1,37 @@ +# CMake module for find_package(Geos) +# Finds include directory and all applicable libraries +# +# Sets the following: +# GEOS_INCLUDE_DIR +# GEOS_LIBRARY + + +if(APPLE) + find_path(GEOS_INCLUDE_DIR + NAME geos + PATH_SUFFIXES geos/geos3.5.0/ + ) + find_library(GEOS_LIBRARY + NAMES geos-3.5.0 + ) + find_library(GEOS_C_LIBRARY + NAMES geos_c + ) +else() + #changing to 3.5.1 for v007 + find_path(GEOS_INCLUDE_DIR + NAME geos + PATH_SUFFIXES geos/geos3.5.1/ + ) + #tjw: Changing to 3.5.1 for v007 + find_library(GEOS_LIBRARY + NAMES geos-3.5.1 + ) + + find_library(GEOS_C_LIBRARY + NAMES geos_c + ) + +endif(APPLE) + +get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindHDF5.cmake b/isis/cmake/FindHDF5.cmake new file mode 100644 index 0000000000..2fc9f7328e --- /dev/null +++ b/isis/cmake/FindHDF5.cmake @@ -0,0 +1,18 @@ +# CMake module for find_package(HDF5) +# Finds include directory and all applicable libraries +# +# Sets the following: +# HDF5_INCLUDE_DIR +# HDF5_LIBRARY + +find_path(HDF5_INCLUDE_DIR + NAME hdf5.h + PATH_SUFFIXES hdf5 +) + +find_library(HDF5_LIBRARY NAMES hdf5) +find_library(HDF5_CPP_LIBRARY NAMES hdf5_cpp) +find_library(HDF5_HL_LIBRARY NAMES hdf5_hl) +find_library(HDF5_HLCPP_LIBRARY NAMES hdf5_hl_cpp) + +get_filename_component(HDF5_ROOT_INCLUDE_DIR "${HDF5_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake new file mode 100644 index 0000000000..4bb46183fd --- /dev/null +++ b/isis/cmake/FindJama.cmake @@ -0,0 +1,16 @@ +# CMake module for find_package(Jama) +# Finds include directory and all applicable libraries +# +# Sets the following: +# JAMA_INCLUDE_DIR + +find_path(JAMA_INCLUDE_DIR + NAMES jama_cholesky.h + PATH_SUFFIXES + jama/jama125/jama + /jama +) + +get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) + +message("JAMA FOUND") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake new file mode 100644 index 0000000000..68bea713af --- /dev/null +++ b/isis/cmake/FindKakadu.cmake @@ -0,0 +1,33 @@ +# CMake module for find_package(Kakadu) +# Finds include directory and all applicable libraries +# +# Sets the following: +# KAKADU_INCLUDE_DIR +# KAKADU_A_LIBRARY +# KAKADU_V_LIBRARY + +find_path(KAKADU_INCLUDE_DIR + NAME kdu_kernels.h + PATH_SUFFIXES + kakadu/v7_9_1-01762L/ +) + +find_library(KAKADU_A_LIBRARY + NAMES kdu_a79R +) + +find_library(KAKADU_V_LIBRARY + NAMES kdu_v79R +) + +# message("KAKADU_LIBRARY = ${KAKADU_INCLUDE_DIR}") +get_filename_component(VERSION_FILE ${KAKADU_A_LIBRARY} NAME_WE) +# message("VERSION_FILE = ${VERSION_FILE}") +string(REGEX MATCH "[0-9][0-9]" VERSION_NUM ${VERSION_FILE}) +message("KAKADU FOUND VERSION = ${VERSION_NUM}") + +get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) + +if(VERSION_NUM VERSION_LESS Kakadu_FIND_VERSION) + message(FATAL_ERROR "Kakadu version is too old (${VERSION_NUM}). Use ${Kakadu_FIND_VERSION} or higher.") +endif(VERSION_NUM VERSION_LESS Kakadu_FIND_VERSION) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake new file mode 100644 index 0000000000..24dc3f02da --- /dev/null +++ b/isis/cmake/FindNN.cmake @@ -0,0 +1,15 @@ +# CMake module for find_package(TNT) +# Finds include directory and all applicable libraries +# +# Sets the following: +# TNT_INCLUDE_DIR + +find_path(NN_INCLUDE_DIR + NAMES nn.h + PATH_SUFFIXES nn +) + +get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) + +find_library(NN_LIBRARY NAMES nn) +message("NN FOUND VERSION = UNABLE TO VERSION") diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake new file mode 100644 index 0000000000..ecfe007fe2 --- /dev/null +++ b/isis/cmake/FindOpenCV.cmake @@ -0,0 +1,29 @@ +# CMake module for find_package(OpenCV) +# Finds include directory and all applicable libraries +# +# Sets the following: +# OPENCV_INCLUDE_DIR +# OPENCV_LIBLSIT + +find_path(OPENCV_INCLUDE_DIR + NAMES cv.h + PATH_SUFFIXES opencv +) + +find_library(OPENCV_CORE_LIBRARY NAMES opencv_core) +find_library(OPENCV_VIDEOSTAB_LIBRARY NAMES opencv_videostab) +find_library(OPENCV_VIDEO_LIBRARY NAMES opencv_video) +find_library(OPENCV_SUPERRES_LIBRARY NAMES opencv_superres) +find_library(OPENCV_STITCHING_LIBRARY NAMES opencv_stitching) +find_library(OPENCV_PHOTO_LIBRARY NAMES opencv_photo) +find_library(OPENCV_OBJDETECT_LIBRARY NAMES opencv_objdetect) +find_library(OPENCV_ML_LIBRARY NAMES opencv_ml) +find_library(OPENCV_IMGCODECS_LIBRARY NAMES opencv_imgcodecs) +find_library(OPENCV_IMGPROC_LIBRARY NAMES opencv_imgproc) +find_library(OPENCV_CALIB3D_LIBRARY NAMES opencv_calib3d) +find_library(OPENCV_FEATURES2D_LIBRARY NAMES opencv_features2d) +find_library(OPENCV_XFEATURES2D_LIBRARY NAMES opencv_xfeatures2d) +find_library(OPENCV_HIGHGUI_LIBRARY NAMES opencv_highgui) +find_library(OPENCV_FLANN_LIBRARY NAMES opencv_flann) + +get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake new file mode 100644 index 0000000000..729a742aa1 --- /dev/null +++ b/isis/cmake/FindPCL.cmake @@ -0,0 +1,23 @@ +# CMake module for find_package(PCL) +# Finds include directory and all applicable libraries +# +# Sets the following: +# PCL_INCLUDE_DIR +# PCL_LIBRARY + +find_path(PCL_ROOT_INCLUDE_DIR + NAME pcl + PATH_SUFFIXES pcl-1.8 +) + +find_path(PCL_INCLUDE_DIR + NAME pcl_base.h + PATH_SUFFIXES pcl-1.8/pcl +) + +find_library(PCL_COMMON_LIBRARY NAMES pcl_common) +find_library(PCL_OCTREE_LIBRARY NAMES pcl_octree) +find_library(PCL_IO_LIBRARY NAMES pcl_io) + +get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) +message("PCL FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake new file mode 100644 index 0000000000..ab33d9b23f --- /dev/null +++ b/isis/cmake/FindProtobuf.cmake @@ -0,0 +1,10 @@ +find_path(PROTOBUF_INCLUDE_DIR + NAMES google/ + PATH_SUFFIXES google-protobuf/protobuf2.6.1/ +) + +find_library(PROTOBUF_LIBRARY NAMES protobuf) + +get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) +get_version(${PROTOBUF_LIBRARY} VERSION_NUM) +message("PROTOBUF FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake new file mode 100644 index 0000000000..6cb5ac9cd8 --- /dev/null +++ b/isis/cmake/FindQwt.cmake @@ -0,0 +1,28 @@ +# CMake module for find_package(Qwt) +# Finds include directory and all applicable libraries +# +# Sets the following: +# QWT_INCLUDE_DIR +# QWT_LIBRARY + +FIND_PATH(QWT_INCLUDE_DIR + NAMES qwt.h + PATH_SUFFIXES qwt-qt5 qwt qwt6 +) + +find_library(QWT_LIBRARY + NAMES qwt +) + +if(APPLE) + set(VERSION_PATH "${QWT_LIBRARY}/Versions/") + file(GLOB FOUND_FILES + "${VERSION_PATH}[0-9]" + ) + string(SUBSTRING ${FOUND_FILES} 63 64 VERSION_NUM) +else(APPLE) + get_version(${QWT_LIBRARY} VERSION_NUM) +endif(APPLE) +message("QWT FOUND VERSION = ${VERSION_NUM}") + +get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake new file mode 100644 index 0000000000..24a0b2c83f --- /dev/null +++ b/isis/cmake/FindSuperLU.cmake @@ -0,0 +1,23 @@ +# CMake module for find_package(SuperLU) +# Finds include directory and all applicable libraries +# +# Sets the following: +# SUPERLU_INCLUDE_DIR +# SUPERLU_LIBRARY + +find_path(SUPERLU_INCLUDE_DIR + NAME supermatrix.h + PATH_SUFFIXES superlu/superlu5.0/superlu/ superlu +) + +find_library(SUPERLU_LIBRARY + NAMES superlu_4.3 +) + +# message("SUPERLU_LIBRARY = ${SUPERLU_INCLUDE_DIR}") +get_filename_component(VERSION_FILE ${SUPERLU_LIBRARY} NAME) +# message("VERSION_FILE = ${VERSION_FILE}") +string(REGEX MATCH "[0-9]\\.[0-9]" VERSION_NUM ${VERSION_FILE}) +message("SUPERLU FOUND VERSION = ${VERSION_NUM}") + +get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake new file mode 100644 index 0000000000..b35f0d5945 --- /dev/null +++ b/isis/cmake/FindTIFF.cmake @@ -0,0 +1,11 @@ +find_path(TIFF_INCLUDE_DIR + NAMES tiff.h + PATH_SUFFIXES tiff/tiff-4.0.5 +) +# message("TIFF_INCLUDE_DIR = ${TIFF_INCLUDE_DIR}") + +find_library(TIFF_LIBRARY NAMES tiff) +# message("TIFF_LIBRARY = ${TIFF_LIBRARY}") + +get_version(${TIFF_LIBRARY} VERSION_NUM) +message("TIFF FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake new file mode 100644 index 0000000000..f35a71962b --- /dev/null +++ b/isis/cmake/FindTNT.cmake @@ -0,0 +1,17 @@ +# CMake module for find_package(TNT) +# Finds include directory and all applicable libraries +# +# Sets the following: +# TNT_INCLUDE_DIR + +find_path(TNT_INCLUDE_DIR + NAMES tnt.h + PATH_SUFFIXES + tnt/tnt126/tnt + tnt/ +) + +get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) +file(READ "${TNT_INCLUDE_DIR}/tnt_version.h" EXTRACT LIMIT 6 OFFSET 1006) +string(SUBSTRING ${EXTRACT} 0 5 VERSION_NUM) +message("TNT FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake new file mode 100644 index 0000000000..b9c6b23681 --- /dev/null +++ b/isis/cmake/FindX11.cmake @@ -0,0 +1,14 @@ +# CMake module for find_package(X11) +# Finds include directory and all applicable libraries +# +# Sets the following: +# X11_LIBRARY + +find_library(X11_LIBRARY + NAMES X11 +) + +# message("X11_LIBRARY = ${X11_LIBRARY}") +set(VERSION_NUM "") +get_version(${X11_LIBRARY} VERSION_NUM) +message("X11 FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake new file mode 100644 index 0000000000..a979813e41 --- /dev/null +++ b/isis/cmake/FindXercesC.cmake @@ -0,0 +1,10 @@ +find_path(XERCESC_INCLUDE_DIR + NAMES xercesc/ + PATH_SUFFIXES xercesc/xercesc-3.1.2/ +) +# message("XERCESC_INCLUDE_DIR = ${XERCESC_INCLUDE_DIR}") + +find_library(XercesC_LIBRARY NAMES xerces-c) +# message("XercesC lib = ${XercesC_LIBRARY}") +get_version(${XercesC_LIBRARY} VERSION_NUM) +message("XercesC FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake new file mode 100644 index 0000000000..2650a19d62 --- /dev/null +++ b/isis/cmake/InstallThirdParty.cmake @@ -0,0 +1,126 @@ +#=========================================================================== +# Code for installing the third part libraries to the output folder. +#=========================================================================== + +# Library portion of the installation +function(install_third_party_libs) + + + + # Where all the library files will go + set(installLibFolder "${CMAKE_INSTALL_PREFIX}/3rdParty/lib") + + # TEMPORARY CODE TO INSTALL ALL FILES FROM V007/lib into 3rdParty/lib + if(APPLE) + install(DIRECTORY "/opt/usgs/v007/3rdParty/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY "/opt/usgs/v007/ports/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY "/opt/usgs/v007/proprietary/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(DIRECTORY "/usgs/pkgs/local/v007/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Loop through all the library files in our list + foreach(library ${ALLLIBS}) + get_filename_component(extension ${library} EXT) + if ("${extension}" STREQUAL ".so" OR "${extension}" STREQUAL ".dylib" ) + #get path to library in libararypath + get_filename_component(librarypath ${library} PATH) + + # Copy file to output directory + file(RELATIVE_PATH relPath "${thirdPartyDir}/lib" ${library}) + + # Check if the file is a symlink + execute_process(COMMAND readlink ${library} OUTPUT_VARIABLE link) + + message(STATUS "${library}") + if ("${link}" STREQUAL "") + # Copy original files and framework folders + if(IS_DIRECTORY ${library}) + install(DIRECTORY ${library} DESTINATION ${installLibFolder}) + else() + install(PROGRAMS ${library} DESTINATION ${installLibFolder}) + endif() + + else() + # Loop through possible chains of namelinks (i.e. lib.so -> lib.so.3.5 -> lib.so.3.5.1) + while (NOT "${link}" STREQUAL "") + # Recreate symlinks + string(REGEX REPLACE "\n$" "" link "${link}") # Strip trailing newline + #There are a few cases where directory information is contained inside the link variable. + #The line below handles those cases (ie. /usr/lib64/libblas.so.3) + execute_process(COMMAND basename ${link} OUTPUT_VARIABLE baselink) + + #install(CODE "EXECUTE_PROCESS(COMMAND ln -fs ${baselink} ${installLibFolder}/${relPath})") + install(CODE "EXECUTE_PROCESS(COMMAND ln -fs ${librarypath}/${baselink} ${installLibFolder}/${baselink} )") + #message("librarypath= ${librarypath}") + #message ("baselink=${baselink}") + #message("installlibFolder/relPath = ${installLibFolder} / ${relPath}") + if (EXISTS "${librarypath}/${baselink}") + install(PROGRAMS "${librarypath}/${baselink}" DESTINATION ${installLibFolder}) + endif() + # Set next iteration of possible symlinks + set(library "${librarypath}/${baselink}") + file(RELATIVE_PATH relPath "${thirdPartyDir}/lib" ${library}) + execute_process(COMMAND readlink ${library} OUTPUT_VARIABLE link) + endwhile() + endif() + endif() + endforeach() + + # Copy over QT Frameworks + if(APPLE) + # execute_process(COMMAND cp -Lr ${library} ${installLibFolder}) + endif(APPLE) +endfunction() + + + +# Plugin portion of the installation +function(install_third_party_plugins) + + # Where all the plugin files will go + set(installPluginFolder "${CMAKE_INSTALL_PREFIX}/3rdParty/plugins") + + # Copy all of the plugin files + foreach(plugin ${THIRDPARTYPLUGINS}) + file(RELATIVE_PATH relPath "${PLUGIN_DIR}" ${plugin}) + get_filename_component(relPath ${relPath} DIRECTORY) # Strip filename + install(PROGRAMS ${plugin} DESTINATION ${installPluginFolder}/${relPath}) + endforeach() + +endfunction() + +# License portion of the installation +function(install_third_party_license) + # Specify top level directories + if(APPLE) + set(LIC_DIR "/opt/usgs/v007/3rdParty/license") + else() + set(LIC_DIR "/usgs/pkgs/local/v007/license") + endif() + if(NOT EXISTS ${CMAKE_INSTALL_PREFIX}/3rdParty) + install(CODE "execute_process(COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/3rdParty/)") + endif() + install(CODE "execute_process(COMMAND cp -r ${LIC_DIR} ${CMAKE_INSTALL_PREFIX}/3rdParty/license)") + +endfunction() + + +# Install all third party libraries and plugins +function(install_third_party) + + # The files are available pre-build but are not copied until make-install is called. + message("Setting up 3rd party lib installation...") + install_third_party_libs() + + message("Setting up 3rd party plugin installation...") + install_third_party_plugins() + + message("Obtaining licenses...") + install_third_party_license() + + # Finish miscellaneous file installation + install(FILES "${CMAKE_SOURCE_DIR}/3rdParty/lib/README" + DESTINATION ${CMAKE_INSTALL_PREFIX}/3rdParty/lib) + +endfunction() diff --git a/isis/cmake/MacPlistMacros.cmake b/isis/cmake/MacPlistMacros.cmake new file mode 100644 index 0000000000..b123872771 --- /dev/null +++ b/isis/cmake/MacPlistMacros.cmake @@ -0,0 +1,12 @@ +# Mac Plist Macros + +FUNCTION (GET_VERSION_PLIST PLISTFILE OUTVAR) + SET (PVERSION "") + IF (EXISTS ${PLISTFILE}) + FILE (READ "${PLISTFILE}" info_plist) + STRING (REGEX REPLACE "\n" "" info_plist "${info_plist}") + STRING (REGEX MATCH "CFBundleShortVersionString[ \t]*([0-9\\.]*)" PLISTVERSION "${info_plist}") + STRING (REGEX REPLACE "CFBundleShortVersionString[ \t]*([0-9\\.]*)" "\\1" PVERSION "${PLISTVERSION}") + ENDIF (EXISTS ${PLISTFILE}) + SET (${OUTVAR} ${PVERSION} PARENT_SCOPE) +ENDFUNCTION (GET_VERSION_PLIST) diff --git a/isis/cmake/Makefile b/isis/cmake/Makefile new file mode 100644 index 0000000000..0e95c7b314 --- /dev/null +++ b/isis/cmake/Makefile @@ -0,0 +1,196 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.9 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /scratch/isiscmake/isis + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /scratch/isiscmake/isis + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# The main all target +all: cmake_check_build_system + cd /scratch/isiscmake/isis && $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles /scratch/isiscmake/isis/cmake/CMakeFiles/progress.marks + cd /scratch/isiscmake/isis && $(MAKE) -f CMakeFiles/Makefile2 cmake/all + $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /scratch/isiscmake/isis && $(MAKE) -f CMakeFiles/Makefile2 cmake/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /scratch/isiscmake/isis && $(MAKE) -f CMakeFiles/Makefile2 cmake/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /scratch/isiscmake/isis && $(MAKE) -f CMakeFiles/Makefile2 cmake/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /scratch/isiscmake/isis && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install/local" + @echo "... test" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... install" + @echo "... list_install_components" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /scratch/isiscmake/isis && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake new file mode 100644 index 0000000000..8d221c9e22 --- /dev/null +++ b/isis/cmake/RunMakeFileTest.cmake @@ -0,0 +1,81 @@ +#============================================================================ +# Script to read in a MakeFile based test and run it without relying on any +# of the old Makefile infrastructure. +#============================================================================ + +cmake_minimum_required(VERSION 3.3) +list(APPEND CMAKE_MODULE_PATH "${CODE_ROOT}/cmake") +list(APPEND CMAKE_PREFIX_PATH "${CODE_ROOT}/cmake") +include(Utilities) + + +# Function to run the test and check the results +function(run_app_makefile_test makefile inputFolder outputFolder truthFolder binFolder) + + # Build the test name + get_filename_component(sourceFolder ${makefile} DIRECTORY) +# get_filename_component(testName ${sourceFolder} NAME) +# get_filename_component(folder ${sourceFolder} DIRECTORY) +# get_filename_component(folder ${folder} DIRECTORY) +# get_filename_component(appName ${folder} NAME) + set(appName ${appName}_${testName}) + + # Check if there are copies of the input/truth folders in the source folder, + # if so use those instead of the original location. + if(EXISTS ${sourceFolder}/input) + set(inputFolder ${sourceFolder}/input) + endif() + if(EXISTS ${sourceFolder}/truth) + set(truthFolder ${sourceFolder}/truth) + endif() + +# # Read in the MakeFile +# if(NOT EXISTS ${makefile}) +# message(FATAL_ERROR "App test MakeFile ${makefile} was not found!") +# endif() +# file(READ ${makefile} makefileContents) +# # Replace include line with a short list of definitions +# set(newDefinitions "INPUT=${inputFolder}\nOUTPUT=${outputFolder}\nRM=rm -f\nCP=cp\nLS=ls\nMV=mv\nSED=sed\nTAIL=tail\nECHO=echo\nCAT=cat\nLS=ls") +# string(REPLACE "include ${CODE_ROOT}/make/isismake.tsts" "${newDefinitions}" newFileContents "${makefileContents}") +# +# # Set required environment variables +# set(ENV{PATH} "${binFolder}:$ENV{PATH}") +# +# # Select the log file +# set(logFile "${binFolder}/${appName}.output") +# message("logFile = ${logFile}") +# +# # Execute the Makefile we just generated +# set(code "") +# execute_process(COMMAND rm -rf ${outputFolder}) +# execute_process(COMMAND rm -f ${logFile}) + + execute_process(COMMAND make test WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) + + if (result MATCHES "OK") + set(failed "OFF") + else() + set(failed "ON") + endif() + + + # If any file failed, the test is a failure. + if(${failed}) + message(FATAL_ERROR "Test failed.") + endif() + +endfunction() + + + + +#=================================================================================== +# This is the main script that gets run during the test. +# - Just redirect to the main function call. + +# Needed for IsisPreferences and other test data to be found +set(ENV{ISIS3DATA} "${DATA_ROOT}") + +run_app_makefile_test(${MAKEFILE} ${INPUT_DIR} ${OUTPUT_DIR} ${TRUTH_DIR} ${BIN_DIR}) + + diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake new file mode 100644 index 0000000000..6e392ae00b --- /dev/null +++ b/isis/cmake/RunUnitTest.cmake @@ -0,0 +1,74 @@ +#========================================================================= +# Script to run a basic unit test and compare the result to a truth file. +# - This replaces the ISIS UnitTester script. +#========================================================================= + +# Multiple ISIS files need to find things relative to ISISROOT +# and ISIS3DATA so make sure those are set. +set(ENV{ISIS3DATA} "${DATA_ROOT}") + +message(STATUS "ISISROOT = $ENV{ISISROOT}") +message(STATUS "ISIS3DATA = $ENV{ISIS3DATA}") + +# Set up a file for program output +set(outputFile "${TEST_PROG}.output") +message("outputFile = ${outputFile}") +file(REMOVE ${outputFile}) # Make sure no old file exists + +# The test programs need to be run from their source folders +# so that they can find input data files. +get_filename_component(truthFolder ${TRUTH_FILE} DIRECTORY) + +# Test programs also need to be run with the EXACT name "unitTest", +# otherwise a GUI will pop up and ruin the test. +get_filename_component(binFolder ${TEST_PROG} DIRECTORY) +get_filename_component(binName ${TEST_PROG} NAME) + +set(tempDir ${binFolder}/${binName}_temp) +set(tempLink ${tempDir}/unitTest) +execute_process(COMMAND rm -rf ${tempDir}) +execute_process(COMMAND mkdir -p ${tempDir}) +execute_process(COMMAND ln -s ${TEST_PROG} ${tempLink}) +execute_process(COMMAND ln -s ${truthFolder}/unitTest.xml ${tempDir}/unitTest.xml) + +# Run the unit test executable and pipe the output to a text file. +#execute_process(COMMAND ${TEST_PROG} +execute_process(COMMAND ${tempLink} + WORKING_DIRECTORY ${truthFolder} + OUTPUT_FILE ${outputFile} + ERROR_FILE ${outputFile} + OUTPUT_VARIABLE result + RESULT_VARIABLE code) +if(result) + message("Test failed: ${result}, ${code}") +endif() + +# If an exclusion file is present, use it to filter out selected lines. +# - Do this by comparing filtered versions of the two files, then +# running the diff on those two temporary files. +set(comp1 ${outputFile}) +set(comp2 ${TRUTH_FILE}) +set(exclusionPath ${truthFolder}/unitTest.exclude) +if(EXISTS ${exclusionPath}) + set(comp1 ${tempDir}/output_exclude.txt) + set(comp2 ${tempDir}/truth_exclude.txt) + # This throws out all lines containing a word from the exclusion file. + execute_process(COMMAND cat ${outputFile} | grep -v -f ${exclusionPath} + OUTPUT_FILE ${comp1}) + execute_process(COMMAND cat ${TRUTH_FILE} | grep -v -f ${exclusionPath} + OUTPUT_FILE ${comp2}) +endif() + +# Verify that the files are exactly the same +execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files + ${comp1} ${comp2} + RESULT_VARIABLE DIFFERENT) +if(DIFFERENT) + message(FATAL_ERROR "Test failed - files differ") + # On error the result file is left around to aid in debugging. +else() + file(REMOVE ${outputFile}) # On success, clean out the result file. +endif() + +# Clean up our temporary folder +execute_process(COMMAND rm -f ${tempDir}) diff --git a/isis/cmake/TestSetup.cmake b/isis/cmake/TestSetup.cmake new file mode 100644 index 0000000000..b9fc1175f5 --- /dev/null +++ b/isis/cmake/TestSetup.cmake @@ -0,0 +1,83 @@ +#============================================================ +# This file contains functions to help set tests. +#============================================================ + + +# Generate a test from a folder containing a Makefile and specific sub folders. +# - These are used for application and module tests. +function(add_makefile_test_folder folder prefix_name) + + # For convenience, quietly ignore Makefiles that get passed in instead of folders. + get_filename_component(subName ${folder} NAME) + if("${subName}" STREQUAL "Makefile") + return() + endif() + + # Figure out the input, output, and truth paths + file(RELATIVE_PATH relPath ${CMAKE_SOURCE_DIR} ${folder}) + set(dataDir $ENV{ISIS3TESTDATA}/isis/${relPath}) + set(inputDir ${dataDir}/input) + set(truthDir ${dataDir}/truth) + set(makeFile ${folder}/Makefile) + + # TODO: Improve variable name (from top level file) + # The output folder may be in a different directory + + set(outputDir ${testOutputDir}/${relPath}/output) + + # Define the name CTest will use to refer to this test. + set(testName ${prefix_name}_test_${subName}) + + ## Some tests don't need an input folder but the others must exist + #if(NOT EXISTS ${makeFile}) + # message(FATAL_ERROR "Required file does not exist: ${makeFile}") + #endif() + #if(NOT EXISTS ${truthDir}) + # message(FATAL_ERROR "Required data folder does not exist: ${truthDir}") + #endif() + + # Call lower level function to finish adding the test. + add_makefile_test_target(${testName} ${makeFile} ${inputDir} ${outputDir} ${truthDir}) + +endfunction() + + +# Add a Makefile based test to the CMake test list. +macro(add_makefile_test_target testName makeFile inputDir outputDir truthDir) + + set(thisFolder "${PROJECT_SOURCE_DIR}/cmake") + + # Set up a cmake script which will execute the command in the makefile + # and then check the results against the truth folder. + add_test(NAME ${testName} + COMMAND ${CMAKE_COMMAND} + -DMAKEFILE=${makeFile} + -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} + -DCODE_ROOT=${PROJECT_SOURCE_DIR} + -DDATA_ROOT=$ENV{ISIS3DATA} + -DINPUT_DIR=${inputDir} + -DOUTPUT_DIR=${outputDir} + -DTRUTH_DIR=${truthDir} + -DBIN_DIR=${CMAKE_BINARY_DIR}/bin + -P ${thisFolder}/RunMakeFileTest.cmake) + +endmacro() + + +# Add a class based unit test with an executable and a truth file. +macro(add_unit_test_target testFile truthFile) + + set(thisFolder "${PROJECT_SOURCE_DIR}/cmake") + set(fullTestPath "${CMAKE_BINARY_DIR}/unitTest/${testFile}") # The binary that the script will execute + + # Set up a cmake script which will run the executable + # and then check the results against the truth file. + set(testName ${testFile}) + add_test(NAME ${testName} + COMMAND ${CMAKE_COMMAND} + -DTEST_PROG=${fullTestPath} + -DTRUTH_FILE=${truthFile} + -DDATA_ROOT=$ENV{ISIS3DATA} + -DCODE_ROOT=${PROJECT_SOURCE_DIR} + -P ${thisFolder}/RunUnitTest.cmake) +endmacro() diff --git a/isis/cmake/Utilities.cmake b/isis/cmake/Utilities.cmake new file mode 100644 index 0000000000..513668a630 --- /dev/null +++ b/isis/cmake/Utilities.cmake @@ -0,0 +1,315 @@ +#================================================================================== +# This file contains small utility functions +#================================================================================== + +# Copy one file +function(copy_file src dest) + configure_file(${src} ${dest} COPYONLY) +endfunction() + +# Copy one folder +function(copy_folder src dest) + execute_process(COMMAND cp -r ${src} ${dest}) +endfunction() + +# Copy all files matching a wildcard to the output folder. +function(copy_wildcard wildcard outputFolder) + file(GLOB files ${wildcard}) + file(COPY ${files} DESTINATION ${outputFolder}) +endfunction() + +# Copy all input files to the output folder +function(copy_files_to_folder files folder) + foreach(f ${files}) + get_filename_component(filename ${f} NAME) + set(outputPath "${folder}/${filename}") + configure_file(${f} ${outputPath} COPYONLY) + endforeach() +endfunction() + +# Quit if the file does not exist +function(verify_file_exists path) + if(NOT EXISTS ${path}) + message( FATAL_ERROR "Required file ${path} does not exist!" ) + endif() +endfunction() + +# Set result to ON if the file contains "s", OFF otherwise. +function(file_contains path s result) + file(READ ${path} contents) + string(FIND "${contents}" "${s}" position) + set(${result} ON PARENT_SCOPE) + if(${position} EQUAL -1) + set(${result} OFF PARENT_SCOPE) + endif() +endfunction() + + +# Set result to a list of all the subdirectories in the given directory. +function(get_subdirectory_list curdir result) + file(GLOB children RELATIVE ${curdir} ${curdir}/*) + set(dirlist "") + foreach(child ${children}) + # Skip files and hidden folders. + string(SUBSTRING ${child} 0 1 firstChar) + if( (IS_DIRECTORY ${curdir}/${child}) AND (NOT ${firstChar} STREQUAL ".") ) + list(APPEND dirlist ${curdir}/${child}) + endif() + endforeach() + set(${result} ${dirlist} PARENT_SCOPE) +endfunction() + +# Append the contents of IN_FILE to the end of OUT_FILE +function(cat inFile outFile) + + # If the output file does not exist, init with an empty file. + if(NOT EXISTS "${outFile}") + file(WRITE ${outFile} "") + endif() + + # Perform the file concatenation. + if(EXISTS "${inFile}") + file(READ ${inFile} contents) + file(APPEND ${outFile} "${contents}") + endif() +endfunction() + +# Get the correct location to generate code for items in a given input folder +# - Generated code includes uic, moc, and protobuf files. +function(get_code_gen_dir inputFolder codeGenFolder) + file(RELATIVE_PATH relPath ${PROJECT_SOURCE_DIR} ${inputFolder}) + string(REPLACE "src" "objects" relPath ${relPath}) + set(${codeGenFolder} "${PROJECT_BINARY_DIR}/${relPath}" PARENT_SCOPE) + file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${relPath}") + + # Also add this folder to the include path + # include_directories("${PROJECT_BINARY_DIR}/${relPath}") +endfunction() + +# Determine the text string used to describe this OS version +function(get_os_version text) + + if(UNIX AND NOT APPLE) + + # Fetch OS information + execute_process(COMMAND cat "/etc/os-release" + RESULT_VARIABLE code + OUTPUT_VARIABLE result + ERROR_VARIABLE result) + if ("${code}" STREQUAL "0") + # Extract OS name and version from generic Linux system + string(REGEX MATCH "NAME=[A-Za-z\"]+" name "${result}") + string(REGEX MATCH "VERSION_ID=[0-9\\.\"]+" version "${result}") + string(SUBSTRING ${name} 5 -1 name) + string(SUBSTRING ${version} 11 -1 version) + string(REPLACE "\"" "" name ${name}) + string(REPLACE "\"" "" version ${version}) + string(REPLACE "." "_" version ${version}) + else() + # Try the Red Hat specific command. + execute_process(COMMAND cat "/etc/redhat-release" + RESULT_VARIABLE code + OUTPUT_VARIABLE result + ERROR_VARIABLE result) + if ("${code}" STREQUAL "0") + # Extract OS name and version from Red Hat Linux system + string(REGEX MATCH "[0-9\\.]+" version "${result}") + set(name RedHatEnterprise) # This part is easy + else() + # TODO: Test! + # Try another command + execute_process(COMMAND cat "/etc/lsb-release" + RESULT_VARIABLE code + OUTPUT_VARIABLE result + ERROR_VARIABLE result) + + message("code = ${code}") + message("result = ${result}") + + if ("${code}" STREQUAL "0") + # Extract OS name and version + string(REGEX MATCH "Description:[ A-Za-z0-9\\.]+" version "${result}") # Get the line + string(REPLACE "release" "" version ${version}) # Strip unwanted text + string(REPLACE " " "" version ${version}) + string(REPLACE "Description:" "" version ${version}) + set(name "") # Included in version + else() + # TODO: Test! + # Try the debian specific command + execute_process(COMMAND cat "/etc/debian_version" + RESULT_VARIABLE code + OUTPUT_VARIABLE result + ERROR_VARIABLE result) + + message("code = ${code}") + message("result = ${result}") + if ("${code}" STREQUAL "0") + set(version "${result}") + set(name Debian) + else() + + message( FATAL_ERROR "Did not recognize UNIX operating system!" ) + + endif() + endif() + endif() + endif() + + #message("name = ${name}") + #message("version = ${version}") + + set(prefix "Linux_x86_64_") + + # Build the final output string + elseif(APPLE) + + # Fetch OS information + execute_process(COMMAND sw_vers + OUTPUT_VARIABLE result + ERROR_VARIABLE result) + + # Format the string + string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" version "${result}") + string(REGEX MATCH "^[0-9]+.[0-9]+" version "${version}") + string(REPLACE "." "_" version ${version}) + + set(name "MacOSX") + set(prefix "Darwin_x86_64_") + + else() + message( FATAL_ERROR "Did not recognize a supported operating system!" ) + endif() + + # Final string assembly + set(${text} ${prefix}${name}${version} PARENT_SCOPE) +endfunction() + + +# Delete the first N lines of a file +function(apply_skiplines path number) + + if(${number} EQUAL 0) + return() + endif() + + # The first line counts as line 1 for the tail command + MATH(EXPR number "${number}+1") + + set(temp ${path}_temp) + file(RENAME ${path} ${temp}) + message("tail -n +${number} ${temp} OUTPUT_FILE ${path}") + execute_process(COMMAND tail -n +${number} ${temp} OUTPUT_FILE ${path}) + #file(REMOVE ${temp}) +endfunction() + +# Strip all lines beginning with one of the words +function(apply_ignorelines path words) + + set(temp ${path}_temp) + file(RENAME ${path} ${temp}) + + #Set up special grep command to remove these lines + message("words = ${words}") + string(REPLACE " " "|" fullS "${words}") + + message("COMMAND grep -vEw ${fullS} ${temp}") + execute_process(COMMAND grep -vEw ${fullS} ${temp} OUTPUT_FILE ${path}) + + #file(REMOVE ${temp}) +endfunction() + + +#------------------------------------------------------------ + +# Wrapper function to add a library and its components +function(add_library_wrapper name sourceFiles libDependencies) + + # The only optional argument is "alsoStatic", which indicates that + # the library should be build both shared and static. + set(alsoStatic ${ARGN}) + + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + + # Add library, set dependencies, and add to installation list. + add_library(${name} SHARED ${sourceFiles}) + set_target_properties(${name} PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(${name} ${libDependencies}) + install(TARGETS ${name} DESTINATION lib) + + # buildStaticCore is a command line option specified in the top CMakeLists.txt file. + if(alsoStatic AND ${buildStaticCore}) + # The static version needs a different name, but in the end the file + # needs to have the same name as the shared lib. + set(staticName "${name}_static") + message("Adding static library ${staticName}") + + add_library("${staticName}" STATIC ${sourceFiles}) + set_target_properties(${staticName} PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(${staticName} ${libDependencies}) + + # Use a copy -> install combo to get the file to the correct place. + add_custom_command(TARGET ${staticName} POST_BUILD + COMMAND mv ${CMAKE_BINARY_DIR}/src/lib${staticName}.a + ${CMAKE_BINARY_DIR}/src/lib${name}.a) + + install(CODE "EXECUTE_PROCESS(COMMAND cp ${CMAKE_BINARY_DIR}/lib/lib${name}.a + ${CMAKE_INSTALL_PREFIX}/lib/lib${name}.a)") + endif() + +endfunction() + +function(get_version libFile returnVar) + set(${returnVar} "") + set(FOUND_VERSION "") + # Get the File name + get_filename_component(VERSION_FILE ${libFile} NAME_WE) + # message("VERSION_FILE = ${VERSION_FILE}") + # Get the path to the dylib file as the so with version info is in the same area + string(REGEX MATCH "^/(([a-z or A-Z or 0-9])*/)*" PATH_TO_VERSION ${libFile}) + # message("PATH_TO_VERSION= ${PATH_TO_VERSION}") + # Glob for the dylib file with the version number + # message("CURRENT PREFIX = ${PATH_TO_VERSION}${VERSION_FILE}") + file(GLOB FOUND_FILES + "${PATH_TO_VERSION}${VERSION_FILE}-[0-9].[0-9].[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}-[0-9].[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}-3.1.so" + "${PATH_TO_VERSION}${VERSION_FILE}.[0-9].[0-9].[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}_[0-9].[0-9].[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}.so.[0-9]*.[0-9]*.[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}.so.[0-9]*.[0-9]*" + "${PATH_TO_VERSION}${VERSION_FILE}.[0-9].dylib" + "${PATH_TO_VERSION}${VERSION_FILE}.[0-9]*.[0-9]*.dylib" + ) + # message("FOUND_FILES = ${FOUND_FILES}") + foreach(f ${FOUND_FILES}) + # Ideally glob found a single file and grep for the version number found + get_filename_component(VERSION_FILE ${f} NAME) + + string(REGEX MATCH "[\\.,-][0-9]+\\.[0-9]+\\.[0-9]+" CURR_VERSION ${VERSION_FILE}) + + if(NOT CURR_VERSION) + string(REGEX MATCH "[\\.,-][0-9]+\\.[0-9]+" CURR_VERSION ${VERSION_FILE}) + endif(NOT CURR_VERSION) + + + if(NOT CURR_VERSION) + string(REGEX MATCH "[\\.,-][0-9]+\\." CURR_VERSION ${VERSION_FILE}) + string(SUBSTRING ${CURR_VERSION} 0 2 CURR_VERSION) + endif(NOT CURR_VERSION) + + string(SUBSTRING ${CURR_VERSION} 1 -1 CURR_VERSION) + + if(FOUND_VERSION) + # message("VERSION = ${CURR_VERSION}") + # message("FOUND_VERSION = ${FOUND_VERSION}") + if(${FOUND_VERSION} VERSION_LESS ${CURR_VERSION}) + set(FOUND_VERSION ${CURR_VERSION}) + endif() + else(FOUND_VERSION) + set(FOUND_VERSION ${CURR_VERSION}) + endif(FOUND_VERSION) + + endforeach() + set(${returnVar} ${FOUND_VERSION} PARENT_SCOPE) +endfunction() diff --git a/isis/cmake/cmake_install.cmake b/isis/cmake/cmake_install.cmake new file mode 100644 index 0000000000..c66bc84688 --- /dev/null +++ b/isis/cmake/cmake_install.cmake @@ -0,0 +1,50 @@ +# Install script for directory: /scratch/isiscmake/isis/cmake + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/scratch/isiscmake/isis/build") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +if("${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + EXECUTE_PROCESS(COMMAND cp -f /scratch/isiscmake/isis/lib/libisis3.so /scratch/isiscmake/isis/build/lib/libisis3.5.0.so) +endif() + +if("${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.0.so /scratch/isiscmake/isis/build/lib/libisis3.5.so) +endif() + +if("${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.so /scratch/isiscmake/isis/build/lib/libisis3.so) +endif() + +if("${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + EXECUTE_PROCESS(COMMAND ln -sf libisis3.so /scratch/isiscmake/isis/build/lib/libisis.so) +endif() + diff --git a/isis/src/CMakeLists.txt b/isis/src/CMakeLists.txt new file mode 100644 index 0000000000..8c3f525f0f --- /dev/null +++ b/isis/src/CMakeLists.txt @@ -0,0 +1,44 @@ +#=============================================================================== + +# Each of these calls will add one library plus multiple apps and unit tests. +# - The arguments are: (library_name, [list of folders needed for library]) + +if(${buildCore}) + add_isis_module(${CORE_LIB_NAME} base database control qisis system) + + # This folder is for under-development test code so if it is + # missing just ignore it. + # - TODO: The install behavior should be disabled for this folder! + if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/local) + message("Detected optional directory 'local'") + add_isis_module(local local) + endif() + +endif() + +if(${buildMissions}) + add_isis_module(apollo apollo) + add_isis_module(cassini cassini) + add_isis_module(chandrayaan1 chandrayaan1) + add_isis_module(clementine clementine) + add_isis_module(dawn dawn) + add_isis_module(galileo galileo) + add_isis_module(hayabusa hayabusa) + add_isis_module(kaguya kaguya) + add_isis_module(lo lo) + add_isis_module(lro lro) + add_isis_module(mariner mariner) + add_isis_module(mer mer) + add_isis_module(messenger messenger) + add_isis_module(mex mex) + add_isis_module(mgs mgs) + add_isis_module(mro mro) + add_isis_module(near near) + add_isis_module(newhorizons newhorizons) + add_isis_module(odyssey odyssey) + add_isis_module(rolo rolo) + add_isis_module(rosetta rosetta) + add_isis_module(socet socet) + add_isis_module(viking viking) + add_isis_module(voyager voyager) +endif() -- GitLab From 45257881b4a4870da0a5efa56e97d840e0931189 Mon Sep 17 00:00:00 2001 From: The Gitter Badger Date: Thu, 1 Feb 2018 16:39:37 +0000 Subject: [PATCH 0002/1212] Add Gitter badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6c1a4a93bf..2dca47425c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # ISIS3 + +[![Join the chat at https://gitter.im/USGS-Astrogeology/isis3_cmake](https://badges.gitter.im/USGS-Astrogeology/isis3_cmake.svg)](https://gitter.im/USGS-Astrogeology/isis3_cmake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Integrated Software for Imagers and Spectrometers ISIS3 public release site -- GitLab From 8b869352fb05ca3024820df0c8c46c3bce6dc5cf Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Thu, 1 Feb 2018 11:30:04 -0700 Subject: [PATCH 0003/1212] Simplified InstallThirdParty's copying of libraries. --- isis/cmake/InstallThirdParty.cmake | 36 +++--------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake index 2650a19d62..3dd63399ff 100644 --- a/isis/cmake/InstallThirdParty.cmake +++ b/isis/cmake/InstallThirdParty.cmake @@ -9,6 +9,7 @@ function(install_third_party_libs) # Where all the library files will go set(installLibFolder "${CMAKE_INSTALL_PREFIX}/3rdParty/lib") + execute_process(COMMAND mkdir -p ${installLibFolder}) # TEMPORARY CODE TO INSTALL ALL FILES FROM V007/lib into 3rdParty/lib if(APPLE) @@ -30,40 +31,9 @@ function(install_third_party_libs) file(RELATIVE_PATH relPath "${thirdPartyDir}/lib" ${library}) # Check if the file is a symlink - execute_process(COMMAND readlink ${library} OUTPUT_VARIABLE link) - + #execute_process(COMMAND readlink ${library} OUTPUT_VARIABLE link) message(STATUS "${library}") - if ("${link}" STREQUAL "") - # Copy original files and framework folders - if(IS_DIRECTORY ${library}) - install(DIRECTORY ${library} DESTINATION ${installLibFolder}) - else() - install(PROGRAMS ${library} DESTINATION ${installLibFolder}) - endif() - - else() - # Loop through possible chains of namelinks (i.e. lib.so -> lib.so.3.5 -> lib.so.3.5.1) - while (NOT "${link}" STREQUAL "") - # Recreate symlinks - string(REGEX REPLACE "\n$" "" link "${link}") # Strip trailing newline - #There are a few cases where directory information is contained inside the link variable. - #The line below handles those cases (ie. /usr/lib64/libblas.so.3) - execute_process(COMMAND basename ${link} OUTPUT_VARIABLE baselink) - - #install(CODE "EXECUTE_PROCESS(COMMAND ln -fs ${baselink} ${installLibFolder}/${relPath})") - install(CODE "EXECUTE_PROCESS(COMMAND ln -fs ${librarypath}/${baselink} ${installLibFolder}/${baselink} )") - #message("librarypath= ${librarypath}") - #message ("baselink=${baselink}") - #message("installlibFolder/relPath = ${installLibFolder} / ${relPath}") - if (EXISTS "${librarypath}/${baselink}") - install(PROGRAMS "${librarypath}/${baselink}" DESTINATION ${installLibFolder}) - endif() - # Set next iteration of possible symlinks - set(library "${librarypath}/${baselink}") - file(RELATIVE_PATH relPath "${thirdPartyDir}/lib" ${library}) - execute_process(COMMAND readlink ${library} OUTPUT_VARIABLE link) - endwhile() - endif() + execute_process(COMMAND cp -L ${library} ${installLibFolder}) endif() endforeach() -- GitLab From 6dcf93f81cff3318327576e62953f10e548a5ff4 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 31 Jan 2018 20:58:56 -0700 Subject: [PATCH 0004/1212] removed version code from find scripts --- isis/CMakeLists.txt | 1 + isis/cmake/FindBoost.cmake | 17 ----------------- isis/cmake/FindCSPICE.cmake | 8 -------- isis/cmake/FindEigen.cmake | 2 -- isis/cmake/FindGMM.cmake | 2 -- isis/cmake/FindGSL.cmake | 13 ------------- isis/cmake/FindGeoTIFF.cmake | 17 ----------------- isis/cmake/FindKakadu.cmake | 10 ---------- isis/cmake/FindNN.cmake | 3 --- isis/cmake/FindPCL.cmake | 1 - isis/cmake/FindProtobuf.cmake | 2 -- isis/cmake/FindQwt.cmake | 11 ----------- isis/cmake/FindSuperLU.cmake | 6 ------ isis/cmake/FindTIFF.cmake | 3 --- isis/cmake/FindTNT.cmake | 3 --- isis/cmake/FindX11.cmake | 5 ----- isis/cmake/FindXercesC.cmake | 3 --- 17 files changed, 1 insertion(+), 106 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index ea14a0411b..b3659f9eac 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -19,6 +19,7 @@ list(APPEND CMAKE_INCLUDE_PATH /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ /usr/lib64/ + ) set(CMAKE_PREFIX_PATH diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake index a12e1661a0..12b19866e0 100644 --- a/isis/cmake/FindBoost.cmake +++ b/isis/cmake/FindBoost.cmake @@ -11,7 +11,6 @@ find_path(BOOST_INCLUDE_DIR message("BOOST_INCLUDE_DIR = ${BOOST_INCLUDE_DIR}") - get_filename_component(BOOST_ROOT_INCLUDE_DIR "${BOOST_INCLUDE_DIR}" DIRECTORY) find_library(BOOST_ATOMIC_MT_LIBRARY @@ -120,19 +119,3 @@ find_library(PYTHON_LIBRARY find_library(C_LIBRARY NAMES c ) - -#tjw -#if(APPLE) -# file(READ "${BOOST_INCLUDE_DIR}/version.hpp" EXTRACT LIMIT 4 OFFSET 1103) -# string(SUBSTRING ${EXTRACT} 0 1 VERSION_MAJOR) -# string(SUBSTRING ${EXTRACT} 2 2 VERSION_MINOR) -# string(CONCAT VERSION_NUM ${VERSION_MAJOR} "." ${VERSION_MINOR}) -#else(APPLE) -# get_version(${BOOST_ATOMIC_MT_LIBRARY} VERSION_NUM) -#endif(APPLE) - -#message("BOOST FOUND VERSION = ${VERSION_NUM}") - -#if(VERSION_NUM VERSION_LESS Boost_FIND_VERSION) -# message(FATAL_ERROR "Boost version is too old (${VERSION_NUM}). Use ${Boost_FIND_VERSION} or higher.") -#endif(VERSION_NUM VERSION_LESS Boost_FIND_VERSION) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index e7b390f05f..ed19dc87da 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -13,11 +13,3 @@ find_path(CSPICE_INCLUDE_DIR find_library(CSPICE_LIBRARY NAMES cspice ) - -string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${CSPICE_LIBRARY}}) -file(GLOB FOUND_FILES - "${MY_PATH}.*[0-9]**.a" -) -get_filename_component(VERSION_FILE "${FOUND_FILES}" NAME) - -get_filename_component(CSPICE_ROOT_INCLUDE_DIR "${CSPICE_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index 78110b9671..ece0a1b51f 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -13,5 +13,3 @@ find_path(EIGEN_ROOT_INCLUDE_DIR NAME Eigen PATH_SUFFIXES eigen eigen3 ) - -message("Eigen FOUND") diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index 31b556041a..d3fa96579f 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -10,5 +10,3 @@ find_path(GMM_INCLUDE_DIR ) get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) - -message("GMM FOUND VERSION = UNABLE TO VERSION") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake index 377ac2f98e..8a1675e5f2 100644 --- a/isis/cmake/FindGSL.cmake +++ b/isis/cmake/FindGSL.cmake @@ -18,17 +18,4 @@ find_library(GSL_CBLAS_LIBRARY NAMES gslcblas ) -if(APPLE) - string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${GSL_LIBRARY}}) - file(GLOB FOUND_FILES - "${MY_PATH}.*[0-9]**.dylib" - ) - get_filename_component(VERSION_FILE ${FOUND_FILES} NAME) - string(REGEX MATCH "[0-9][0-9]" VERSION_NUM ${VERSION_FILE}) -else(APPLE) - get_version(${GSL_LIBRARY} VERSION_NUM) -endif(APPLE) -message("GSL FOUND VERSION = ${VERSION_NUM}") -set(GSL LIBLIST ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY}) - get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index b5e97609c6..66930a9f75 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -14,21 +14,4 @@ find_library(GEOTIFF_LIBRARY NAMES geotiff ) -# DO SOMETHING DIFFERENT FOR APPLE -if(APPLE) - string(REGEX MATCH "^(/([a-z or A-Z or 0-9])*)*" MY_PATH ${GEOTIFF_LIBRARY}}) - file(GLOB FOUND_FILES - "${MY_PATH}.*[0-9]**.dylib" - ) - get_filename_component(VERSION_FILE ${FOUND_FILES} NAME) - string(REGEX MATCH "[0-9]" VERSION_NUM ${VERSION_FILE}) -else(APPLE) - get_version(${GEOTIFF_LIBRARY} VERSION_NUM) -endif(APPLE) -message("GEOTIFF FOUND VERSION = ${VERSION_NUM}") - get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) - -if(VERSION_NUM VERSION_LESS GeoTIFF_FIND_VERSION) - message(FATAL_ERROR "GeoTIFF version is too old (${VERSION_NUM}). Use ${GeoTIFF_FIND_VERSION} or higher.") -endif(VERSION_NUM VERSION_LESS GeoTIFF_FIND_VERSION) diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index 68bea713af..fc39cc61e7 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -20,14 +20,4 @@ find_library(KAKADU_V_LIBRARY NAMES kdu_v79R ) -# message("KAKADU_LIBRARY = ${KAKADU_INCLUDE_DIR}") -get_filename_component(VERSION_FILE ${KAKADU_A_LIBRARY} NAME_WE) -# message("VERSION_FILE = ${VERSION_FILE}") -string(REGEX MATCH "[0-9][0-9]" VERSION_NUM ${VERSION_FILE}) -message("KAKADU FOUND VERSION = ${VERSION_NUM}") - get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) - -if(VERSION_NUM VERSION_LESS Kakadu_FIND_VERSION) - message(FATAL_ERROR "Kakadu version is too old (${VERSION_NUM}). Use ${Kakadu_FIND_VERSION} or higher.") -endif(VERSION_NUM VERSION_LESS Kakadu_FIND_VERSION) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index 24dc3f02da..db545dadb7 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -10,6 +10,3 @@ find_path(NN_INCLUDE_DIR ) get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) - -find_library(NN_LIBRARY NAMES nn) -message("NN FOUND VERSION = UNABLE TO VERSION") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 729a742aa1..8e0a5a96cb 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -20,4 +20,3 @@ find_library(PCL_OCTREE_LIBRARY NAMES pcl_octree) find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) -message("PCL FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index ab33d9b23f..4bb715b2ca 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -6,5 +6,3 @@ find_path(PROTOBUF_INCLUDE_DIR find_library(PROTOBUF_LIBRARY NAMES protobuf) get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) -get_version(${PROTOBUF_LIBRARY} VERSION_NUM) -message("PROTOBUF FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 6cb5ac9cd8..4e51c8625d 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -14,15 +14,4 @@ find_library(QWT_LIBRARY NAMES qwt ) -if(APPLE) - set(VERSION_PATH "${QWT_LIBRARY}/Versions/") - file(GLOB FOUND_FILES - "${VERSION_PATH}[0-9]" - ) - string(SUBSTRING ${FOUND_FILES} 63 64 VERSION_NUM) -else(APPLE) - get_version(${QWT_LIBRARY} VERSION_NUM) -endif(APPLE) -message("QWT FOUND VERSION = ${VERSION_NUM}") - get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 24a0b2c83f..4f06ce7cd1 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -14,10 +14,4 @@ find_library(SUPERLU_LIBRARY NAMES superlu_4.3 ) -# message("SUPERLU_LIBRARY = ${SUPERLU_INCLUDE_DIR}") -get_filename_component(VERSION_FILE ${SUPERLU_LIBRARY} NAME) -# message("VERSION_FILE = ${VERSION_FILE}") -string(REGEX MATCH "[0-9]\\.[0-9]" VERSION_NUM ${VERSION_FILE}) -message("SUPERLU FOUND VERSION = ${VERSION_NUM}") - get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index b35f0d5945..81e5ce6b1b 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -6,6 +6,3 @@ find_path(TIFF_INCLUDE_DIR find_library(TIFF_LIBRARY NAMES tiff) # message("TIFF_LIBRARY = ${TIFF_LIBRARY}") - -get_version(${TIFF_LIBRARY} VERSION_NUM) -message("TIFF FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index f35a71962b..bda175e202 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -12,6 +12,3 @@ find_path(TNT_INCLUDE_DIR ) get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) -file(READ "${TNT_INCLUDE_DIR}/tnt_version.h" EXTRACT LIMIT 6 OFFSET 1006) -string(SUBSTRING ${EXTRACT} 0 5 VERSION_NUM) -message("TNT FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake index b9c6b23681..f67e5b8b49 100644 --- a/isis/cmake/FindX11.cmake +++ b/isis/cmake/FindX11.cmake @@ -7,8 +7,3 @@ find_library(X11_LIBRARY NAMES X11 ) - -# message("X11_LIBRARY = ${X11_LIBRARY}") -set(VERSION_NUM "") -get_version(${X11_LIBRARY} VERSION_NUM) -message("X11 FOUND VERSION = ${VERSION_NUM}") diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index a979813e41..bd4717b7e4 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -5,6 +5,3 @@ find_path(XERCESC_INCLUDE_DIR # message("XERCESC_INCLUDE_DIR = ${XERCESC_INCLUDE_DIR}") find_library(XercesC_LIBRARY NAMES xerces-c) -# message("XercesC lib = ${XercesC_LIBRARY}") -get_version(${XercesC_LIBRARY} VERSION_NUM) -message("XercesC FOUND VERSION = ${VERSION_NUM}") -- GitLab From 8c3750f5232d47a7f607d107945a85bccf2a36e2 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 1 Feb 2018 14:05:10 -0700 Subject: [PATCH 0005/1212] spacing on readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2dca47425c..29d6502725 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # ISIS3 [![Join the chat at https://gitter.im/USGS-Astrogeology/isis3_cmake](https://badges.gitter.im/USGS-Astrogeology/isis3_cmake.svg)](https://gitter.im/USGS-Astrogeology/isis3_cmake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + Integrated Software for Imagers and Spectrometers ISIS3 public release site -- GitLab From 36b08ee9dcff559d6bf52426323c3d0fa784a081 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Fri, 2 Feb 2018 12:32:45 -0700 Subject: [PATCH 0006/1212] Fixed "File not found" issue with trying to copy README from 3rdparty. --- isis/cmake/InstallThirdParty.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake index 3dd63399ff..895fa32c9a 100644 --- a/isis/cmake/InstallThirdParty.cmake +++ b/isis/cmake/InstallThirdParty.cmake @@ -90,7 +90,6 @@ function(install_third_party) install_third_party_license() # Finish miscellaneous file installation - install(FILES "${CMAKE_SOURCE_DIR}/3rdParty/lib/README" - DESTINATION ${CMAKE_INSTALL_PREFIX}/3rdParty/lib) + file(WRITE "${CMAKE_INSTALL_PREFIX}/3rdParty/lib/README" "This directory contains O/S and hardware specific shared libraries needed\nto execute ISIS applications") endfunction() -- GitLab From d1680ba9c5023231c846e4fa72f2e466e331b267 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 5 Feb 2018 21:56:31 -0700 Subject: [PATCH 0007/1212] FindNN.cmake now also includes libraries --- isis/cmake/FindNN.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index db545dadb7..bb8cd81385 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -9,4 +9,8 @@ find_path(NN_INCLUDE_DIR PATH_SUFFIXES nn ) +find_library(NN_LIBRARY + NAMES nn +) + get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) -- GitLab From 6dfd4ab674a893ca220645848bdfa87392144b3e Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Tue, 6 Feb 2018 09:33:44 -0700 Subject: [PATCH 0008/1212] Added scripts from svn repo. --- isis/scripts/IsisInlineDocumentBuild_mod.xsl | 50 ++ isis/scripts/fetchRequiredData.py | 645 +++++++++++++++++++ isis/scripts/finalizeInstalledOsxRpaths.py | 119 ++++ isis/scripts/fixOsxRpaths.py | 109 ++++ 4 files changed, 923 insertions(+) create mode 100644 isis/scripts/IsisInlineDocumentBuild_mod.xsl create mode 100644 isis/scripts/fetchRequiredData.py create mode 100644 isis/scripts/finalizeInstalledOsxRpaths.py create mode 100644 isis/scripts/fixOsxRpaths.py diff --git a/isis/scripts/IsisInlineDocumentBuild_mod.xsl b/isis/scripts/IsisInlineDocumentBuild_mod.xsl new file mode 100644 index 0000000000..bcf90f1f5a --- /dev/null +++ b/isis/scripts/IsisInlineDocumentBuild_mod.xsl @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + +# Set up Xalan's command-line option names. +XALAN := XALAN_BIN_LOCATION +XALAN_VALIDATE_OPTION := -v +XALAN_OUTFILE_OPTION := -o +XALAN_PARAM_OPTION := -p +XALAN_INFILE_OPTION := +XALAN_XSL_OPTION := + +docs: + echo " Constructing []" + + $(XALAN) $(XALAN_PARAM_OPTION) menuPath "'../../'" $(XALAN_PARAM_OPTION) filenameParam "''" $(XALAN_OUTFILE_OPTION) $(XALAN_INFILE_OPTION) .xml $(XALAN_XSL_OPTION) ../../build/IsisPrimaryPageBuild.xsl + $(XALAN) $(XALAN_PARAM_OPTION) menuPath "'../../'" $(XALAN_PARAM_OPTION) filenameParam "''" $(XALAN_OUTFILE_OPTION) $(XALAN_INFILE_OPTION) .xml $(XALAN_XSL_OPTION) ../../build/IsisSubPageBuild.xsl + + + + + + + + diff --git a/isis/scripts/fetchRequiredData.py b/isis/scripts/fetchRequiredData.py new file mode 100644 index 0000000000..38e6c608b0 --- /dev/null +++ b/isis/scripts/fetchRequiredData.py @@ -0,0 +1,645 @@ + +import sys, os + +def main(): + + # Hardcoded list of downloadable files needed to run tests + fileList = ''' +cassini/testData/CM_1540484927_1_001.ir.cub +mer/testData/mer.img +mer/testData/mer.lab +galileo/testData/1213r.img +messenger/kernels/ck/msgr20111020.bc +cassini/calibration/vims/RC19/solar-spectrum/ +base/templates/labels/ +galileo/calibration/conversionFactors_v001.sav +galileo/calibration/conversionFactors_v002.sav +galileo/calibration/weightTables_v001.sav +messenger/kernels/ck/msgr20111019.bc +lro/kernels/ck/lrolc_2009181_2009213_v02.bc +clementine1/calibration/nir/nirmodeflats/strip015_set4_061_065_33_a_n.cub +clementine1/calibration/uvvis/lub_comp_flat_long.cub +clementine1/calibration/uvvis/uvvisTemperature.tbl +newhorizons/calibration/target-wavelengths-expanded.csv +odyssey/testData/I50695002EDR.proj.reduced.cub +galileo/calibration/shutter/calibration.so02F.cub +messenger/testData/EW0089570936I.IMG +lro/apps/mrf2pds/tsts/CH_Lev2/input/FSR_CDR_LV2_01921_0R_Lev2.cub +mer/calibration/REFPIXVAR_105.cub +mer/calibration/REFPIXVAR_110.cub +lro/apps/mrf2pds/tsts/CH_Lev2/input/FSR_CDR_LV2_01921_0R_Lev2.cub +messenger/kernels/ck/msgr20111018.bc +lro/kernels/ck/lrolc_2009181_2009213_v02.bc +base/dems/ulcn2005_lpo_0004.cub +clementine1/calibration/nir/clemnircal.def +calibration/uvvis/uvvisTemperature.tbl +odyssey/testData/I56969027EDR.proj.reduced.cub +galileo/calibration/gain/redf.cal04.cub +galileo/calibration/gain/clrf.cal04.cub +mro/testData/ctx_pmoi_i_00003.bottom.cub +messenger/testData/EW0031592574E.IMG +lro/apps/mrf2pds/tsts/CH_Lev2/input/FSR_CDR_LV2_01921_0R_Lev2.cub +cassini/calibration/darkcurrent/ +apollo15/templates/apolloPanFiducialFinder.pvl +base/dems/ulcn2005_lpo_0004.cub +clementine1/translations/ +lro/translations/ +viking1/translations/ +mgs/translations/ +mariner10/translations/ +mariner10/calibration/mariner_10_CLE_A_coef.cub +mariner10/calibration/mariner_10_ORA_A_coef.cub +mariner10/calibration/mariner_10_CLE_B_coef.cub +mariner10/calibration/mariner_10_ORA_B_coef.cub +mariner10/calibration/mariner_10_UV_B_coef.cub +clementine1/calibration/hires/lhd_flat.cub +clementine1/calibration/nir/nir.addflats.dat +clementine1/calibration/uvvis/lua_comp_flat_long.cub +clementine1/calibration/uvvis/lue_uncomp_flat_long.cub +messenger/translations/ +messenger/templates/ +lo/templates/ +chandrayaan1/bandBin/ +chandrayaan1/translations/ +chandrayaan1/kernels/ +mer/translations/ +mro/templates/ +mro/calibration/ +mgs/calibration/ +mer/calibration/ +newhorizons/translations/ +rolo/translations/ +mex/translations/ +kaguya/translations/ +hayabusa/translations/ +galileo/translations/ +dawn/translations/ +rosetta/translations/ +clementine1/kernels/ +viking1/kernels/ +viking2/kernels/ +apollo15/kernels/ +cassini/calibration/darkcurrent/ +hayabusa/kernels/ +mariner10/kernels/ +odyssey/calibration/ +odyssey/testData/I51718010EDR.crop.proj.reduced.cub +cassini/testData/vims2.cub +galileo/calibration/gll_gain.sav +lro/apps/mrf2pds/tsts/CH_Lev2/input/FSR_CDR_LV2_01921_0R_Lev2.cub +base/dems/ulcn2005_lpo_0004.cub +lro/kernels/ck/lrolc_2009181_2009213_v02.bc +messenger/kernels/ck/msgr20080110.bc +mro/kernels/spk/mro_psp7.bsp +messenger/kernels/ck/msgr20111017.bc +mer/translations/merInstrument.trn +mer/translations/merInstrument.trn +odyssey/testData/I25685003EDR.crop.proj.reduced.cub +odyssey/testData/I25685003EDR.crop.proj.reduced.cub +odyssey/testData/I25685003EDR.crop.proj.reduced.cub +cassini/testData/vims2.cub+100 +base/translations/ +mro/testData/ctx_pmoi_i_00003.bottom.cub +mrg_Global_512ppd_radius-demprep.cub +cassini/translations/ +chandrayaan1/translations/m3Instrument.trn +Clementine1/calibration/hires/lhd_flat.cub +clementine1/calibration/nir/nirorbitflats/nir_orbflat_284_a.cub +clementine1/calibration/uvvis/dark_5_15_96.cub +dawn/translations/dawnfcArchive.trn +dawn/translations/dawnvirArchive.trn +galileo/translations/galileoNIMSInstrument.trn +galileo/calibration/darkcurrent/2f8.dc04.cub +galileo/calibration/darkcurrent/4f8.dc04.cub +hayabusa/translations/amicaArchive.trn +hayabusa/translations/nirsArchive.trn +kaguya/translations/kaguyamiInstrument.trn +kaguya/translations/tcmapInstrument.trn +kaguya/translations/mimapBandBin.trn +base/translations/pdsExportImageImage.typ +lro/translations/lronacArchive.trn +lro/translations/lronacPdsLabelExport.trn +lro/translations/lrowacArchive.trn +lro/translations/lrowacPdsLabelExport.trn +lro/translations/mrflev1Archive.trn +lro/translations/mrflev2Archive.trn +base/translations/pdsExportImageImage.typ +mariner10/calibration/mariner_10_blem_A.cub +mariner10/calibration/mariner_10_blem_B.cub +mer/translations/merInstrument.trn +messenger/translations/mdisBandBin.trn +base/translations/pdsExportImageImage.typ +messenger/translations/mdisBandBin.trn +mex/translations/hrscBandBin.trn +mex/translations/hrscBandBin.trn +base/translations/pdsExportImageImage.typ +mro/calibration/psf/PSF_IR.cub +newhorizons/translations/leisaArchive_fit.trn +newhorizons/translations/lorriBandBin_fit.trn +rolo/translations/roloInstrument.trn +rosetta/translations/osirisBandBin.trn +viking2/reseaus/nominal.pvl +apollo15/kernels/pck/moon_assoc_me.tf +base/dems/ulcn2005_lpo_0004.cub +cassini/kernels/pck/cpck21Apr2005.tpc +lro/kernels/ck/lrolc_2009181_2009213_v02.bc +odyssey/kernels/sclk/ORB1_SCLKSCET.00200.tsc +odyssey/kernels/sclk/ORB1_SCLKSCET.00203.tsc +apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_512ppd_radius-demprep.cub +hayabusa/dawn/DEM/vesta512.bds +messenger/kernels/ck/msgr20080109.bc +messenger/kernels/ck/msgr20111016.bc +apollo15/templates/apolloPanFiducialFinder.pvl +base/dems/ulcn2005_lpo_0004.cub +mer/translations/merInstrument.trn +mer/translations/merInstrument.trn +odyssey/testData/I25685003EDR.crop.proj.reduced.cub +cassini/testData/vims2.cub+100 +base/translations/pdsExportImageImage.typ +mro/testData/ctx_pmoi_i_00003.bottom.cub +cassini/translations/narrowAngle.def +cassini/translations/wideAngle.def +chandrayaan1/translations/m3Instrument.trn +Clementine1/calibration/hires/lhd_flat.cub +clementine1/calibration/nir/nirorbitflats/nir_orbflat_284_a.cub +clementine1/calibration/uvvis/dark_5_15_96.cub +hayabusa/dawn/DEM/vesta512.bds +dawn/translations/dawnfcArchive.trn +dawn/translations/dawnvirArchive.trn +galileo/translations/galileoNIMSInstrument.trn +galileo/calibration/darkcurrent/2f8.dc04.cub +galileo/calibration/darkcurrent/4f8.dc04.cub +hayabusa/translations/amicaArchive.trn +hayabusa/translations/nirsArchive.trn +kaguya/translations/kaguyamiInstrument.trn +kaguya/translations/tcmapInstrument.trn +kaguya/translations/mimapBandBin.trn +base/translations/pdsExportImageImage.typ +cassini/translations/narrowAngle.def +lro/translations/lronacArchive.trn +lro/translations/lronacPdsLabelExport.trn +lro/translations/lrowacArchive.trn +lro/translations/lrowacPdsLabelExport.trn +lro/translations/mrflev1Archive.trn +lro/translations/mrflev2Archive.trn +base/translations/pdsExportImageImage.typ +mariner10/calibration/mariner_10_blem_A.cub +mariner10/calibration/mariner_10_blem_B.cub +mer/translations/merInstrument.trn +messenger/translations/mdisBandBin.trn +base/translations/pdsExportImageImage.typ +messenger/translations/mdisBandBin.trn +mex/translations/hrscBandBin.trn +base/translations/pdsExportImageImage.typ +mro/calibration/psf/PSF_IR.cub +newhorizons/translations/leisaArchive_fit.trn +newhorizons/translations/lorriBandBin_fit.trn +rolo/translations/roloInstrument.trn +rosetta/translations/osirisBandBin.trn +rosetta/translations/osirisBandBin.trn +viking2/reseaus/nominal.pvl +apollo15/calibration/METRIC_flatfield.cub +apollo15/calibration/ApolloPanFiducialMark.cub +base/dems/ulcn2005_lpo_0004.cub +mer/translations/merStructure.trn +newhorizons/calibration/target-wavelengths-expanded.csv. +odyssey/testData/I10047011EDR.proj.reduced.cub +viking1/reseaus/vo1.visb.template.cub +cassini/testData/vims1.cub +base/translations/pdsExportRootGen.typ +mro/testData/ctx_pmoi_i_00003.bottom.cub +Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_512ppd_radius-demprep.cub +base/templates/maps/polarstereographic.map +base/templates/maps/simplecylindrical.map +cassini/translations/cassiniIss.trn +cassini/translations/vimsPds.trn +chandrayaan1/translations/m3Archive.trn +clementine1/translations/clementine.trn +Clementine1/calibration/hires/lhd_flat.cub +clementine1/calibration/nir/newnir_flat_a.cub +clementine1/calibration/uvvis/uvvis.def +base/templates/cnet_validmeasure/validmeasure.def +base/templates/cnetref/cnetref_nooperator.def +base/templates/cnetref/cnetref_operator.def +base/templates/cnetref/cnetref_nooperator.def +base/templates/cnetstats/cnetstats.def +hayabusa/dawn/DEM/vesta512.bds +dawn/translations/dawnfcBandBin.trn +dawn/translations/dawnvirBandBin.trn +dawn/translations/dawnvirBandBin.trn +galileo/translations/galileoNIMSArchive.trn +galileo/translations/galileoSsi.trn +galileo/calibration/gll_dc.sav +hayabusa/translations/amicaBandBin.trn +hayabusa/translations/nirsInstrument.trn +kaguya/translations/kaguyamiArchive.trn +kaguya/translations/tcmapBandBin.trn +base/translations/pdsExportRootGen.typ +cassini/translations/cissua2isis.trn +lro/translations/lronacInstrument.trn +lro/translations/pdsExportRootGen.typ +lro/translations/lrowacInstrument.trn +lro/translations/pdsExportRootGen.typ +lro/translations/mrflev1BandBin.trn +lro/translations/mrflev2BandBin.trn +lro/translations/mrfExportRoot.typ +mariner10/reseaus/mar10VenusNominal.pvl +mariner10/translations/mariner10isis2.trn +mariner10/calibration/mariner_10_A_dc.cub +mariner10/calibration/mariner_10_B_dc.cub +mariner10/reseaus/mar10b.template.cub +mer/translations/merStructure.trn +messenger/translations/mdisInstrument.trn +messenger/translations/mdisInstrument.trn +base/translations/pdsExportRootGen.typ +messenger/testData/EW0031509051D.cub +messenger/testData/EN0089576657M.IMG +messenger/translations/mdisInstrument.trn +mex/translations/hrscInstrument.trn +mro/calibration/ctxFlat_0001.cub +mro/calibration/HiRISE_Gain_Drift_Correction_Bin2.0001.csv +mro/calibration/HiRISE_Gain_Drift_Correction_Bin4.0001.csv +mro/calibration/HiccdstitchOffsets.def +base/translations/pdsExportRootGen.typ +mro/calibration/hijitreg.p1745.s3070.def +output/PSP_007556_2010_RED4.balance.cropped.cub +mro/calibration/psf/PSF_BG.cub +near/translations/nearImportPdsLabel.trn +newhorizons/translations/leisaInstrument_fit.trn +newhorizons/translations/lorriInstrument_fit.trn +newhorizons/translations/mvicInstrument_fit.trn +rolo/translations/roloMapping.trn +rosetta/translations/osirisArchive.trn +viking1/reseaus/nominal.pvl +iking2/reseaus/nominal.pvl +voyager1/calibration/voylin.pvl +apollo15/kernels/pck/moon_080317.tf +viking1/kernels/sclk/vo1_fsc.tsc +base/dems/ulcn2005_lpo_0004.cub +cassini/kernels/fk/cas_v40.tf +lro/kernels/ck/lrolc_2009181_2009213_v02.bc +lro/kernels/spk/fdf29r_2009182_2009213_v01.bsp +odyssey/kernels/fk/m01_v29.tf +cassini/kernels/sclk/cas00110.tsc +hayabusa/dawn/DEM/vesta512.bds +odyssey/kernels/sclk/ORB1_SCLKSCET.00174.tsc +galileo/kernels/sclk/mk00062b.tsc +messenger/kernels/ck/msgr20111015.bc +lro/kernels/spk/fdf29r_2012275_2012306_v01.bsp +apollo15/kernels/tspk/de421.bsp +viking1/kernels/sclk/vo1_fict.tsc +base/dems/ulcn2005_lpo_0004.cub +viking1/kernels/ck/vo1_sedr_ck2.bc +cassini/kernels/ck/05047_05052ra.bc +mro/kernels/ck/mro_sc_psp_061114_061120.bc +lro/kernels/tspk/de421.bsp +odyssey/kernels/ck/m01_sc_map7.bc +odyssey/kernels/ck/m01_sc_map5_rec_nadir.bc +odyssey/kernels/sclk/ORB1_SCLKSCET.00160.tsc +cassini/kernels/iak/vimsAddendum02.ti +viking1/kernels/sclk/vo1_fict.tsc +Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_512ppd_radius-demprep.cub +cassini/kernels/sclk/cas00106.tsc +clementine1/kernels/fk/clem_v10.tf +clementine1/kernels/iak/nirAddendum002.ti +hayabusa/dawn/DEM/vesta512.bds +odyssey/kernels/sclk/ORB1_SCLKSCET.00174.tsc +galileo/kernels/sclk/mk00062b.tsc +messenger/kernels/ck/msgr20111014.bc +apollo15/kernels/tspk/moon_pa_de421_1900-2050.bpc +viking1/kernels/iak/vikingAddendum003.ti +base/dems/ulcn2005_lpo_0004.cub +viking1/kernels/spk/vik1_ext.bsp +cassini/kernels/spk/050414RB_SCPSE_05034_05060.bsp +mro/kernels/spk/mro_psp1.bsp +lro/kernels/tspk/moon_pa_de421_1900-2050.bpc +odyssey/kernels/spk/m01_map7.bsp +odyssey/kernels/spk/m01_map5.bsp +odyssey/kernels/iak/themisAddendum003.ti +cassini/kernels/pck/cpck19Sep2007.tpc +mgs/kernels/iak/mocAddendum003.ti +viking1/kernels/fk/vo1_v10.tf +Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_512ppd_radius-demprep.cub +cassini/kernels/pck/cpck01Dec2006.tpc +base/dems/Ceres_Dawn_FC_HAMO_DTM_DLR_Global_60ppd_Oct2016_prep.cub +cassini/kernels/pck/cpck01Dec2006.tpc +mgs/kernels/sclk/MGS_SCLKSCET.00060.tsc +hayabusa/dawn/DEM/vesta512.bds +odyssey/kernels/iak/themisAddendum003.ti +galileo/kernels/iak/ssiAddendum004.ti +mro/kernels/spk/mro_psp22.bsp +messenger/kernels/ck/msgr20111013.bc +mro/kernels/spk/mro_psp22.bsp +base/templates/autoreg/findrx.def +viking2/reseaus/vo2.visb.template.cub +viking2/calibration/vik2evenMask.cub +voyager1/kernels/ +voyager1/calibration/NA1CLR.CAL.cub +voyager1/calibration/NA1OFF.CAL.cub +voyager1/calibration/voycal.pvl +voyager1/reseaus/vg1naMasterReseaus.pvl +voyager2/translations/ +voyager2/kernels/ +voyager2/reseaus/nominal.pvl +base/templates/maps/sinusoidal.map +base/applications/noprojInstruments001.pvl +base/applications/noprojInstruments002.pvl +base/applications/noprojInstruments003.pvl +messenger/kernels/ck/1018221575_197834_mdis_pivot_pvtres.bc +messenger/kernels/ck/1018290560_1175_mdis_atthist.bc +messenger/kernels/ck/msgr20120630.bc +messenger/kernels/ck/msgr20120629.bc +messenger/kernels/ck/msgr20120628.bc +messenger/kernels/ck/msgr20120627.bc +messenger/kernels/ck/msgr20120626.bc +messenger/kernels/ck/msgr20120625.bc +messenger/kernels/ck/msgr20120624.bc +messenger/kernels/ck/msgr20120623.bc +messenger/kernels/ck/msgr20120622.bc +messenger/kernels/ck/msgr20120621.bc +messenger/kernels/pck/kernels.0001.db +messenger/kernels/pck/kernels.0002.db +messenger/kernels/pck/kernels.0003.db +messenger/kernels/pck/kernels.0004.db +messenger/kernels/tspk/ +messenger/testData/EW0131770376G.equi.cub +mgs/calibration +mro/kernels/fk/ +mro/kernels/ik/ +mro/kernels/sclk/ +base/kernels/lsk/ +base/kernels/pck/ +base/kernels/spk/de118.bsp +base/kernels/spk/de245.bsp +base/kernels/spk/de405.bsp +base/testData/kernels/de405.bsp +base/kernels/spk/kernels.0001.db +base/kernels/spk/kernels.0002.db +base/testData/kernels/moc.bsp +base/testData/kernels/naif0007.tls +base/testData/kernels/moc.bc +base/testData/kernels/pck00006.tpc +base/testData/kernels/mocSpiceUnitTest.ti +base/testData/kernels/mocAddendum.ti +base/testData/kernels/MGS_SCLKSCET.00045.tsc +base/testData/kernels/moc13.ti +base/kernels/pck/pck00009.tpc +base/kernels/lsk/naif0009.tls +base/kernels/spk/de405.bsp +base/kernels/lsk/naif0009.tls +base/kernels/pck/pck00009.tpc +base/dems/kernels.0003.db +base/dems/kernels.0004.db +base/dems/kernels.0005.db +mgs/testData/ab102401.cub +base/templates/labels/CubeFormatTemplate.pft +mariner10/testData/0027399_clean_equi.cub +mgs/testData/ab102401.lev2.cub +odyssey/testData/I00824006RDR.lev2.cub +base/testData/blobTruth.cub +base/testData/isisTruth.cub +base/testData/isisTruth2.cub +base/testData/xmlTestLabel.xml +base/testData/f319b18_ideal.cub +base/translations/MissionName2DataDir.trn +base/translations/MissionName2DataDir.trn +messenger/testData/EW0211286081G.lev1.cub +messenger/testData/EW0131770376G.equi.cub +base/translations/NaifErrors.trn +mariner10/testData/0027399_clean_equi.cub +dawn/testData/FC21B0001010_09049002212F5D.cub +base/testData/LRONAC_M139722912RE_cropped.cub +base/dems/molaMarsPlanetaryRadius0004.cub +base/dems/molaMarsPlanetaryRadius0005.cub +viking2/testData/f348b26.cub +viking2/kernels/sclk/vo2_fict.tsc +viking2/kernels/iak/vikingAddendum003.ti +clementine1/testData/lna1391h.cub +base/testData/ab102401_ideal.cub +lo/testData/3133_h1.cub +mgs/kernels/ik/moc20.ti +mgs/kernels/iak/mocAddendum004.ti +mgs/kernels/sclk/MGS_SCLKSCET.00061.tsc +viking2/kernels/sclk/vo2_fsc.tsc +hayabusa/kernels/dsk/hay_a_amica_5_itokawashape_v1_0_512q.bds +hayabusa/kernels/pck/itokawa_gaskell_n3.tpc +hayabusa/kernels/tspk/de403s.bsp +hayabusa/kernels/tspk/sb_25143_140.bsp +hayabusa/kernels/spk/hay_jaxa_050916_051119_v1n.bsp +hayabusa/kernels/spk/hay_osbj_050911_051118_v1n.bsp +hayabusa/kernels/ck/hayabusa_itokawarendezvous_v02n.bc +hayabusa/kernels/fk/hayabusa_hp.tf +hayabusa/kernels/fk/itokawa_fixed.tf +hayabusa/kernels/ik/amica31.ti +hayabusa/kernels/iak/amicaAddendum001.ti +hayabusa/kernels/sclk/hayabusa.tsc +base/kernels/spk/de405.bsp +mgs/kernels/spk/mgs_ab1.bsp +mgs/testData/ab102402.lev2.cub +odyssey/testData/I02609002RDR.lev2.cub +mgs/kernels/ck/mgs_sc_ab1.bc +viking2/kernels/spk/vo2_rcon.bsp +apollo15/testData/AS15-M-0533.cropped.cub +apollo15/testData/TL.cub +cassini/testData/W1294561261_1.c2i.nospice.cub +cassini/testData/N1525100863_2.cub +cassini/testData/W1525116136_1.cub +odyssey/testData/I01523019RDR.lev2.cub +odyssey/testData/I01523019RDR.lev2.cub +messenger/testData/EW0131770381F.equi.cub +mariner10/testData/0166613_clean_equi.cub +lo/testData/3133_h1.cropped.cub +lo/testData/3083_med_tohi.cub +mgs/testData/fha00491.lev1.cub +mro/testData/frt0001cfd8_07_if124s_trr3_b24.cub +mro/testData/ctx_pmoi_i_00003.bottom.cub +mro/testData/PSP_001446_1790_BG12_0.cub +mro/testData/P12_005911_3396_MA_00N009W.cropped.cub +mro/kernels/ck/mro_crm_psp_080101_080131.bc +mro/kernels/ck/mro_sc_psp_080108_080114.bc +mro/kernels/spk/mro_psp6.bsp +mro/kernels/ck/mro_sc_psp_080304_080310.bc +mro/kernels/iak/hiriseAddendum006.ti +cassini/testData/N1355543510_1.c2i.nospice.cub +base/dems/ldem_128ppd_Mar2011_clon180_radius_pad.cub +cassini/testData/CM_1515951157_1.ir.cub +clementine1/testData/lub5992r.292.lev1.phot.cub +messenger/testData/EW0213634118G.lev1.cub +galileo/testData/1213r.cub +lo/testData/3083_med_raw.cub +base/dems/ldem_128ppd_Mar2011_clon180_radius_pad.cub +lo/testData/4008_med_res.cropped.cub +mro/testData/ctx_pmoi_i_00003.top.cub +base/dems/ldem_128ppd_Mar2011_clon180_radius_pad.cub +lro/kernels/pck/moon_080317.tf +viking2/kernels/ck/vo2_sedr_ck2.bc +base/dems/ldem_128ppd_Mar2011_clon180_radius_pad.cub +mariner10/kernels/iak/mariner10Addendum002.ti +base/kernels/fk/lunarMeanEarth001.tf +viking2/kernels/fk/vo2_v10.tf +lro/kernels/pck/moon_assoc_me.tf +mro/kernels/iak/mroctxAddendum004.ti +cassini/testData/N1536363784_1.c2i.spice.cub +apollo16/testData/AS16-M-0533.reduced.cub +lo/testData/4164H_Full_mirror.cub +lo/testData/5072_med_res.cropped.cub +cassini/testData/N1313633704_1.c2i.nospice.cub +clementine1/kernels/iak/uvvisAddendum003.ti +clementine1/kernels/ck/clem_5sc.bck +apollo15/kernels/iak/apolloPanAddendum001.ti +mariner10/kernels/sclk/mariner10.0001.tsc +hayabusa/testData/st_2530292409_v.cub +lo/testData/5006_high_res_1.cropped.cub +cassini/testData/CM_1514390782_1.ir.cub +clementine1/kernels/sclk/dspse002.tsc +cassini/kernels/pck/cpck14Feb2006.tpc +apollo15/testData/BL.cub +mro/testData/G02_019106_1390_XN_41S257W.cub +apollo17/testData/AS17-M-0543.reduced.cub +cassini/kernels/iak/vimsAddendum03.ti +base/dems/ulcn2005_lpo_0004.cub +base/dems/molaMarsPlanetaryRadius0001.cub +apollo15/testData/M.cub +mro/apps/hiequal/tsts/default/input/RED0.cub +cassini/kernels/sclk/cas00130.tsc +cassini/kernels/sclk/cas00112.tsc +cassini/testData/CM_1514390782_1.vis.cub +cassini/testData/CM_1515945709_1.ir.cub +cassini/kernels/pck/cpck21Mar2006.tpc +cassini/testData/CM_1515945709_1.vis.cub +cassini/testData/C1465336166_1.ir.cub +apollo15/testData/TR.cub +apollo15/testData/BR.cub +mgs/testData/ab102401.cub +base/templates/labels/MappingGroupKeywords.pft +odyssey/testData/I00824006RDR.lev2.cub +odyssey/testData/I56632006EDR.lev2.cub +odyssey/testData/I02609002RDR.lev2.cub +odyssey/testData/I01523019RDR.lev2.cub +viking2/reseaus/vik2bMasterReseaus.pvl +mgs/testData/m0402852.cub +mariner10/reseaus/mar10aMasterReseaus.pvl +lo/testData/3133_h1.cub +base/translations/NaifErrors.trn +base/testData/blobTruth.cub +base/testData/isisTruthNoSpacecraftName.cub +base/testData/isisTruthNoInstrumentId.cub +lo/testData/5106_h1.cropped.cub +lo/testData/5106_h2.cropped.cub +mgs/calibration/MGSC_1246_wago.tab +mgs/calibration/MGSC_1290_wago.tab +mgs/calibration/MGSC_1428_wago.tab +mgs/calibration/MGSC_1546_wago.tab +mgs/calibration/MGSC_1578_wago.tab +clementine1/kernels/ck/clem_ulcn2005_type2_1sc.bc +clementine1/kernels/fk/clem_v11.tf +clementine1/kernels/sclk/dspse002.tsc +clementine1/kernels/spk/SPKMERGE_940219_940504_CLEMV001b.bsp +clementine1/kernels/iak/uvvisAddendum003.ti +base/templates/maps/equirectangular.map +newhorizons/calibration/NHSmileDefinitionNew.cub +messenger/kernels/tspk/de423s.bsp +messenger/kernels/tspk/kernels.0001.db +messenger/kernels/tspk/kernels.0002.db +messenger/kernels/tspk/kernels.0003.db +messenger/kernels/spk/msgr_20040803_20150328_od332sc_0.bsp +messenger/kernels/spk/msgr_20040803_20150430_od431sc_2.bsp +messenger/kernels/sclk/messenger_1930.tsc +base/translations/pdsProjectionLineSampToXY.def +dawn/kernels/fk/ +dawn/kernels/iak/ +dawn/kernels/ik/ +dawn/kernels/pck/ +dawn/kernels/sclk/ +dawn/kernels/tspk/ +mro/kernels/fk/ +mro/kernels/iak/ +mro/kernels/ik/ +mro/kernels/sclk/ +cassini/kernels/spk/050105RB_SCPSE_04247_04336.bsp +newhorizons/kernels/fk/ +newhorizons/kernels/iak/ +newhorizons/kernels/ik/ +newhorizons/kernels/pck/ +newhorizons/kernels/sclk/ +newhorizons/kernels/spk/ +lro/kernels/ck/lrolc_2009243_2009274_v01.bc +mro/kernels/spk/mro_psp8.bsp +newhorizons/kernels/tspk/de413.bsp +lro/kernels/ck/moc42r_2009243_2009274_v08.bc +mro/kernels/ck/mro_sc_psp_080923_080929.bc +newhorizons/kernels/tspk/jup260.bsp +near/kernels/fk/ +newhorizons/kernels/ck/merged_nhpc_2007_v006.bc +''' + + dbList = ''' +newhorizons/kernels/ck/ +near/kernels/ck/ +dawn/kernels/ck/ +dawn/kernels/pck/ +mro/kernels/ +messenger/kernels/ +messenger/kernels/spk/ +apollo15/kernels/ +base/translations/ +lo/translations/ +mgs/translations/ +odyssey/translations/ +odyssey/kernels/ck/ +odyssey/kernels/ik/ +odyssey/kernels/iak/ +odyssey/kernels/sclk/ +odyssey/kernels/fk/ +odyssey/kernels/spk/ +mro/translations/ +voyager1/kernels/ +mgs/kernels/ +cassini/kernels/ +cassini/calibration/ +lro/calibration/ +lro/kernels/ +messenger/calibration/ +newhorizons/kernels/ +base/dems/ +base/translations/ +''' + + fileList = fileList.split() + dbList = dbList.split() + + # TODO: Input argument + installDir = '/home/smcmich1/release_isis/isis3data/' + #installDir = '/Users/smcmich1/release_isis/isis3data/' + + cmd = 'rsync -azv --delete --partial ' + remote = 'isisdist.astrogeology.usgs.gov::isis3data/data/' + + for f in fileList: + + # Set up commands + target = installDir + f + + print target + + # Don't refetch existing files + if os.path.exists(target) and (not os.path.isdir(target)): + continue + + # Fetch the file + fullCmd = cmd + remote + f +' '+ target + print fullCmd + os.system('mkdir -p ' + os.path.dirname(target)) + os.system(fullCmd) + + # This is for folders where we want just the small files + for f in dbList: + fullCmd = (cmd + remote + f+' --max-size=3m ' + installDir+f) + print fullCmd + os.system('mkdir -p '+ installDir +f) + os.system(fullCmd) + + + +if __name__ == '__main__': + sys.exit( main() ) diff --git a/isis/scripts/finalizeInstalledOsxRpaths.py b/isis/scripts/finalizeInstalledOsxRpaths.py new file mode 100644 index 0000000000..1658aa8ba4 --- /dev/null +++ b/isis/scripts/finalizeInstalledOsxRpaths.py @@ -0,0 +1,119 @@ + +''' This script will replace all "long" library paths such as +@rpath/a/long/path/libExample.dylib with shortened paths such as +@rpath/libExample.dylib. It does not change the rpaths themselves, +just the references to them. +''' + +import os, sys, subprocess, stat + +def fixOneFile(inputPath, resetRpath): + '''Correct a single file''' + + # Get list of libraries loaded by this library + cmd = ['otool', '-l', inputPath] + p = subprocess.Popen(cmd, stdout=subprocess.PIPE) + otoolOutput, err = p.communicate() + + #print otoolOutput + + # Search for abs paths to the USGS hard coded location + needRpath = False + lines = otoolOutput.split() + numUpdates = 0 + for line in lines: + + # Keep track of whether the next change step is for an ID or a LOAD operation. + if line == 'LC_ID_DYLIB': + idLine = True + if line == 'LC_LOAD_DYLIB': + idLine = False + + # Only change lines containing @rpath + if '@rpath' not in line: + continue + + # Trim off just the library name and prepend @rpath + #print line + if 'framework' in line: # Need whole framework part + posF = line.rfind('framework') + pos = line.rfind('/', 0, posF) + else: # Simple case + pos = line.rfind('/') + end = line[pos:] + + #print 'CROPPED: ' + end + #continue + + newPath = '@rpath' + end + + if newPath == line: # Skip already correct lines + continue + + # Replace the line + if idLine: # Handle LC_ID_DYLIB lines + cmd = ' '.join(['install_name_tool', '-id', newPath, inputPath]) + else: # Handle LC_LOAD_DYLIB lines + cmd = ' '.join(['install_name_tool', '-change', line, newPath, inputPath]) + #print cmd + os.system(cmd) + numUpdates += 1 + + # TODO: Delete any existing rpaths to keep things clean! + # If this option is set, reset the RPATH to look only in the local folder. + if resetRpath: + cmd = 'install_name_tool -add_rpath ./ ' + inputPath + #print cmd + os.system(cmd) + numUpdates += 1 + + return numUpdates + +def main(): + '''Main program corrects all files in a folder''' + + # Check input arguments + usage = 'python finalizeInstalledOsxRpaths.py folder [resetRpath]' + if len(sys.argv) < 2: + print usage + return -1 + + inputFolder= sys.argv[1] + resetRpath = False + if len(sys.argv) == 3: + resetRpath = True + if not os.path.exists(inputFolder): + print 'Input folder '+inputFolder+' does not exist!' + return -1 + + # Fix all of the .dylib files in the given folder + files = os.listdir(inputFolder) + for f in files: + + fullPath = os.path.join(inputFolder, f) + + isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) + isLib = ('.dylib' in f) + isFrame = 'framework' in f + + # Dig into framework folders to correct the rpaths in the underlying lib file + if isFrame: + name = f.replace('.framework', '') + path = f+'/Versions/Current/'+name + fullPath = os.path.join(inputFolder, path) + isLib = True + + if isBinary or isLib: + #print fullPath + numUpdates = fixOneFile(fullPath, resetRpath) + print f + ' --> ' + str(numUpdates) + ' changes made.' + #raise Exception('DEBUG') + + + +# Execute main() when called from command line +if __name__ == "__main__": + sys.exit(main()) + + + diff --git a/isis/scripts/fixOsxRpaths.py b/isis/scripts/fixOsxRpaths.py new file mode 100644 index 0000000000..a7e0541e30 --- /dev/null +++ b/isis/scripts/fixOsxRpaths.py @@ -0,0 +1,109 @@ + +# TODO: Clean up this file! + +import os, sys, subprocess + +# Constants + + +libFolders = ['/Users/smcmich1/isis_cmake/opt/usgs/v006/3rdParty/lib', + '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/lib', + '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/libexec'] +#individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore'] + +qtLibs = ('QtXmlPatterns QtXml QtNetwork '+ + 'QtSql QtGui QtCore QtSvg '+ + 'QtTest QtWebKit QtOpenGL '+ + 'QtConcurrent QtDBus '+ + 'QtMultimedia QtMultimediaWidgets '+ + 'QtNfc QtPositioning QtPrintSupport '+ + 'QtQml QtQuick QtQuickParticles '+ + 'QtQuickTest QtQuickWidgets QtScript '+ + 'QtScriptTools QtSensors QtSerialPort '+ + 'QtWebKitWidgets QtWebSockets QtWidgets '+ + 'QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets').split() +individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/'+x+'.framework/Versions/5/'+x for x in qtLibs] +print individualLibs + +usgFolder = '/opt/usgs/v006/' + +rpathFolder = '/Users/smcmich1/isis_cmake/' +ignoreFolder = '/Users/smcmich1/isis_cmake/' + + +# Process one file + +def fixFile(fullPath, libName): + '''Fix the paths of a single library file''' + + # Get list of libraries loaded by this library + cmd = ['otool', '-l', fullPath] + p = subprocess.Popen(cmd, stdout=subprocess.PIPE) + otoolOutput, err = p.communicate() + + #print otoolOutput + + # Search for abs paths to the USGS hard coded location + needRpath = False + lines = otoolOutput.split() + for line in lines: + + # Some lines need to be skipped + if (usgFolder not in line) or (ignoreFolder in line) or ('@rpath' in line): + continue + + needRpath = True + + # Set up the command to fix this line + if libName in line: # Hande LC_ID_DYLIB lines + cmd = ' '.join(['install_name_tool', '-id', '@rpath'+line, fullPath]) + else: # Handle LC_LOAD_DYLIB lines + cmd = ' '.join(['install_name_tool', '-change', line, '@rpath'+line, fullPath]) + print cmd + os.system(cmd) + + # If any paths were changed, add the rpath. + if needRpath: + # Make sure this rpath is not there + cmd = ' '.join(['install_name_tool', '-delete_rpath', '/opt/usgs/v006/ports/lib', fullPath]) + print cmd + os.system(cmd) + # Add the correct rpath + cmd = ' '.join(['install_name_tool', '-add_rpath', rpathFolder, fullPath]) + print cmd + os.system(cmd) + print 'Fixed file ' + fullPath + +# Main function + +for folder in libFolders: + + libs = os.listdir(folder) + for lib in libs: + + # Only modify .dylib files + if 'dylib' not in lib: + continue + + # Get the full path + fullPath = os.path.join(folder, lib) + #print lib + + fixFile(fullPath, lib) + + +for fullPath in individualLibs: + + ## Only modify .dylib files + #if 'dylib' not in lib: + # continue + + # Get the full path + libName = os.path.basename(fullPath) + #print lib + + fixFile(fullPath, libName) + +print 'Finished modifying files!' + + -- GitLab From 83f4f8ba9fc6d5fe7bb00133bdcf3acf72f93b35 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 12:52:16 -0700 Subject: [PATCH 0009/1212] who cares --- isis/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index b3659f9eac..ea14a0411b 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -19,7 +19,6 @@ list(APPEND CMAKE_INCLUDE_PATH /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ /usr/lib64/ - ) set(CMAKE_PREFIX_PATH -- GitLab From 7727badd6394e4b434620878212c94fcaa1eeee5 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 14:24:02 -0700 Subject: [PATCH 0010/1212] removing library version flags (they don't do anything) --- isis/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index ea14a0411b..aaf6e881a0 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -68,11 +68,6 @@ set(PACKAGE_VERSION ${VERSION}) # Full name and version number set(PACKAGE_STRING "${PACKAGE_NAME} ${VERSION}") -# Other release information -set(VERSION_DATE "2017-04-24") -set(THIRD_PARTY_LIBS_VERSION "v007") -set(RELEASE_STAGE "alpha") # (alpha, beta, stable) - # Define to the address where bug reports for this package should be sent. set(PACKAGE_BUGREPORT "https://isis.astrogeology.usgs.gov/fixit") -- GitLab From 1fbc007a3dbd17d5bb8beb927366466fa125f836 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 14:29:10 -0700 Subject: [PATCH 0011/1212] added output to findbullet --- isis/cmake/FindBullet.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index d6390d8615..89427f5726 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -22,3 +22,14 @@ find_library(BULLET3_COMMON_LIBRARY NAMES Bullet3Collision) find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) + +message( status "BULLET OPENCL" ${BULLET_OPENCL_LIBRARY} ) +message( status "BULLET SOFTBODY" ${BULLET_SOFTBODY_LIBRARY}) +message( status "BULLET INVERSE DYNAMICS" ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message( status ${BULLET_DYNAMICS_LIBRARY} ) +message( status ${BULLET_COLLISION_LIBRARY} ) +message( status ${BULLET3_GEOMETRY_LIBRARY} ) +message( status ${BULLET3_DYNAMICS_LIBRARY} ) +message( status ${BULLET3_COLLISION_LIBRARY} ) +message( status ${BULLET3_COMMON_LIBRARY} ) +message( status ${BULLET3_LINEARMATH_LIBRARY} ) -- GitLab From 6f31a185786f76c7c5a5904a94739b0e35643da4 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 16:31:11 -0700 Subject: [PATCH 0012/1212] added status messages for find CSPICE --- isis/cmake/FindBullet.cmake | 14 +++++++------- isis/cmake/FindCSPICE.cmake | 3 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 89427f5726..9af67261b3 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -26,10 +26,10 @@ get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY message( status "BULLET OPENCL" ${BULLET_OPENCL_LIBRARY} ) message( status "BULLET SOFTBODY" ${BULLET_SOFTBODY_LIBRARY}) message( status "BULLET INVERSE DYNAMICS" ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message( status ${BULLET_DYNAMICS_LIBRARY} ) -message( status ${BULLET_COLLISION_LIBRARY} ) -message( status ${BULLET3_GEOMETRY_LIBRARY} ) -message( status ${BULLET3_DYNAMICS_LIBRARY} ) -message( status ${BULLET3_COLLISION_LIBRARY} ) -message( status ${BULLET3_COMMON_LIBRARY} ) -message( status ${BULLET3_LINEARMATH_LIBRARY} ) +message( status "BULLET DYNAMICS" ${BULLET_DYNAMICS_LIBRARY} ) +message( status "BULLET COLLISION" ${BULLET_COLLISION_LIBRARY} ) +message( status "BULLET GEOMETRY" ${BULLET3_GEOMETRY_LIBRARY} ) +message( status "BULLET3 DYNAMICS" ${BULLET3_DYNAMICS_LIBRARY} ) +message( status "BULLET3 COLLISION" ${BULLET3_COLLISION_LIBRARY} ) +message( status "BULLET3 COMMON" ${BULLET3_COMMON_LIBRARY} ) +message( status "BULLET3 LINEARMATH" ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index ed19dc87da..3ddd4d3652 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -13,3 +13,6 @@ find_path(CSPICE_INCLUDE_DIR find_library(CSPICE_LIBRARY NAMES cspice ) + +message( status "CSPICE INCLUDE" ${CSPICE_INCLUDE_DIR} ) +message( status "CSPICE LIB" ${CSPICE_LIBRARY} ) -- GitLab From a15fdd187f4c4ad1d9a28ce45f7fdf05665f6e17 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 16:50:45 -0700 Subject: [PATCH 0013/1212] added messages for Find Eigen and Embree --- isis/cmake/FindBullet.cmake | 20 ++++++++++---------- isis/cmake/FindCSPICE.cmake | 4 ++-- isis/cmake/FindEigen.cmake | 2 ++ isis/cmake/FindEmbree.cmake | 3 +++ 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 9af67261b3..06f2992f59 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,13 +23,13 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) -message( status "BULLET OPENCL" ${BULLET_OPENCL_LIBRARY} ) -message( status "BULLET SOFTBODY" ${BULLET_SOFTBODY_LIBRARY}) -message( status "BULLET INVERSE DYNAMICS" ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message( status "BULLET DYNAMICS" ${BULLET_DYNAMICS_LIBRARY} ) -message( status "BULLET COLLISION" ${BULLET_COLLISION_LIBRARY} ) -message( status "BULLET GEOMETRY" ${BULLET3_GEOMETRY_LIBRARY} ) -message( status "BULLET3 DYNAMICS" ${BULLET3_DYNAMICS_LIBRARY} ) -message( status "BULLET3 COLLISION" ${BULLET3_COLLISION_LIBRARY} ) -message( status "BULLET3 COMMON" ${BULLET3_COMMON_LIBRARY} ) -message( status "BULLET3 LINEARMATH" ${BULLET3_LINEARMATH_LIBRARY} ) +message( "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) +message( "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) +message( "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message( "BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) +message( "BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) +message( "BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) +message( "BULLET3 DYNAMICS: " ${BULLET3_DYNAMICS_LIBRARY} ) +message( "BULLET3 COLLISION: " ${BULLET3_COLLISION_LIBRARY} ) +message( "BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) +message( "BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 3ddd4d3652..513a3ced61 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -14,5 +14,5 @@ find_library(CSPICE_LIBRARY NAMES cspice ) -message( status "CSPICE INCLUDE" ${CSPICE_INCLUDE_DIR} ) -message( status "CSPICE LIB" ${CSPICE_LIBRARY} ) +message( "CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) +message( "CSPICE LIB: " ${CSPICE_LIBRARY} ) diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index ece0a1b51f..0f278c2f94 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -13,3 +13,5 @@ find_path(EIGEN_ROOT_INCLUDE_DIR NAME Eigen PATH_SUFFIXES eigen eigen3 ) + +message( "EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake index a424265047..5fcdbf4be4 100644 --- a/isis/cmake/FindEmbree.cmake +++ b/isis/cmake/FindEmbree.cmake @@ -15,3 +15,6 @@ find_library(EMBREE_LIBRARY ) get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) + +message("EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) +message("EMBREE LIB: " ${EMBREE_LIBRARY}) -- GitLab From 40e462eac4ccf5c19c336ea69e888e1b2533b906 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 18:18:51 -0700 Subject: [PATCH 0014/1212] OSX rpath fix file py2->py3 print statements --- isis/scripts/finalizeInstalledOsxRpaths.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/isis/scripts/finalizeInstalledOsxRpaths.py b/isis/scripts/finalizeInstalledOsxRpaths.py index 1658aa8ba4..8a2b04854f 100644 --- a/isis/scripts/finalizeInstalledOsxRpaths.py +++ b/isis/scripts/finalizeInstalledOsxRpaths.py @@ -75,7 +75,7 @@ def main(): # Check input arguments usage = 'python finalizeInstalledOsxRpaths.py folder [resetRpath]' if len(sys.argv) < 2: - print usage + print(usage) return -1 inputFolder= sys.argv[1] @@ -83,7 +83,7 @@ def main(): if len(sys.argv) == 3: resetRpath = True if not os.path.exists(inputFolder): - print 'Input folder '+inputFolder+' does not exist!' + print('Input folder '+inputFolder+' does not exist!') return -1 # Fix all of the .dylib files in the given folder @@ -91,7 +91,7 @@ def main(): for f in files: fullPath = os.path.join(inputFolder, f) - + isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) isLib = ('.dylib' in f) isFrame = 'framework' in f @@ -102,18 +102,15 @@ def main(): path = f+'/Versions/Current/'+name fullPath = os.path.join(inputFolder, path) isLib = True - + if isBinary or isLib: #print fullPath numUpdates = fixOneFile(fullPath, resetRpath) - print f + ' --> ' + str(numUpdates) + ' changes made.' + print f + ' --> ' + str(numUpdates) + ' changes made.' #raise Exception('DEBUG') - + # Execute main() when called from command line if __name__ == "__main__": sys.exit(main()) - - - -- GitLab From 7e078c92e8f18c4e5e03fb8000893b4c2de76a58 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 8 Feb 2018 18:48:22 -0700 Subject: [PATCH 0015/1212] added messaging for find Cholmod --- isis/cmake/FindBullet.cmake | 1 + isis/cmake/FindCholmod.cmake | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 06f2992f59..999c3acb7d 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,6 +23,7 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) +message( "BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) message( "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) message( "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) message( "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index 8ace8619f6..fcbc066145 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -32,3 +32,16 @@ find_library(FORTRAN_LIBRARY NAMES gfortran find_library(BLAS_LIBRARY NAMES blas) get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) + +message( "CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) +message( "CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) +message( "CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) +message( "CAMD LIB: " ${CAMD_LIBRARY} ) +message( "AMD LIB: " ${AMD_LIBRARY} ) +message( "SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) +message( "FORTRAN LIB: " ${FORTRAN_LIBRARY} ) +message( "BLAS LIB: " ${BLAS_LIBRARY} ) + +if(NOT APPLE) + message("LAPACK LIB" ${LAPACK_LIBRARY}) +endif() -- GitLab From 7733379ada6dc239ea20cd3586fef8b6c4279971 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 12 Feb 2018 14:00:53 -0700 Subject: [PATCH 0016/1212] Fixed plugin error with CameraFactory appending to the master Camera.plugin file --- isis/CMakeLists.txt | 8 +++- isis/cmake/AddIsisModule.cmake | 3 +- isis/cmake/FindAllDependencies.cmake | 11 +++-- isis/cmake/FindCholmod.cmake | 1 + isis/cmake/FindGeos.cmake | 40 +++++++------------ isis/scripts/finalizeInstalledOsxRpaths.py | 10 +++-- .../base/objs/CameraFactory/CameraFactory.cpp | 6 +-- isis/src/base/objs/CameraFactory/unitTest.cpp | 12 +----- 8 files changed, 44 insertions(+), 47 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index aaf6e881a0..79d49209c6 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -45,6 +45,8 @@ set(CMAKE_PREFIX_PATH /usr/local/lib ) +set(CMAKE_FIND_FRAMEWORK LAST) + include(AddIsisModule) include(Utilities) include(TestSetup) @@ -68,6 +70,11 @@ set(PACKAGE_VERSION ${VERSION}) # Full name and version number set(PACKAGE_STRING "${PACKAGE_NAME} ${VERSION}") +# Other release information +set(VERSION_DATE "2017-04-24") +set(THIRD_PARTY_LIBS_VERSION "v007") +set(RELEASE_STAGE "alpha") # (alpha, beta, stable) + # Define to the address where bug reports for this package should be sent. set(PACKAGE_BUGREPORT "https://isis.astrogeology.usgs.gov/fixit") @@ -204,7 +211,6 @@ install(FILES "${CMAKE_BINARY_DIR}/qt.conf" DESTINATION ${CMAKE_INSTALL_PREFIX}/ #Create the inc directory execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/inc) - # Create an xml folder in the source directory that we will need later set(sourceXmlFolder ${CMAKE_BINARY_DIR}/bin/xml) execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/xml) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 8c3d369fd7..8b3f045787 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -163,7 +163,8 @@ function(add_isis_obj folder reqLibs) else() # Folder with a plugin means that this is a separate library! # Add it here and then we are done with the source files. - + + set(newSourceFiles ${thisSourceFiles} PARENT_SCOPE) if(NOT (${numPlugins} EQUAL 1)) message( FATAL_ERROR "Error: Multiple plugins found in folder!" ) endif() diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 74b22e224d..69982b0501 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -37,6 +37,10 @@ find_program(PROTOC protoc REQUIRED) include(FindProtobuf) + +find_package(Geos 3.5.0 REQUIRED) + + if(APPLE) find_package(Qt5 COMPONENTS Core @@ -124,7 +128,6 @@ find_package(GeoTIFF 2 REQUIRED) find_package(TIFF 5 REQUIRED) find_package(CSPICE 65 REQUIRED) find_package(TNT 1.2.6 REQUIRED) -find_package(Geos 3.5.0 REQUIRED) find_package(GSL 19 REQUIRED) find_package(Protobuf 9 REQUIRED) find_package(Boost 1.59 REQUIRED) @@ -142,6 +145,7 @@ find_package(OpenCV 3.1.0 REQUIRED) find_package(NN REQUIRED) find_package(Jama REQUIRED) + # Only include Kakadu if it is available if(${JP2KFLAG}) find_package(Kakadu) @@ -181,11 +185,13 @@ foreach (_variableName ${_variableNames}) endif(_variableName MATCHES "^CMAKE+") endforeach() -#list(APPEND ALLLIBDIRS "/usr/lib64") list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS) +message(${ALLLIBS}) +message(${ALLLIBDIRS}) + # message(STATUS "ALL LIBS DIRS: ${ALLLIBDIRS}") # message(STATUS "ALL LIBS: ${ALLLIBS}") # message(STATUS "ALL INCS: ${ALLINCDIRS}") @@ -319,7 +325,6 @@ set(RAW_DYNAMIC_LIBS ${QT_DYNAMIC_LIBS} # For each item in this list, expand the wildcard to get the actual library list. foreach(lib ${RAW_DYNAMIC_LIBS}) - string(FIND "${lib}" "*" position) if(${position} EQUAL -1) # No wildcard, just add it. diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index fcbc066145..aa33aefc80 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -16,6 +16,7 @@ find_library(COLAMD_LIBRARY NAMES colamd) find_library(CAMD_LIBRARY NAMES camd) find_library(AMD_LIBRARY NAMES amd) find_library(SUITESPARSE_LIBRARY NAMES suitesparseconfig) + # OSX does not link against lapack if(NOT APPLE) find_library(LAPACK_LIBRARY NAMES lapack) diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index 51a1bf146d..e541a04a91 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -6,32 +6,20 @@ # GEOS_LIBRARY -if(APPLE) - find_path(GEOS_INCLUDE_DIR - NAME geos - PATH_SUFFIXES geos/geos3.5.0/ - ) - find_library(GEOS_LIBRARY - NAMES geos-3.5.0 - ) - find_library(GEOS_C_LIBRARY - NAMES geos_c - ) -else() - #changing to 3.5.1 for v007 - find_path(GEOS_INCLUDE_DIR - NAME geos - PATH_SUFFIXES geos/geos3.5.1/ - ) - #tjw: Changing to 3.5.1 for v007 - find_library(GEOS_LIBRARY - NAMES geos-3.5.1 - ) - - find_library(GEOS_C_LIBRARY - NAMES geos_c - ) +find_path(GEOS_INCLUDE_DIR + NAME geos + HINT geom.h + PATH_SUFFIXES geos/geos +) +find_library(GEOS_LIBRARY + NAMES geos +) +find_library(GEOS_C_LIBRARY + NAMES geos_c +) -endif(APPLE) +message( "GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) +message( "GEOS LIB: " ${GEOS_LIBRARY} ) +message( "GEOS C LIB: " ${GEOS_C_LIBRARY} ) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/scripts/finalizeInstalledOsxRpaths.py b/isis/scripts/finalizeInstalledOsxRpaths.py index 8a2b04854f..1f4b4754b2 100644 --- a/isis/scripts/finalizeInstalledOsxRpaths.py +++ b/isis/scripts/finalizeInstalledOsxRpaths.py @@ -19,7 +19,7 @@ def fixOneFile(inputPath, resetRpath): # Search for abs paths to the USGS hard coded location needRpath = False - lines = otoolOutput.split() + lines = [l.decode('utf-8') for l in otoolOutput.split()] numUpdates = 0 for line in lines: @@ -83,13 +83,16 @@ def main(): if len(sys.argv) == 3: resetRpath = True if not os.path.exists(inputFolder): - print('Input folder '+inputFolder+' does not exist!') + print ('Input folder '+inputFolder+' does not exist!') return -1 # Fix all of the .dylib files in the given folder files = os.listdir(inputFolder) for f in files: + if '.plugin' in f: + continue + fullPath = os.path.join(inputFolder, f) isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) @@ -106,7 +109,8 @@ def main(): if isBinary or isLib: #print fullPath numUpdates = fixOneFile(fullPath, resetRpath) - print f + ' --> ' + str(numUpdates) + ' changes made.' + if numUpdates > 0: + print (f + ' --> ' + str(numUpdates) + ' changes made.') #raise Exception('DEBUG') diff --git a/isis/src/base/objs/CameraFactory/CameraFactory.cpp b/isis/src/base/objs/CameraFactory/CameraFactory.cpp index 1c91f85c98..a40bf25881 100644 --- a/isis/src/base/objs/CameraFactory/CameraFactory.cpp +++ b/isis/src/base/objs/CameraFactory/CameraFactory.cpp @@ -34,7 +34,7 @@ namespace Isis { /** * Creates a Camera object using Pvl Specifications - * + * * @param cube The original cube with the current version camera model * * @return Camera* The Camera object created @@ -131,9 +131,9 @@ namespace Isis { /** * Looks up the current camera model version in the pvl labels. - * + * * @param lab The pvl labels - * + * * @returns The current camera model version */ int CameraFactory::CameraVersion(Pvl &lab) { diff --git a/isis/src/base/objs/CameraFactory/unitTest.cpp b/isis/src/base/objs/CameraFactory/unitTest.cpp index 74da442484..694e7cf658 100644 --- a/isis/src/base/objs/CameraFactory/unitTest.cpp +++ b/isis/src/base/objs/CameraFactory/unitTest.cpp @@ -14,13 +14,9 @@ void doit(Cube &cube); int main(int argc, char *argv[]) { Preference::Preferences(true); - // Get system's Camera.plugin file and add two new cameras of the same name to the bottom of + // Get system's Camera.plugin file and add two new cameras of the same name to the bottom of // Camera.plugin with different version numbers Pvl pluginFile; - FileName systemFile("$ISISROOT/lib/Camera.plugin"); - if (systemFile.fileExists()) { - pluginFile.read(systemFile.expanded()); - } PvlGroup oldCamera = PvlGroup("BOGUS/BOGUS"); PvlGroup newCamera = PvlGroup("BOGUS/BOGUS"); oldCamera += PvlKeyword("Version", "1"); @@ -28,7 +24,7 @@ int main(int argc, char *argv[]) { pluginFile.addGroup(oldCamera); pluginFile.addGroup(newCamera); pluginFile.write("Camera.plugin"); - + cerr << "Unit test for CameraFactory" << endl; cerr << "Testing missing Instrument Group ..." << endl; Cube dummyCube("$base/testData/isisTruth.cub", "r"); @@ -89,7 +85,3 @@ void doit(Cube &cube) { cerr << endl; } - - - - -- GitLab From 4c72b93618195c29ce5584662b966683a0052e52 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Mon, 12 Feb 2018 22:21:47 -0700 Subject: [PATCH 0017/1212] Changed Preference file for unit tests to find the correct location --- isis/src/base/objs/Preference/Preference.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index ba2c120044..ee455a5b7a 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,7 +115,7 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } return *p_preference; -- GitLab From 8c0017d2d2947da43a75ba144ba5aa6eb063118d Mon Sep 17 00:00:00 2001 From: Oxez Date: Mon, 12 Feb 2018 22:29:23 -0700 Subject: [PATCH 0018/1212] Changed FileName uniteTest to reflect new ISISROOT --- isis/src/base/objs/FileName/unitTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/base/objs/FileName/unitTest.cpp b/isis/src/base/objs/FileName/unitTest.cpp index 026748ccf6..943fd662e5 100644 --- a/isis/src/base/objs/FileName/unitTest.cpp +++ b/isis/src/base/objs/FileName/unitTest.cpp @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) { // Variable expansion will change truth data on these QStringList filesToTestSafely; filesToTestSafely << "$base/testData/isisTruth.cub" << "${base}/testData/isisTruth.cub" - << "$ISISROOT/src/Makefile" << "$ISISROOT/src/Makefile.elifekaM" + << "$ISISROOT/Makefile" << "$ISISROOT/Makefile.elifekaM" << "/$TEMPORARY/unitTest.cpp"; foreach (QString fileToTest, filesToTestSafely) { @@ -286,7 +286,7 @@ void TestExtensionChanges(QString prefix, QString name, bool showExpandedValues) if (!showExpandedValues) { toStringMethod = &FileName::original; } - + cout << prefix << "Testing Extension change [" << name << "]" << endl; cout << prefix << "\tBefore modification: " << (test.*toStringMethod)() << endl; cout << prefix << "\t\tChanged: " << (beforeLastChange != test) << endl; -- GitLab From 81ac016c70de045d3ebbc6dd86d469690ff95869 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Mon, 12 Feb 2018 22:33:56 -0700 Subject: [PATCH 0019/1212] Revert "Changed Preference file for unit tests to find the correct location" This reverts commit 4c72b93618195c29ce5584662b966683a0052e52. --- isis/src/base/objs/Preference/Preference.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index ee455a5b7a..ba2c120044 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,7 +115,7 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load("$ISISROOT/TestPreferences"); + p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/TestPreferences"); + p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); } return *p_preference; -- GitLab From 35c73168c56a4fbba852772919ad9d47fbe99717 Mon Sep 17 00:00:00 2001 From: Oxez Date: Mon, 12 Feb 2018 23:00:22 -0700 Subject: [PATCH 0020/1212] Made pathing changes to reflect build directory being ISISROOT for unitTest --- isis/src/base/objs/Preference/Preference.cpp | 4 +- isis/src/base/objs/UserInterface/unitTest.cpp | 310 +++++++++--------- 2 files changed, 157 insertions(+), 157 deletions(-) diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index ba2c120044..ee455a5b7a 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,7 +115,7 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } return *p_preference; diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index 90d919132b..d6b55a652d 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -15,7 +15,7 @@ int main(int argc, char *argv[]) { cout << "Unit test for Isis::UserInterface ..." << endl; QString unitTestXml = Isis::FileName("unitTest.xml").expanded(); - QString highpass = Isis::FileName("$ISISROOT/src/base/apps/highpass/highpass.xml").expanded(); + QString highpass = Isis::FileName("$ISISROOT/bin/xml/highpass.xml").expanded(); char *myArgv[15];// = {"unitTest", "from=input.cub", "to=output.cub"}; for (int i = 0; i < 15; i++) @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing param= value Format" << endl; { int myArgc = 0; @@ -55,7 +55,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing No Arguments (Defaults)" << endl; { int myArgc = 0; @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Basic Array Argument" << endl; { int myArgc = 0; @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Common Array Argument" << endl; { int myArgc = 0; @@ -123,7 +123,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Complicated Array Argument" << endl; { int myArgc = 0; @@ -148,14 +148,14 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing Escaped Array \\(" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "to=\\(escaped, argument)"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); vector vals; cout << "FROM: " << ui.GetAsString("FROM") << endl; @@ -166,14 +166,14 @@ int main(int argc, char *argv[]) { } cout << endl; } - - + + cout << "Testing Escaped Array \\\\(" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "to=\\\\(escaped, argument)"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); vector vals; cout << "FROM: " << ui.GetAsString("FROM") << endl; @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) { } cout << endl; } - + cout << "Testing param = value Format" << endl; { @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Space in Parameter Value" << endl; { int myArgc = 0; @@ -225,7 +225,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing =value" << endl; try { int myArgc = 0; @@ -242,7 +242,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing param =value" << endl; try { int myArgc = 0; @@ -264,8 +264,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing mismatched quotes for array-value" << endl; try { int myArgc = 0; @@ -280,7 +280,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing array-value ending in backslash" << endl; try { int myArgc = 0; @@ -294,12 +294,12 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Invalid Parameter" << endl; try { int myArgc = 0; - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass/highpass"); strcpy(myArgv[myArgc++], "bogus=parameter"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); @@ -309,14 +309,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Invalid Reserved Parameter" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-lastt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -324,44 +324,44 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Reserved Parameter=Invalid Value" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-verbose=(\"invalid\", \"value\")"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; - + } catch (Isis::IException &e) { e.print(); cout << endl; } - - + + cout << "Testing Unambiguous Reserved Parameter Resolution (-la)" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-la"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui.GetAsString("FROM") << endl; cout << "TO: " << ui.GetAsString("TO") << endl; cout << "GUI: " << ui.IsInteractive() << endl; - cout << endl; + cout << endl; } - - + + cout << "Testing Ambiguous Reserved Parameter Resolution" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-l"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -369,8 +369,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing unitTest v. ./unitTest for GUI" << endl; { int myArgc = 0; @@ -389,15 +389,15 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -PID and -GUI" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-pid=1"); strcpy(myArgv[myArgc++], "-gui"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -405,31 +405,31 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing ParentId() and TheGui()" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.ParentId(); ui.TheGui(); } - - + + cout << "Testing -NOGUI" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-nogui"); - + Isis::UserInterface ui(highpass, myArgc, myArgv); cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Starting Batchlist Test" << endl; { int myArgc = 0; @@ -449,8 +449,8 @@ int main(int argc, char *argv[]) { cout << "Finished Batchlist Test" << endl; cout << endl; } - - + + // The following four tests should all catch thrown exceptions - // -BATCHLIST cannot be used with -GUI, -SAVE, -RESTORE, or -LAST cout << "Testing -BATCHLIST with -GUI" << endl; @@ -469,7 +469,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -SAVE" << endl; try { int myArgc = 0; @@ -486,7 +486,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -RESTORE" << endl; try { int myArgc = 0; @@ -503,7 +503,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -LAST" << endl; try { int myArgc = 0; @@ -520,13 +520,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with nonexistent .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=doesntExist.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -534,14 +534,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -BATCHLIST with empty .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTestEmpty.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -549,14 +549,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -BATCHLIST with mismatched columns in .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTestBadColumns.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -564,41 +564,41 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ONERROR=CONTINUE" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=continue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "AbortOnError() returns: " << ui.AbortOnError() << endl; cout << endl; } - - + + cout << "Testing -ONERROR=ABORT" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=abort"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "AbortOnError() returns: " << ui.AbortOnError() << endl; cout << endl; } - - + + cout << "Testing -ONERROR=badValue" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=badValue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -606,14 +606,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ONERROR=CONTINUE without -BATCHLIST" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-onerror=continue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -621,14 +621,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST=value without -BATCHLIST" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist=unitTest.txt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -636,15 +636,15 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST with no value" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -652,15 +652,15 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST=value" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist=unitTestErr.txt"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); for(int i = 0; i < ui.BatchListSize(); i++) { ui.SetBatchList(i); @@ -668,8 +668,8 @@ int main(int argc, char *argv[]) { } cout << endl; } - - + + // evaluating -HELP during a unitTest should throw an exception (instead of exiting) cout << "Testing -HELP Priority (invalid parameters present)" << endl; try { @@ -681,7 +681,7 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "-webhelp"); strcpy(myArgv[myArgc++], "invalid=parameter"); strcpy(myArgv[myArgc++], "-help"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -689,9 +689,9 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - - + } + + cout << "Testing -HELP=value ..." << endl; cout << endl; cout << "Testing pixelType" << endl; @@ -699,7 +699,7 @@ int main(int argc, char *argv[]) { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=to"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -707,14 +707,14 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - + } + cout << "Testing inclusive min and max, lessThan, lessThanOrEqual, internalDefault" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testone"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -722,14 +722,14 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - + } + cout << "Testing odd, noninclusive min and max, greaterThan, greaterThanOrEqual" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testtwo"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -738,13 +738,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing inclusions, exclusions" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testthree"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -753,13 +753,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing list inclusions, exclusions, defaults" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=listtest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -770,34 +770,34 @@ int main(int argc, char *argv[]) { } cout << "...End testing -HELP=value" << endl; cout << endl; - - + + cout << "Testing -INFO" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-info"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "GetInfoFlag() returns: " << ui.GetInfoFlag() << endl; cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; cout << endl; } - - + + cout << "Testing -INFO=value" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-info=debug.log"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "GetInfoFlag() returns: " << ui.GetInfoFlag() << endl; - cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; + cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; cout << endl; } - - + + cout << "Testing -LAST" << endl; { int myArgc = 0; @@ -810,8 +810,8 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -LAST with other app parameters" << endl; { int myArgc = 0; @@ -825,36 +825,36 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -LOG" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-log"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["FileOutput"] << endl; cout << tempTestPrefs.findGroup("SessionLog")["FileName"] << endl; cout << endl; } - - + + cout << "Testing -LOG=value" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-log=unitTest.prt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["FileOutput"] << endl; cout << tempTestPrefs.findGroup("SessionLog")["FileName"] << endl; cout << endl; } - - + + cout << "Testing -RESTORE with valid (existing) .par file" << endl; { int myArgc = 0; @@ -867,8 +867,8 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -RESTORE with corrupt .par file" << endl; try { int myArgc = 0; @@ -883,11 +883,11 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing -RESTORE with invalid (non-existing) .par file" << endl; try { int myArgc = 0; - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass"); strcpy(myArgv[myArgc++], "-restore=junk.par"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); @@ -897,8 +897,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + // testing loadHistory() cout << "Testing -RESTORE with an empty .par file" << endl; { @@ -909,8 +909,8 @@ int main(int argc, char *argv[]) { Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } - - + + // unitTestLoadHistory.par has more object groups to test loadHistory() cout << "Testing -RESTORE with a more populated .par file" << endl; { @@ -921,21 +921,21 @@ int main(int argc, char *argv[]) { Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } - - + + // TestPreferences for unit tests have HistoryRecording set to Off cout << "Testing -SAVE with HistoryRecording Off" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-save"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SaveHistory(); cout << endl; } - - + + cout << "Starting -SAVE, -PREFERECE, and -RESTORE Test" << endl; { cout << "Testing -SAVE=value with HistoryRecording On" << endl; @@ -945,30 +945,30 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "to=works"); strcpy(myArgv[myArgc++], "-save=unitTestSave.par"); strcpy(myArgv[myArgc++], "-preference=unitTestPrefs"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui.GetAsString("FROM") << endl; cout << "TO: " << ui.GetAsString("TO") << endl; cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; ui.SaveHistory(); - + cout << "Restoring Saved Parameters:" << endl; myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-restore=unitTestSave.par"); - + Isis::UserInterface ui2(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui2.GetAsString("FROM") << endl; cout << "TO: " << ui2.GetAsString("TO") << endl; cout << "GUI: " << ui2.IsInteractive() << endl; - cout << endl; - + cout << endl; + cout << "Finished -SAVE, PREFERENCE, and -RESTORE Test" << endl; cout << endl; } - - + + cout << "Testing SetBatchList()..." << endl; { cout << "Testing with param=array-value" << endl; @@ -977,50 +977,50 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "from=$$1"); strcpy(myArgv[myArgc++], "to=($2,$2copy)"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SetBatchList(0); cout << endl; - + cout << "Testing with param= " << endl; myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "from=$1"); strcpy(myArgv[myArgc++], "to= "); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui2(unitTestXml, myArgc, myArgv); ui2.SetBatchList(0); - cout << endl; - } + cout << endl; + } cout << "...End SetBatchList() Test" << endl; cout << endl; - - + + cout << "Testing SetErrorList() with p_errList == \"\"" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SetErrorList(0); cout << endl; } - - + + cout << "Testing -VERBOSE" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-verbose"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["TerminalOutput"] << endl; cout << endl; } - - + + // evaluating -webhelp should throw an error during unit test (instead of exiting) cout << "Testing -WEBHELP" << endl; try { @@ -1028,7 +1028,7 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "bogus=parameter"); strcpy(myArgv[myArgc++], "-webhelp"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -WEBHELP should have thrown an exception during unit testing" << endl; } @@ -1036,9 +1036,9 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + } catch (Isis::IException &e) { e.print(); } -} \ No newline at end of file +} -- GitLab From 268033784ec0dfdfae1fa88fca5e8db4f6ffdf4a Mon Sep 17 00:00:00 2001 From: Oxez Date: Tue, 13 Feb 2018 00:55:48 -0700 Subject: [PATCH 0021/1212] Moved libs in build dir to 3rdParty --- isis/CMakeLists.txt | 4 ++-- isis/cmake/Utilities.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index ea14a0411b..b463a73485 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -231,9 +231,9 @@ install_third_party() # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) get_filename_component(pluginName ${plugin} NAME) - if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) + if(NOT EXISTS ${CMAKE_BINARY_DIR}/3rdParty/plugins/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/3rdParty/plugins") endif() endforeach() diff --git a/isis/cmake/Utilities.cmake b/isis/cmake/Utilities.cmake index 513668a630..2d0544b4a6 100644 --- a/isis/cmake/Utilities.cmake +++ b/isis/cmake/Utilities.cmake @@ -228,8 +228,8 @@ function(add_library_wrapper name sourceFiles libDependencies) # the library should be build both shared and static. set(alsoStatic ${ARGN}) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdParty/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdParty/lib) # Add library, set dependencies, and add to installation list. add_library(${name} SHARED ${sourceFiles}) -- GitLab From 14f01a2802bdc0c8fb67022841a189ed79e9301e Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Tue, 13 Feb 2018 01:32:43 -0700 Subject: [PATCH 0022/1212] Unit Test work now --- isis/cmake/AddIsisModule.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 8c3d369fd7..80ded73a2b 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -177,7 +177,7 @@ function(add_isis_obj folder reqLibs) # Append the plugin file to a single file in the build directory # where the .so files will be created. During installation copy these # plugin files to the installation library folder. - set(pluginPath ${CMAKE_BINARY_DIR}/lib/${pluginName}) + set(pluginPath ${CMAKE_BINARY_DIR}/3rdParty/plugins/${pluginName}) cat(${plugins} ${pluginPath}) install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) -- GitLab From 9782b4dd154f8545cb4dcc42a6eac5fb3a555f62 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 14 Feb 2018 16:36:07 -0700 Subject: [PATCH 0023/1212] various fixes to get testing up and running --- isis/cmake/AddIsisModule.cmake | 13 +- isis/cmake/FindAllDependencies.cmake | 3 - isis/cmake/RunUnitTest.cmake | 9 +- isis/cmake/TestSetup.cmake | 2 - isis/src/base/apps/appjit/tsts/case1/from.lis | 2 + isis/src/base/apps/appjit/tsts/case2/from.lis | 2 + .../base/apps/automos/tsts/bandbin/cubes.lis | 2 + .../base/apps/automos/tsts/tolist/cubes.lis | 2 + .../base/apps/blend/tsts/themis/fromlist.lis | 2 + .../tsts/gisintersect/MercuryQuadGeoms.pvl | 8 + .../tsts/resourceManager/isisTruth.pvl | 18 + .../isisminer/tsts/resourceManager/pvls.lis | 5 + .../src/base/objs/ImportPdsTable/unitTest.cpp | 11 +- .../base/objs/ImportPdsTable/unitTest.exclude | 1 + isis/src/base/objs/Preference/Preference.cpp | 4 +- isis/src/base/objs/UserInterface/unitTest.cpp | 308 +++++++++--------- 16 files changed, 219 insertions(+), 173 deletions(-) create mode 100644 isis/src/base/apps/appjit/tsts/case1/from.lis create mode 100644 isis/src/base/apps/appjit/tsts/case2/from.lis create mode 100644 isis/src/base/apps/automos/tsts/bandbin/cubes.lis create mode 100644 isis/src/base/apps/automos/tsts/tolist/cubes.lis create mode 100644 isis/src/base/apps/blend/tsts/themis/fromlist.lis create mode 100644 isis/src/base/apps/isisminer/tsts/gisintersect/MercuryQuadGeoms.pvl create mode 100644 isis/src/base/apps/isisminer/tsts/resourceManager/isisTruth.pvl create mode 100644 isis/src/base/apps/isisminer/tsts/resourceManager/pvls.lis create mode 100644 isis/src/base/objs/ImportPdsTable/unitTest.exclude diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 8b3f045787..442ecb8607 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -82,8 +82,15 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) # Generate a name for the executable set(executableName "${moduleName}_unit_test_${filename}") + # check for the existance of a unitTest.xml as they need + # to be copies over to somehwere the unitTest can access. + set(test_xml "${folder}/unitTest.xml") + if(EXISTS "${test_xml}") + configure_file("${test_xml}" "${CMAKE_BINARY_DIR}/unitTest/${executableName}.xml" COPYONLY) + endif() + # Create the executable and link it to the module library - add_executable( ${executableName} ${testFile} ) + add_executable( ${executableName} ${testFile}) set(depLibs "${reqLibs};${matchedLibs}") target_link_libraries(${executableName} ${moduleName} ${depLibs}) @@ -93,8 +100,6 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) endfunction(make_obj_unit_test) - - # Incorporate a single obj folder function(add_isis_obj folder reqLibs) @@ -163,7 +168,7 @@ function(add_isis_obj folder reqLibs) else() # Folder with a plugin means that this is a separate library! # Add it here and then we are done with the source files. - + set(newSourceFiles ${thisSourceFiles} PARENT_SCOPE) if(NOT (${numPlugins} EQUAL 1)) message( FATAL_ERROR "Error: Multiple plugins found in folder!" ) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 69982b0501..80cb9dcecc 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -189,9 +189,6 @@ list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS) -message(${ALLLIBS}) -message(${ALLLIBDIRS}) - # message(STATUS "ALL LIBS DIRS: ${ALLLIBDIRS}") # message(STATUS "ALL LIBS: ${ALLLIBS}") # message(STATUS "ALL INCS: ${ALLINCDIRS}") diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 6e392ae00b..14bb5fe8fd 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -50,13 +50,14 @@ set(comp1 ${outputFile}) set(comp2 ${TRUTH_FILE}) set(exclusionPath ${truthFolder}/unitTest.exclude) if(EXISTS ${exclusionPath}) + message("Using Exlusion file ${exclusionPath}") set(comp1 ${tempDir}/output_exclude.txt) set(comp2 ${tempDir}/truth_exclude.txt) # This throws out all lines containing a word from the exclusion file. - execute_process(COMMAND cat ${outputFile} | grep -v -f ${exclusionPath} - OUTPUT_FILE ${comp1}) - execute_process(COMMAND cat ${TRUTH_FILE} | grep -v -f ${exclusionPath} - OUTPUT_FILE ${comp2}) + execute_process(COMMAND "cat ${outputFile} | grep -v -f ${exclusionPath}" + OUTPUT_FILE "${comp1}") + execute_process(COMMAND "cat ${TRUTH_FILE} | grep -v -f ${exclusionPath}" + OUTPUT_FILE "${comp2}") endif() # Verify that the files are exactly the same diff --git a/isis/cmake/TestSetup.cmake b/isis/cmake/TestSetup.cmake index b9fc1175f5..16f08c890f 100644 --- a/isis/cmake/TestSetup.cmake +++ b/isis/cmake/TestSetup.cmake @@ -38,7 +38,6 @@ function(add_makefile_test_folder folder prefix_name) # Call lower level function to finish adding the test. add_makefile_test_target(${testName} ${makeFile} ${inputDir} ${outputDir} ${truthDir}) - endfunction() @@ -46,7 +45,6 @@ endfunction() macro(add_makefile_test_target testName makeFile inputDir outputDir truthDir) set(thisFolder "${PROJECT_SOURCE_DIR}/cmake") - # Set up a cmake script which will execute the command in the makefile # and then check the results against the truth folder. add_test(NAME ${testName} diff --git a/isis/src/base/apps/appjit/tsts/case1/from.lis b/isis/src/base/apps/appjit/tsts/case1/from.lis new file mode 100644 index 0000000000..668e813906 --- /dev/null +++ b/isis/src/base/apps/appjit/tsts/case1/from.lis @@ -0,0 +1,2 @@ +output/PSP_007556_2010_RED4.balance.cropped.cub +output/PSP_007556_2010_RED5.balance.cropped.cub diff --git a/isis/src/base/apps/appjit/tsts/case2/from.lis b/isis/src/base/apps/appjit/tsts/case2/from.lis new file mode 100644 index 0000000000..668e813906 --- /dev/null +++ b/isis/src/base/apps/appjit/tsts/case2/from.lis @@ -0,0 +1,2 @@ +output/PSP_007556_2010_RED4.balance.cropped.cub +output/PSP_007556_2010_RED5.balance.cropped.cub diff --git a/isis/src/base/apps/automos/tsts/bandbin/cubes.lis b/isis/src/base/apps/automos/tsts/bandbin/cubes.lis new file mode 100644 index 0000000000..81e830029d --- /dev/null +++ b/isis/src/base/apps/automos/tsts/bandbin/cubes.lis @@ -0,0 +1,2 @@ +/usgs/cpkgs/isis3/testData/isis/src/base/apps/automos/tsts/bandbin/input/VIR_IR_1A_1_364768748_1.equi.crop.cub +/usgs/cpkgs/isis3/testData/isis/src/base/apps/automos/tsts/bandbin/input/VIR_IR_1A_1_364769700_1.equi.crop.cub diff --git a/isis/src/base/apps/automos/tsts/tolist/cubes.lis b/isis/src/base/apps/automos/tsts/tolist/cubes.lis new file mode 100644 index 0000000000..3839a395cc --- /dev/null +++ b/isis/src/base/apps/automos/tsts/tolist/cubes.lis @@ -0,0 +1,2 @@ +/usgs/cpkgs/isis3/testData/isis/src/base/apps/automos/tsts/tolist/input/VIR_IR_1A_1_364768748_1.equi.crop.cub +/usgs/cpkgs/isis3/testData/isis/src/base/apps/automos/tsts/tolist/input/VIR_IR_1A_1_364769700_1.equi.crop.cub diff --git a/isis/src/base/apps/blend/tsts/themis/fromlist.lis b/isis/src/base/apps/blend/tsts/themis/fromlist.lis new file mode 100644 index 0000000000..16efbd87dc --- /dev/null +++ b/isis/src/base/apps/blend/tsts/themis/fromlist.lis @@ -0,0 +1,2 @@ +/usgs/cpkgs/isis3/testData/isis/src/base/apps/blend/tsts/themis/input/I23851018.cub +/usgs/cpkgs/isis3/testData/isis/src/base/apps/blend/tsts/themis/input/I01086005.cub diff --git a/isis/src/base/apps/isisminer/tsts/gisintersect/MercuryQuadGeoms.pvl b/isis/src/base/apps/isisminer/tsts/gisintersect/MercuryQuadGeoms.pvl new file mode 100644 index 0000000000..dbc7674466 --- /dev/null +++ b/isis/src/base/apps/isisminer/tsts/gisintersect/MercuryQuadGeoms.pvl @@ -0,0 +1,8 @@ +Object = MercuryQuadGeoms + + Object = H1-Borealis + Keyword = "Value" + EndObject + +EndObject +End diff --git a/isis/src/base/apps/isisminer/tsts/resourceManager/isisTruth.pvl b/isis/src/base/apps/isisminer/tsts/resourceManager/isisTruth.pvl new file mode 100644 index 0000000000..7a67a32a79 --- /dev/null +++ b/isis/src/base/apps/isisminer/tsts/resourceManager/isisTruth.pvl @@ -0,0 +1,18 @@ +Object = IsisCube + SpacecraftName = "MARS GLOBAL SURVEYOR" + InstrumentId = MOC-WA + TargetName = Mars + StartTime = 1997-10-20T10:58:37.46 + StopTime = 1997-10-20T11:03:44.66 + CrosstrackSumming = 4 + DowntrackSumming = 4 + FocalPlaneTemperature = 213.1 + GainModeId = 1A + LineExposureDuration = 100.000000 + MissionPhaseName = AB-1 + OffsetModeId = 5 + SpacecraftClockCount = 561812335:32 + RationaleDesc = "OLYMPUS MONS SPECIAL RED WIDE ANGLE" + FirstLineSample = 673 +End_Object +End diff --git a/isis/src/base/apps/isisminer/tsts/resourceManager/pvls.lis b/isis/src/base/apps/isisminer/tsts/resourceManager/pvls.lis new file mode 100644 index 0000000000..593b9347bb --- /dev/null +++ b/isis/src/base/apps/isisminer/tsts/resourceManager/pvls.lis @@ -0,0 +1,5 @@ +isisTruth.pvl +isisTruth.pvl + + + diff --git a/isis/src/base/objs/ImportPdsTable/unitTest.cpp b/isis/src/base/objs/ImportPdsTable/unitTest.cpp index 6052ff633f..f34a8caacd 100644 --- a/isis/src/base/objs/ImportPdsTable/unitTest.cpp +++ b/isis/src/base/objs/ImportPdsTable/unitTest.cpp @@ -12,6 +12,7 @@ #include "Preference.h" #include "Table.h" #include "TextFile.h" +#include "FileName.h" using namespace std; using namespace Isis; @@ -90,7 +91,9 @@ class ImportPdsTableTester : public ImportPdsTable { */ int main(int argc, char *argv[]) { Isis::Preference::Preferences(true); - QString inputFile = "data/VIR_IR_1A_1_332974737_1_HK.LBL"; + Isis::FileName data("$ISISROOT/../src/base/objs/ImportPdsTable/data/"); + + QString inputFile = data.expanded() + "VIR_IR_1A_1_332974737_1_HK.LBL"; if (--argc == 1) { inputFile = argv[1]; } cout << "\n\nTesting ImportPdsTable class using file " << inputFile << "\n"; @@ -156,7 +159,7 @@ int main(int argc, char *argv[]) { // The following tests were added when the class was expanded to import binary // PDS tables also... - QString pdsTableDir = "data/"; + QString pdsTableDir = data.expanded(); QString pdsLabelFile = ""; QString pdsTableFile = ""; @@ -226,8 +229,8 @@ int main(int argc, char *argv[]) { cout << myTable.name() << "\n"; - QString merLabelFile = "data/edrindex.lbl"; - QString merTableFile = "data/edrindex.tab"; + QString merLabelFile = data.expanded() + "edrindex.lbl"; + QString merTableFile = data.expanded() + "edrindex.tab"; cout << "\n\nTesting ImportPdsTable protected methods with file " << merLabelFile; cout << "\n\nConstructing new ImportPdsTable where the PDS table object name is "; diff --git a/isis/src/base/objs/ImportPdsTable/unitTest.exclude b/isis/src/base/objs/ImportPdsTable/unitTest.exclude new file mode 100644 index 0000000000..23459b86f1 --- /dev/null +++ b/isis/src/base/objs/ImportPdsTable/unitTest.exclude @@ -0,0 +1 @@ +Testing ImportPdsTable class using file diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index ba2c120044..7056379210 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,7 +115,7 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/../src/base/objs/Preference/TestPreferences"); } return *p_preference; diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index 90d919132b..46eb7b222b 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -14,8 +14,8 @@ int main(int argc, char *argv[]) { cout << "Unit test for Isis::UserInterface ..." << endl; - QString unitTestXml = Isis::FileName("unitTest.xml").expanded(); - QString highpass = Isis::FileName("$ISISROOT/src/base/apps/highpass/highpass.xml").expanded(); + QString unitTestXml = Isis::FileName("$ISISROOT/unitTest/isis3_unit_test_UserInterface.xml").expanded(); + QString highpass = Isis::FileName("$ISISROOT/bin/xml/highpass.xml").expanded(); char *myArgv[15];// = {"unitTest", "from=input.cub", "to=output.cub"}; for (int i = 0; i < 15; i++) @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing param= value Format" << endl; { int myArgc = 0; @@ -55,7 +55,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing No Arguments (Defaults)" << endl; { int myArgc = 0; @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Basic Array Argument" << endl; { int myArgc = 0; @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Common Array Argument" << endl; { int myArgc = 0; @@ -123,7 +123,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Complicated Array Argument" << endl; { int myArgc = 0; @@ -148,14 +148,14 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing Escaped Array \\(" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "to=\\(escaped, argument)"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); vector vals; cout << "FROM: " << ui.GetAsString("FROM") << endl; @@ -166,14 +166,14 @@ int main(int argc, char *argv[]) { } cout << endl; } - - + + cout << "Testing Escaped Array \\\\(" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "to=\\\\(escaped, argument)"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); vector vals; cout << "FROM: " << ui.GetAsString("FROM") << endl; @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) { } cout << endl; } - + cout << "Testing param = value Format" << endl; { @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing Space in Parameter Value" << endl; { int myArgc = 0; @@ -225,7 +225,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing =value" << endl; try { int myArgc = 0; @@ -242,7 +242,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing param =value" << endl; try { int myArgc = 0; @@ -264,8 +264,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing mismatched quotes for array-value" << endl; try { int myArgc = 0; @@ -280,7 +280,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing array-value ending in backslash" << endl; try { int myArgc = 0; @@ -294,8 +294,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Invalid Parameter" << endl; try { int myArgc = 0; @@ -309,14 +309,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Invalid Reserved Parameter" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-lastt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -324,44 +324,44 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing Reserved Parameter=Invalid Value" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-verbose=(\"invalid\", \"value\")"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; - + } catch (Isis::IException &e) { e.print(); cout << endl; } - - + + cout << "Testing Unambiguous Reserved Parameter Resolution (-la)" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-la"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui.GetAsString("FROM") << endl; cout << "TO: " << ui.GetAsString("TO") << endl; cout << "GUI: " << ui.IsInteractive() << endl; - cout << endl; + cout << endl; } - - + + cout << "Testing Ambiguous Reserved Parameter Resolution" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-l"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -369,8 +369,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing unitTest v. ./unitTest for GUI" << endl; { int myArgc = 0; @@ -389,15 +389,15 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -PID and -GUI" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-pid=1"); strcpy(myArgv[myArgc++], "-gui"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -405,31 +405,31 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing ParentId() and TheGui()" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.ParentId(); ui.TheGui(); } - - + + cout << "Testing -NOGUI" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-nogui"); - + Isis::UserInterface ui(highpass, myArgc, myArgv); cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Starting Batchlist Test" << endl; { int myArgc = 0; @@ -449,8 +449,8 @@ int main(int argc, char *argv[]) { cout << "Finished Batchlist Test" << endl; cout << endl; } - - + + // The following four tests should all catch thrown exceptions - // -BATCHLIST cannot be used with -GUI, -SAVE, -RESTORE, or -LAST cout << "Testing -BATCHLIST with -GUI" << endl; @@ -469,7 +469,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -SAVE" << endl; try { int myArgc = 0; @@ -486,7 +486,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -RESTORE" << endl; try { int myArgc = 0; @@ -503,7 +503,7 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with -LAST" << endl; try { int myArgc = 0; @@ -520,13 +520,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing -BATCHLIST with nonexistent .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=doesntExist.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -534,14 +534,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -BATCHLIST with empty .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTestEmpty.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -549,14 +549,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -BATCHLIST with mismatched columns in .lis file" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTestBadColumns.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -564,41 +564,41 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ONERROR=CONTINUE" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=continue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "AbortOnError() returns: " << ui.AbortOnError() << endl; cout << endl; } - - + + cout << "Testing -ONERROR=ABORT" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=abort"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "AbortOnError() returns: " << ui.AbortOnError() << endl; cout << endl; } - - + + cout << "Testing -ONERROR=badValue" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); strcpy(myArgv[myArgc++], "-onerror=badValue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -606,14 +606,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ONERROR=CONTINUE without -BATCHLIST" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-onerror=continue"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -621,14 +621,14 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST=value without -BATCHLIST" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist=unitTest.txt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -636,15 +636,15 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST with no value" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } @@ -652,15 +652,15 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + cout << "Testing -ERRLIST=value" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-errlist=unitTestErr.txt"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); for(int i = 0; i < ui.BatchListSize(); i++) { ui.SetBatchList(i); @@ -668,8 +668,8 @@ int main(int argc, char *argv[]) { } cout << endl; } - - + + // evaluating -HELP during a unitTest should throw an exception (instead of exiting) cout << "Testing -HELP Priority (invalid parameters present)" << endl; try { @@ -681,7 +681,7 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "-webhelp"); strcpy(myArgv[myArgc++], "invalid=parameter"); strcpy(myArgv[myArgc++], "-help"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -689,9 +689,9 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - - + } + + cout << "Testing -HELP=value ..." << endl; cout << endl; cout << "Testing pixelType" << endl; @@ -699,7 +699,7 @@ int main(int argc, char *argv[]) { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=to"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -707,14 +707,14 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - + } + cout << "Testing inclusive min and max, lessThan, lessThanOrEqual, internalDefault" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testone"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -722,14 +722,14 @@ int main(int argc, char *argv[]) { catch (Isis::IException &e) { e.print(); cout << endl; - } - + } + cout << "Testing odd, noninclusive min and max, greaterThan, greaterThanOrEqual" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testtwo"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -738,13 +738,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing inclusions, exclusions" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=testthree"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -753,13 +753,13 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + cout << "Testing list inclusions, exclusions, defaults" << endl; try { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-help=listtest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -HELP should have thrown an exception during unit testing" << endl; cout << endl; @@ -770,34 +770,34 @@ int main(int argc, char *argv[]) { } cout << "...End testing -HELP=value" << endl; cout << endl; - - + + cout << "Testing -INFO" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-info"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "GetInfoFlag() returns: " << ui.GetInfoFlag() << endl; cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; cout << endl; } - - + + cout << "Testing -INFO=value" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-info=debug.log"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "GetInfoFlag() returns: " << ui.GetInfoFlag() << endl; - cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; + cout << "GetInfoFileName() returns: " << ui.GetInfoFileName() << endl; cout << endl; } - - + + cout << "Testing -LAST" << endl; { int myArgc = 0; @@ -810,8 +810,8 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -LAST with other app parameters" << endl; { int myArgc = 0; @@ -825,36 +825,36 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -LOG" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-log"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["FileOutput"] << endl; cout << tempTestPrefs.findGroup("SessionLog")["FileName"] << endl; cout << endl; } - - + + cout << "Testing -LOG=value" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-log=unitTest.prt"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["FileOutput"] << endl; cout << tempTestPrefs.findGroup("SessionLog")["FileName"] << endl; cout << endl; } - - + + cout << "Testing -RESTORE with valid (existing) .par file" << endl; { int myArgc = 0; @@ -867,8 +867,8 @@ int main(int argc, char *argv[]) { cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; } - - + + cout << "Testing -RESTORE with corrupt .par file" << endl; try { int myArgc = 0; @@ -883,7 +883,7 @@ int main(int argc, char *argv[]) { cout << endl; } - + cout << "Testing -RESTORE with invalid (non-existing) .par file" << endl; try { int myArgc = 0; @@ -897,8 +897,8 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - - + + // testing loadHistory() cout << "Testing -RESTORE with an empty .par file" << endl; { @@ -909,8 +909,8 @@ int main(int argc, char *argv[]) { Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } - - + + // unitTestLoadHistory.par has more object groups to test loadHistory() cout << "Testing -RESTORE with a more populated .par file" << endl; { @@ -921,21 +921,21 @@ int main(int argc, char *argv[]) { Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << endl; } - - + + // TestPreferences for unit tests have HistoryRecording set to Off cout << "Testing -SAVE with HistoryRecording Off" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-save"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SaveHistory(); cout << endl; } - - + + cout << "Starting -SAVE, -PREFERECE, and -RESTORE Test" << endl; { cout << "Testing -SAVE=value with HistoryRecording On" << endl; @@ -945,30 +945,30 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "to=works"); strcpy(myArgv[myArgc++], "-save=unitTestSave.par"); strcpy(myArgv[myArgc++], "-preference=unitTestPrefs"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui.GetAsString("FROM") << endl; cout << "TO: " << ui.GetAsString("TO") << endl; cout << "GUI: " << ui.IsInteractive() << endl; cout << endl; ui.SaveHistory(); - + cout << "Restoring Saved Parameters:" << endl; myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-restore=unitTestSave.par"); - + Isis::UserInterface ui2(unitTestXml, myArgc, myArgv); cout << "FROM: " << ui2.GetAsString("FROM") << endl; cout << "TO: " << ui2.GetAsString("TO") << endl; cout << "GUI: " << ui2.IsInteractive() << endl; - cout << endl; - + cout << endl; + cout << "Finished -SAVE, PREFERENCE, and -RESTORE Test" << endl; cout << endl; } - - + + cout << "Testing SetBatchList()..." << endl; { cout << "Testing with param=array-value" << endl; @@ -977,50 +977,50 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "from=$$1"); strcpy(myArgv[myArgc++], "to=($2,$2copy)"); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SetBatchList(0); cout << endl; - + cout << "Testing with param= " << endl; myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "from=$1"); strcpy(myArgv[myArgc++], "to= "); strcpy(myArgv[myArgc++], "-batchlist=unitTest.lis"); - + Isis::UserInterface ui2(unitTestXml, myArgc, myArgv); ui2.SetBatchList(0); - cout << endl; - } + cout << endl; + } cout << "...End SetBatchList() Test" << endl; cout << endl; - - + + cout << "Testing SetErrorList() with p_errList == \"\"" << endl; { int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); ui.SetErrorList(0); cout << endl; } - - + + cout << "Testing -VERBOSE" << endl; { Preference &tempTestPrefs = Isis::Preference::Preferences(true); int myArgc = 0; strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "-verbose"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << tempTestPrefs.findGroup("SessionLog")["TerminalOutput"] << endl; cout << endl; } - - + + // evaluating -webhelp should throw an error during unit test (instead of exiting) cout << "Testing -WEBHELP" << endl; try { @@ -1028,7 +1028,7 @@ int main(int argc, char *argv[]) { strcpy(myArgv[myArgc++], "./unitTest"); strcpy(myArgv[myArgc++], "bogus=parameter"); strcpy(myArgv[myArgc++], "-webhelp"); - + Isis::UserInterface ui(unitTestXml, myArgc, myArgv); cout << "Evaluating -WEBHELP should have thrown an exception during unit testing" << endl; } @@ -1036,9 +1036,9 @@ int main(int argc, char *argv[]) { e.print(); cout << endl; } - + } catch (Isis::IException &e) { e.print(); } -} \ No newline at end of file +} -- GitLab From b219628ade78282cb62dad19237ac4d184e1de68 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Thu, 15 Feb 2018 11:31:25 -0700 Subject: [PATCH 0024/1212] Revert Trash Commits This reverts commit 14f01a2802bdc0c8fb67022841a189ed79e9301e. --- isis/cmake/AddIsisModule.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 80ded73a2b..8c3d369fd7 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -177,7 +177,7 @@ function(add_isis_obj folder reqLibs) # Append the plugin file to a single file in the build directory # where the .so files will be created. During installation copy these # plugin files to the installation library folder. - set(pluginPath ${CMAKE_BINARY_DIR}/3rdParty/plugins/${pluginName}) + set(pluginPath ${CMAKE_BINARY_DIR}/lib/${pluginName}) cat(${plugins} ${pluginPath}) install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) -- GitLab From 8f20859409294c8823aa6d05a9489e39db375248 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Thu, 15 Feb 2018 11:31:53 -0700 Subject: [PATCH 0025/1212] Revert Trash Commits This reverts commit 268033784ec0dfdfae1fa88fca5e8db4f6ffdf4a. --- isis/CMakeLists.txt | 4 ++-- isis/cmake/Utilities.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index b463a73485..ea14a0411b 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -231,9 +231,9 @@ install_third_party() # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) get_filename_component(pluginName ${plugin} NAME) - if(NOT EXISTS ${CMAKE_BINARY_DIR}/3rdParty/plugins/${pluginName}) + if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/3rdParty/plugins") + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") endif() endforeach() diff --git a/isis/cmake/Utilities.cmake b/isis/cmake/Utilities.cmake index 2d0544b4a6..513668a630 100644 --- a/isis/cmake/Utilities.cmake +++ b/isis/cmake/Utilities.cmake @@ -228,8 +228,8 @@ function(add_library_wrapper name sourceFiles libDependencies) # the library should be build both shared and static. set(alsoStatic ${ARGN}) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdParty/lib) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/3rdParty/lib) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # Add library, set dependencies, and add to installation list. add_library(${name} SHARED ${sourceFiles}) -- GitLab From 6cd60c265e7e8812b66b12342a3d700bc045dee6 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Thu, 15 Feb 2018 12:18:55 -0700 Subject: [PATCH 0026/1212] Changed find modules to take input of version numbers from block in FindAllDependencies.cmake --- isis/CMakeLists.txt | 4 +- isis/cmake/FindAllDependencies.cmake | 59 +++++++++++++++++----------- isis/cmake/FindBoost.cmake | 4 +- isis/cmake/FindCholmod.cmake | 2 +- isis/cmake/FindGMM.cmake | 2 +- isis/cmake/FindGeos.cmake | 37 +++++------------ isis/cmake/FindJama.cmake | 4 +- isis/cmake/FindPCL.cmake | 4 +- isis/cmake/FindProtobuf.cmake | 2 +- isis/cmake/FindQwt.cmake | 2 +- isis/cmake/FindSuperLU.cmake | 4 +- isis/cmake/FindTIFF.cmake | 2 +- isis/cmake/FindTNT.cmake | 4 +- isis/cmake/FindXercesC.cmake | 2 +- 14 files changed, 61 insertions(+), 71 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index ea14a0411b..eb1a60c8e0 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -40,9 +40,9 @@ set(CMAKE_PREFIX_PATH /opt/usgs/v007/proprietary/ /opt/usgs/v007/proprietary/include/ /opt/usgs/v007/proprietary/lib/ - /usr/lib + /usr/lib/ /usr/lib64/ - /usr/local/lib + /usr/local/lib/ ) include(AddIsisModule) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 74b22e224d..93760a178a 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -118,29 +118,42 @@ else() #oh god why find_library(QT5_XMLPATTERNS_LIBRARY NAMES Qt5XmlPatterns) endif(APPLE) -find_package(Qwt 6 REQUIRED) -find_package(XercesC 3.1 REQUIRED) -find_package(GeoTIFF 2 REQUIRED) -find_package(TIFF 5 REQUIRED) -find_package(CSPICE 65 REQUIRED) -find_package(TNT 1.2.6 REQUIRED) -find_package(Geos 3.5.0 REQUIRED) -find_package(GSL 19 REQUIRED) -find_package(Protobuf 9 REQUIRED) -find_package(Boost 1.59 REQUIRED) -find_package(X11 6 REQUIRED) -find_package(GSL 19 REQUIRED) -find_package(GMM REQUIRED) -find_package(HDF5 1.8.15 REQUIRED) -find_package(SuperLU 4.3 REQUIRED) -find_package(Cholmod 4.4.5 REQUIRED) -find_package(Embree 2.15.0 REQUIRED) -find_package(PCL 1.8.0 REQUIRED) -find_package(Eigen REQUIRED) -find_package(Bullet 2.86 REQUIRED) -find_package(OpenCV 3.1.0 REQUIRED) -find_package(NN REQUIRED) -find_package(Jama REQUIRED) + +# Some of these will have non-traditional installs with version numbers in the paths in v007 +# For these, we pass in a version number, and use it in the path suffix +# This only applies to v007, and outside of the building, we should only expect standard installs +# The v007-specific installs are listed beside their find_package calls below: +find_package(Boost 1.59.0 REQUIRED) # "boost/boost${Boost_FIND_VERSION}/boost/" +find_package(Bullet 2.86 REQUIRED) +find_package(Cholmod 4.4.5 REQUIRED) # "SuiteSparse/SuiteSparse${Cholmod_FIND_VERSION}/SuiteSparse/" +find_package(CSPICE 65 REQUIRED) +find_package(Eigen REQUIRED) +find_package(Embree 2.15.0 REQUIRED) +find_package(GeoTIFF 2 REQUIRED) +find_package(GMM 5.0 REQUIRED) # "/gmm/gmm-${GMM_FIND_VERSION}/gmm/" +find_package(GSL 19 REQUIRED) +find_package(HDF5 1.8.15 REQUIRED) +find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" +find_package(NN REQUIRED) +find_package(OpenCV 3.1.0 REQUIRED) +find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" +find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" +find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" +find_package(SuperLU 4.3 REQUIRED) # "superlu/superlu${SuperLU_FIND_VERSION}/superlu/" +find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" +find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" +find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" +find_package(X11 6 REQUIRED) + +# v007 might have different versions installed for our mac and linux systems. +# Im this case, we specify the version numbers being searched for in the non-traditional installs. +if(APPLE) + find_package(Geos 3.5.0 REQUIRED) +else(APPLE) + find_package(Geos 3.5.1 REQUIRED) +endif(APPLE) + + # Only include Kakadu if it is available if(${JP2KFLAG}) diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake index 12b19866e0..dafe981460 100644 --- a/isis/cmake/FindBoost.cmake +++ b/isis/cmake/FindBoost.cmake @@ -6,11 +6,9 @@ find_path(BOOST_INCLUDE_DIR NAME flyweight.hpp - PATH_SUFFIXES boost/boost1.59.0/boost/ boost + PATH_SUFFIXES "boost/boost${Boost_FIND_VERSION}/boost/" "boost" ) -message("BOOST_INCLUDE_DIR = ${BOOST_INCLUDE_DIR}") - get_filename_component(BOOST_ROOT_INCLUDE_DIR "${BOOST_INCLUDE_DIR}" DIRECTORY) find_library(BOOST_ATOMIC_MT_LIBRARY diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index 8ace8619f6..dee44eb9eb 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -7,7 +7,7 @@ find_path(CHOLMOD_INCLUDE_DIR NAME cholmod.h - PATH_SUFFIXES SuiteSparse/SuiteSparse4.4.5/SuiteSparse/ SuiteSparse + PATH_SUFFIXES "SuiteSparse/SuiteSparse${Cholmod_FIND_VERSION}/SuiteSparse/" "SuiteSparse" ) find_library(CHOLMOD_LIBRARY NAMES cholmod) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index d3fa96579f..58f4717a4f 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -6,7 +6,7 @@ find_path(GMM_INCLUDE_DIR NAMES gmm.h - PATH_SUFFIXES /gmm/gmm-5.0/gmm/ gmm + PATH_SUFFIXES "/gmm/gmm-${GMM_FIND_VERSION}/gmm/" "gmm" ) get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index 51a1bf146d..a83a205859 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -5,33 +5,16 @@ # GEOS_INCLUDE_DIR # GEOS_LIBRARY +find_path(GEOS_INCLUDE_DIR + NAME geos.h + PATH_SUFFIXES "geos/geos${Geos_FIND_VERSION}" "geos" +) -if(APPLE) - find_path(GEOS_INCLUDE_DIR - NAME geos - PATH_SUFFIXES geos/geos3.5.0/ - ) - find_library(GEOS_LIBRARY - NAMES geos-3.5.0 - ) - find_library(GEOS_C_LIBRARY - NAMES geos_c - ) -else() - #changing to 3.5.1 for v007 - find_path(GEOS_INCLUDE_DIR - NAME geos - PATH_SUFFIXES geos/geos3.5.1/ - ) - #tjw: Changing to 3.5.1 for v007 - find_library(GEOS_LIBRARY - NAMES geos-3.5.1 - ) - - find_library(GEOS_C_LIBRARY - NAMES geos_c - ) - -endif(APPLE) +find_library(GEOS_LIBRARY + NAMES geos +) +find_library(GEOS_C_LIBRARY + NAMES geos_c +) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake index 4bb46183fd..33d0fa108f 100644 --- a/isis/cmake/FindJama.cmake +++ b/isis/cmake/FindJama.cmake @@ -6,9 +6,7 @@ find_path(JAMA_INCLUDE_DIR NAMES jama_cholesky.h - PATH_SUFFIXES - jama/jama125/jama - /jama + PATH_SUFFIXES "jama/jama${Jama_FIND_VERSION}/jama" "/jama" ) get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 8e0a5a96cb..ae74c625c2 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -7,12 +7,12 @@ find_path(PCL_ROOT_INCLUDE_DIR NAME pcl - PATH_SUFFIXES pcl-1.8 + PATH_SUFFIXES "pcl-${PCL_FIND_VERSION}" ) find_path(PCL_INCLUDE_DIR NAME pcl_base.h - PATH_SUFFIXES pcl-1.8/pcl + PATH_SUFFIXES "pcl-${PCL_FIND_VERSION}/pcl" ) find_library(PCL_COMMON_LIBRARY NAMES pcl_common) diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index 4bb715b2ca..7bc7b7ce5b 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -1,6 +1,6 @@ find_path(PROTOBUF_INCLUDE_DIR NAMES google/ - PATH_SUFFIXES google-protobuf/protobuf2.6.1/ + PATH_SUFFIXES "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" ) find_library(PROTOBUF_LIBRARY NAMES protobuf) diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 4e51c8625d..7dbfa4c3a5 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -7,7 +7,7 @@ FIND_PATH(QWT_INCLUDE_DIR NAMES qwt.h - PATH_SUFFIXES qwt-qt5 qwt qwt6 + PATH_SUFFIXES "qwt-qt5" "qwt" "qwt6" "qwt${Qwt_FIND_VERSION}" ) find_library(QWT_LIBRARY diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 4f06ce7cd1..5cf95e09b8 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -7,11 +7,11 @@ find_path(SUPERLU_INCLUDE_DIR NAME supermatrix.h - PATH_SUFFIXES superlu/superlu5.0/superlu/ superlu + PATH_SUFFIXES "superlu/superlu${SuperLU_FIND_VERSION}/superlu/" "superlu" ) find_library(SUPERLU_LIBRARY - NAMES superlu_4.3 + NAMES "superlu_${SuperLU_FIND_VERSION}" ) get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index 81e5ce6b1b..d97db9a969 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -1,6 +1,6 @@ find_path(TIFF_INCLUDE_DIR NAMES tiff.h - PATH_SUFFIXES tiff/tiff-4.0.5 + PATH_SUFFIXES "tiff/tiff-${TIFF_FIND_VERSION}" ) # message("TIFF_INCLUDE_DIR = ${TIFF_INCLUDE_DIR}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index bda175e202..7b05477d69 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -6,9 +6,7 @@ find_path(TNT_INCLUDE_DIR NAMES tnt.h - PATH_SUFFIXES - tnt/tnt126/tnt - tnt/ + PATH_SUFFIXES "tnt/tnt${TNT_FIND_VERSION}/tnt" "tnt/" ) get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index bd4717b7e4..cf639e4394 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -1,6 +1,6 @@ find_path(XERCESC_INCLUDE_DIR NAMES xercesc/ - PATH_SUFFIXES xercesc/xercesc-3.1.2/ + PATH_SUFFIXES "xercesc/xercesc-${XercesC_FIND_VERSION}/" ) # message("XERCESC_INCLUDE_DIR = ${XERCESC_INCLUDE_DIR}") -- GitLab From 4607e3d04a2ef1145969cd18e83f6774c6ca75b9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 15 Feb 2018 15:05:18 -0700 Subject: [PATCH 0027/1212] drivers now being loaded properly --- .../objs/DatabaseFactory/DatabaseFactory.cpp | 16 +++++++++++----- isis/src/database/objs/SqlRecord/unitTest.cpp | 3 ++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/isis/src/database/objs/DatabaseFactory/DatabaseFactory.cpp b/isis/src/database/objs/DatabaseFactory/DatabaseFactory.cpp index c0e6181d81..8048ce1416 100644 --- a/isis/src/database/objs/DatabaseFactory/DatabaseFactory.cpp +++ b/isis/src/database/objs/DatabaseFactory/DatabaseFactory.cpp @@ -26,10 +26,11 @@ using namespace std; - +#include #include #include #include +#include #include "DatabaseFactory.h" #include "DbAccess.h" @@ -69,8 +70,10 @@ namespace Isis { DatabaseFactory::DatabaseFactory() : _defProfName(""), _profiles(), _defDatabase(""), _dbList() { -// Checks the existance of the Qt application core. This is required in order -// ensure database driver plugins are loaded - if they exist. + // insure the drivers are being loaded + loadDrivers(); + // Checks the existance of the Qt application core. This is required in order + // ensure database driver plugins are loaded - if they exist. QCoreApplication *cApp = QCoreApplication::instance(); if(cApp == 0) { static char **argv = 0; @@ -367,6 +370,8 @@ namespace Isis { */ QSqlDatabase DatabaseFactory::create(const QString &driver, const QString &dbname) { + + // Check driver availability if(!isDriverAvailable(driver)) { QString mess = "Driver [" + driver + "] for database [" + dbname @@ -555,8 +560,7 @@ namespace Isis { dbDrivers.add("SQLite", "QSQLITE"); } - // That's it - return (dbDrivers); + return dbDrivers; } /** @@ -570,6 +574,8 @@ namespace Isis { */ void DatabaseFactory::loadDrivers() { // Currently relying on Qt plugins - but that could change + // Hack to insure drivers are being loaded correctly + QSqlDatabase::drivers(); return; } diff --git a/isis/src/database/objs/SqlRecord/unitTest.cpp b/isis/src/database/objs/SqlRecord/unitTest.cpp index c2d76d8011..13fd088a5d 100644 --- a/isis/src/database/objs/SqlRecord/unitTest.cpp +++ b/isis/src/database/objs/SqlRecord/unitTest.cpp @@ -1,6 +1,8 @@ #include "Database.h" #include +#include +#include #include "FileName.h" #include "SqlQuery.h" @@ -12,7 +14,6 @@ using namespace Isis; int main(int argc, char *argv[]) { Isis::Preference::Preferences(true); - // SQLite FileName dbfile("$TEMPORARY/test.db"); Database testdb("testdb", "SQLite"); -- GitLab From ccf11d377d71160e574791bb369b9c9a65a8f0fa Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 15 Feb 2018 15:26:34 -0700 Subject: [PATCH 0028/1212] removed part of FileName's unitTest relying on /Users/krodriguez/repos/isis3_cmake/isis/build --- isis/src/base/objs/FileName/FileName.truth | 180 --------------------- isis/src/base/objs/FileName/unitTest.cpp | 14 +- 2 files changed, 1 insertion(+), 193 deletions(-) diff --git a/isis/src/base/objs/FileName/FileName.truth b/isis/src/base/objs/FileName/FileName.truth index ba20af3a5c..6eb84e46e7 100644 --- a/isis/src/base/objs/FileName/FileName.truth +++ b/isis/src/base/objs/FileName/FileName.truth @@ -583,186 +583,6 @@ Running Full Test on [/$TEMPORARY/unitTest.cpp] Original path /$TEMPORARY Exists 0 -Running Safe Test on [$base/testData/isisTruth.cub] - Testing Basics [$base/testData/isisTruth.cub] - Name: isisTruth.cub - Base Name: isisTruth - Original path $base/testData - Extension: cub - Comparison (==): 1 - Comparison (!=): 0 - Exists 1 - - Testing Extension change [$base/testData/isisTruth.cub] - Before modification: $base/testData/isisTruth.cub - Changed: 0 - Unchanged: 1 - Removed Extension: $base/testData/isisTruth - Changed: 1 - Unchanged: 0 - Added Extension [tmp]: $base/testData/isisTruth.tmp - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $base/testData/isisTruth.tmp.jpg - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $base/testData/isisTruth.tmp.jpg - Changed: 0 - Unchanged: 1 - Set Extension [gif]: $base/testData/isisTruth.tmp.gif - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $base/testData/isisTruth.tmp.gif.jpg - Changed: 1 - Unchanged: 0 - Removed Extension: $base/testData/isisTruth.tmp.gif - Changed: 1 - Unchanged: 0 - -Running Safe Test on [${base}/testData/isisTruth.cub] - Testing Basics [${base}/testData/isisTruth.cub] - Name: isisTruth.cub - Base Name: isisTruth - Original path ${base}/testData - Extension: cub - Comparison (==): 1 - Comparison (!=): 0 - Exists 1 - - Testing Extension change [${base}/testData/isisTruth.cub] - Before modification: ${base}/testData/isisTruth.cub - Changed: 0 - Unchanged: 1 - Removed Extension: ${base}/testData/isisTruth - Changed: 1 - Unchanged: 0 - Added Extension [tmp]: ${base}/testData/isisTruth.tmp - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: ${base}/testData/isisTruth.tmp.jpg - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: ${base}/testData/isisTruth.tmp.jpg - Changed: 0 - Unchanged: 1 - Set Extension [gif]: ${base}/testData/isisTruth.tmp.gif - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: ${base}/testData/isisTruth.tmp.gif.jpg - Changed: 1 - Unchanged: 0 - Removed Extension: ${base}/testData/isisTruth.tmp.gif - Changed: 1 - Unchanged: 0 - -Running Safe Test on [$ISISROOT/src/Makefile] - Testing Basics [$ISISROOT/src/Makefile] - Name: Makefile - Base Name: Makefile - Original path $ISISROOT/src - Extension: - Comparison (==): 1 - Comparison (!=): 0 - Exists 1 - - Testing Extension change [$ISISROOT/src/Makefile] - Before modification: $ISISROOT/src/Makefile - Changed: 0 - Unchanged: 1 - Removed Extension: $ISISROOT/src/Makefile - Changed: 0 - Unchanged: 1 - Added Extension [tmp]: $ISISROOT/src/Makefile.tmp - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.jpg - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.jpg - Changed: 0 - Unchanged: 1 - Set Extension [gif]: $ISISROOT/src/Makefile.tmp.gif - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.gif.jpg - Changed: 1 - Unchanged: 0 - Removed Extension: $ISISROOT/src/Makefile.tmp.gif - Changed: 1 - Unchanged: 0 - -Running Safe Test on [$ISISROOT/src/Makefile.elifekaM] - Testing Basics [$ISISROOT/src/Makefile.elifekaM] - Name: Makefile.elifekaM - Base Name: Makefile - Original path $ISISROOT/src - Extension: elifekaM - Comparison (==): 1 - Comparison (!=): 0 - Exists 0 - - Testing Extension change [$ISISROOT/src/Makefile.elifekaM] - Before modification: $ISISROOT/src/Makefile.elifekaM - Changed: 0 - Unchanged: 1 - Removed Extension: $ISISROOT/src/Makefile - Changed: 1 - Unchanged: 0 - Added Extension [tmp]: $ISISROOT/src/Makefile.tmp - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.jpg - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.jpg - Changed: 0 - Unchanged: 1 - Set Extension [gif]: $ISISROOT/src/Makefile.tmp.gif - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: $ISISROOT/src/Makefile.tmp.gif.jpg - Changed: 1 - Unchanged: 0 - Removed Extension: $ISISROOT/src/Makefile.tmp.gif - Changed: 1 - Unchanged: 0 - -Running Safe Test on [/$TEMPORARY/unitTest.cpp] - Testing Basics [/$TEMPORARY/unitTest.cpp] - Name: unitTest.cpp - Base Name: unitTest - Original path /$TEMPORARY - Extension: cpp - Comparison (==): 1 - Comparison (!=): 0 - Exists 0 - - Testing Extension change [/$TEMPORARY/unitTest.cpp] - Before modification: /$TEMPORARY/unitTest.cpp - Changed: 0 - Unchanged: 1 - Removed Extension: /$TEMPORARY/unitTest - Changed: 1 - Unchanged: 0 - Added Extension [tmp]: /$TEMPORARY/unitTest.tmp - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: /$TEMPORARY/unitTest.tmp.jpg - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: /$TEMPORARY/unitTest.tmp.jpg - Changed: 0 - Unchanged: 1 - Set Extension [gif]: /$TEMPORARY/unitTest.tmp.gif - Changed: 1 - Unchanged: 0 - Added Extension [jpg]: /$TEMPORARY/unitTest.tmp.gif.jpg - Changed: 1 - Unchanged: 0 - Removed Extension: /$TEMPORARY/unitTest.tmp.gif - Changed: 1 - Unchanged: 0 - Testing temporary file name placement Input name and extension : $TEMPORARY/tttt.tmp Extension: : tmp diff --git a/isis/src/base/objs/FileName/unitTest.cpp b/isis/src/base/objs/FileName/unitTest.cpp index 026748ccf6..3cf67d1439 100644 --- a/isis/src/base/objs/FileName/unitTest.cpp +++ b/isis/src/base/objs/FileName/unitTest.cpp @@ -40,18 +40,6 @@ int main(int argc, char *argv[]) { TestExpanded("\t", fileToTest); } - // Variable expansion will change truth data on these - QStringList filesToTestSafely; - filesToTestSafely << "$base/testData/isisTruth.cub" << "${base}/testData/isisTruth.cub" - << "$ISISROOT/src/Makefile" << "$ISISROOT/src/Makefile.elifekaM" - << "/$TEMPORARY/unitTest.cpp"; - - foreach (QString fileToTest, filesToTestSafely) { - cout << "Running Safe Test on [" << qPrintable(fileToTest) << "]" << endl; - TestGenericAccessors("\t", fileToTest, false); - TestExtensionChanges("\t", fileToTest, false); - } - // Test temp files thoroughly cout << "Testing temporary file name placement" << endl; QString tempFileNameTestStr = "$TEMPORARY/tttt.tmp"; @@ -286,7 +274,7 @@ void TestExtensionChanges(QString prefix, QString name, bool showExpandedValues) if (!showExpandedValues) { toStringMethod = &FileName::original; } - + cout << prefix << "Testing Extension change [" << name << "]" << endl; cout << prefix << "\tBefore modification: " << (test.*toStringMethod)() << endl; cout << prefix << "\t\tChanged: " << (beforeLastChange != test) << endl; -- GitLab From f4ff61166331db9f947e6426ab719bda27f60cb3 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 15 Feb 2018 15:31:14 -0700 Subject: [PATCH 0029/1212] updated IException truth to match new paths --- .../src/base/objs/IException/IException.truth | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/isis/src/base/objs/IException/IException.truth b/isis/src/base/objs/IException/IException.truth index 64dbdb377e..b7e7126200 100644 --- a/isis/src/base/objs/IException/IException.truth +++ b/isis/src/base/objs/IException/IException.truth @@ -34,7 +34,7 @@ Group = Error Class = "USER ERROR" Code = 2 Message = "Testing user error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 63 End_Group @@ -42,7 +42,7 @@ Group = Error Program = Unknown Code = 1 Message = "Testing unknown error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 50 End_Group @@ -50,7 +50,7 @@ Group = Error Program = Unknown Class = "USER ERROR" Code = 2 - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 38 End_Group @@ -82,11 +82,11 @@ what(): Test Error 7 print(): -**I/O ERROR** Testing I/O error in unitTest.cpp at 88. -**PROGRAMMER ERROR** Testing programmer error in unitTest.cpp at 75. -**USER ERROR** Testing user error in unitTest.cpp at 63. -**ERROR** Testing unknown error in unitTest.cpp at 50. -**USER ERROR** in unitTest.cpp at 38. +**I/O ERROR** Testing I/O error in ../src/base/objs/IException/unitTest.cpp at 88. +**PROGRAMMER ERROR** Testing programmer error in ../src/base/objs/IException/unitTest.cpp at 75. +**USER ERROR** Testing user error in ../src/base/objs/IException/unitTest.cpp at 63. +**ERROR** Testing unknown error in ../src/base/objs/IException/unitTest.cpp at 50. +**USER ERROR** in ../src/base/objs/IException/unitTest.cpp at 38. **USER ERROR** what(): **I/O ERROR** Testing I/O error. @@ -125,11 +125,11 @@ Test Throwing Error: Rethrow and print Test Preference 'FileLine' Turned ON -- print(): -**I/O ERROR** Testing I/O error in unitTest.cpp at 88. -**PROGRAMMER ERROR** Testing programmer error in unitTest.cpp at 75. -**USER ERROR** Testing user error in unitTest.cpp at 63. -**ERROR** Testing unknown error in unitTest.cpp at 50. -**USER ERROR** in unitTest.cpp at 38. +**I/O ERROR** Testing I/O error in ../src/base/objs/IException/unitTest.cpp at 88. +**PROGRAMMER ERROR** Testing programmer error in ../src/base/objs/IException/unitTest.cpp at 75. +**USER ERROR** Testing user error in ../src/base/objs/IException/unitTest.cpp at 63. +**ERROR** Testing unknown error in ../src/base/objs/IException/unitTest.cpp at 50. +**USER ERROR** in ../src/base/objs/IException/unitTest.cpp at 38. **USER ERROR** Turned OFF -- print(): @@ -171,7 +171,7 @@ Group = Error Class = "I/O ERROR" Code = 4 Message = "Testing I/O error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 88 End_Group @@ -180,7 +180,7 @@ Group = Error Class = "PROGRAMMER ERROR" Code = 3 Message = "Testing programmer error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 75 End_Group @@ -189,7 +189,7 @@ Group = Error Class = "USER ERROR" Code = 2 Message = "Testing user error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 63 End_Group @@ -197,7 +197,7 @@ Group = Error Program = Unknown Code = 1 Message = "Testing unknown error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 50 End_Group @@ -205,7 +205,7 @@ Group = Error Program = Unknown Class = "USER ERROR" Code = 2 - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 38 End_Group @@ -222,7 +222,7 @@ Group = Error Class = "I/O ERROR" Code = 4 Message = "Testing I/O error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 88 End_Group @@ -231,7 +231,7 @@ Group = Error Class = "PROGRAMMER ERROR" Code = 3 Message = "Testing programmer error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 75 End_Group @@ -240,7 +240,7 @@ Group = Error Class = "USER ERROR" Code = 2 Message = "Testing user error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 63 End_Group @@ -248,7 +248,7 @@ Group = Error Program = Unknown Code = 1 Message = "Testing unknown error" - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 50 End_Group @@ -256,7 +256,7 @@ Group = Error Program = Unknown Class = "USER ERROR" Code = 2 - File = unitTest.cpp + File = ../src/base/objs/IException/unitTest.cpp Line = 38 End_Group -- GitLab From 6b6609da734bc76dd5be3adbec1cef8f72b04300 Mon Sep 17 00:00:00 2001 From: Summer Stapleton Date: Fri, 16 Feb 2018 13:20:59 -0700 Subject: [PATCH 0030/1212] Added handling of .dat or .img file extensions for image file. --- isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.cpp | 13 ++++++++++--- isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.xml | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.cpp b/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.cpp index 6754aded2b..4b4f5511fb 100644 --- a/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.cpp +++ b/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.cpp @@ -27,10 +27,17 @@ void IsisMain() { try { ProcessImport importer; translateCoreInfo(xmlFileName, importer); - // fails - importer.SetInputFile(xmlFileName.removeExtension().addExtension("dat").expanded()); + + // Need to check for original file extension as well as file extension from tgocassisrdrgen + // for re-imports + try{ + importer.SetInputFile(xmlFileName.removeExtension().addExtension("dat").expanded()); + } + catch (IException e) { + importer.SetInputFile(xmlFileName.removeExtension().addExtension("img").expanded()); + } Cube *outputCube = importer.SetOutputCube("TO"); - // fails above + translateLabels(xmlFileName, outputCube); FileName outputCubeFileName(ui.GetFileName("TO")); diff --git a/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.xml b/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.xml index 7e910eb6d2..ef253bcfde 100644 --- a/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.xml +++ b/isis/src/tgo/apps/tgocassis2isis/tgocassis2isis.xml @@ -106,6 +106,9 @@ Added check to verify input input xml file corresponds to valid filter image. + + Added handling for image file extesnions of either .dat or .img. Fixs #5334. + -- GitLab From 3ff8728f9aaa77a0845812453daabb466f8e9bd8 Mon Sep 17 00:00:00 2001 From: Summer Stapleton Date: Fri, 16 Feb 2018 13:42:49 -0700 Subject: [PATCH 0031/1212] Revert "Updated XmlToPvlTranslationManager to search for multiple InputPosition keywords before failing" This reverts commit 15b4c7c3b4f0754d8ca43176ea62a184f9cc2011. --- .../XmlToPvlTranslationManager.cpp | 54 ++----------------- 1 file changed, 4 insertions(+), 50 deletions(-) diff --git a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp index 4edf9a0d6c..fe4b7e6428 100644 --- a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp +++ b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp @@ -240,52 +240,7 @@ namespace Isis { cout << endl << "Finding input element:" << endl << endl; cout << inputParentElement.tagName() << endl; } - - Pvl::ConstPvlKeywordIterator it = transGroup.findKeyword("InputPosition", - transGroup.begin(), - transGroup.end()); - - QDomElement oldInputParentElement = inputParentElement; - QString childName; - while(it != transGroup.end()) { - const PvlKeyword &inputPosition = *it; - inputParentElement = oldInputParentElement; - - for (int i = 0; i < inputPosition.size(); i++) { - childName = inputPosition[i]; - inputParentElement = inputParentElement.firstChildElement(childName); - if(inputParentElement.isNull()) { - break; - } - if (isDebug) { - indent += " "; - cout << indent << inputParentElement.tagName() << endl; - } - } - if (!inputParentElement.isNull()) { - break; - } - it = transGroup.findKeyword("InputPosition", it + 1, transGroup.end()); - } - - if (inputParentElement.isNull()) { - if (hasInputDefault(outputName)) { - if (isDebug) { - cout << endl << "Could not traverse input position, " << - "using default value: " << - InputDefault(outputName) << endl; - } - return PvlTranslationTable::Translate( outputName ); - } - else { - QString msg = "Failed traversing input position. [" + - inputPosition.name() + "] element does not have a child element named [" + - childName + "]."; - throw IException(IException::Unknown, msg, _FILEINFO_); - } - } - -/* for (int i = 0; i < inputPosition. csize(); i++) { + for (int i = 0; i < inputPosition.size(); i++) { QString childName = inputPosition[i]; inputParentElement = inputParentElement.firstChildElement(childName); if(inputParentElement.isNull()) { @@ -299,7 +254,8 @@ namespace Isis { } else { QString msg = "Failed traversing input position. [" + - inputPosition.name() + "] element does not have a child element named [" + + inputParentElement.parentNode().toElement().tagName() + + "] element does not have a child element named [" + childName + "]."; throw IException(IException::Unknown, msg, _FILEINFO_); } @@ -308,9 +264,7 @@ namespace Isis { indent += " "; cout << indent << inputParentElement.tagName() << endl; } - }*/ - - + } QDomElement inputKeyElement = inputParentElement.firstChildElement(inputKey); if (isDebug) { indent += " "; -- GitLab From 3a90727c1cda67e94bbb942f692b10f3dedb19ef Mon Sep 17 00:00:00 2001 From: Oxez Date: Sat, 17 Feb 2018 14:24:58 -0700 Subject: [PATCH 0032/1212] Changes output directory for apptests and help apps find TestPreferences --- isis/cmake/RunMakeFileTest.cmake | 16 +++-- isis/make/isismake.tsts | 102 +++++++++++++++---------------- 2 files changed, 58 insertions(+), 60 deletions(-) diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake index 8d221c9e22..30e8480fac 100644 --- a/isis/cmake/RunMakeFileTest.cmake +++ b/isis/cmake/RunMakeFileTest.cmake @@ -49,21 +49,21 @@ function(run_app_makefile_test makefile inputFolder outputFolder truthFolder bin # set(code "") # execute_process(COMMAND rm -rf ${outputFolder}) # execute_process(COMMAND rm -f ${logFile}) - + execute_process(COMMAND make test WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) - + if (result MATCHES "OK") set(failed "OFF") else() - set(failed "ON") + set(failed "ON") endif() - + # If any file failed, the test is a failure. if(${failed}) message(FATAL_ERROR "Test failed.") - endif() - + endif() + endfunction() @@ -76,6 +76,4 @@ endfunction() # Needed for IsisPreferences and other test data to be found set(ENV{ISIS3DATA} "${DATA_ROOT}") -run_app_makefile_test(${MAKEFILE} ${INPUT_DIR} ${OUTPUT_DIR} ${TRUTH_DIR} ${BIN_DIR}) - - +run_app_makefile_test(${MAKEFILE} ${INPUT_DIR} ${testOutputDir} ${TRUTH_DIR} ${BIN_DIR}) diff --git a/isis/make/isismake.tsts b/isis/make/isismake.tsts index 76155b0af9..ce9cd55351 100644 --- a/isis/make/isismake.tsts +++ b/isis/make/isismake.tsts @@ -83,7 +83,7 @@ endif # Make sure all apps use the correct preferences file when testing, unless # they have set NOPREFERENCES. This is valid for non-Isis apps. ifeq ($(origin NOPREFERENCES), undefined) - APPNAME += -preference=$(ISISROOT)/src/base/objs/Preference/TestPreferences + APPNAME += -preference=$(ISISROOT)/TestPreferences endif # set the output variable to the output directory @@ -105,7 +105,7 @@ FILECOUNTMISMATCH =echo Failed ... Number of files in truth and output folder do NOTALLMATCH =echo Failed ... Not all files in truth and output folders match # Set test arguments for use in category tests -TSTARGS = -preference=$(ISISROOT)/src/base/objs/Preference/TestPreferences +TSTARGS = -preference=$(ISISROOT)/TestPreferences DIRPATTERN=2774 FILEPATTERN=2664 @@ -113,7 +113,7 @@ DIRLISTPATTERN="drwxrwsr--" #---------------------------------------------------------------------------- # Target = help -# Dependencies = +# Dependencies = # # Displays a list of targets and their descriptions. #---------------------------------------------------------------------------- @@ -190,19 +190,19 @@ test: FORCE clean if [ "$(findstring $(TESTNOCLEAN), $(MODE))" != "$(TESTNOCLEAN)" ]; \ then \ $(MAKE) ccsafeclean; \ - fi; - + fi; + #------------------------------------------------------------------------- --- -# Target = compare -# Dependencies = All files in the truth and output directories -# -# Iterates over the list of files in the truth directory and -# compares the files against the files in the output directory. -# If successful (indicated by presence of casesucceeded.txt), -# prints success message. If not, prints all errors that were -# encountered (found in errors.txt). +# Target = compare +# Dependencies = All files in the truth and output directories +# +# Iterates over the list of files in the truth directory and +# compares the files against the files in the output directory. +# If successful (indicated by presence of casesucceeded.txt), +# prints success message. If not, prints all errors that were +# encountered (found in errors.txt). #------------------------------------------------------------------------- --- -compare: FORCE +compare: FORCE if [ -d "$(OUTPUT)" ]; then \ if [ -d "$(TRUTH)" ]; then \ TRUTHDIR=`$(LS) $(TRUTH)`; \ @@ -249,7 +249,7 @@ compare: FORCE # Target = comparefiles # Dependencies = All files in the truth and output directories # -# Iterates over the list of files in the truth directory and +# Iterates over the list of files in the truth directory and # compares the files against the files in the output # directory. If there are any files that are not recognized # then an unknown file message is printed. If and only if all @@ -260,7 +260,7 @@ compare: FORCE # # Some parts of this target are not very straightforward. For comparing cubes, # users may specify make variables within their tests to indicate tolerance or -# to ignore special pixels when running cubediff +# to ignore special pixels when running cubediff # (i.e. test_cube.cub.TOLERANCE=0.0000001). The problem here is that within # this target, we have the current filename that is being compared stored in a # bash variable. We know that the *make* tolerance variable, if it exists, will @@ -279,7 +279,7 @@ compare: FORCE # # The workaround is to use make's special variable that is a space-separated # list of currently defined make variable *names* (NOT values). This variable -# is .VARIABLES. The names of each of the currently defined make .TOLERANCE +# is .VARIABLES. The names of each of the currently defined make .TOLERANCE # variables are extracted from this list, and their values are looked up as # well. A new bash variable is used to hold these name/values pairs for each of # the tolerances (the name and value is separated by a semicolon). The list of @@ -292,11 +292,11 @@ compare: FORCE # This is only a workaround. The real solution would be to completely get rid # of make variable tolerances from all tests and force the use of .DIFF files # (like pvldiff uses). However, around 138 tests are currently using make -# variables to do this, so it would be a considerable undertaking. -# -# +# variables to do this, so it would be a considerable undertaking. +# +# # 2012-06-26 - Jeannie Backer - Sent stderr of pvldiff and cnetdiff to error -# files instead of /dev/null. If errors exist, test fails and +# files instead of /dev/null. If errors exist, test fails and # error messages are reported to stdout. This was already # being handled for cubediff. #---------------------------------------------------------------------------- @@ -502,7 +502,7 @@ comparefiles: FORCE #---------------------------------------------------------------------------- # Target = truthdata -# Dependencies = +# Dependencies = # # Copies the contents of the output directory to the truth # directory. If the truth directory doesn't exist it is created. @@ -514,10 +514,10 @@ truthdata: FORCE #---------------------------------------------------------------------------- # Target = ostruthdata -# Dependencies = +# Dependencies = # # Copies the contents of the output directory to the truth -# directory. If the truth directory corresponding to the +# directory. If the truth directory corresponding to the # OS the test is being run on doesn't exist it is created. #---------------------------------------------------------------------------- ostruthdata: FORCE @@ -536,12 +536,12 @@ ostruthdata: FORCE # Target = output # Dependencies = FORCE commands modifyFiles # -# Masks target command with a better name to just run the -# commands. If the output directory doesn't exist it is +# Masks target command with a better name to just run the +# commands. If the output directory doesn't exist it is # created. The force target is needed because the directory # output causes make to check the directory output if there # is no dependency. Runs the commands and then -# modifies the output files based on the variables set +# modifies the output files based on the variables set # in the test. #---------------------------------------------------------------------------- output: FORCE clean @@ -550,14 +550,14 @@ output: FORCE clean $(MAKE) modifyFiles; #---------------------------------------------------------------------------- -# This target is needed to make the output target work. When used as a +# This target is needed to make the output target work. When used as a # dependency to a target, it forces make to always execute that target. #---------------------------------------------------------------------------- FORCE: #---------------------------------------------------------------------------- # Target = clean -# Dependencies = +# Dependencies = # # Deletes the output directory and all temporary files. #---------------------------------------------------------------------------- @@ -567,7 +567,7 @@ clean: FORCE #---------------------------------------------------------------------------- # Target = ccsafeclean -# Dependencies = +# Dependencies = # # Deletes the output directory and all temporary files except the code # coverage files. @@ -580,11 +580,11 @@ ccsafeclean: FORCE # Target = modifyFiles # Dependencies = modText modBin # -# Performs the modifications to the files in the output -# directory. Iterates over the output files and modifies +# Performs the modifications to the files in the output +# directory. Iterates over the output files and modifies # the file based on variables such as .SKIPLINES # Utilizes the modText and modBin targets to carryout -# the modifactions. +# the modifactions. #---------------------------------------------------------------------------- modifyFiles: FORCE files="$(notdir $(wildcard $(OUTPUT)/*.txt) )"; \ @@ -602,7 +602,7 @@ modifyFiles: FORCE #---------------------------------------------------------------------------- # Target = modText -# Dependencies = +# Dependencies = # # Handles the modifactions of text files in the output # directory. Looks at variables .SKIPLINES and .IGNORELINES. @@ -637,12 +637,12 @@ modText: FORCE #---------------------------------------------------------------------------- # Target = modBin -# Dependencies = +# Dependencies = # # Handles the modifactions of bin files in the output # directory. Looks at variables .BINSKIP and .BINCOUNT. # The variable FILE must be set to the name of the file in -# the output directory to be modified. +# the output directory to be modified. #---------------------------------------------------------------------------- modBin: FORCE if [ "$(FILE)" != "" ]; \ @@ -665,7 +665,7 @@ modBin: FORCE # Target = checkin # Dependencies = copyInTruth # -# Copies data from the test into the test data area. +# Copies data from the test into the test data area. # ISIS3TESTDATA needs to be set to know where to copy # data for this test to. Data in the input and all of the truth # directories are copied to the test data area. @@ -720,12 +720,12 @@ checkin: FORCE #---------------------------------------------------------------------------- # Target = copyInTruth -# Dependencies = +# Dependencies = # -# Copies all of the truth directories to the value in the +# Copies all of the truth directories to the value in the # variable DEST. Iterates over all of the directories in the # test that have truth in it. Creates the directory in DEST -# and then copies all of the files in the truth directory to +# and then copies all of the files in the truth directory to # directory in DEST. #---------------------------------------------------------------------------- copyInTruth: FORCE @@ -744,11 +744,11 @@ copyInTruth: FORCE # Target = checkout # Dependencies = dirs copyOutTruth # -# Copies data from the test data area into the test. +# Copies data from the test data area into the test. # ISIS3TESTDATA needs to be set to know where to get the # test data from. Uses the TESTDATA_PATH to get the data -# for this test. Copies the files from the input directory in the -# TESTDATA_PATH to the input directory of the test. Then +# for this test. Copies the files from the input directory in the +# TESTDATA_PATH to the input directory of the test. Then # copies all of the truth directories and their contents to the test. # If the input or truth directories exist in the local test a warning # is printed and no copying takes place. @@ -781,10 +781,10 @@ checkout: FORCE #---------------------------------------------------------------------------- # Target = copyOutTruth -# Dependencies = +# Dependencies = # -# Copies all of the truth directories from the value in the -# variable DEST. Iterates over all of the directories in +# Copies all of the truth directories from the value in the +# variable DEST. Iterates over all of the directories in # DEST that have truth in it. Creates the directory in test # and then copies all of the files from the DEST directory # to the one in the test. @@ -850,7 +850,7 @@ release: FORCE clean #---------------------------------------------------------------------------- # Target = dirs -# Dependencies = +# Dependencies = # # Creates the necessary directories for the test. #---------------------------------------------------------------------------- @@ -859,14 +859,14 @@ dirs: FORCE #---------------------------------------------------------------------------- # Target=changePerms -# Dependencies = +# Dependencies = # # Changes the directory permissions starting at DEST_PATH # and preceding up the directory path till a directory is found -# that matches the DIRLISTPATTERN variable. Both the +# that matches the DIRLISTPATTERN variable. Both the # LOOKUP and DEST_PATH variables need to be set in order -# to work properly. LOOKUP is the first directory to start checking -# folder permissions on, and DEST_PATH is the full directory +# to work properly. LOOKUP is the first directory to start checking +# folder permissions on, and DEST_PATH is the full directory # path above the LOOKUP directory. #---------------------------------------------------------------------------- changePerms: FORCE -- GitLab From 44443b63b7c8300d6f155c47453ec7cca71c1054 Mon Sep 17 00:00:00 2001 From: Cole <34170587+cneubauerUSGS@users.noreply.github.com> Date: Sat, 17 Feb 2018 15:56:15 -0700 Subject: [PATCH 0033/1212] Changed Command To Execute App Tests Previous change ruined the command and stopped execution of App Tests --- isis/cmake/RunMakeFileTest.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake index 30e8480fac..c510e64f4a 100644 --- a/isis/cmake/RunMakeFileTest.cmake +++ b/isis/cmake/RunMakeFileTest.cmake @@ -76,4 +76,4 @@ endfunction() # Needed for IsisPreferences and other test data to be found set(ENV{ISIS3DATA} "${DATA_ROOT}") -run_app_makefile_test(${MAKEFILE} ${INPUT_DIR} ${testOutputDir} ${TRUTH_DIR} ${BIN_DIR}) +run_app_makefile_test(${MAKEFILE} ${INPUT_DIR} ${OUTPUT_DIR} ${TRUTH_DIR} ${BIN_DIR}) -- GitLab From e0255d32718120cae453c26554da1b5bf1ff0691 Mon Sep 17 00:00:00 2001 From: Oxez Date: Sun, 18 Feb 2018 11:23:01 -0700 Subject: [PATCH 0034/1212] Added a copy of 3rdParty dependencies into 3rdParty structure --- isis/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index ea14a0411b..5dcce256ab 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -237,6 +237,14 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) endif() endforeach() + +# Some unit and app test rely on their plugins being loaded into 3rdParty +# After all the files are in the lib directory do a copy of all the files +execute_process(command mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) +execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/*.so* ${CMAKE_BINARY_DIR}/3rdParty/lib/) +execute_process(COMMAND ls ${CMAKE_BINARY_DIR}/lib/ | grep -v '.so' | xargs cp -t ${CMAKE_BINARY_DIR}/3rdParty/lib/) + + # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. -- GitLab From ef572ca3f9623b7ebfe4d6f49eb6fc231bca4d75 Mon Sep 17 00:00:00 2001 From: Oxez Date: Sun, 18 Feb 2018 11:40:59 -0700 Subject: [PATCH 0035/1212] Same changes but better --- isis/CMakeLists.txt | 15 +++++++-------- isis/cmake/AddIsisModule.cmake | 4 ++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 5dcce256ab..78fbcf686b 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -226,6 +226,10 @@ add_subdirectory(src objects) # Set up third party libraries for installation install_third_party() +# create 3rdParty directory and its subdirectories +execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib ${CMAKE_BINARY_DIR}/3rdParty/plugins) + + # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. # - This is required so that the plugins can be found during unit tests. # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. @@ -234,17 +238,12 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + + execute_process(COMMAND ln -s "${plugin}" ${pluginName} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}3rdParty/plugins") endif() endforeach() - -# Some unit and app test rely on their plugins being loaded into 3rdParty -# After all the files are in the lib directory do a copy of all the files -execute_process(command mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) -execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/*.so* ${CMAKE_BINARY_DIR}/3rdParty/lib/) -execute_process(COMMAND ls ${CMAKE_BINARY_DIR}/lib/ | grep -v '.so' | xargs cp -t ${CMAKE_BINARY_DIR}/3rdParty/lib/) - - # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 8c3d369fd7..749c56a02a 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -181,6 +181,10 @@ function(add_isis_obj folder reqLibs) cat(${plugins} ${pluginPath}) install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) + set(pluginPath ${CMAKE_BINARY_DIR}/3rdParty/lib/${pluginName}) + cat(${plugins} ${pluginPath}) + install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) + # Record this library name for the caller set(newPluginLib ${libName} PARENT_SCOPE) endif() -- GitLab From 029a4289a63683d295ed2147fb4af14141de0708 Mon Sep 17 00:00:00 2001 From: Oxez Date: Sun, 18 Feb 2018 12:04:30 -0700 Subject: [PATCH 0036/1212] Changes --- isis/CMakeLists.txt | 14 +++++++------- isis/cmake/AddIsisModule.cmake | 5 ----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 78fbcf686b..cffc6ff1d9 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -226,10 +226,6 @@ add_subdirectory(src objects) # Set up third party libraries for installation install_third_party() -# create 3rdParty directory and its subdirectories -execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib ${CMAKE_BINARY_DIR}/3rdParty/plugins) - - # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. # - This is required so that the plugins can be found during unit tests. # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. @@ -238,12 +234,16 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") - - execute_process(COMMAND ln -s "${plugin}" ${pluginName} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}3rdParty/plugins") endif() endforeach() + +# Some unit and app test rely on their plugins being loaded into 3rdParty +# After all the files are in the lib directory do a copy of all the files +execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) +#execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/*.so* ${CMAKE_BINARY_DIR}/3rdParty/lib/) +execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/* ${CMAKE_BINARY_DIR}/3rdParty/plugins/) + # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 749c56a02a..969036d1ce 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -180,11 +180,6 @@ function(add_isis_obj folder reqLibs) set(pluginPath ${CMAKE_BINARY_DIR}/lib/${pluginName}) cat(${plugins} ${pluginPath}) install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) - - set(pluginPath ${CMAKE_BINARY_DIR}/3rdParty/lib/${pluginName}) - cat(${plugins} ${pluginPath}) - install(PROGRAMS ${pluginPath} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/) - # Record this library name for the caller set(newPluginLib ${libName} PARENT_SCOPE) endif() -- GitLab From f344ad1aa8fd7e09cb785f0c48800a831ac0c739 Mon Sep 17 00:00:00 2001 From: Oxez Date: Sun, 18 Feb 2018 12:09:22 -0700 Subject: [PATCH 0037/1212] Changes --- isis/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index cffc6ff1d9..a712a9c880 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -226,6 +226,9 @@ add_subdirectory(src objects) # Set up third party libraries for installation install_third_party() +# Some unit and app test rely on a 3rdParty structure and need to be copied +execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib ${CMAKE_BINARY_DIR}/3rdParty/plugins) + # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. # - This is required so that the plugins can be found during unit tests. # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. @@ -234,15 +237,16 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/${pluginName} ${CMAKE_BINARY_DIR}/3rdParty/plugins/) endif() endforeach() # Some unit and app test rely on their plugins being loaded into 3rdParty # After all the files are in the lib directory do a copy of all the files -execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) +#execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) #execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/*.so* ${CMAKE_BINARY_DIR}/3rdParty/lib/) -execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/* ${CMAKE_BINARY_DIR}/3rdParty/plugins/) +#execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/* ${CMAKE_BINARY_DIR}/3rdParty/plugins/) # Set up documentation build target. # - This script is called by running "make docs". -- GitLab From 2aa509b1c582f3a838727cd47c21f4c4257a6e53 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Sun, 18 Feb 2018 13:14:20 -0700 Subject: [PATCH 0038/1212] Unit Test and App Test work --- isis/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index a712a9c880..d2904973bd 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -237,7 +237,7 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) execute_process(COMMAND ln -s "${plugin}" ${pluginName} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") - execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/${pluginName} ${CMAKE_BINARY_DIR}/3rdParty/plugins/) + execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/${pluginName} ${CMAKE_BINARY_DIR}/3rdParty/plugins/) endif() endforeach() -- GitLab From d614f52fd61db529765027aefa2e46e84f0e664c Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 20 Feb 2018 13:01:40 -0700 Subject: [PATCH 0039/1212] things and stuff --- isis/cmake/RunUnitTest.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 14bb5fe8fd..e7b69e385d 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -50,7 +50,6 @@ set(comp1 ${outputFile}) set(comp2 ${TRUTH_FILE}) set(exclusionPath ${truthFolder}/unitTest.exclude) if(EXISTS ${exclusionPath}) - message("Using Exlusion file ${exclusionPath}") set(comp1 ${tempDir}/output_exclude.txt) set(comp2 ${tempDir}/truth_exclude.txt) # This throws out all lines containing a word from the exclusion file. -- GitLab From 6ad4aabaac26bc50085dbd48f35df5c1dfe108de Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Tue, 20 Feb 2018 23:32:04 -0700 Subject: [PATCH 0040/1212] opted for adding an exclude file rather than chaning file info --- isis/src/base/objs/IException/unitTest.exclude | 1 + 1 file changed, 1 insertion(+) create mode 100644 isis/src/base/objs/IException/unitTest.exclude diff --git a/isis/src/base/objs/IException/unitTest.exclude b/isis/src/base/objs/IException/unitTest.exclude new file mode 100644 index 0000000000..220f4aa98a --- /dev/null +++ b/isis/src/base/objs/IException/unitTest.exclude @@ -0,0 +1 @@ +File -- GitLab From fe989c54e84a8a07db9fcf2292ea165a1cebbd51 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Wed, 21 Feb 2018 14:28:26 -0700 Subject: [PATCH 0041/1212] Cleanup --- isis/CMakeLists.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index d2904973bd..76767dba46 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -227,7 +227,7 @@ add_subdirectory(src objects) install_third_party() # Some unit and app test rely on a 3rdParty structure and need to be copied -execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib ${CMAKE_BINARY_DIR}/3rdParty/plugins) +execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib ${CMAKE_BINARY_DIR}/3rdParty/plugins) # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. # - This is required so that the plugins can be found during unit tests. @@ -241,13 +241,6 @@ foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) endif() endforeach() - -# Some unit and app test rely on their plugins being loaded into 3rdParty -# After all the files are in the lib directory do a copy of all the files -#execute_process(COMMAND mkdir ${CMAKE_BINARY_DIR}/3rdParty ${CMAKE_BINARY_DIR}/3rdParty/lib/ ${CMAKE_BINARY_DIR}/3rdParty/plugins/) -#execute_process(COMMAND cp -r ${CMAKE_BINARY_DIR}/lib/*.so* ${CMAKE_BINARY_DIR}/3rdParty/lib/) -#execute_process(COMMAND cp ${CMAKE_BINARY_DIR}/lib/* ${CMAKE_BINARY_DIR}/3rdParty/plugins/) - # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. -- GitLab From aa28c540dd9c73faf648afada8b0c187ae48d4eb Mon Sep 17 00:00:00 2001 From: Oxez Date: Thu, 22 Feb 2018 10:46:28 -0700 Subject: [PATCH 0042/1212] A bit of a hacky fix for cmake docs --- isis/cmake/BuildDocs.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake index 98ddb27faa..3f8edb541c 100644 --- a/isis/cmake/BuildDocs.cmake +++ b/isis/cmake/BuildDocs.cmake @@ -495,8 +495,12 @@ function(build_docs) message("Building object documentation") build_object_docs() + execute_process(COMMAND rm -rf ${CMAKE_BINARY_DIR}/docBuild) + execute_process(COMMAND cp -rf ${docInstallFolder} ${CMAKE_BINARY_DIR}) + message("Finished building object documentation!") + endfunction(build_docs) -- GitLab From ab7daaa309bb125413d3945bcaedf4ac51f9eccc Mon Sep 17 00:00:00 2001 From: Oxez Date: Thu, 22 Feb 2018 12:09:36 -0700 Subject: [PATCH 0043/1212] Non hacky fix for docs --- isis/cmake/BuildDocs.cmake | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake index 3f8edb541c..cc47754710 100644 --- a/isis/cmake/BuildDocs.cmake +++ b/isis/cmake/BuildDocs.cmake @@ -460,7 +460,7 @@ function(build_docs) # Set up output directory and a temporary directory for building set(docBuildFolder ${CMAKE_BINARY_DIR}/docBuild) set(appDataFolder ${docBuildFolder}/Application/data) - set(docInstallFolder ${CMAKE_INSTALL_PREFIX}/doc) # Final output documentation + set(docInstallFolder ${CMAKE_BINARY_DIR}/docs) # Final output documentation # Clean up existing files execute_process(COMMAND rm -rf ${docBuildFolder}) @@ -495,8 +495,7 @@ function(build_docs) message("Building object documentation") build_object_docs() - execute_process(COMMAND rm -rf ${CMAKE_BINARY_DIR}/docBuild) - execute_process(COMMAND cp -rf ${docInstallFolder} ${CMAKE_BINARY_DIR}) + install(COMMAND cp -rf ${docInstallFolder} ${CMAKE_INSTALL_PREFIX}) message("Finished building object documentation!") -- GitLab From 3c3a6dcdb1aac001cac28f998975a9086475a650 Mon Sep 17 00:00:00 2001 From: Oxez Date: Thu, 22 Feb 2018 12:17:35 -0700 Subject: [PATCH 0044/1212] Forgot how install worked for a second --- isis/cmake/BuildDocs.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake index cc47754710..a4e5e3eb1f 100644 --- a/isis/cmake/BuildDocs.cmake +++ b/isis/cmake/BuildDocs.cmake @@ -495,7 +495,7 @@ function(build_docs) message("Building object documentation") build_object_docs() - install(COMMAND cp -rf ${docInstallFolder} ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY ${docInstallFolder} DESTINATION ${CMAKE_INSTALL_PREFIX}) message("Finished building object documentation!") -- GitLab From 8c6f7b4580e3d09ef00a2b859ab0745533ae57a1 Mon Sep 17 00:00:00 2001 From: Oxez Date: Thu, 22 Feb 2018 12:26:42 -0700 Subject: [PATCH 0045/1212] Commented code and changed command --- isis/cmake/BuildDocs.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake index a4e5e3eb1f..1335fc5a49 100644 --- a/isis/cmake/BuildDocs.cmake +++ b/isis/cmake/BuildDocs.cmake @@ -495,7 +495,8 @@ function(build_docs) message("Building object documentation") build_object_docs() - install(DIRECTORY ${docInstallFolder} DESTINATION ${CMAKE_INSTALL_PREFIX}) + # copy the built docs in the build directory over to the install directory on install + execute_process(COMMAND cp -rf ${docInstallFolder} ${CMAKE_INSTALL_PREFIX}) message("Finished building object documentation!") -- GitLab From 355ac2aaa015f2138f841c07c8d95e708dd206b6 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 22 Feb 2018 19:46:36 -0700 Subject: [PATCH 0046/1212] removed from source files --- isis/CMakeLists.txt | 37 +++++++++---------- isis/cmake/FindAllDependencies.cmake | 2 +- isis/cmake/FindSuperLU.cmake | 2 +- isis/cmake/RunUnitTest.cmake | 6 ++- .../apps/autoregtemplate/autoregtemplate.cpp | 2 +- .../base/apps/isisminer/StrategyFactory.cpp | 4 +- .../src/base/objs/Application/Application.cpp | 2 +- .../AtmosModelFactory/AtmosModelFactory.cpp | 2 +- .../objs/AutoRegFactory/AutoRegFactory.cpp | 2 +- .../base/objs/CameraFactory/CameraFactory.cpp | 2 +- isis/src/base/objs/Cube/Cube.cpp | 2 +- .../src/base/objs/Environment/Environment.cpp | 8 ++-- isis/src/base/objs/FileName/FileName.h | 8 ++-- isis/src/base/objs/Gui/Gui.cpp | 2 +- isis/src/base/objs/Gui/GuiCubeParameter.cpp | 2 +- .../src/base/objs/IException/unitTest.exclude | 1 + .../src/base/objs/ImportPdsTable/unitTest.cpp | 2 +- isis/src/base/objs/Isis/Isis.h | 4 -- .../NormModelFactory/NormModelFactory.cpp | 4 +- .../PhotoModelFactory/PhotoModelFactory.cpp | 2 +- isis/src/base/objs/Plugin/Plugin.cpp | 2 +- .../PolygonSeederFactory.cpp | 2 +- isis/src/base/objs/Preference/Preference.cpp | 6 +-- .../objs/ProgramLauncher/ProgramLauncher.cpp | 2 +- .../base/objs/ProgramLauncher/unitTest.cpp | 4 +- .../ProjectionFactory/ProjectionFactory.cpp | 4 +- isis/src/base/objs/UserInterface/unitTest.cpp | 9 +++-- .../InterestOperatorFactory.cpp | 2 +- .../apps/cneteditor/CnetEditorWindow.cpp | 2 +- isis/src/qisis/apps/qmos/qmos.cpp | 2 +- isis/src/qisis/apps/qnet/qnet.cpp | 2 +- isis/src/qisis/apps/qtie/qtie.cpp | 2 +- isis/src/qisis/apps/qview/qview.cpp | 2 +- .../ControlMeasureEditWidget.cpp | 2 +- .../ControlPointEdit/ControlPointEdit.cpp | 2 +- isis/src/qisis/objs/HelpTool/HelpTool.cpp | 2 +- isis/src/qisis/objs/MatchTool/MatchTool.cpp | 2 +- isis/src/qisis/objs/QnetTools/QnetTool.cpp | 2 +- .../system/apps/isiscomplete/isiscomplete.cpp | 2 +- isis/src/viking/apps/vik2isis/vik2isis.cpp | 2 +- isis/src/voyager/apps/voy2isis/voy2isis.cpp | 2 +- 41 files changed, 75 insertions(+), 78 deletions(-) create mode 100644 isis/src/base/objs/IException/unitTest.exclude diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 79d49209c6..acdc254a2a 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -93,7 +93,6 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) - # Specify flags used set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) #set(thirdPartyCppFlags -Wall -ansi -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) @@ -106,7 +105,7 @@ option(buildCore "Build the core ISIS modules" ON ) option(buildMissions "Build the mission specific modules" ON ) option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) option(buildTests "Set up unit, application, and module tests." ON ) - +option(JP2KFLAG "Whether or not to build using JPEG200 support" OFF ) if(EXISTS ${isis3Data}) set(ENV{ISIS3DATA} "${isis3Data}") @@ -157,19 +156,17 @@ include(FindAllDependencies) include_directories(SYSTEM ${ALLINCDIRS}) link_directories(${ALLLIBDIRS}) -# add isis headers - +# inject ISISROOT +add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) +add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) +# add isis headers file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc) include_directories(${CMAKE_BINARY_DIR}/inc) -# install scripts -# file(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/scripts) -# file(COPY ${CMAKE_SOURCE_DIR}/scripts DESTINATION ${CMAKE_INSTALL_PREFIX}) - set(CORE_LIB_NAME isis3) # Specify relative library include paths which will be set up on @@ -225,18 +222,18 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/make DESTINATION ${CMAKE_INSTALL_PREFIX}) add_subdirectory(src objects) # Set up third party libraries for installation -install_third_party() - -# Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. -# - This is required so that the plugins can be found during unit tests. -# TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. -foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) - get_filename_component(pluginName ${plugin} NAME) - if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) - execute_process(COMMAND ln -s "${plugin}" ${pluginName} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") - endif() -endforeach() +# install_third_party() + +# # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. +# # - This is required so that the plugins can be found during unit tests. +# # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. +# foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) +# get_filename_component(pluginName ${plugin} NAME) +# if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) +# execute_process(COMMAND ln -s "${plugin}" ${pluginName} +# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") +# endif() +# endforeach() # Set up documentation build target. # - This script is called by running "make docs". diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 80cb9dcecc..adf5c2d9b0 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -18,7 +18,6 @@ if(APPLE) set(PLUGIN_DIR "${thirdPartyDir}/ports/libexec/qt5/plugins") endif(APPLE) -set(JP2KFLAG 1) # Add thirdPartyCppFlags set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) @@ -148,6 +147,7 @@ find_package(Jama REQUIRED) # Only include Kakadu if it is available if(${JP2KFLAG}) + message("ENABLING KAKADU") find_package(Kakadu) endif(${JP2KFLAG}) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 4f06ce7cd1..6f41ea114f 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -11,7 +11,7 @@ find_path(SUPERLU_INCLUDE_DIR ) find_library(SUPERLU_LIBRARY - NAMES superlu_4.3 + NAMES superlu_4.3 superlu ) get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index e7b69e385d..9309ab95ef 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -53,16 +53,18 @@ if(EXISTS ${exclusionPath}) set(comp1 ${tempDir}/output_exclude.txt) set(comp2 ${tempDir}/truth_exclude.txt) # This throws out all lines containing a word from the exclusion file. - execute_process(COMMAND "cat ${outputFile} | grep -v -f ${exclusionPath}" + execute_process(COMMAND cat ${outputFile} COMMAND grep -v -f ${exclusionPath} OUTPUT_FILE "${comp1}") - execute_process(COMMAND "cat ${TRUTH_FILE} | grep -v -f ${exclusionPath}" + execute_process(COMMAND cat ${TRUTH_FILE} COMMAND grep -v -f ${exclusionPath} OUTPUT_FILE "${comp2}") + endif() # Verify that the files are exactly the same execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files ${comp1} ${comp2} RESULT_VARIABLE DIFFERENT) + if(DIFFERENT) message(FATAL_ERROR "Test failed - files differ") # On error the result file is left around to aid in debugging. diff --git a/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp b/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp index 4ce21f69c6..b1184c4e0a 100644 --- a/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp +++ b/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp @@ -11,7 +11,7 @@ void IsisMain() { // Get user interface UserInterface &ui = Application::GetUserInterface(); - Pvl algos("$ISISROOT/lib/AutoReg.plugin"); + Pvl algos(QString(ISISROOT) + "/lib/AutoReg.plugin"); Pvl p; // Begin creating the mapping group diff --git a/isis/src/base/apps/isisminer/StrategyFactory.cpp b/isis/src/base/apps/isisminer/StrategyFactory.cpp index 6ea67e42f0..568cbaa996 100644 --- a/isis/src/base/apps/isisminer/StrategyFactory.cpp +++ b/isis/src/base/apps/isisminer/StrategyFactory.cpp @@ -507,8 +507,8 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; } // Append the ISIS library path - if ( !dirlist.contains("$ISISROOT/lib") ) { - dirlist.push_back("$ISISROOT/lib"); + if ( !dirlist.contains(QString(ISISROOT) + "/lib") ) { + dirlist.push_back(QString(ISISROOT) + "/lib"); } // Attempt to load the library diff --git a/isis/src/base/objs/Application/Application.cpp b/isis/src/base/objs/Application/Application.cpp index 1e32f38704..c40614467b 100644 --- a/isis/src/base/objs/Application/Application.cpp +++ b/isis/src/base/objs/Application/Application.cpp @@ -124,7 +124,7 @@ namespace Isis { Preference::Preferences(f.name() == "unitTest.xml"); if (!f.fileExists()) { - f = "$ISISROOT/bin/xml/" + f.name(); + f = QString(ISISROOT) + "/bin/xml/" + f.name(); if (!f.fileExists()) { QString message = Message::FileOpen(f.expanded()); throw IException(IException::Io, message, _FILEINFO_); diff --git a/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp b/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp index 457798556b..e59a296639 100644 --- a/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp +++ b/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp @@ -83,7 +83,7 @@ namespace Isis { p->read("AtmosModel.plugin"); } else { - p->read("$ISISROOT/lib/AtmosModel.plugin"); + p->read(QString(ISISROOT) + "/lib/AtmosModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp b/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp index f2640197e2..2a0ff3f332 100644 --- a/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp +++ b/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp @@ -70,7 +70,7 @@ namespace Isis { p.read("AutoReg.plugin"); } else { - p.read("$ISISROOT/lib/AutoReg.plugin"); + p.read(QString(ISISROOT) + "/lib/AutoReg.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/CameraFactory/CameraFactory.cpp b/isis/src/base/objs/CameraFactory/CameraFactory.cpp index a40bf25881..d6bf74079d 100644 --- a/isis/src/base/objs/CameraFactory/CameraFactory.cpp +++ b/isis/src/base/objs/CameraFactory/CameraFactory.cpp @@ -110,7 +110,7 @@ namespace Isis { if (localFile.fileExists()) m_cameraPlugin.read(localFile.expanded()); - FileName systemFile("$ISISROOT/lib/Camera.plugin"); + FileName systemFile(QString(ISISROOT) + "/lib/Camera.plugin"); if (systemFile.fileExists()) m_cameraPlugin.read(systemFile.expanded()); } diff --git a/isis/src/base/objs/Cube/Cube.cpp b/isis/src/base/objs/Cube/Cube.cpp index 1079e499ee..7456c9dab6 100644 --- a/isis/src/base/objs/Cube/Cube.cpp +++ b/isis/src/base/objs/Cube/Cube.cpp @@ -2106,7 +2106,7 @@ namespace Isis { parameters += " to=" + tempCube.expanded(); if (iApp == NULL) { - QString command = "$ISISROOT/bin/pds2isis " + parameters; + QString command = QString(ISISROOT) + "/bin/pds2isis " + parameters; ProgramLauncher::RunSystemCommand(command); } else { diff --git a/isis/src/base/objs/Environment/Environment.cpp b/isis/src/base/objs/Environment/Environment.cpp index b0d5726d75..06cab9f5ad 100644 --- a/isis/src/base/objs/Environment/Environment.cpp +++ b/isis/src/base/objs/Environment/Environment.cpp @@ -136,7 +136,7 @@ namespace Isis { * @returns the Isis version in the format isis?.?.?.?qualifier | date */ QString Environment::isisVersion() { - TextFile versionFile("$ISISROOT/version"); + TextFile versionFile(QString(ISISROOT) + "/version"); QString line1, line2, line3, line4; versionFile.GetLine(line1); versionFile.GetLine(line2); @@ -148,7 +148,7 @@ namespace Isis { line1 = validPartOfLine.cap(); } else { - IString msg = "$ISISROOT/version line 1, no valid text found"; + IString msg = QString(ISISROOT) + "/version line 1, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } @@ -156,7 +156,7 @@ namespace Isis { line2 = validPartOfLine.cap(); } else { - IString msg = "$ISISROOT/version line 2, no valid text found"; + IString msg = QString(ISISROOT) + "/version line 2, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } @@ -164,7 +164,7 @@ namespace Isis { line4 = validPartOfLine.cap(); } else { - IString msg = "$ISISROOT/version line 4, no valid text found"; + IString msg = QString(ISISROOT) + "/version line 4, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } diff --git a/isis/src/base/objs/FileName/FileName.h b/isis/src/base/objs/FileName/FileName.h index abfcdfbf42..417632d25f 100644 --- a/isis/src/base/objs/FileName/FileName.h +++ b/isis/src/base/objs/FileName/FileName.h @@ -234,7 +234,7 @@ namespace Isis { * @returns QString *
        *   for a full file specification of:
-       *    "$ISISROOT/tmp/Peaks.cub+Bsq"
+       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
        *   expanded() gives:
        *    "/usgs/pkgs/isis3/isis/tmp/Peaks.cub"
        * 
@@ -248,9 +248,9 @@ namespace Isis { * @returns QString containing every character in the file name and the path *
        *   for a full file specification of:
-       *    "$ISISROOT/tmp/Peaks.cub+Bsq"
+       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
        *   original() gives:
-       *    "$ISISROOT/tmp/Peaks.cub+Bsq"
+       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
        * 
*/ QString original() const; @@ -402,7 +402,7 @@ namespace Isis { * @returns QString *
        *   for a full file specification of:
-       *    "$ISISROOT/tmp/Peaks.cub+Bsq"
+       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
        *   toString() gives:
        *    "/usgs/pkgs/isis3/isis/tmp/Peaks.cub"
        * 
diff --git a/isis/src/base/objs/Gui/Gui.cpp b/isis/src/base/objs/Gui/Gui.cpp index a9436ae8a2..6cb179ac9d 100644 --- a/isis/src/base/objs/Gui/Gui.cpp +++ b/isis/src/base/objs/Gui/Gui.cpp @@ -876,7 +876,7 @@ namespace Isis { // Show help for the current app void Gui::AboutProgram() { Isis::FileName file((QString) - "$ISISROOT/doc/Application/presentation/PrinterFriendly/" + + QString(ISISROOT) + "/doc/Application/presentation/PrinterFriendly/" + Isis::Application::GetUserInterface().ProgramName() + "/" + Isis::Application::GetUserInterface().ProgramName() + diff --git a/isis/src/base/objs/Gui/GuiCubeParameter.cpp b/isis/src/base/objs/Gui/GuiCubeParameter.cpp index 34eca24fad..1c2f7721c2 100644 --- a/isis/src/base/objs/Gui/GuiCubeParameter.cpp +++ b/isis/src/base/objs/Gui/GuiCubeParameter.cpp @@ -152,7 +152,7 @@ namespace Isis { temp.close(); // Open the cube in Qview - QString command = "$ISISROOT/bin/qview " + cubeName + " &"; + QString command = QString(ISISROOT) + "/bin/qview " + cubeName + " &"; ProgramLauncher::RunSystemCommand(command); } // Throw an error if no cube name was entered diff --git a/isis/src/base/objs/IException/unitTest.exclude b/isis/src/base/objs/IException/unitTest.exclude new file mode 100644 index 0000000000..220f4aa98a --- /dev/null +++ b/isis/src/base/objs/IException/unitTest.exclude @@ -0,0 +1 @@ +File diff --git a/isis/src/base/objs/ImportPdsTable/unitTest.cpp b/isis/src/base/objs/ImportPdsTable/unitTest.cpp index f34a8caacd..39eda92fbc 100644 --- a/isis/src/base/objs/ImportPdsTable/unitTest.cpp +++ b/isis/src/base/objs/ImportPdsTable/unitTest.cpp @@ -91,7 +91,7 @@ class ImportPdsTableTester : public ImportPdsTable { */ int main(int argc, char *argv[]) { Isis::Preference::Preferences(true); - Isis::FileName data("$ISISROOT/../src/base/objs/ImportPdsTable/data/"); + Isis::FileName data(QString(ISISROOT) + "/src/base/objs/ImportPdsTable/data/"); QString inputFile = data.expanded() + "VIR_IR_1A_1_332974737_1_HK.LBL"; if (--argc == 1) { inputFile = argv[1]; } diff --git a/isis/src/base/objs/Isis/Isis.h b/isis/src/base/objs/Isis/Isis.h index df6889d3e2..eb0cd853d0 100644 --- a/isis/src/base/objs/Isis/Isis.h +++ b/isis/src/base/objs/Isis/Isis.h @@ -120,10 +120,6 @@ int main(int argc, char *argv[]) { Isis::Application::p_applicationForceGuiApp = true; #endif - // Add the plugin directory so QT looks at the Isis plugin dir - Isis::FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); - QCoreApplication::addLibraryPath(qtpluginpath.expanded()); - Isis::Application *app = new Isis::Application(argc, argv); app->RegisterGuiHelpers(GuiHelpers()); int status = app->Run(APPLICATION); diff --git a/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp b/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp index 9a043a7729..a5770b36fc 100644 --- a/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp +++ b/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp @@ -73,7 +73,7 @@ namespace Isis { p->read("NormModel.plugin"); } else { - p->read("$ISISROOT/lib/NormModel.plugin"); + p->read(QString(ISISROOT) + "/lib/NormModel.plugin"); } // Get the algorithm specific plugin and return it @@ -129,7 +129,7 @@ namespace Isis { p->read("NormModel.plugin"); } else { - p->read("$ISISROOT/lib/NormModel.plugin"); + p->read(QString(ISISROOT) + "/lib/NormModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp b/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp index a550e209e2..082bf1f14a 100644 --- a/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp +++ b/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp @@ -73,7 +73,7 @@ namespace Isis { p->read("PhotoModel.plugin"); } else { - p->read("$ISISROOT/lib/PhotoModel.plugin"); + p->read(QString(ISISROOT) + "/lib/PhotoModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/Plugin/Plugin.cpp b/isis/src/base/objs/Plugin/Plugin.cpp index a36ec5b2c1..a3141aec72 100644 --- a/isis/src/base/objs/Plugin/Plugin.cpp +++ b/isis/src/base/objs/Plugin/Plugin.cpp @@ -69,7 +69,7 @@ namespace Isis { bool loadedOk = lib.load(); if(!loadedOk) { - path = "$ISISROOT/lib/"; + path = QString(ISISROOT) + "/lib/"; libraryFile = path + library; } diff --git a/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp b/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp index 6c527fb2cc..4413a3ed51 100644 --- a/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp +++ b/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp @@ -61,7 +61,7 @@ namespace Isis { p.read("PolygonSeeder.plugin"); } else { - p.read("$ISISROOT/lib/PolygonSeeder.plugin"); + p.read(QString(ISISROOT) + "/lib/PolygonSeeder.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index 7056379210..59ddfc8269 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,11 +115,11 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load("$ISISROOT/TestPreferences"); + p_preference->Load(QString(ISISROOT) + "/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { - p_preference->Load("$ISISROOT/IsisPreferences"); + p_preference->Load(QString(ISISROOT) + "/IsisPreferences"); Isis::FileName userPref("$HOME/.Isis/IsisPreferences"); if(userPref.fileExists()) { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/../src/base/objs/Preference/TestPreferences"); + p_preference->Load(QString(ISISROOT) + "/src/base/objs/Preference/TestPreferences"); } return *p_preference; diff --git a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp index 495b22998b..4862ab6417 100644 --- a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp +++ b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp @@ -53,7 +53,7 @@ namespace Isis { void ProgramLauncher::RunIsisProgram(QString programName, QString parameters) { FileName program(programName); - FileName isisExecutableFileName("$ISISROOT/bin/" + program.name()); + FileName isisExecutableFileName(QString(ISISROOT) + "/bin/" + program.name()); bool isIsisProgram = false; if(isisExecutableFileName.fileExists()) { diff --git a/isis/src/base/objs/ProgramLauncher/unitTest.cpp b/isis/src/base/objs/ProgramLauncher/unitTest.cpp index b4aa17dcaf..0d1ac99a64 100644 --- a/isis/src/base/objs/ProgramLauncher/unitTest.cpp +++ b/isis/src/base/objs/ProgramLauncher/unitTest.cpp @@ -63,7 +63,7 @@ void IsisMain() { cerr << "That is the reason for the OS specific truth files. Please ignore the exit codes." << endl; cerr << endl; try { - ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " + ProgramLauncher::RunSystemCommand(QString(ISISROOT) + "/bin/stats " "from=\\$base/testData/ab102401_ideal.cub -pid=999 " "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); } @@ -77,7 +77,7 @@ void IsisMain() { << endl; cerr << endl; try { - ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " + ProgramLauncher::RunSystemCommand(QString(ISISROOT) + "/bin/stats " "from=unitTest.cub " "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); } diff --git a/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp b/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp index d2b8cc7194..079cf50a66 100644 --- a/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp +++ b/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp @@ -75,7 +75,7 @@ namespace Isis { if (localFile.fileExists()) m_projPlugin.read(localFile.expanded()); - FileName systemFile("$ISISROOT/lib/Projection.plugin"); + FileName systemFile(QString(ISISROOT) + "/lib/Projection.plugin"); if (systemFile.fileExists()) m_projPlugin.read(systemFile.expanded()); } @@ -143,7 +143,7 @@ namespace Isis { if (localFile.fileExists()) m_projPlugin.read(localFile.expanded()); - FileName systemFile("$ISISROOT/lib/Projection.plugin"); + FileName systemFile(QString(ISISROOT) + "/lib/Projection.plugin"); if (systemFile.fileExists()) m_projPlugin.read(systemFile.expanded()); } diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index 46eb7b222b..2b9ea7b032 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -14,8 +14,9 @@ int main(int argc, char *argv[]) { cout << "Unit test for Isis::UserInterface ..." << endl; - QString unitTestXml = Isis::FileName("$ISISROOT/unitTest/isis3_unit_test_UserInterface.xml").expanded(); - QString highpass = Isis::FileName("$ISISROOT/bin/xml/highpass.xml").expanded(); + QString unitTestXml = Isis::FileName(ISISBUILDDIR + "/unitTest/isis3_unit_test_UserInterface.xml").expanded(); + QString highpass = Isis::FileName(ISISBUILDDIR + "/bin/xml/highpass.xml").expanded(); + char *myArgv[15];// = {"unitTest", "from=input.cub", "to=output.cub"}; for (int i = 0; i < 15; i++) @@ -299,7 +300,7 @@ int main(int argc, char *argv[]) { cout << "Testing Invalid Parameter" << endl; try { int myArgc = 0; - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], QString(ISISROOT) + "/src/base/apps/highpass/highpass"); strcpy(myArgv[myArgc++], "bogus=parameter"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); @@ -887,7 +888,7 @@ int main(int argc, char *argv[]) { cout << "Testing -RESTORE with invalid (non-existing) .par file" << endl; try { int myArgc = 0; - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], QString(ISISROOT) + "/src/base/apps/highpass/highpass"); strcpy(myArgv[myArgc++], "-restore=junk.par"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); diff --git a/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp b/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp index c23a4de8d7..2021046f1f 100644 --- a/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp +++ b/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp @@ -62,7 +62,7 @@ namespace Isis { p.read("InterestOperator.plugin"); } else { - p.read("$ISISROOT/lib/InterestOperator.plugin"); + p.read(QString(ISISROOT) + "/lib/InterestOperator.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp b/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp index 3ce1c246a5..7ba7f077a8 100644 --- a/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp +++ b/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp @@ -55,7 +55,7 @@ namespace Isis { CnetEditorWindow::CnetEditorWindow() { // Add the Qt plugin directory to the library path - FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); // For some reason GUI style is not detected correctly by Qt for Isis. diff --git a/isis/src/qisis/apps/qmos/qmos.cpp b/isis/src/qisis/apps/qmos/qmos.cpp index b39bec5ef8..fd34c674cf 100644 --- a/isis/src/qisis/apps/qmos/qmos.cpp +++ b/isis/src/qisis/apps/qmos/qmos.cpp @@ -16,7 +16,7 @@ int main(int argc, char *argv[]) { Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path - FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); QApplication *app = new QIsisApplication(argc, argv); diff --git a/isis/src/qisis/apps/qnet/qnet.cpp b/isis/src/qisis/apps/qnet/qnet.cpp index cdcfe8ae6c..a11f3779a5 100644 --- a/isis/src/qisis/apps/qnet/qnet.cpp +++ b/isis/src/qisis/apps/qnet/qnet.cpp @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) { try { // Add the Qt plugin directory to the library path - FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); diff --git a/isis/src/qisis/apps/qtie/qtie.cpp b/isis/src/qisis/apps/qtie/qtie.cpp index 852a869d11..5c0ff6a860 100644 --- a/isis/src/qisis/apps/qtie/qtie.cpp +++ b/isis/src/qisis/apps/qtie/qtie.cpp @@ -39,7 +39,7 @@ int main(int argc, char *argv[]) { try { // Add the Qt plugin directory to the library path - FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); QApplication *app = new QApplication(argc, argv); diff --git a/isis/src/qisis/apps/qview/qview.cpp b/isis/src/qisis/apps/qview/qview.cpp index 95253f46c5..a503eac05e 100644 --- a/isis/src/qisis/apps/qview/qview.cpp +++ b/isis/src/qisis/apps/qview/qview.cpp @@ -63,7 +63,7 @@ int main(int argc, char *argv[]) { Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path - FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); // Check to see if the user wants to force a new window diff --git a/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp b/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp index 140d2b5fab..f5d7ec129a 100644 --- a/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp +++ b/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp @@ -1659,7 +1659,7 @@ namespace Isis { toString((int)(m_rightMeasure->GetSample())) + "_" + toString((int)(m_rightMeasure->GetLine())) + "_"; QString fname = baseFile + "Search.cub"; - QString command = "$ISISROOT/bin/qview \'" + fname + "\'"; + QString command = QString(ISISROOT) + "/bin/qview \'" + fname + "\'"; m_autoRegFact->RegistrationSearchChip()->Write(fname); fname = baseFile + "Pattern.cub"; command += " \'" + fname + "\'"; diff --git a/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp b/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp index 9efdfb6b49..a26c2c3c41 100644 --- a/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp +++ b/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp @@ -1595,7 +1595,7 @@ namespace Isis { toString((int)(p_rightMeasure->GetSample())) + "_" + toString((int)(p_rightMeasure->GetLine())) + "_"; QString fname = baseFile + "Search.cub"; - QString command = "$ISISROOT/bin/qview \'" + fname + "\'"; + QString command = QString(ISISROOT) + "/bin/qview \'" + fname + "\'"; p_autoRegFact->RegistrationSearchChip()->Write(fname); fname = baseFile + "Pattern.cub"; command += " \'" + fname + "\'"; diff --git a/isis/src/qisis/objs/HelpTool/HelpTool.cpp b/isis/src/qisis/objs/HelpTool/HelpTool.cpp index 63486ef413..5be87d812d 100644 --- a/isis/src/qisis/objs/HelpTool/HelpTool.cpp +++ b/isis/src/qisis/objs/HelpTool/HelpTool.cpp @@ -61,7 +61,7 @@ namespace Isis { */ void HelpTool::aboutProgram() { FileName file( - "$ISISROOT/doc/Application/presentation/PrinterFriendly/" + + QString(ISISROOT) + "/doc/Application/presentation/PrinterFriendly/" + QApplication::applicationName() + "/" + QApplication::applicationName() + ".html"); diff --git a/isis/src/qisis/objs/MatchTool/MatchTool.cpp b/isis/src/qisis/objs/MatchTool/MatchTool.cpp index f7e4622208..7f4a6276ac 100644 --- a/isis/src/qisis/objs/MatchTool/MatchTool.cpp +++ b/isis/src/qisis/objs/MatchTool/MatchTool.cpp @@ -209,7 +209,7 @@ namespace Isis { m_pointEditor->templateFileName()); m_templateFileNameLabel->setToolTip("Sub-pixel registration template File."); // QString patternMatchDoc = -// FileName("$ISISROOT/doc/documents/PatternMatch/PatternMatch.html").fileName(); +// FileName(QString(ISISROOT) + "/doc/documents/PatternMatch/PatternMatch.html").fileName(); // m_templateFileNameLabel->setOpenExternalLinks(true); m_templateFileNameLabel->setWhatsThis("FileName of the sub-pixel " "registration template. Refer to $ISISROOT/doc/documents/" diff --git a/isis/src/qisis/objs/QnetTools/QnetTool.cpp b/isis/src/qisis/objs/QnetTools/QnetTool.cpp index 74be1f6a70..259b55959d 100644 --- a/isis/src/qisis/objs/QnetTools/QnetTool.cpp +++ b/isis/src/qisis/objs/QnetTools/QnetTool.cpp @@ -182,7 +182,7 @@ namespace Isis { m_pointEditor->templateFileName()); m_templateFileNameLabel->setToolTip("Sub-pixel registration template File."); // QString patternMatchDoc = -// FileName("$ISISROOT/doc/documents/PatternMatch/PatternMatch.html").fileName(); +// FileName(QString(ISISROOT) + "/doc/documents/PatternMatch/PatternMatch.html").fileName(); // m_templateFileNameLabel->setOpenExternalLinks(true); m_templateFileNameLabel->setWhatsThis("FileName of the sub-pixel " "registration template. Refer to $ISISROOT/doc/documents/" diff --git a/isis/src/system/apps/isiscomplete/isiscomplete.cpp b/isis/src/system/apps/isiscomplete/isiscomplete.cpp index bc90d0ed81..a879fcb7ab 100644 --- a/isis/src/system/apps/isiscomplete/isiscomplete.cpp +++ b/isis/src/system/apps/isiscomplete/isiscomplete.cpp @@ -64,7 +64,7 @@ void MakeCompletion(const QString &appName) { } if(appName.compare("isisui") == 0) { - QString binPath = FileName("$ISISROOT/bin").expanded(); + QString binPath = FileName(QString(ISISROOT) + "/bin").expanded(); cout << "complete isisui 'n@*@F:" << binPath << "/@'; "; return; } diff --git a/isis/src/viking/apps/vik2isis/vik2isis.cpp b/isis/src/viking/apps/vik2isis/vik2isis.cpp index c1eb241c30..6d26685fb7 100644 --- a/isis/src/viking/apps/vik2isis/vik2isis.cpp +++ b/isis/src/viking/apps/vik2isis/vik2isis.cpp @@ -40,7 +40,7 @@ void IsisMain() { } catch(IException &e) { tempFile = true; - QString command = "$ISISROOT/bin/vdcomp " + in.expanded() + " " + + QString command = QString(ISISROOT) + "/bin/vdcomp " + in.expanded() + " " + temp.expanded() + " > /dev/null 2>&1"; int returnValue = system(command.toLatin1().data()) >> 8; if(returnValue) { diff --git a/isis/src/voyager/apps/voy2isis/voy2isis.cpp b/isis/src/voyager/apps/voy2isis/voy2isis.cpp index 5c6b6002a2..1aab0316e8 100644 --- a/isis/src/voyager/apps/voy2isis/voy2isis.cpp +++ b/isis/src/voyager/apps/voy2isis/voy2isis.cpp @@ -51,7 +51,7 @@ void IsisMain() { QString ext = in.extension().toUpper(); if (ext == "IMQ") { try { - QString command = "$ISISROOT/bin/vdcomp " + in.expanded() + " " + temp.expanded(); + QString command = QString(ISISROOT) + "/bin/vdcomp " + in.expanded() + " " + temp.expanded(); // don't pretend vdcomp is a standard Isis program, just run it ProgramLauncher::RunSystemCommand(command); in = temp.expanded(); -- GitLab From be5504b4ac6b93f6507d5d0be4474818bf95561d Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 00:29:56 -0700 Subject: [PATCH 0047/1212] makeTruth script may not be worth the effort to call the script --- isis/scripts/makeTruth.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 isis/scripts/makeTruth.py diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py new file mode 100644 index 0000000000..28d13f95f5 --- /dev/null +++ b/isis/scripts/makeTruth.py @@ -0,0 +1,11 @@ +''' +Script to create truthData for unitTests. This might be more work +using the scripts then just documenting what you have to do to save +output as Truth +''' + +unitTestExecutable = sys.argv[1] + +unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" + +os.system(unitTestExecutable + ">&" + unitTestName) -- GitLab From 5ddd416f7a9ecc5c2dabef9ce059fe22c8844b87 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 00:33:34 -0700 Subject: [PATCH 0048/1212] missing imports --- isis/scripts/makeTruth.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index 28d13f95f5..07b81b6118 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -4,6 +4,9 @@ using the scripts then just documenting what you have to do to save output as Truth ''' +import sys +import os + unitTestExecutable = sys.argv[1] unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" -- GitLab From fc6e15abe1f37367d158850222fae697257c42ed Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 00:42:32 -0700 Subject: [PATCH 0049/1212] added path --- isis/scripts/makeTruth.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index 07b81b6118..fae87c0293 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -10,5 +10,10 @@ import os unitTestExecutable = sys.argv[1] unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" +# we should probably append the path to the front so it ends up in +# in the same directory as the test +unitTestPath = unitTestExecutable.split("/") +del unitTestPath[-1] +unitTestPath = "/".join(unitTestPath) -os.system(unitTestExecutable + ">&" + unitTestName) +os.system(unitTestExecutable + ">&" + unitTestPath + "/" unitTestName) -- GitLab From b650fa67aa1bef277c505a7b2c4727d409d70215 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Fri, 23 Feb 2018 00:46:05 -0700 Subject: [PATCH 0050/1212] forgot a plus --- isis/scripts/makeTruth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index fae87c0293..5c8aaa26db 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -16,4 +16,4 @@ unitTestPath = unitTestExecutable.split("/") del unitTestPath[-1] unitTestPath = "/".join(unitTestPath) -os.system(unitTestExecutable + ">&" + unitTestPath + "/" unitTestName) +os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) -- GitLab From 0a2f2fbc1ed4127d7afdd6c71bd07a707fc3cb1a Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 16:11:09 -0700 Subject: [PATCH 0051/1212] added app option --- isis/scripts/makeTruth.py | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index fae87c0293..ab732b05ae 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -7,13 +7,29 @@ output as Truth import sys import os -unitTestExecutable = sys.argv[1] +if not os.environ['ISISROOT']: + print("The $ISISROOT variable is not set") + return -unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" -# we should probably append the path to the front so it ends up in -# in the same directory as the test -unitTestPath = unitTestExecutable.split("/") -del unitTestPath[-1] -unitTestPath = "/".join(unitTestPath) +if sys.argv[1].contains("_unit_"): + unitTestExecutable = sys.argv[1] -os.system(unitTestExecutable + ">&" + unitTestPath + "/" unitTestName) + unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" + # we should probably append the path to the front so it ends up in + # in the same directory as the test + unitTestPath = unitTestExecutable.split("/") + del unitTestPath[-1] + unitTestPath = "/".join(unitTestPath) + + os.system(unitTestExecutable + ">&" + unitTestPath + "/" unitTestName) + +else: + builddir = os.environ['ISISROOT'] + apptest = sys.arg[1] + makefilePath = "" + with open(builddir + "/objects/CTestTestfile.cmake") as testFile + for line in testFile: + if apptest in line: + makefilePath = line.split("-P")[1][3:] + break + print(makefilePath) -- GitLab From 87653edc47099b97386b6d140506578d2d595b4b Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 16:24:39 -0700 Subject: [PATCH 0052/1212] changes --- isis/scripts/makeTruth.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index ab732b05ae..998e5fa803 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -9,9 +9,9 @@ import os if not os.environ['ISISROOT']: print("The $ISISROOT variable is not set") - return -if sys.argv[1].contains("_unit_"): + +elif "_unit_" in sys.argv[1]: unitTestExecutable = sys.argv[1] unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" @@ -21,15 +21,15 @@ if sys.argv[1].contains("_unit_"): del unitTestPath[-1] unitTestPath = "/".join(unitTestPath) - os.system(unitTestExecutable + ">&" + unitTestPath + "/" unitTestName) + os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) else: builddir = os.environ['ISISROOT'] - apptest = sys.arg[1] + apptest = sys.argv[1] makefilePath = "" - with open(builddir + "/objects/CTestTestfile.cmake") as testFile + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: if apptest in line: - makefilePath = line.split("-P")[1][3:] + makefilePath = line.split(" ")[1][11:] break print(makefilePath) -- GitLab From 0b0310632dbc417ec317d0ca1cf3a84aa3ea0513 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 16:27:02 -0700 Subject: [PATCH 0053/1212] changes --- isis/scripts/makeTruth.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index 25c8f99ff1..be1e53d5e4 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -30,7 +30,6 @@ else: with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: if apptest in line: - makefilePath = line.split(" ")[1][11:] + makefilePath = line.split("\" \"")[1][11:] break print(makefilePath) - -- GitLab From d17065e35b366f86ead6e26ca0f3ee495f37712f Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 20:25:09 -0700 Subject: [PATCH 0054/1212] added path to src --- isis/scripts/makeTruth.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index be1e53d5e4..31a84d47b8 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -1,7 +1,14 @@ ''' -Script to create truthData for unitTests. This might be more work -using the scripts then just documenting what you have to do to save -output as Truth +Script to create truthData for tests. + +It expects the command in the form of: + python makeTruth.py testName +where testname is the cmake name for the unit or app test + +The unit tests are pretty trivial because +the executable outputs the results of the unitTest to stdout and stderr so we +just redirect the streams to the file named object.truth where object is the +ISIS object being tested ''' import sys @@ -33,3 +40,5 @@ else: makefilePath = line.split("\" \"")[1][11:] break print(makefilePath) + isissrc = makefilePath.split("src")[0] + print(isissrc) -- GitLab From 8e8089ca46a2e1064255e26e8298e22750b691dd Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 20:41:53 -0700 Subject: [PATCH 0055/1212] added cp to specific makefile --- isis/scripts/makeTruth.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index 31a84d47b8..c75a1c512e 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -42,3 +42,5 @@ else: print(makefilePath) isissrc = makefilePath.split("src")[0] print(isissrc) + os.system("cp " + makefilePath + $ISISROOT +"/testOutputDir") + -- GitLab From 809439efadf2e793e2e1ad27a44e2c8a60a39351 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 20:43:31 -0700 Subject: [PATCH 0056/1212] changes --- isis/scripts/makeTruth.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index c75a1c512e..c1449beba9 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -42,5 +42,4 @@ else: print(makefilePath) isissrc = makefilePath.split("src")[0] print(isissrc) - os.system("cp " + makefilePath + $ISISROOT +"/testOutputDir") - + os.system("cp " + makefilePath + builddir +"/testOutputDir") -- GitLab From 7f9c435bafa793b4bf1399dc518466347475fb23 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 20:44:35 -0700 Subject: [PATCH 0057/1212] changes --- isis/scripts/makeTruth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py index c1449beba9..e86f4093a5 100644 --- a/isis/scripts/makeTruth.py +++ b/isis/scripts/makeTruth.py @@ -42,4 +42,4 @@ else: print(makefilePath) isissrc = makefilePath.split("src")[0] print(isissrc) - os.system("cp " + makefilePath + builddir +"/testOutputDir") + os.system("cp " + makefilePath +" "+ builddir +"/testOutputDir") -- GitLab From d2919a92fd3b01b974f78a9e6c821513cd83cf79 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 21:30:06 -0700 Subject: [PATCH 0058/1212] changes --- isis/scripts/makeTruth.py | 45 --------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 isis/scripts/makeTruth.py diff --git a/isis/scripts/makeTruth.py b/isis/scripts/makeTruth.py deleted file mode 100644 index e86f4093a5..0000000000 --- a/isis/scripts/makeTruth.py +++ /dev/null @@ -1,45 +0,0 @@ -''' -Script to create truthData for tests. - -It expects the command in the form of: - python makeTruth.py testName -where testname is the cmake name for the unit or app test - -The unit tests are pretty trivial because -the executable outputs the results of the unitTest to stdout and stderr so we -just redirect the streams to the file named object.truth where object is the -ISIS object being tested -''' - -import sys -import os - -if not os.environ['ISISROOT']: - print("The $ISISROOT variable is not set") - - -elif "_unit_" in sys.argv[1]: - unitTestExecutable = sys.argv[1] - - unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" - # we should probably append the path to the front so it ends up in - # in the same directory as the test - unitTestPath = unitTestExecutable.split("/") - del unitTestPath[-1] - unitTestPath = "/".join(unitTestPath) - - os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) - -else: - builddir = os.environ['ISISROOT'] - apptest = sys.argv[1] - makefilePath = "" - with open(builddir + "/objects/CTestTestfile.cmake") as testFile: - for line in testFile: - if apptest in line: - makefilePath = line.split("\" \"")[1][11:] - break - print(makefilePath) - isissrc = makefilePath.split("src")[0] - print(isissrc) - os.system("cp " + makefilePath +" "+ builddir +"/testOutputDir") -- GitLab From 12a474d95ae6f7d36ac30359064a51ed4acedbfb Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 21:44:33 -0700 Subject: [PATCH 0059/1212] makes more sense to have two scripts one to get and see output and one to actually change truth files --- isis/scripts/makeOutput.py | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 isis/scripts/makeOutput.py diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py new file mode 100644 index 0000000000..ef4723df0e --- /dev/null +++ b/isis/scripts/makeOutput.py @@ -0,0 +1,50 @@ +''' +Script to create truthData for tests. + +It expects the command in the form of: + python makeTruth.py testName +where testname is the cmake name for the unit or app test + +The unit tests are pretty trivial because +the executable outputs the results of the unitTest to stdout and stderr so we +just redirect the streams to the file named object.truth where object is the +ISIS object being tested +''' + +import sys +import os + +if not os.environ['ISISROOT']: + print("The $ISISROOT variable is not set") + + +elif "_unit_" in sys.argv[1]: + unitTestExecutable = sys.argv[1] + + unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" + # we should probably append the path to the front so it ends up in + # in the same directory as the test + unitTestPath = unitTestExecutable.split("/") + del unitTestPath[-1] + unitTestPath = "/".join(unitTestPath) + + os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) + +else: + builddir = os.environ['ISISROOT'] + apptest = sys.argv[1] + makefilePath = "" + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: + for line in testFile: + if apptest in line: + makefilePath = line.split("\" \"")[1][11:] + break + print(makefilePath) + + makefilePath = makefilePath.split("/") + del makefilePath[-1] + makefilePath = "/".join(makefilePath) + + isissrc = makefilePath.split("src")[0] + print(isissrc) + os.system("cd " + makefilePath) -- GitLab From 34fadd3cad03268d33fbd36d0c05267579b25d76 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 21:49:13 -0700 Subject: [PATCH 0060/1212] changes --- isis/scripts/makeOutput.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index ef4723df0e..9be5c5a790 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -44,7 +44,9 @@ else: makefilePath = makefilePath.split("/") del makefilePath[-1] makefilePath = "/".join(makefilePath) + print(makefilePath) isissrc = makefilePath.split("src")[0] print(isissrc) os.system("cd " + makefilePath) + os.system("mkdir test") -- GitLab From b3ae4c5a23bb9cde4d3e6a82e2882005e4d28534 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 21:53:11 -0700 Subject: [PATCH 0061/1212] changes --- isis/scripts/makeOutput.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 9be5c5a790..4a5d7966bb 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -48,5 +48,5 @@ else: isissrc = makefilePath.split("src")[0] print(isissrc) - os.system("cd " + makefilePath) + os.chdir(makefilePath) os.system("mkdir test") -- GitLab From f18264b8946d491c37bad774730af24ebed783cc Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:14:58 -0700 Subject: [PATCH 0062/1212] changes --- isis/scripts/makeOutput.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 4a5d7966bb..2196f26dc7 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -49,4 +49,13 @@ else: isissrc = makefilePath.split("src")[0] print(isissrc) os.chdir(makefilePath) - os.system("mkdir test") + os.system("make checkout") + os.system("make output") + os.system("make truthdata") + os.system("cp truth " + builddir + "/testOutputDir") + + if os.argc == 3: + if os.argv[2] == "truth": + os.system("make checkin") + + os.system("make release") -- GitLab From 50daf6e05da82e0611800cd901c62095a42c3a5b Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:16:23 -0700 Subject: [PATCH 0063/1212] changes --- isis/scripts/makeOutput.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 2196f26dc7..d98b7099c9 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -54,7 +54,7 @@ else: os.system("make truthdata") os.system("cp truth " + builddir + "/testOutputDir") - if os.argc == 3: + if len(os.argv) == 3: if os.argv[2] == "truth": os.system("make checkin") -- GitLab From 221be5962c136c39940192a6be758ee5bafb2619 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:18:55 -0700 Subject: [PATCH 0064/1212] changes --- isis/scripts/makeOutput.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index d98b7099c9..62ad1b3777 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -52,10 +52,11 @@ else: os.system("make checkout") os.system("make output") os.system("make truthdata") - os.system("cp truth " + builddir + "/testOutputDir") + os.system("rm -r " + builddir + "/testOutputDir/truth") + os.system("cp -rf truth " + builddir + "/testOutputDir") - if len(os.argv) == 3: - if os.argv[2] == "truth": + if sys.argc == 3: + if sys.argv[2] == "truth": os.system("make checkin") os.system("make release") -- GitLab From 6946b0715584ccfbbb814dbd211f66525b4ee3af Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:22:00 -0700 Subject: [PATCH 0065/1212] changes --- isis/scripts/makeOutput.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 62ad1b3777..d5f4aad433 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -52,10 +52,10 @@ else: os.system("make checkout") os.system("make output") os.system("make truthdata") - os.system("rm -r " + builddir + "/testOutputDir/truth") - os.system("cp -rf truth " + builddir + "/testOutputDir") + os.system("rm -rf " + builddir + "/testOutputDir/truth") + os.system("cp -r truth " + builddir + "/testOutputDir") - if sys.argc == 3: + if len(sys.argv) == 3: if sys.argv[2] == "truth": os.system("make checkin") -- GitLab From ea80a711541a80012126b2ec87418ac70258ef17 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:28:30 -0700 Subject: [PATCH 0066/1212] changes --- isis/scripts/makeOutput.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index d5f4aad433..569a437772 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -59,4 +59,6 @@ else: if sys.argv[2] == "truth": os.system("make checkin") - os.system("make release") + # doing this instead of make release because make release + # can give feedback to the user that we would rather avoid + os.system("rm -rf input output truth print.prt") -- GitLab From aa36c32dfe167faaffdff388882094764fda2f4d Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:32:44 -0700 Subject: [PATCH 0067/1212] changes --- isis/scripts/makeOutput.py | 1 + 1 file changed, 1 insertion(+) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 569a437772..b4d1301c68 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -58,6 +58,7 @@ else: if len(sys.argv) == 3: if sys.argv[2] == "truth": os.system("make checkin") + print("Checked In Truth Data") # doing this instead of make release because make release # can give feedback to the user that we would rather avoid -- GitLab From 4ac5f2e53796f6865f8cfabf7ec84ffa9c5751d5 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:36:58 -0700 Subject: [PATCH 0068/1212] changes --- isis/scripts/makeOutput.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index b4d1301c68..7b4593fb60 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -44,17 +44,14 @@ else: makefilePath = makefilePath.split("/") del makefilePath[-1] makefilePath = "/".join(makefilePath) - print(makefilePath) - isissrc = makefilePath.split("src")[0] - print(isissrc) os.chdir(makefilePath) os.system("make checkout") os.system("make output") os.system("make truthdata") os.system("rm -rf " + builddir + "/testOutputDir/truth") os.system("cp -r truth " + builddir + "/testOutputDir") - + print("App Test Output In " + builddir + "/testOutputDir/truth) if len(sys.argv) == 3: if sys.argv[2] == "truth": os.system("make checkin") -- GitLab From 1634f067c0cc838f4ab1de1ae7ff790829e6c59e Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:37:38 -0700 Subject: [PATCH 0069/1212] changes --- isis/scripts/makeOutput.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 7b4593fb60..b2739f472e 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -51,7 +51,7 @@ else: os.system("make truthdata") os.system("rm -rf " + builddir + "/testOutputDir/truth") os.system("cp -r truth " + builddir + "/testOutputDir") - print("App Test Output In " + builddir + "/testOutputDir/truth) + print("App Test Output In " + builddir + "/testOutputDir/truth") if len(sys.argv) == 3: if sys.argv[2] == "truth": os.system("make checkin") -- GitLab From a4f092d8d747563fe47048d660bb90a2bab21db0 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:40:04 -0700 Subject: [PATCH 0070/1212] Make Truth for app test now fully functional --- isis/scripts/makeOutput.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index b2739f472e..25497b0801 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -39,12 +39,12 @@ else: if apptest in line: makefilePath = line.split("\" \"")[1][11:] break - print(makefilePath) makefilePath = makefilePath.split("/") del makefilePath[-1] makefilePath = "/".join(makefilePath) + # change dir to test dir and run make commands os.chdir(makefilePath) os.system("make checkout") os.system("make output") @@ -52,6 +52,8 @@ else: os.system("rm -rf " + builddir + "/testOutputDir/truth") os.system("cp -r truth " + builddir + "/testOutputDir") print("App Test Output In " + builddir + "/testOutputDir/truth") + + # check if the user wants data checked in if len(sys.argv) == 3: if sys.argv[2] == "truth": os.system("make checkin") -- GitLab From 0a1244e4dd93be4b4a98c7e0653675564425aaf4 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:55:45 -0700 Subject: [PATCH 0071/1212] changes --- isis/scripts/makeOutput.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 25497b0801..b582f50cba 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -14,10 +14,10 @@ ISIS object being tested import sys import os + if not os.environ['ISISROOT']: print("The $ISISROOT variable is not set") - elif "_unit_" in sys.argv[1]: unitTestExecutable = sys.argv[1] @@ -29,6 +29,19 @@ elif "_unit_" in sys.argv[1]: unitTestPath = "/".join(unitTestPath) os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) + print("App Test Output In " + unitTestPath + " As " + unitTestName) + + if len(sys.argv) == 3: + if sys.argv[2] == "truth": + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: + for line in testFile: + if unitTestName in line: + unitTestPath = line.split("\" \"")[2][13:] + print(unitTestPath) + break + + print("Checked In Truth Data") + else: builddir = os.environ['ISISROOT'] -- GitLab From 75e2f72ed849b4f5665ad2ff2541ed82194906a3 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 22:58:57 -0700 Subject: [PATCH 0072/1212] changes --- isis/scripts/makeOutput.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index b582f50cba..041b31de0d 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -17,8 +17,11 @@ import os if not os.environ['ISISROOT']: print("The $ISISROOT variable is not set") + sys.exit() -elif "_unit_" in sys.argv[1]: +builddir = os.environ['ISISROOT'] + +if "_unit_" in sys.argv[1]: unitTestExecutable = sys.argv[1] unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" @@ -44,7 +47,6 @@ elif "_unit_" in sys.argv[1]: else: - builddir = os.environ['ISISROOT'] apptest = sys.argv[1] makefilePath = "" with open(builddir + "/objects/CTestTestfile.cmake") as testFile: -- GitLab From 00635ffc2798335b8f96aed1d0dc9bf4173080fe Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 23:07:40 -0700 Subject: [PATCH 0073/1212] changes --- isis/scripts/makeOutput.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 041b31de0d..ae336ae598 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -32,18 +32,18 @@ if "_unit_" in sys.argv[1]: unitTestPath = "/".join(unitTestPath) os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) - print("App Test Output In " + unitTestPath + " As " + unitTestName) + print("Unit Test Output In " + unitTestPath + " As " + unitTestName) if len(sys.argv) == 3: if sys.argv[2] == "truth": with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: if unitTestName in line: - unitTestPath = line.split("\" \"")[2][13:] - print(unitTestPath) + unitTestSrcPath = line.split("\" \"")[2][13:] + os.system("cp -f " + unitTestPath/unitTestName + " " + unitTestSrcPath) break - print("Checked In Truth Data") + print("Checked In Truth Data To " + unitTestSrcPath) else: -- GitLab From ebaebf6b7d923818003314d3b0c1cdc5cc272826 Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 23:08:45 -0700 Subject: [PATCH 0074/1212] changes --- isis/scripts/makeOutput.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index ae336ae598..e8855235d2 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -40,7 +40,7 @@ if "_unit_" in sys.argv[1]: for line in testFile: if unitTestName in line: unitTestSrcPath = line.split("\" \"")[2][13:] - os.system("cp -f " + unitTestPath/unitTestName + " " + unitTestSrcPath) + os.system("cp -f " + unitTestPath + "/" + unitTestName + " " + unitTestSrcPath) break print("Checked In Truth Data To " + unitTestSrcPath) -- GitLab From 52886eac0910a37db4acca13e65a96ac0e7efb4c Mon Sep 17 00:00:00 2001 From: Oxez Date: Fri, 23 Feb 2018 23:18:21 -0700 Subject: [PATCH 0075/1212] Make script fully functional --- isis/scripts/makeOutput.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index e8855235d2..2ad25a8093 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -1,14 +1,18 @@ ''' Script to create truthData for tests. -It expects the command in the form of: - python makeTruth.py testName +For output it expects the command in the form of: + python makeOutput.py testName where testname is the cmake name for the unit or app test -The unit tests are pretty trivial because -the executable outputs the results of the unitTest to stdout and stderr so we -just redirect the streams to the file named object.truth where object is the -ISIS object being tested +To check in truth data the command should be in the form of: + python makeOutput.py testName truth + +The unit tests are pretty trivial because the executable outputs the results of +the unitTest to stdout and stderr so we just redirect the streams to the file \ +named object.truth where object is the ISIS object being tested. + +The app tests output has to rely on the old make system because the app test do ''' import sys -- GitLab From 58bce8f51d65f19003061cb1a18500a15bc11ff2 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 11:27:24 -0700 Subject: [PATCH 0076/1212] CMake no longer copies xmls during build time, now symlinks during test time --- isis/cmake/AddIsisModule.cmake | 7 ------- isis/cmake/RunUnitTest.cmake | 20 +++++++++++--------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 22ceec74a6..e62f4ba9a7 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -82,13 +82,6 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) # Generate a name for the executable set(executableName "${moduleName}_unit_test_${filename}") - # check for the existance of a unitTest.xml as they need - # to be copies over to somehwere the unitTest can access. - set(test_xml "${folder}/unitTest.xml") - if(EXISTS "${test_xml}") - configure_file("${test_xml}" "${CMAKE_BINARY_DIR}/unitTest/${executableName}.xml" COPYONLY) - endif() - # Create the executable and link it to the module library add_executable( ${executableName} ${testFile}) set(depLibs "${reqLibs};${matchedLibs}") diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 9309ab95ef..64b92a316b 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -24,16 +24,18 @@ get_filename_component(truthFolder ${TRUTH_FILE} DIRECTORY) get_filename_component(binFolder ${TEST_PROG} DIRECTORY) get_filename_component(binName ${TEST_PROG} NAME) -set(tempDir ${binFolder}/${binName}_temp) -set(tempLink ${tempDir}/unitTest) -execute_process(COMMAND rm -rf ${tempDir}) -execute_process(COMMAND mkdir -p ${tempDir}) execute_process(COMMAND ln -s ${TEST_PROG} ${tempLink}) -execute_process(COMMAND ln -s ${truthFolder}/unitTest.xml ${tempDir}/unitTest.xml) +execute_process(COMMAND ln -s ${truthFolder}/unitTest.xml ${truthFolder}/${binName}.xml) + +message("TEMP DIR: ${tempDir}") +message("Bin Name: ${binName}") +message("Bin Folder: ${binFolder}") +message("TEST_PROG: ${TEST_PROG}") +message("tempLink: " ${tempLink}) +message("truthFolder" ${truthFolder}) # Run the unit test executable and pipe the output to a text file. -#execute_process(COMMAND ${TEST_PROG} -execute_process(COMMAND ${tempLink} +execute_process(COMMAND ${TEST_PROG} WORKING_DIRECTORY ${truthFolder} OUTPUT_FILE ${outputFile} ERROR_FILE ${outputFile} @@ -69,8 +71,8 @@ if(DIFFERENT) message(FATAL_ERROR "Test failed - files differ") # On error the result file is left around to aid in debugging. else() - file(REMOVE ${outputFile}) # On success, clean out the result file. + # file(REMOVE ${outputFile}) # On success, clean out the result file. endif() # Clean up our temporary folder -execute_process(COMMAND rm -f ${tempDir}) +execute_process(COMMAND rm -f ${truthFolder}/${binName}.xml) -- GitLab From 2ae0a01af0a006fdd1a1d04c32fac045aab9f270 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 11:29:29 -0700 Subject: [PATCH 0077/1212] undo ISISROOT change --- .../apps/autoregtemplate/autoregtemplate.cpp | 2 +- .../base/apps/isisminer/StrategyFactory.cpp | 312 +++++++++--------- .../src/base/objs/Application/Application.cpp | 2 +- .../AtmosModelFactory/AtmosModelFactory.cpp | 2 +- .../objs/AutoRegFactory/AutoRegFactory.cpp | 2 +- .../base/objs/CameraFactory/CameraFactory.cpp | 2 +- isis/src/base/objs/Cube/Cube.cpp | 2 +- .../src/base/objs/Environment/Environment.cpp | 8 +- isis/src/base/objs/Gui/Gui.cpp | 2 +- isis/src/base/objs/Gui/GuiCubeParameter.cpp | 2 +- .../src/base/objs/ImportPdsTable/unitTest.cpp | 2 +- .../NormModelFactory/NormModelFactory.cpp | 4 +- .../PhotoModelFactory/PhotoModelFactory.cpp | 2 +- isis/src/base/objs/Plugin/Plugin.cpp | 2 +- .../PolygonSeederFactory.cpp | 2 +- isis/src/base/objs/Preference/Preference.cpp | 6 +- .../objs/ProgramLauncher/ProgramLauncher.cpp | 2 +- .../base/objs/ProgramLauncher/unitTest.cpp | 4 +- .../ProjectionFactory/ProjectionFactory.cpp | 4 +- isis/src/base/objs/UserInterface/unitTest.cpp | 4 +- .../InterestOperatorFactory.cpp | 2 +- .../apps/cneteditor/CnetEditorWindow.cpp | 2 +- isis/src/qisis/apps/qmos/qmos.cpp | 2 +- isis/src/qisis/apps/qnet/qnet.cpp | 2 +- isis/src/qisis/apps/qtie/qtie.cpp | 2 +- isis/src/qisis/apps/qview/qview.cpp | 2 +- .../ControlMeasureEditWidget.cpp | 2 +- .../ControlPointEdit/ControlPointEdit.cpp | 2 +- isis/src/qisis/objs/HelpTool/HelpTool.cpp | 2 +- isis/src/qisis/objs/MatchTool/MatchTool.cpp | 2 +- isis/src/qisis/objs/QnetTools/QnetTool.cpp | 2 +- .../system/apps/isiscomplete/isiscomplete.cpp | 2 +- isis/src/viking/apps/vik2isis/vik2isis.cpp | 2 +- isis/src/voyager/apps/voy2isis/voy2isis.cpp | 2 +- 34 files changed, 198 insertions(+), 198 deletions(-) diff --git a/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp b/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp index b1184c4e0a..4ce21f69c6 100644 --- a/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp +++ b/isis/src/base/apps/autoregtemplate/autoregtemplate.cpp @@ -11,7 +11,7 @@ void IsisMain() { // Get user interface UserInterface &ui = Application::GetUserInterface(); - Pvl algos(QString(ISISROOT) + "/lib/AutoReg.plugin"); + Pvl algos("$ISISROOT/lib/AutoReg.plugin"); Pvl p; // Begin creating the mapping group diff --git a/isis/src/base/apps/isisminer/StrategyFactory.cpp b/isis/src/base/apps/isisminer/StrategyFactory.cpp index 568cbaa996..3c172e0f97 100644 --- a/isis/src/base/apps/isisminer/StrategyFactory.cpp +++ b/isis/src/base/apps/isisminer/StrategyFactory.cpp @@ -1,26 +1,26 @@ -/** - * @file +/** + * @file * $Revision: 6513 $ * $Date: 2016-01-14 16:04:44 -0700 (Thu, 14 Jan 2016) $ * $Id: StrategyFactory.cpp 6513 2016-01-14 23:04:44Z kbecker@GS.DOI.NET $ - * - * Unless noted otherwise, the portions of Isis written by the USGS are - * public domain. See individual third-party library and package descriptions - * for intellectual property information, user agreements, and related - * information. - * - * Although Isis has been used by the USGS, no warranty, expressed or - * implied, is made by the USGS as to the accuracy and functioning of such - * software and related material nor shall the fact of distribution + * + * Unless noted otherwise, the portions of Isis written by the USGS are + * public domain. See individual third-party library and package descriptions + * for intellectual property information, user agreements, and related + * information. + * + * Although Isis has been used by the USGS, no warranty, expressed or + * implied, is made by the USGS as to the accuracy and functioning of such + * software and related material nor shall the fact of distribution * constitute any such warranty, and no responsibility is assumed by the - * USGS in connection therewith. - * - * For additional information, launch - * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html + * USGS in connection therewith. + * + * For additional information, launch + * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html * in a browser or see the Privacy & Disclaimers page on the Isis website, * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on - * http://www.usgs.gov/privacy.html. - */ + * http://www.usgs.gov/privacy.html. + */ #include "StrategyFactory.h" // Qt library @@ -66,17 +66,17 @@ using namespace std; namespace Isis { /** - * A static instance of the strategy factory class. It is initialized to NULL - * and instantiated when the instance() method is called. + * A static instance of the strategy factory class. It is initialized to NULL + * and instantiated when the instance() method is called. */ StrategyFactory *StrategyFactory::m_strategymaker = 0; - - - /** - * Private default constructor so that this class is only instatiated through - * the instance() method. This ensures that only a singleton object is - * constructed. - */ + + + /** + * Private default constructor so that this class is only instatiated through + * the instance() method. This ensures that only a singleton object is + * constructed. + */ StrategyFactory::StrategyFactory() { // This ensures this singleton is shut down when the application exists, // so the GEOS system can be shut down cleanly. @@ -84,38 +84,38 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; m_numberMade = 0; return; } - - - /** + + + /** * Destroys the StrategyFactory object. - */ - StrategyFactory::~StrategyFactory() { + */ + StrategyFactory::~StrategyFactory() { } - - - /** - * Gets the singleton instance of this class. If it has not been instantiated - * yet, the default constructor is called. - * + + + /** + * Gets the singleton instance of this class. If it has not been instantiated + * yet, the default constructor is called. + * * @return StrategyFactory A pointer to the StrategyFactory singleton object. - */ - StrategyFactory *StrategyFactory::instance() { + */ + StrategyFactory *StrategyFactory::instance() { if (!m_strategymaker) { m_strategymaker = new StrategyFactory(); } return (m_strategymaker); } - - + + /** - * @brief Add a shared resource to global parameter list - * - * Users can add to an internal list of global resource keywords that will be - * provide to every Strategy created by this factory. This provides a consistent - * base of keyword substitutions when strategies apply() functions are called. - * + * @brief Add a shared resource to global parameter list + * + * Users can add to an internal list of global resource keywords that will be + * provide to every Strategy created by this factory. This provides a consistent + * base of keyword substitutions when strategies apply() functions are called. + * * @author 2015-05-08 Kris Becker - * + * * @param global Shared global resource for parameter substitution */ void StrategyFactory::addGlobal(SharedResource &global) { @@ -124,13 +124,13 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; } /** - * @brief Return list of current global parameters - * - * The list returned by this method will be used to create new strategies - * providing a consistent approach to keyword parameter substitution. - * + * @brief Return list of current global parameters + * + * The list returned by this method will be used to create new strategies + * providing a consistent approach to keyword parameter substitution. + * * @author 2015-05-08 Kris Becker - * + * * @return ResourceList List of global parameters */ const ResourceList &StrategyFactory::getGlobals() const { @@ -151,22 +151,22 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; return (create(definition, getGlobals())); } - /** - * Uses the given configuration file and global resource of keywords to build - * a list of Strategy objects. The configuration file should be in PVL format - * with an object named "IsisMiner" that contains the configuration for the - * Strategy objects to be constructed. The IsisMiner PVL is pulled from the - * file and buildRun(PvlObject, SharedResource) is called. + /** + * Uses the given configuration file and global resource of keywords to build + * a list of Strategy objects. The configuration file should be in PVL format + * with an object named "IsisMiner" that contains the configuration for the + * Strategy objects to be constructed. The IsisMiner PVL is pulled from the + * file and buildRun(PvlObject, SharedResource) is called. * - * Below is an example of an IsisMiner PVL that, when passed into buildRun(), - * will create a StrategyList of size 2: + * Below is an example of an IsisMiner PVL that, when passed into buildRun(), + * will create a StrategyList of size 2: * @code * * Object = IsisMiner - * + * * Name = StrategyBuilder * ParametersRequired = ( inputdir, outputdir ) - * + * * Object = Strategy * Name = TestWithIdentity * Type = CnetReader @@ -176,7 +176,7 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; * IdentityArgs = (PointId) * Description = "Test the default functionality of CnetReader" * EndObject - * + * * Object=Strategy * Name = WriteCsvTest1 * Type = CsvWriter @@ -184,7 +184,7 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; * CsvFileArgs = "outputdir" * Mode = Create * Header = True - * + * * # Write all input fields as read in as noop should match exactly * Keywords = (ChooserName, Created, DateTime, Description, * LastModified, Line, MeasureType,NetworkId, PointId, @@ -197,45 +197,45 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; * * @endcode * - * @param configFile The name of the configuration file containing the + * @param configFile The name of the configuration file containing the * IsisMiner PvlObject with configuration information * needed to construct each of the Strategy objects. * @param globals List of global keywords to use in argument substitutions - * - * @return StrategyList The list of Strategy objects created from the + * + * @return StrategyList The list of Strategy objects created from the * given configuration and resource. - * @throw IException::User "Strategy config file does not contain + * @throw IException::User "Strategy config file does not contain * IsisMiner strategies object." - */ + */ StrategyList StrategyFactory::buildRun(const QString &configFile, const ResourceList &globals) const { Pvl pvl(configFile); if (!pvl.hasObject("IsisMiner") ) { - throw IException(IException::User, - "Strategy config file [" + configFile + + throw IException(IException::User, + "Strategy config file [" + configFile + "] does not contain IsisMiner strategies object.", _FILEINFO_); } return (buildRun(pvl.findObject("IsisMiner"), globals)); } - - - /** - * Uses the given PVL configuration object and global resource of keywords to - * build a list of Strategy objects. For each Strategy object to be created, - * the PVL configuration object must contain a PVL object named "Strategy." - * This method is called by the buildRun(QString, SharedResource) method. + + + /** + * Uses the given PVL configuration object and global resource of keywords to + * build a list of Strategy objects. For each Strategy object to be created, + * the PVL configuration object must contain a PVL object named "Strategy." + * This method is called by the buildRun(QString, SharedResource) method. * * @see buildRun(QString, SharedResource) * - * @param config A PVL object containing the configuration needed for + * @param config A PVL object containing the configuration needed for * constructing each Strategy object. * @param globals List of global keywords to use in argument substitutions - * - * @return StrategyList The list of Strategy objects created from the + * + * @return StrategyList The list of Strategy objects created from the * given configuration and resource. - */ + */ StrategyList StrategyFactory::buildRun(const PvlObject &config, const ResourceList &globals) const { @@ -249,23 +249,23 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; } return (slist); } - - + + /** - * Constructs a Strategy object from the given PVL definition object and - * global resource of keywords. If the PVL does not contain a valid - * configuration for a known Strategy, then an exception is thrown. Each time - * this method is successfully invoked, the number of manufactured Strategy - * objects increments. + * Constructs a Strategy object from the given PVL definition object and + * global resource of keywords. If the PVL does not contain a valid + * configuration for a known Strategy, then an exception is thrown. Each time + * this method is successfully invoked, the number of manufactured Strategy + * objects increments. * - * @param definition A PVL object containing the configuration needed to + * @param definition A PVL object containing the configuration needed to * construct the Strategy object. * @param globals List of global keywords to use in argument substitutions - * - * @return Strategy* A pointer to the Strategy constructed from the + * + * @return Strategy* A pointer to the Strategy constructed from the * given definition and globals. * @throw IException::User "Could not find a strategy for type." - */ + */ Strategy *StrategyFactory::create(const PvlObject &definition, const ResourceList &globals) const { Strategy *strategy = findStrategy(definition, globals); @@ -273,41 +273,41 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; QString sname("UNKNOWN"), stype("UNKNOWN"); if ( definition.hasKeyword("Name") ) { sname = definition["Name"][0]; } if ( definition.hasKeyword("Type") ) { stype = definition["Type"][0]; } - QString mess = "Could not create a " + sname + + QString mess = "Could not create a " + sname + " strategy for type [" + stype + "]."; throw IException(IException::User, mess, _FILEINFO_); } m_numberMade++; return (strategy); } - - + + /** * Gets the number of Strategy objects that have been manufactured. * * @return int The number of Strategy objects constructed by this factory. - */ + */ int StrategyFactory::manufactured() const { return (m_numberMade); } - + /** - * @brief Check that required user parameters are provided in resource list - * - * This method will look for a keyword called RequiredParameter in the provided - * container. If it exists, it will check the provided resource list (assumed - * to be globals) for existance. If any don't exist, an exception is thrown - * reporting the missing parameters. - * + * @brief Check that required user parameters are provided in resource list + * + * This method will look for a keyword called RequiredParameter in the provided + * container. If it exists, it will check the provided resource list (assumed + * to be globals) for existance. If any don't exist, an exception is thrown + * reporting the missing parameters. + * * @author 2015-06-04 Kris Becker - * - * @param conf PvlContainer to look for RequiredParameters keyword and + * + * @param conf PvlContainer to look for RequiredParameters keyword and * validate existance in parameters list. - * @param parameters List of parameters resources to search for keywords that + * @param parameters List of parameters resources to search for keywords that * must be provided by users. */ - void StrategyFactory::validateUserParameters(const PvlContainer &conf, - const ResourceList ¶meters) + void StrategyFactory::validateUserParameters(const PvlContainer &conf, + const ResourceList ¶meters) const { if ( conf.hasKeyword("RequiredParameters") ) { @@ -328,7 +328,7 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; if ( !missing.isEmpty() ) { QString mess = "Users of this configuration must provide the " - "following parameter(s) but they were not found: " + + "following parameter(s) but they were not found: " + missing.join(", "); throw IException(IException::User, mess, _FILEINFO_); } @@ -336,34 +336,34 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; return; } - - /** - * Attempts to construct a Strategy from the known Strategy classes using the - * given information in the PVL definition object and the given global - * resource of keywords. The Strategy type is pulled from the definition file - * and compared to the known Strategy types. If found, this method attempts to - * construct the corresponding Strategy object from the definition and - * globals. + + /** + * Attempts to construct a Strategy from the known Strategy classes using the + * given information in the PVL definition object and the given global + * resource of keywords. The Strategy type is pulled from the definition file + * and compared to the known Strategy types. If found, this method attempts to + * construct the corresponding Strategy object from the definition and + * globals. * - * @param definition A PVL object containing the configuration needed to + * @param definition A PVL object containing the configuration needed to * construct the Strategy object. * @param globals A shared pointer to the global resource of keywords used * to construct the Strategy object. - * - * @return Strategy* A pointer to the Strategy constructed from the + * + * @return Strategy* A pointer to the Strategy constructed from the * given definition and globals. - */ - Strategy *StrategyFactory::findStrategy(const PvlObject &definition, + */ + Strategy *StrategyFactory::findStrategy(const PvlObject &definition, const ResourceList &globals) const { QString stype; try { - stype = definition["Type"][0].toLower(); + stype = definition["Type"][0].toLower(); } catch (IException &ie) { QString sname("UNKNOWN"); if ( definition.hasKeyword("Name") ) { sname = definition["Name"][0]; } - QString mess = "Strategy Type does not exist in configuration for " + + QString mess = "Strategy Type does not exist in configuration for " + sname + " strategy!"; throw IException(ie, IException::User, mess, _FILEINFO_); } @@ -444,54 +444,54 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; } /** - * @brief Create a strategy from an external plugin library - * - * This method will take the plugin group definition and load the strategy from - * an external library implemented as a plugin. The definition has the basic - * qualifications: - * - * @code + * @brief Create a strategy from an external plugin library + * + * This method will take the plugin group definition and load the strategy from + * an external library implemented as a plugin. The definition has the basic + * qualifications: + * + * @code * Group = Plugin * StrategyPluginPath=("../../plugin/src/RunCommandStrategy","plugin/src/RunCommandStrategy", * "/Users/kbecker/IsisDevelopment/MissionSWPush/DeveloperSubmissions/isis/src/base/apps/isisminer/plugin/src/RunCommandStrategy") * Library = RunCommandStrategy * Routine = RunCommandStrategyPlugin * EndGroup - * @endcode - * - * In the above definition, the StrategyPluginPath is added to the search path - * for finding shared plugin libraries specfified in the Library keyword. The - * Routine keyword contains the name of the routine implemented to construct and - * return a Stategy algorith. The Routine must be declared callable via an + * @endcode + * + * In the above definition, the StrategyPluginPath is added to the search path + * for finding shared plugin libraries specfified in the Library keyword. The + * Routine keyword contains the name of the routine implemented to construct and + * return a Stategy algorith. The Routine must be declared callable via an * extern reference. Here is an example implementation found in * RunCommandStrategy.cpp: - * + * * @code * extern "C" Isis::Strategy *RunCommandStrategyPlugin(const Isis::PvlObject * &definition,const Isis::ResourceList &globals) { * return new Isis::RunCommandStrategy(definition, globals); * } - * @endcode -* + * @endcode +* * The Strategy algorithm can be implemented just like any other Strategy be * inheriting the Strategy class. Note that when the library is loaded attempts * are made to load all the symbols before the Routine is called to instantiate * the Strategy. - * + * * @author 2015-05-08 Kris Becker - * + * * @param plugindef PvlGroup container of plugin definition - * @param definition PvlObject definition of strategy that is implemented in the + * @param definition PvlObject definition of strategy that is implemented in the * plugin * @param globals List of global keywords to use in argument substitutions - * + * * @return Strategy* Pointer to strategy invoked from the plugin */ - Strategy *StrategyFactory::loadStrategyPlugin(const PvlContainer &plugindef, + Strategy *StrategyFactory::loadStrategyPlugin(const PvlContainer &plugindef, const PvlObject &definition, const ResourceList &globals) const { - PvlFlatMap pluginkeys(plugindef); + PvlFlatMap pluginkeys(plugindef); Strategy *strategy(0); try { // Create a list of plugin paths starting with no path and local directory first @@ -507,8 +507,8 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; } // Append the ISIS library path - if ( !dirlist.contains(QString(ISISROOT) + "/lib") ) { - dirlist.push_back(QString(ISISROOT) + "/lib"); + if ( !dirlist.contains("$ISISROOT/lib") ) { + dirlist.push_back("$ISISROOT/lib"); } // Attempt to load the library @@ -554,13 +554,13 @@ StrategyFactory *StrategyFactory::m_strategymaker = 0; /** * @brief Exit termination routine * - * This (static) method ensure this object is destroyed when Qt exits. + * This (static) method ensure this object is destroyed when Qt exits. * * Note that it is error to add this to the system _atexit() routine because * this object utilizes Qt classes. At the time the atexit call stack is - * executed, Qt is long gone resulting in Very Bad Things. Fortunately, Qt - * has an exit stack function as well. This method is added to the Qt exit - * call stack. + * executed, Qt is long gone resulting in Very Bad Things. Fortunately, Qt + * has an exit stack function as well. This method is added to the Qt exit + * call stack. */ void StrategyFactory::dieAtExit() { delete m_strategymaker; diff --git a/isis/src/base/objs/Application/Application.cpp b/isis/src/base/objs/Application/Application.cpp index c40614467b..1e32f38704 100644 --- a/isis/src/base/objs/Application/Application.cpp +++ b/isis/src/base/objs/Application/Application.cpp @@ -124,7 +124,7 @@ namespace Isis { Preference::Preferences(f.name() == "unitTest.xml"); if (!f.fileExists()) { - f = QString(ISISROOT) + "/bin/xml/" + f.name(); + f = "$ISISROOT/bin/xml/" + f.name(); if (!f.fileExists()) { QString message = Message::FileOpen(f.expanded()); throw IException(IException::Io, message, _FILEINFO_); diff --git a/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp b/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp index e59a296639..457798556b 100644 --- a/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp +++ b/isis/src/base/objs/AtmosModelFactory/AtmosModelFactory.cpp @@ -83,7 +83,7 @@ namespace Isis { p->read("AtmosModel.plugin"); } else { - p->read(QString(ISISROOT) + "/lib/AtmosModel.plugin"); + p->read("$ISISROOT/lib/AtmosModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp b/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp index 2a0ff3f332..f2640197e2 100644 --- a/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp +++ b/isis/src/base/objs/AutoRegFactory/AutoRegFactory.cpp @@ -70,7 +70,7 @@ namespace Isis { p.read("AutoReg.plugin"); } else { - p.read(QString(ISISROOT) + "/lib/AutoReg.plugin"); + p.read("$ISISROOT/lib/AutoReg.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/CameraFactory/CameraFactory.cpp b/isis/src/base/objs/CameraFactory/CameraFactory.cpp index d6bf74079d..a40bf25881 100644 --- a/isis/src/base/objs/CameraFactory/CameraFactory.cpp +++ b/isis/src/base/objs/CameraFactory/CameraFactory.cpp @@ -110,7 +110,7 @@ namespace Isis { if (localFile.fileExists()) m_cameraPlugin.read(localFile.expanded()); - FileName systemFile(QString(ISISROOT) + "/lib/Camera.plugin"); + FileName systemFile("$ISISROOT/lib/Camera.plugin"); if (systemFile.fileExists()) m_cameraPlugin.read(systemFile.expanded()); } diff --git a/isis/src/base/objs/Cube/Cube.cpp b/isis/src/base/objs/Cube/Cube.cpp index 7456c9dab6..1079e499ee 100644 --- a/isis/src/base/objs/Cube/Cube.cpp +++ b/isis/src/base/objs/Cube/Cube.cpp @@ -2106,7 +2106,7 @@ namespace Isis { parameters += " to=" + tempCube.expanded(); if (iApp == NULL) { - QString command = QString(ISISROOT) + "/bin/pds2isis " + parameters; + QString command = "$ISISROOT/bin/pds2isis " + parameters; ProgramLauncher::RunSystemCommand(command); } else { diff --git a/isis/src/base/objs/Environment/Environment.cpp b/isis/src/base/objs/Environment/Environment.cpp index 06cab9f5ad..b0d5726d75 100644 --- a/isis/src/base/objs/Environment/Environment.cpp +++ b/isis/src/base/objs/Environment/Environment.cpp @@ -136,7 +136,7 @@ namespace Isis { * @returns the Isis version in the format isis?.?.?.?qualifier | date */ QString Environment::isisVersion() { - TextFile versionFile(QString(ISISROOT) + "/version"); + TextFile versionFile("$ISISROOT/version"); QString line1, line2, line3, line4; versionFile.GetLine(line1); versionFile.GetLine(line2); @@ -148,7 +148,7 @@ namespace Isis { line1 = validPartOfLine.cap(); } else { - IString msg = QString(ISISROOT) + "/version line 1, no valid text found"; + IString msg = "$ISISROOT/version line 1, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } @@ -156,7 +156,7 @@ namespace Isis { line2 = validPartOfLine.cap(); } else { - IString msg = QString(ISISROOT) + "/version line 2, no valid text found"; + IString msg = "$ISISROOT/version line 2, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } @@ -164,7 +164,7 @@ namespace Isis { line4 = validPartOfLine.cap(); } else { - IString msg = QString(ISISROOT) + "/version line 4, no valid text found"; + IString msg = "$ISISROOT/version line 4, no valid text found"; throw IException(IException::Programmer, msg, _FILEINFO_); } diff --git a/isis/src/base/objs/Gui/Gui.cpp b/isis/src/base/objs/Gui/Gui.cpp index 6cb179ac9d..a9436ae8a2 100644 --- a/isis/src/base/objs/Gui/Gui.cpp +++ b/isis/src/base/objs/Gui/Gui.cpp @@ -876,7 +876,7 @@ namespace Isis { // Show help for the current app void Gui::AboutProgram() { Isis::FileName file((QString) - QString(ISISROOT) + "/doc/Application/presentation/PrinterFriendly/" + + "$ISISROOT/doc/Application/presentation/PrinterFriendly/" + Isis::Application::GetUserInterface().ProgramName() + "/" + Isis::Application::GetUserInterface().ProgramName() + diff --git a/isis/src/base/objs/Gui/GuiCubeParameter.cpp b/isis/src/base/objs/Gui/GuiCubeParameter.cpp index 1c2f7721c2..34eca24fad 100644 --- a/isis/src/base/objs/Gui/GuiCubeParameter.cpp +++ b/isis/src/base/objs/Gui/GuiCubeParameter.cpp @@ -152,7 +152,7 @@ namespace Isis { temp.close(); // Open the cube in Qview - QString command = QString(ISISROOT) + "/bin/qview " + cubeName + " &"; + QString command = "$ISISROOT/bin/qview " + cubeName + " &"; ProgramLauncher::RunSystemCommand(command); } // Throw an error if no cube name was entered diff --git a/isis/src/base/objs/ImportPdsTable/unitTest.cpp b/isis/src/base/objs/ImportPdsTable/unitTest.cpp index 39eda92fbc..968692d13e 100644 --- a/isis/src/base/objs/ImportPdsTable/unitTest.cpp +++ b/isis/src/base/objs/ImportPdsTable/unitTest.cpp @@ -91,7 +91,7 @@ class ImportPdsTableTester : public ImportPdsTable { */ int main(int argc, char *argv[]) { Isis::Preference::Preferences(true); - Isis::FileName data(QString(ISISROOT) + "/src/base/objs/ImportPdsTable/data/"); + Isis::FileName data("$ISISROOT/src/base/objs/ImportPdsTable/data/"); QString inputFile = data.expanded() + "VIR_IR_1A_1_332974737_1_HK.LBL"; if (--argc == 1) { inputFile = argv[1]; } diff --git a/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp b/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp index a5770b36fc..9a043a7729 100644 --- a/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp +++ b/isis/src/base/objs/NormModelFactory/NormModelFactory.cpp @@ -73,7 +73,7 @@ namespace Isis { p->read("NormModel.plugin"); } else { - p->read(QString(ISISROOT) + "/lib/NormModel.plugin"); + p->read("$ISISROOT/lib/NormModel.plugin"); } // Get the algorithm specific plugin and return it @@ -129,7 +129,7 @@ namespace Isis { p->read("NormModel.plugin"); } else { - p->read(QString(ISISROOT) + "/lib/NormModel.plugin"); + p->read("$ISISROOT/lib/NormModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp b/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp index 082bf1f14a..a550e209e2 100644 --- a/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp +++ b/isis/src/base/objs/PhotoModelFactory/PhotoModelFactory.cpp @@ -73,7 +73,7 @@ namespace Isis { p->read("PhotoModel.plugin"); } else { - p->read(QString(ISISROOT) + "/lib/PhotoModel.plugin"); + p->read("$ISISROOT/lib/PhotoModel.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/Plugin/Plugin.cpp b/isis/src/base/objs/Plugin/Plugin.cpp index a3141aec72..a36ec5b2c1 100644 --- a/isis/src/base/objs/Plugin/Plugin.cpp +++ b/isis/src/base/objs/Plugin/Plugin.cpp @@ -69,7 +69,7 @@ namespace Isis { bool loadedOk = lib.load(); if(!loadedOk) { - path = QString(ISISROOT) + "/lib/"; + path = "$ISISROOT/lib/"; libraryFile = path + library; } diff --git a/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp b/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp index 4413a3ed51..6c527fb2cc 100644 --- a/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp +++ b/isis/src/base/objs/PolygonSeederFactory/PolygonSeederFactory.cpp @@ -61,7 +61,7 @@ namespace Isis { p.read("PolygonSeeder.plugin"); } else { - p.read(QString(ISISROOT) + "/lib/PolygonSeeder.plugin"); + p.read("$ISISROOT/lib/PolygonSeeder.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index 59ddfc8269..26566c2372 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -115,11 +115,11 @@ namespace Isis { // If its a unitTest then load with the unitTest preference file if(unitTest) { - p_preference->Load(QString(ISISROOT) + "/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } // Otherwise load the Isis system and personal preferences. else { - p_preference->Load(QString(ISISROOT) + "/IsisPreferences"); + p_preference->Load("$ISISROOT/IsisPreferences"); Isis::FileName userPref("$HOME/.Isis/IsisPreferences"); if(userPref.fileExists()) { @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load(QString(ISISROOT) + "/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); } return *p_preference; diff --git a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp index 4862ab6417..495b22998b 100644 --- a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp +++ b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.cpp @@ -53,7 +53,7 @@ namespace Isis { void ProgramLauncher::RunIsisProgram(QString programName, QString parameters) { FileName program(programName); - FileName isisExecutableFileName(QString(ISISROOT) + "/bin/" + program.name()); + FileName isisExecutableFileName("$ISISROOT/bin/" + program.name()); bool isIsisProgram = false; if(isisExecutableFileName.fileExists()) { diff --git a/isis/src/base/objs/ProgramLauncher/unitTest.cpp b/isis/src/base/objs/ProgramLauncher/unitTest.cpp index 0d1ac99a64..b4aa17dcaf 100644 --- a/isis/src/base/objs/ProgramLauncher/unitTest.cpp +++ b/isis/src/base/objs/ProgramLauncher/unitTest.cpp @@ -63,7 +63,7 @@ void IsisMain() { cerr << "That is the reason for the OS specific truth files. Please ignore the exit codes." << endl; cerr << endl; try { - ProgramLauncher::RunSystemCommand(QString(ISISROOT) + "/bin/stats " + ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " "from=\\$base/testData/ab102401_ideal.cub -pid=999 " "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); } @@ -77,7 +77,7 @@ void IsisMain() { << endl; cerr << endl; try { - ProgramLauncher::RunSystemCommand(QString(ISISROOT) + "/bin/stats " + ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " "from=unitTest.cub " "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); } diff --git a/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp b/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp index 079cf50a66..d2b8cc7194 100644 --- a/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp +++ b/isis/src/base/objs/ProjectionFactory/ProjectionFactory.cpp @@ -75,7 +75,7 @@ namespace Isis { if (localFile.fileExists()) m_projPlugin.read(localFile.expanded()); - FileName systemFile(QString(ISISROOT) + "/lib/Projection.plugin"); + FileName systemFile("$ISISROOT/lib/Projection.plugin"); if (systemFile.fileExists()) m_projPlugin.read(systemFile.expanded()); } @@ -143,7 +143,7 @@ namespace Isis { if (localFile.fileExists()) m_projPlugin.read(localFile.expanded()); - FileName systemFile(QString(ISISROOT) + "/lib/Projection.plugin"); + FileName systemFile("$ISISROOT/lib/Projection.plugin"); if (systemFile.fileExists()) m_projPlugin.read(systemFile.expanded()); } diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index 5c31d657ce..971d808a57 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -301,7 +301,7 @@ int main(int argc, char *argv[]) { try { int myArgc = 0; <<<<<<< HEAD - strcpy(myArgv[myArgc++], QString(ISISROOT) + "/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); ======= strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass/highpass"); >>>>>>> fc8baa5a35cffe7b23a01f3cabbc9ff729d42cd5 @@ -893,7 +893,7 @@ int main(int argc, char *argv[]) { try { int myArgc = 0; <<<<<<< HEAD - strcpy(myArgv[myArgc++], QString(ISISROOT) + "/src/base/apps/highpass/highpass"); + strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); ======= strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass"); >>>>>>> fc8baa5a35cffe7b23a01f3cabbc9ff729d42cd5 diff --git a/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp b/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp index 2021046f1f..c23a4de8d7 100644 --- a/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp +++ b/isis/src/control/objs/InterestOperatorFactory/InterestOperatorFactory.cpp @@ -62,7 +62,7 @@ namespace Isis { p.read("InterestOperator.plugin"); } else { - p.read(QString(ISISROOT) + "/lib/InterestOperator.plugin"); + p.read("$ISISROOT/lib/InterestOperator.plugin"); } // Get the algorithm specific plugin and return it diff --git a/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp b/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp index 7ba7f077a8..3ce1c246a5 100644 --- a/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp +++ b/isis/src/qisis/apps/cneteditor/CnetEditorWindow.cpp @@ -55,7 +55,7 @@ namespace Isis { CnetEditorWindow::CnetEditorWindow() { // Add the Qt plugin directory to the library path - FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); // For some reason GUI style is not detected correctly by Qt for Isis. diff --git a/isis/src/qisis/apps/qmos/qmos.cpp b/isis/src/qisis/apps/qmos/qmos.cpp index fd34c674cf..b39bec5ef8 100644 --- a/isis/src/qisis/apps/qmos/qmos.cpp +++ b/isis/src/qisis/apps/qmos/qmos.cpp @@ -16,7 +16,7 @@ int main(int argc, char *argv[]) { Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path - FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); QApplication *app = new QIsisApplication(argc, argv); diff --git a/isis/src/qisis/apps/qnet/qnet.cpp b/isis/src/qisis/apps/qnet/qnet.cpp index a11f3779a5..cdcfe8ae6c 100644 --- a/isis/src/qisis/apps/qnet/qnet.cpp +++ b/isis/src/qisis/apps/qnet/qnet.cpp @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) { try { // Add the Qt plugin directory to the library path - FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); diff --git a/isis/src/qisis/apps/qtie/qtie.cpp b/isis/src/qisis/apps/qtie/qtie.cpp index 5c0ff6a860..852a869d11 100644 --- a/isis/src/qisis/apps/qtie/qtie.cpp +++ b/isis/src/qisis/apps/qtie/qtie.cpp @@ -39,7 +39,7 @@ int main(int argc, char *argv[]) { try { // Add the Qt plugin directory to the library path - FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); QApplication *app = new QApplication(argc, argv); diff --git a/isis/src/qisis/apps/qview/qview.cpp b/isis/src/qisis/apps/qview/qview.cpp index a503eac05e..95253f46c5 100644 --- a/isis/src/qisis/apps/qview/qview.cpp +++ b/isis/src/qisis/apps/qview/qview.cpp @@ -63,7 +63,7 @@ int main(int argc, char *argv[]) { Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path - FileName qtpluginpath(QString(ISISROOT) + "/3rdParty/plugins"); + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); // Check to see if the user wants to force a new window diff --git a/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp b/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp index f5d7ec129a..140d2b5fab 100644 --- a/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp +++ b/isis/src/qisis/objs/ControlMeasureEditWidget/ControlMeasureEditWidget.cpp @@ -1659,7 +1659,7 @@ namespace Isis { toString((int)(m_rightMeasure->GetSample())) + "_" + toString((int)(m_rightMeasure->GetLine())) + "_"; QString fname = baseFile + "Search.cub"; - QString command = QString(ISISROOT) + "/bin/qview \'" + fname + "\'"; + QString command = "$ISISROOT/bin/qview \'" + fname + "\'"; m_autoRegFact->RegistrationSearchChip()->Write(fname); fname = baseFile + "Pattern.cub"; command += " \'" + fname + "\'"; diff --git a/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp b/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp index a26c2c3c41..9efdfb6b49 100644 --- a/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp +++ b/isis/src/qisis/objs/ControlPointEdit/ControlPointEdit.cpp @@ -1595,7 +1595,7 @@ namespace Isis { toString((int)(p_rightMeasure->GetSample())) + "_" + toString((int)(p_rightMeasure->GetLine())) + "_"; QString fname = baseFile + "Search.cub"; - QString command = QString(ISISROOT) + "/bin/qview \'" + fname + "\'"; + QString command = "$ISISROOT/bin/qview \'" + fname + "\'"; p_autoRegFact->RegistrationSearchChip()->Write(fname); fname = baseFile + "Pattern.cub"; command += " \'" + fname + "\'"; diff --git a/isis/src/qisis/objs/HelpTool/HelpTool.cpp b/isis/src/qisis/objs/HelpTool/HelpTool.cpp index 5be87d812d..63486ef413 100644 --- a/isis/src/qisis/objs/HelpTool/HelpTool.cpp +++ b/isis/src/qisis/objs/HelpTool/HelpTool.cpp @@ -61,7 +61,7 @@ namespace Isis { */ void HelpTool::aboutProgram() { FileName file( - QString(ISISROOT) + "/doc/Application/presentation/PrinterFriendly/" + + "$ISISROOT/doc/Application/presentation/PrinterFriendly/" + QApplication::applicationName() + "/" + QApplication::applicationName() + ".html"); diff --git a/isis/src/qisis/objs/MatchTool/MatchTool.cpp b/isis/src/qisis/objs/MatchTool/MatchTool.cpp index 7f4a6276ac..f7e4622208 100644 --- a/isis/src/qisis/objs/MatchTool/MatchTool.cpp +++ b/isis/src/qisis/objs/MatchTool/MatchTool.cpp @@ -209,7 +209,7 @@ namespace Isis { m_pointEditor->templateFileName()); m_templateFileNameLabel->setToolTip("Sub-pixel registration template File."); // QString patternMatchDoc = -// FileName(QString(ISISROOT) + "/doc/documents/PatternMatch/PatternMatch.html").fileName(); +// FileName("$ISISROOT/doc/documents/PatternMatch/PatternMatch.html").fileName(); // m_templateFileNameLabel->setOpenExternalLinks(true); m_templateFileNameLabel->setWhatsThis("FileName of the sub-pixel " "registration template. Refer to $ISISROOT/doc/documents/" diff --git a/isis/src/qisis/objs/QnetTools/QnetTool.cpp b/isis/src/qisis/objs/QnetTools/QnetTool.cpp index 259b55959d..74be1f6a70 100644 --- a/isis/src/qisis/objs/QnetTools/QnetTool.cpp +++ b/isis/src/qisis/objs/QnetTools/QnetTool.cpp @@ -182,7 +182,7 @@ namespace Isis { m_pointEditor->templateFileName()); m_templateFileNameLabel->setToolTip("Sub-pixel registration template File."); // QString patternMatchDoc = -// FileName(QString(ISISROOT) + "/doc/documents/PatternMatch/PatternMatch.html").fileName(); +// FileName("$ISISROOT/doc/documents/PatternMatch/PatternMatch.html").fileName(); // m_templateFileNameLabel->setOpenExternalLinks(true); m_templateFileNameLabel->setWhatsThis("FileName of the sub-pixel " "registration template. Refer to $ISISROOT/doc/documents/" diff --git a/isis/src/system/apps/isiscomplete/isiscomplete.cpp b/isis/src/system/apps/isiscomplete/isiscomplete.cpp index a879fcb7ab..bc90d0ed81 100644 --- a/isis/src/system/apps/isiscomplete/isiscomplete.cpp +++ b/isis/src/system/apps/isiscomplete/isiscomplete.cpp @@ -64,7 +64,7 @@ void MakeCompletion(const QString &appName) { } if(appName.compare("isisui") == 0) { - QString binPath = FileName(QString(ISISROOT) + "/bin").expanded(); + QString binPath = FileName("$ISISROOT/bin").expanded(); cout << "complete isisui 'n@*@F:" << binPath << "/@'; "; return; } diff --git a/isis/src/viking/apps/vik2isis/vik2isis.cpp b/isis/src/viking/apps/vik2isis/vik2isis.cpp index 6d26685fb7..c1eb241c30 100644 --- a/isis/src/viking/apps/vik2isis/vik2isis.cpp +++ b/isis/src/viking/apps/vik2isis/vik2isis.cpp @@ -40,7 +40,7 @@ void IsisMain() { } catch(IException &e) { tempFile = true; - QString command = QString(ISISROOT) + "/bin/vdcomp " + in.expanded() + " " + + QString command = "$ISISROOT/bin/vdcomp " + in.expanded() + " " + temp.expanded() + " > /dev/null 2>&1"; int returnValue = system(command.toLatin1().data()) >> 8; if(returnValue) { diff --git a/isis/src/voyager/apps/voy2isis/voy2isis.cpp b/isis/src/voyager/apps/voy2isis/voy2isis.cpp index 1aab0316e8..5c6b6002a2 100644 --- a/isis/src/voyager/apps/voy2isis/voy2isis.cpp +++ b/isis/src/voyager/apps/voy2isis/voy2isis.cpp @@ -51,7 +51,7 @@ void IsisMain() { QString ext = in.extension().toUpper(); if (ext == "IMQ") { try { - QString command = QString(ISISROOT) + "/bin/vdcomp " + in.expanded() + " " + temp.expanded(); + QString command = "$ISISROOT/bin/vdcomp " + in.expanded() + " " + temp.expanded(); // don't pretend vdcomp is a standard Isis program, just run it ProgramLauncher::RunSystemCommand(command); in = temp.expanded(); -- GitLab From bc1a1f9384f4f2ef4e4f3c4ad0ac7cf4e2cdf8d2 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 13:44:59 -0700 Subject: [PATCH 0078/1212] Removed QT_PLUGIN_PATH being set by setisis, hardcoded lib load dirs --- isis/scripts/isis3Startup.sh | 4 ---- .../src/base/objs/Environment/Environment.cpp | 21 +++++++------------ isis/src/base/objs/UserInterface/unitTest.cpp | 12 ++--------- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/isis/scripts/isis3Startup.sh b/isis/scripts/isis3Startup.sh index de0dfcac52..d9728383d5 100755 --- a/isis/scripts/isis3Startup.sh +++ b/isis/scripts/isis3Startup.sh @@ -37,7 +37,3 @@ else PATH="$ISISROOT/bin" fi export PATH - -# Create QT_PLUGIN_PATH env variable -QT_PLUGIN_PATH="$ISISROOT/3rdParty/plugins" -export QT_PLUGIN_PATH diff --git a/isis/src/base/objs/Environment/Environment.cpp b/isis/src/base/objs/Environment/Environment.cpp index b0d5726d75..4486c5e693 100644 --- a/isis/src/base/objs/Environment/Environment.cpp +++ b/isis/src/base/objs/Environment/Environment.cpp @@ -28,12 +28,7 @@ if ( !core ) { std::cout << "**** Qt Plugin Path is not set because no instance of QCoreApplication ****\n"; } - else { - Isis::IString thirdPartyPluginPath = root + "/3rdParty/plugins"; - pluginPaths << thirdPartyPluginPath.ToQt(); - core->setLibraryPaths(pluginPaths); - } - + return; } @@ -102,7 +97,7 @@ namespace Isis { QString Environment::userName() { return getEnvironmentValue("USER", "Unknown"); } - + /** * @returns the host name. Returns 'Unknown' if it cannot find the host name. @@ -110,8 +105,8 @@ namespace Isis { QString Environment::hostName() { return getEnvironmentValue("HOST", "Unknown"); } - - + + /** * @param variable The environment variable to get * @param defaultValue The returned value for variable if variable doesn't @@ -121,16 +116,16 @@ namespace Isis { */ QString Environment::getEnvironmentValue(QString variable, QString defaultValue) { - + QString value = defaultValue; - + char *envValue = getenv(variable.toLatin1().data()); if (envValue) value = envValue; - + return value; } - + /** * @returns the Isis version in the format isis?.?.?.?qualifier | date diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index 971d808a57..d07d5d6f15 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -14,8 +14,8 @@ int main(int argc, char *argv[]) { cout << "Unit test for Isis::UserInterface ..." << endl; - QString unitTestXml = Isis::FileName(ISISBUILDDIR + "/unitTest/isis3_unit_test_UserInterface.xml").expanded(); - QString highpass = Isis::FileName(ISISBUILDDIR + "/bin/xml/highpass.xml").expanded(); + QString unitTestXml = Isis::FileName(QString(ISISBUILDDIR) + "/unitTest/isis3_unit_test_UserInterface.xml").expanded(); + QString highpass = Isis::FileName(QString(ISISBUILDDIR) + "/bin/xml/highpass.xml").expanded(); char *myArgv[15];// = {"unitTest", "from=input.cub", "to=output.cub"}; @@ -300,11 +300,7 @@ int main(int argc, char *argv[]) { cout << "Testing Invalid Parameter" << endl; try { int myArgc = 0; -<<<<<<< HEAD - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); -======= strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass/highpass"); ->>>>>>> fc8baa5a35cffe7b23a01f3cabbc9ff729d42cd5 strcpy(myArgv[myArgc++], "bogus=parameter"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); @@ -892,11 +888,7 @@ int main(int argc, char *argv[]) { cout << "Testing -RESTORE with invalid (non-existing) .par file" << endl; try { int myArgc = 0; -<<<<<<< HEAD - strcpy(myArgv[myArgc++], "$ISISROOT/src/base/apps/highpass/highpass"); -======= strcpy(myArgv[myArgc++], "$ISISROOT/bin/highpass"); ->>>>>>> fc8baa5a35cffe7b23a01f3cabbc9ff729d42cd5 strcpy(myArgv[myArgc++], "-restore=junk.par"); Isis::UserInterface ui(unitTestXml, myArgc, myArgv); -- GitLab From 890f8df96d5037e08aa55c4637577e98f2304a94 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 14:23:46 -0700 Subject: [PATCH 0079/1212] removed debug prints, unittests now run as ./unitTest --- isis/cmake/RunUnitTest.cmake | 12 ++++-------- isis/src/base/objs/Application/unitTest.exclude | 1 + isis/src/base/objs/Preference/Preference.cpp | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 64b92a316b..95cd547f63 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -23,19 +23,15 @@ get_filename_component(truthFolder ${TRUTH_FILE} DIRECTORY) # otherwise a GUI will pop up and ruin the test. get_filename_component(binFolder ${TEST_PROG} DIRECTORY) get_filename_component(binName ${TEST_PROG} NAME) +set(tempDir ${binFolder}/${binName}_temp) +execute_process(COMMAND rm -rf ${tempDir}) +execute_process(COMMAND mkdir -p ${tempDir}) execute_process(COMMAND ln -s ${TEST_PROG} ${tempLink}) execute_process(COMMAND ln -s ${truthFolder}/unitTest.xml ${truthFolder}/${binName}.xml) -message("TEMP DIR: ${tempDir}") -message("Bin Name: ${binName}") -message("Bin Folder: ${binFolder}") -message("TEST_PROG: ${TEST_PROG}") -message("tempLink: " ${tempLink}) -message("truthFolder" ${truthFolder}) - # Run the unit test executable and pipe the output to a text file. -execute_process(COMMAND ${TEST_PROG} +execute_process(COMMAND ./unitTest WORKING_DIRECTORY ${truthFolder} OUTPUT_FILE ${outputFile} ERROR_FILE ${outputFile} diff --git a/isis/src/base/objs/Application/unitTest.exclude b/isis/src/base/objs/Application/unitTest.exclude index 0fb6a5c297..6fd1eec123 100644 --- a/isis/src/base/objs/Application/unitTest.exclude +++ b/isis/src/base/objs/Application/unitTest.exclude @@ -6,4 +6,5 @@ IsisVersion Connect Cpu Program = +File diff --git a/isis/src/base/objs/Preference/Preference.cpp b/isis/src/base/objs/Preference/Preference.cpp index 26566c2372..ee455a5b7a 100644 --- a/isis/src/base/objs/Preference/Preference.cpp +++ b/isis/src/base/objs/Preference/Preference.cpp @@ -134,7 +134,7 @@ namespace Isis { else if(unitTest) { p_unitTest = unitTest; p_preference->clear(); - p_preference->Load("$ISISROOT/src/base/objs/Preference/TestPreferences"); + p_preference->Load("$ISISROOT/TestPreferences"); } return *p_preference; -- GitLab From 51ac060309b41f1eeba70f5c1f11f19443e0f095 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 14:27:23 -0700 Subject: [PATCH 0080/1212] removed previous .xml logic --- isis/cmake/RunUnitTest.cmake | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 95cd547f63..5a30fa16a5 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -26,9 +26,7 @@ get_filename_component(binName ${TEST_PROG} NAME) set(tempDir ${binFolder}/${binName}_temp) execute_process(COMMAND rm -rf ${tempDir}) execute_process(COMMAND mkdir -p ${tempDir}) - -execute_process(COMMAND ln -s ${TEST_PROG} ${tempLink}) -execute_process(COMMAND ln -s ${truthFolder}/unitTest.xml ${truthFolder}/${binName}.xml) +execute_process(COMMAND ln -s ${TEST_PROG} ${truthFolder}/unitTest) # Run the unit test executable and pipe the output to a text file. execute_process(COMMAND ./unitTest -- GitLab From cbe729995752adb2a4fdf886b7df5f2f6bab432e Mon Sep 17 00:00:00 2001 From: Cole <34170587+cneubauerUSGS@users.noreply.github.com> Date: Mon, 26 Feb 2018 15:24:05 -0700 Subject: [PATCH 0081/1212] Docs Fix (#21) * Changed FileName uniteTest to reflect new ISISROOT * Made pathing changes to reflect build directory being ISISROOT for unitTest * Moved libs in build dir to 3rdParty * Unit Test work now * Revert Trash Commits This reverts commit 14f01a2802bdc0c8fb67022841a189ed79e9301e. * Revert Trash Commits This reverts commit 268033784ec0dfdfae1fa88fca5e8db4f6ffdf4a. * Changes output directory for apptests and help apps find TestPreferences * Changed Command To Execute App Tests Previous change ruined the command and stopped execution of App Tests * Added a copy of 3rdParty dependencies into 3rdParty structure * Same changes but better * Changes * Changes * Unit Test and App Test work * Cleanup * A bit of a hacky fix for cmake docs * Non hacky fix for docs * Forgot how install worked for a second * Commented code and changed command --- isis/cmake/BuildDocs.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/isis/cmake/BuildDocs.cmake b/isis/cmake/BuildDocs.cmake index 98ddb27faa..1335fc5a49 100644 --- a/isis/cmake/BuildDocs.cmake +++ b/isis/cmake/BuildDocs.cmake @@ -460,7 +460,7 @@ function(build_docs) # Set up output directory and a temporary directory for building set(docBuildFolder ${CMAKE_BINARY_DIR}/docBuild) set(appDataFolder ${docBuildFolder}/Application/data) - set(docInstallFolder ${CMAKE_INSTALL_PREFIX}/doc) # Final output documentation + set(docInstallFolder ${CMAKE_BINARY_DIR}/docs) # Final output documentation # Clean up existing files execute_process(COMMAND rm -rf ${docBuildFolder}) @@ -495,8 +495,12 @@ function(build_docs) message("Building object documentation") build_object_docs() + # copy the built docs in the build directory over to the install directory on install + execute_process(COMMAND cp -rf ${docInstallFolder} ${CMAKE_INSTALL_PREFIX}) + message("Finished building object documentation!") + endfunction(build_docs) -- GitLab From 75b86b66fcb6dd7455efd9bc7b3b289bff1f805a Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 26 Feb 2018 15:26:22 -0700 Subject: [PATCH 0082/1212] fixed some false positives --- isis/cmake/RunUnitTest.cmake | 5 +- .../src/base/objs/ImportPdsTable/unitTest.cpp | 2 +- .../ProgramLauncher/ProgramLauncher.truth | 70 ++++++++++--------- ...amLauncher_Darwin_x86_64_MacOSX10_11.truth | 3 +- .../base/objs/ProgramLauncher/unitTest.cpp | 8 +-- 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 5a30fa16a5..1fc05e4f3d 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -65,8 +65,9 @@ if(DIFFERENT) message(FATAL_ERROR "Test failed - files differ") # On error the result file is left around to aid in debugging. else() - # file(REMOVE ${outputFile}) # On success, clean out the result file. + file(REMOVE ${outputFile}) # On success, clean out the result file. + execute_process(COMMAND rm -rf ${tempdir}) endif() # Clean up our temporary folder -execute_process(COMMAND rm -f ${truthFolder}/${binName}.xml) +execute_process(COMMAND rm -f ${truthFolder}/unitTest) diff --git a/isis/src/base/objs/ImportPdsTable/unitTest.cpp b/isis/src/base/objs/ImportPdsTable/unitTest.cpp index 968692d13e..0e59535441 100644 --- a/isis/src/base/objs/ImportPdsTable/unitTest.cpp +++ b/isis/src/base/objs/ImportPdsTable/unitTest.cpp @@ -91,7 +91,7 @@ class ImportPdsTableTester : public ImportPdsTable { */ int main(int argc, char *argv[]) { Isis::Preference::Preferences(true); - Isis::FileName data("$ISISROOT/src/base/objs/ImportPdsTable/data/"); + Isis::FileName data("data/"); QString inputFile = data.expanded() + "VIR_IR_1A_1_332974737_1_HK.LBL"; if (--argc == 1) { inputFile = argv[1]; } diff --git a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.truth b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.truth index 67325455f4..7f794f7ff3 100644 --- a/isis/src/base/objs/ProgramLauncher/ProgramLauncher.truth +++ b/isis/src/base/objs/ProgramLauncher/ProgramLauncher.truth @@ -4,39 +4,41 @@ Testing ls, grep, sed and pipes ... ProgramLauncher.cpp ProgramLauncher.h -ProgramLauncher.o ProgramLauncher.truth Testing stats ... +greyscale: Working +0% Processed 10% Processed 20% Processed 30% Processed 40% Processed 50% Processed 60% Processed 70% Processed 80% Processed 90% Processed 100% Processed hist: Computing min/max for histogram 0% Processed 10% Processed 20% Processed 30% Processed 40% Processed 50% Processed 60% Processed 70% Processed 80% Processed 90% Processed 100% Processed hist: Gathering histogram 0% Processed 10% Processed 20% Processed 30% Processed 40% Processed 50% Processed 60% Processed 70% Processed 80% Processed 90% Processed 100% Processed Group = Results - From = /usgs/cpkgs/isis3/data/base/testData/ab102401_ide- - al.cub + From = unitTest.cub Band = 1 - Average = 0.040536894512714 - StandardDeviation = 0.01519314883071 - Variance = 2.30831771392117e-04 - Median = 0.037797920878468 - Mode = 0.034160507255072 - Skew = 0.54083067271281 - Minimum = 0.010204331949353 - Maximum = 0.095491595566273 - Sum = 31525.745547011 - TotalPixels = 1152000 - ValidPixels = 777705 + Average = 24.999999961853 + StandardDeviation = 14.728323083889 + Variance = 216.92350086341 + Median = 24.489967193103 + Mode = 0.0 + Skew = 0.10388815464838 + Minimum = 0.0 + Maximum = 50.0 + Sum = 62499.999904633 + TotalPixels = 2500 + ValidPixels = 2500 OverValidMaximumPixels = 0 UnderValidMinimumPixels = 0 - NullPixels = 353897 + NullPixels = 0 LisPixels = 0 LrsPixels = 0 HisPixels = 0 - HrsPixels = 20398 + HrsPixels = 0 End_Group Testing malformed command... +NOTE: The exit code for this test differs on each OS. +That is the reason for the OS specific truth files. Please ignore the exit codes. sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file @@ -47,10 +49,11 @@ Testing non-existant Isis 3 program... **ERROR** Program [chocolatelab] does not appear to be a valid Isis 3 program. Testing using Isis 3 program as a system program... +NOTE: The exit code for this test differs on each OS. +That is the reason for the OS specific truth files. Please ignore the exit codes. -terminate called after throwing an instance of 'Isis::IException' - what(): **ERROR** This process (program) was executed by an existing Isis 3 process. However, we failed to establish a communication channel with the parent (launcher) process. The parent process has a PID of [999]. -**PROGRAMMER ERROR** Executing command [$ISISROOT/bin/stats from=\$base/testData/ab102401_ideal.cub -pid=999 -preference=\$ISISROOT/src/base/objs/Preference/TestPreferences] failed with return status [6]. +libc++abi.dylib: terminating with uncaught exception of type Isis::IException: **ERROR** This process (program) was executed by an existing Isis 3 process. However, we failed to establish a communication channel with the parent (launcher) process. The parent process has a PID of [999]. +**PROGRAMMER ERROR** Executing command [$ISISROOT/bin/stats from=\$base/testData/ab102401_ideal.cub -pid=999 -preference=\$ISISROOT/TestPreferences] failed with return status [6]. Testing using Isis 3 program as a system program without pid... @@ -59,25 +62,24 @@ stats: Computing min/max for histogram stats: Gathering histogram 0% Processed 10% Processed 20% Processed 30% Processed 40% Processed 50% Processed 60% Processed 70% Processed 80% Processed 90% Processed 100% Processed Group = Results - From = /usgs/cpkgs/isis3/data/base/testData/ab102401_ide- - al.cub + From = unitTest.cub Band = 1 - Average = 0.040536894512714 - StandardDeviation = 0.01519314883071 - Variance = 2.30831771392117e-04 - Median = 0.037797920878468 - Mode = 0.034160507255072 - Skew = 0.54083067271281 - Minimum = 0.010204331949353 - Maximum = 0.095491595566273 - Sum = 31525.745547011 - TotalPixels = 1152000 - ValidPixels = 777705 + Average = 24.999999961853 + StandardDeviation = 14.728323083889 + Variance = 216.92350086341 + Median = 24.489967193103 + Mode = 0.0 + Skew = 0.10388815464838 + Minimum = 0.0 + Maximum = 50.0 + Sum = 62499.999904633 + TotalPixels = 2500 + ValidPixels = 2500 OverValidMaximumPixels = 0 UnderValidMinimumPixels = 0 - NullPixels = 353897 + NullPixels = 0 LisPixels = 0 LrsPixels = 0 HisPixels = 0 - HrsPixels = 20398 + HrsPixels = 0 End_Group diff --git a/isis/src/base/objs/ProgramLauncher/ProgramLauncher_Darwin_x86_64_MacOSX10_11.truth b/isis/src/base/objs/ProgramLauncher/ProgramLauncher_Darwin_x86_64_MacOSX10_11.truth index 70eedde8c6..7f794f7ff3 100644 --- a/isis/src/base/objs/ProgramLauncher/ProgramLauncher_Darwin_x86_64_MacOSX10_11.truth +++ b/isis/src/base/objs/ProgramLauncher/ProgramLauncher_Darwin_x86_64_MacOSX10_11.truth @@ -4,7 +4,6 @@ Testing ls, grep, sed and pipes ... ProgramLauncher.cpp ProgramLauncher.h -ProgramLauncher.o ProgramLauncher.truth Testing stats ... @@ -54,7 +53,7 @@ NOTE: The exit code for this test differs on each OS. That is the reason for the OS specific truth files. Please ignore the exit codes. libc++abi.dylib: terminating with uncaught exception of type Isis::IException: **ERROR** This process (program) was executed by an existing Isis 3 process. However, we failed to establish a communication channel with the parent (launcher) process. The parent process has a PID of [999]. -**PROGRAMMER ERROR** Executing command [$ISISROOT/bin/stats from=\$base/testData/ab102401_ideal.cub -pid=999 -preference=\$ISISROOT/src/base/objs/Preference/TestPreferences] failed with return status [6]. +**PROGRAMMER ERROR** Executing command [$ISISROOT/bin/stats from=\$base/testData/ab102401_ideal.cub -pid=999 -preference=\$ISISROOT/TestPreferences] failed with return status [6]. Testing using Isis 3 program as a system program without pid... diff --git a/isis/src/base/objs/ProgramLauncher/unitTest.cpp b/isis/src/base/objs/ProgramLauncher/unitTest.cpp index b4aa17dcaf..b71a426407 100644 --- a/isis/src/base/objs/ProgramLauncher/unitTest.cpp +++ b/isis/src/base/objs/ProgramLauncher/unitTest.cpp @@ -25,11 +25,11 @@ void IsisMain() { cerr << "Testing stats ... " << endl; cerr << endl; ProgramLauncher::RunSystemCommand("greyscale to=unitTest.cub enddn=50.0 samples=50 lines=50 " - "-preference=$ISISROOT/src/base/objs/Preference/TestPreferences"); + "-preference=$ISISROOT/TestPreferences"); ProgramLauncher::RunIsisProgram("stats", "from=unitTest.cub " - "-preference=$ISISROOT/src/base/objs/Preference/TestPreferences"); + "-preference=$ISISROOT/TestPreferences"); cerr << endl; cerr << "Testing malformed command... " << endl; @@ -65,7 +65,7 @@ void IsisMain() { try { ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " "from=\\$base/testData/ab102401_ideal.cub -pid=999 " - "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); + "-preference=\\$ISISROOT/TestPreferences"); } catch(IException &e) { e.print(); @@ -79,7 +79,7 @@ void IsisMain() { try { ProgramLauncher::RunSystemCommand("$ISISROOT/bin/stats " "from=unitTest.cub " - "-preference=\\$ISISROOT/src/base/objs/Preference/TestPreferences"); + "-preference=\\$ISISROOT/TestPreferences"); } catch(IException &e) { e.print(); -- GitLab From fdf02197ee3681e089756dc6b52a132c1b9145f4 Mon Sep 17 00:00:00 2001 From: Christopher Ryan Combs Jr Date: Tue, 27 Feb 2018 10:47:16 -0700 Subject: [PATCH 0083/1212] Added generic superlu library name --- isis/cmake/FindSuperLU.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 5cf95e09b8..9365e0812a 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -11,7 +11,7 @@ find_path(SUPERLU_INCLUDE_DIR ) find_library(SUPERLU_LIBRARY - NAMES "superlu_${SuperLU_FIND_VERSION}" + NAMES "superlu_${SuperLU_FIND_VERSION}" "superlu" ) get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) -- GitLab From 4f14c69816fab34e2aa9db1935505ca38406b222 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Thu, 1 Mar 2018 12:29:38 -0700 Subject: [PATCH 0084/1212] Added history entry. --- isis/src/base/apps/ddd2isis/ddd2isis.cpp | 19 +++++++++++-------- isis/src/base/apps/ddd2isis/ddd2isis.xml | 9 +++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.cpp b/isis/src/base/apps/ddd2isis/ddd2isis.cpp index 591760fb55..95550f4d9c 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.cpp +++ b/isis/src/base/apps/ddd2isis/ddd2isis.cpp @@ -44,7 +44,7 @@ void IsisMain() { // ddd files are LSB EndianSwapper swp("MSB"); - // Verify that the file is a .ddd by reading in the first 4 bytes and + // Verify that the file is a ddd by reading in the first 4 bytes and // comparing the magic numbers readBytes.readLong = 0; fin.seekg(0); @@ -76,7 +76,7 @@ void IsisMain() { } int totalBandBits = readBytes.readLong; - // Maps the bit type of the file to the number of bytes + // Maps the bit type of the file to the number of bytes of that type map dataTypes = { {1450901768, 1}, {1450902032, 2}, @@ -99,10 +99,10 @@ void IsisMain() { int dataTypeBytes; //Old header format has no bit type if (bitType == 0) { - dataTypeBytes = dataTypes.find( totalBandBits ) -> second; + dataTypeBytes = dataTypes.find(totalBandBits) -> second; } - else{ - dataTypeBytes = dataTypes.find( bitType ) -> second; + else { + dataTypeBytes = dataTypes.find(bitType) -> second; } // Read bytes 20-23 to get offset @@ -141,14 +141,17 @@ void IsisMain() { p.SetPixelType(Isis::Real); break; default: - IString msg = "Unsupported bit per pixel count [" + IString(totalBandBits) + "]. "; + IString msg = "Unsupported bit per pixel count [" + IString(totalBandBits) + "]. "; //Do we need this? msg += "(Use the raw2isis and crop programs to import the file in case it is "; msg += "line or sample interleaved.)"; throw IException(IException::Io, msg, _FILEINFO_); } - // ddd files are pixel interleaved - p.SetOrganization(ProcessImport::BIP); + // ddd files with more than one band are pixel interleaved + // Having one band is similar to BIP, but this is here for clarification + if (nBands > 1) { + p.SetOrganization(ProcessImport::BIP); + } p.SetDimensions(nSamples, nLines, nBands); p.SetFileHeaderBytes(nOffset); diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.xml b/isis/src/base/apps/ddd2isis/ddd2isis.xml index e35ea4decf..e1e4fbfb5f 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.xml +++ b/isis/src/base/apps/ddd2isis/ddd2isis.xml @@ -30,6 +30,15 @@ will need to be read in using a combination of the raw2isis and crop programs. Fixes #1713. + + We were given a python program that reads in data from a ddd file + to use as an example. In the python program, the way they calculate the + number of bands is different from the one we previously used. The old + formula did the number of total band bits / 8; the formula is now + the (number of total band bits / 8) / the number of bytes of the data type + of the file's bit type. ddd files are also pixel interleaved, so the program + can now process files with multiple bands. Fixes #703. + -- GitLab From 84e227c64b5f95d19229869fb12d7aed55c77e16 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Thu, 1 Mar 2018 12:58:37 -0700 Subject: [PATCH 0085/1212] Changed error message. --- isis/src/base/apps/ddd2isis/ddd2isis.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.cpp b/isis/src/base/apps/ddd2isis/ddd2isis.cpp index 95550f4d9c..ddc6a17a85 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.cpp +++ b/isis/src/base/apps/ddd2isis/ddd2isis.cpp @@ -91,7 +91,7 @@ void IsisMain() { }; // Read bytes 16-19 to get the bit type - // Map the bit type to the number of bytes and store in dataTypeBytes + // Map the bit type to the number of bytes of that data type fin.read(readBytes.readChars, 4); readBytes.readFloat = swp.Float(readBytes.readChars); int bitType = (int) readBytes.readLong; @@ -113,6 +113,7 @@ void IsisMain() { nOffset = 1024; } + //TO DO: Reword PvlGroup results("FileInfo"); results += PvlKeyword( "NumberOfLines", toString(nLines) ); results += PvlKeyword( "NumberOfBytesPerLine", toString(nBytes) ); @@ -141,7 +142,7 @@ void IsisMain() { p.SetPixelType(Isis::Real); break; default: - IString msg = "Unsupported bit per pixel count [" + IString(totalBandBits) + "]. "; //Do we need this? + IString msg = "Unsupported bit per pixel count [" + IString(bitsPerBand) + "]. "; //Do we need this? msg += "(Use the raw2isis and crop programs to import the file in case it is "; msg += "line or sample interleaved.)"; throw IException(IException::Io, msg, _FILEINFO_); -- GitLab From e86bfeedd27c2a446968f531d5bb0088a4102d66 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 2 Mar 2018 12:48:49 -0700 Subject: [PATCH 0086/1212] Added testing for errors. --- isis/src/base/apps/ddd2isis/ddd2isis.cpp | 6 +++--- .../base/apps/ddd2isis/tsts/default/Makefile | 2 ++ .../base/apps/ddd2isis/tsts/errors/Makefile | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 isis/src/base/apps/ddd2isis/tsts/errors/Makefile diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.cpp b/isis/src/base/apps/ddd2isis/ddd2isis.cpp index ddc6a17a85..bf233d397c 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.cpp +++ b/isis/src/base/apps/ddd2isis/ddd2isis.cpp @@ -117,7 +117,7 @@ void IsisMain() { PvlGroup results("FileInfo"); results += PvlKeyword( "NumberOfLines", toString(nLines) ); results += PvlKeyword( "NumberOfBytesPerLine", toString(nBytes) ); - results += PvlKeyword( "BitType", toString(totalBandBits) ); + results += PvlKeyword( "BitType", toString(bitType) ); int nSamples = nBytes / (totalBandBits / 8); results += PvlKeyword( "NumberOfSamples", toString(nSamples) ); int nBands = (totalBandBits / 8) / dataTypeBytes; @@ -130,7 +130,7 @@ void IsisMain() { ProcessImport p; int bitsPerBand = totalBandBits / nBands; - if ( ui.WasEntered("TO") ) { + if ( ui.WasEntered("TO") ) { switch(bitsPerBand) { case 8: p.SetPixelType(Isis::UnsignedByte); @@ -142,7 +142,7 @@ void IsisMain() { p.SetPixelType(Isis::Real); break; default: - IString msg = "Unsupported bit per pixel count [" + IString(bitsPerBand) + "]. "; //Do we need this? + IString msg = "Unsupported bit per pixel count [" + IString(bitsPerBand) + "]. "; //Reword? msg += "(Use the raw2isis and crop programs to import the file in case it is "; msg += "line or sample interleaved.)"; throw IException(IException::Io, msg, _FILEINFO_); diff --git a/isis/src/base/apps/ddd2isis/tsts/default/Makefile b/isis/src/base/apps/ddd2isis/tsts/default/Makefile index a1ac8f2729..1272a0aca9 100644 --- a/isis/src/base/apps/ddd2isis/tsts/default/Makefile +++ b/isis/src/base/apps/ddd2isis/tsts/default/Makefile @@ -4,3 +4,5 @@ include $(ISISROOT)/make/isismake.tsts commands: $(APPNAME) FROM=$(INPUT)/vis1flat.ddd TO=$(OUTPUT)/vis1flat.cub > /dev/null; + $(APPNAME) FROM=$(INPUT)/0023MD0000140000101507C00_DXXX_16b.ddd \ + TO=$(OUTPUT)/0023MD0000140000101507C00_DXXX_16b.cub > /dev/null; diff --git a/isis/src/base/apps/ddd2isis/tsts/errors/Makefile b/isis/src/base/apps/ddd2isis/tsts/errors/Makefile new file mode 100644 index 0000000000..1bd70891a4 --- /dev/null +++ b/isis/src/base/apps/ddd2isis/tsts/errors/Makefile @@ -0,0 +1,19 @@ +APPNAME = ddd2isis + +include $(ISISROOT)/make/isismake.tsts + +commands: + # TEST: Throws an error when trying to open the file + if [ `$(APPNAME) \ + FROM=$(INPUT)/vis1flat.ddd \ + TO=$(OUTPUT)/vis1flat.cub \ + 2> $(OUTPUT)/errorTruth.txt > /dev/null` ]; \ + then true; \ + fi; + # TEST: Throws an error when trying to read from a cub instead of ddd + if [ `$(APPNAME) \ + FROM=$(INPUT)/vis1flat.cub \ + TO=$(OUTPUT)/vis1flat.cub \ + 2>> $(OUTPUT)/errorTruth.txt > /dev/null` ]; \ + then true; \ + fi; -- GitLab From 48f06c0479c7dc6395c86b588f835b8f40888539 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 2 Mar 2018 14:53:23 -0700 Subject: [PATCH 0087/1212] Changed comments. --- isis/src/base/apps/ddd2isis/ddd2isis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.cpp b/isis/src/base/apps/ddd2isis/ddd2isis.cpp index bf233d397c..b0ec542304 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.cpp +++ b/isis/src/base/apps/ddd2isis/ddd2isis.cpp @@ -130,7 +130,7 @@ void IsisMain() { ProcessImport p; int bitsPerBand = totalBandBits / nBands; - if ( ui.WasEntered("TO") ) { + if ( ui.WasEntered("TO") ) { switch(bitsPerBand) { case 8: p.SetPixelType(Isis::UnsignedByte); -- GitLab From 9cbc7ac2f7db4566917a7992d4dc4a9f783b90c8 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 2 Mar 2018 17:09:55 -0700 Subject: [PATCH 0088/1212] Reworded history entry and added testing to make sure data is read in correctly. --- isis/src/base/apps/ddd2isis/ddd2isis.cpp | 82 +++++++++++++----------- isis/src/base/apps/ddd2isis/ddd2isis.xml | 17 ++--- 2 files changed, 54 insertions(+), 45 deletions(-) diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.cpp b/isis/src/base/apps/ddd2isis/ddd2isis.cpp index b0ec542304..3302859e73 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.cpp +++ b/isis/src/base/apps/ddd2isis/ddd2isis.cpp @@ -49,6 +49,10 @@ void IsisMain() { readBytes.readLong = 0; fin.seekg(0); fin.read(readBytes.readChars, 4); + if( fin.fail() || fin.eof() ) { + string msg = "An error ocurred when reading the input file [" + from + "]"; + throw IException(IException::Io, msg, _FILEINFO_); + } readBytes.readFloat = swp.Float(readBytes.readChars); if(readBytes.readLong != 1659) { @@ -58,25 +62,33 @@ void IsisMain() { // Read bytes 4-7 to get number of lines fin.read(readBytes.readChars, 4); + if( fin.fail() || fin.eof() ) { + string msg = "An error ocurred when reading the input file [" + from + "]"; + throw IException(IException::Io, msg, _FILEINFO_); + } readBytes.readFloat = swp.Float(readBytes.readChars); int nLines = (int) readBytes.readLong; // Read bytes 8-11 to get number of bytes fin.read(readBytes.readChars, 4); + if( fin.fail() || fin.eof() ) { + string msg = "An error ocurred when reading the input file [" + from + "]"; + throw IException(IException::Io, msg, _FILEINFO_); + } readBytes.readFloat = swp.Float(readBytes.readChars); int nBytes = (int) readBytes.readLong; // Read bytes 12-15 to get the total number of bits out of all the bands fin.read(readBytes.readChars, 4); - readBytes.readFloat = swp.Float(readBytes.readChars); - if( fin.fail() || fin.eof() ) { string msg = "An error ocurred when reading the input file [" + from + "]"; throw IException(IException::Io, msg, _FILEINFO_); } + readBytes.readFloat = swp.Float(readBytes.readChars); int totalBandBits = readBytes.readLong; // Maps the bit type of the file to the number of bytes of that type + // Taken directly from a given python program that reads in ddd data map dataTypes = { {1450901768, 1}, {1450902032, 2}, @@ -113,7 +125,8 @@ void IsisMain() { nOffset = 1024; } - //TO DO: Reword + fin.close(); + PvlGroup results("FileInfo"); results += PvlKeyword( "NumberOfLines", toString(nLines) ); results += PvlKeyword( "NumberOfBytesPerLine", toString(nBytes) ); @@ -125,42 +138,37 @@ void IsisMain() { results += PvlKeyword( "LabelBytes", toString(nOffset) ); Application::Log(results); - fin.close(); - ProcessImport p; int bitsPerBand = totalBandBits / nBands; - if ( ui.WasEntered("TO") ) { - switch(bitsPerBand) { - case 8: - p.SetPixelType(Isis::UnsignedByte); - break; - case 16: - p.SetPixelType(Isis::UnsignedWord); - break; - case 32: - p.SetPixelType(Isis::Real); - break; - default: - IString msg = "Unsupported bit per pixel count [" + IString(bitsPerBand) + "]. "; //Reword? - msg += "(Use the raw2isis and crop programs to import the file in case it is "; - msg += "line or sample interleaved.)"; - throw IException(IException::Io, msg, _FILEINFO_); - } - - // ddd files with more than one band are pixel interleaved - // Having one band is similar to BIP, but this is here for clarification - if (nBands > 1) { - p.SetOrganization(ProcessImport::BIP); - } - - p.SetDimensions(nSamples, nLines, nBands); - p.SetFileHeaderBytes(nOffset); - p.SetByteOrder(Isis::Msb); - p.SetInputFile( ui.GetFileName("FROM") ); - p.SetOutputCube("TO"); - - p.StartProcess(); - p.EndProcess(); + switch(bitsPerBand) { + case 8: + p.SetPixelType(Isis::UnsignedByte); + break; + case 16: + p.SetPixelType(Isis::UnsignedWord); + break; + case 32: + p.SetPixelType(Isis::Real); + break; + default: + IString msg = "Unsupported bit per pixel count [" + IString(bitsPerBand) + "] "; + msg += "from [" + from + "]"; + throw IException(IException::Io, msg, _FILEINFO_); + } + + // ddd files with more than one band are pixel interleaved + // Having one band is similar to BIP, but this is here for clarification + if (nBands > 1) { + p.SetOrganization(ProcessImport::BIP); } + + p.SetDimensions(nSamples, nLines, nBands); + p.SetFileHeaderBytes(nOffset); + p.SetByteOrder(Isis::Msb); + p.SetInputFile( ui.GetFileName("FROM") ); + p.SetOutputCube("TO"); + + p.StartProcess(); + p.EndProcess(); } diff --git a/isis/src/base/apps/ddd2isis/ddd2isis.xml b/isis/src/base/apps/ddd2isis/ddd2isis.xml index e1e4fbfb5f..19548a0aff 100644 --- a/isis/src/base/apps/ddd2isis/ddd2isis.xml +++ b/isis/src/base/apps/ddd2isis/ddd2isis.xml @@ -7,7 +7,8 @@ - This program will import a ddd image into an Isis cube. The ddd format files are created by Malin Space Science Systems. + This program will import a ddd image into an Isis cube. The ddd format files + are created by Malin Space Science Systems. @@ -32,12 +33,13 @@ We were given a python program that reads in data from a ddd file - to use as an example. In the python program, the way they calculate the - number of bands is different from the one we previously used. The old - formula did the number of total band bits / 8; the formula is now - the (number of total band bits / 8) / the number of bytes of the data type - of the file's bit type. ddd files are also pixel interleaved, so the program - can now process files with multiple bands. Fixes #703. + to use as an example. In the python program, the formula they used to + calculate the number of bands is different from the one we previously used. + The old formula did the number of total band bits / 8; the formula is now + (the number of total band bits / 8) / the number of bytes of the data type + of the file's bit type. Added the ability to process files with multiple + bands. Removed the internal default of the output parameter set to None so + that an output file is now requried. Fixes #703. @@ -64,7 +66,6 @@ cube output - None Output Isis cube -- GitLab From 42ef4b6b8c7f34640ad6c449d51913e82656f778 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 17:22:48 -0700 Subject: [PATCH 0089/1212] kakadu fix --- isis/CMakeLists.txt | 71 +++--- isis/cmake/FindAllDependencies.cmake | 46 +++- isis/cmake/FindBullet.cmake | 22 +- isis/cmake/FindCSPICE.cmake | 4 +- isis/cmake/FindCholmod.cmake | 16 +- isis/cmake/FindEigen.cmake | 2 +- isis/cmake/FindEmbree.cmake | 4 +- isis/cmake/FindGMM.cmake | 2 + isis/cmake/FindGSL.cmake | 4 + isis/cmake/FindGeoTIFF.cmake | 3 + isis/cmake/FindGeos.cmake | 6 +- isis/cmake/FindHDF5.cmake | 6 + isis/cmake/FindJama.cmake | 2 +- isis/cmake/FindKakadu.cmake | 3 + isis/cmake/FindNN.cmake | 3 + isis/cmake/FindOpenCV.cmake | 15 ++ isis/cmake/FindPCL.cmake | 5 + isis/cmake/FindProtobuf.cmake | 3 + isis/cmake/FindQwt.cmake | 3 + isis/cmake/FindSuperLU.cmake | 4 + isis/cmake/FindTIFF.cmake | 5 +- isis/cmake/FindTNT.cmake | 2 + isis/cmake/FindX11.cmake | 2 + isis/cmake/FindXercesC.cmake | 3 + isis/cmake/matching.py | 316 +++++++++++++++++++++++++++ 25 files changed, 470 insertions(+), 82 deletions(-) create mode 100644 isis/cmake/matching.py diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 88182d3989..1debc7d159 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -10,41 +10,7 @@ cmake_minimum_required(VERSION 3.4) # Point cmake to our other CMake files. list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") -list(APPEND CMAKE_INCLUDE_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/objects/ - /usgs/pkgs/local/v007/include/google-protobuf/protobuf2.6.1/ - /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ - /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ - /usr/lib64/ -) - -set(CMAKE_PREFIX_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/libexec/ - /opt/usgs/v007/ports/Library/Frameworks/ - /opt/usgs/v007/ports/libexec/ - /opt/usgs/v007/ports/bin/ - /opt/usgs/v007/ports/lib/ - /opt/usgs/v007/ports/include/ - /opt/usgs/v007/ports/libexec/qt5 - /opt/usgs/v007/ports/libexec/qt5/bin/ - /opt/usgs/v007/ports/libexec/qt5/lib/ - /opt/usgs/v007/3rdparty/bin - /opt/usgs/v007/3rdparty/include/ - /opt/usgs/v007/3rdparty/lib/ - /opt/usgs/v007/proprietary/ - /opt/usgs/v007/proprietary/include/ - /opt/usgs/v007/proprietary/lib/ - /usr/lib/ - /usr/lib64/ - /usr/local/lib/ -) - +# always look for framworks last set(CMAKE_FIND_FRAMEWORK LAST) include(AddIsisModule) @@ -58,7 +24,6 @@ include(InstallThirdParty) project (USGS_ISIS) - # Short and long name of this package set(PACKAGE "ISIS") set(PACKAGE_NAME "USGS ISIS") @@ -95,17 +60,31 @@ set(BUILD_SHARED_LIBS ON) # Specify flags used set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) -#set(thirdPartyCppFlags -Wall -ansi -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) # Specify user options that can be passed in with the initial CMake command. -option(isis3Data "Directory containing Isis3Data" "NA") -option(isis3TestData "Directory containing Isis3TestData" "NA") -option(testOutputDir "Directory to store app test output folders" "NA") -option(buildCore "Build the core ISIS modules" ON ) -option(buildMissions "Build the mission specific modules" ON ) -option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) -option(buildTests "Set up unit, application, and module tests." ON ) -option(JP2KFLAG "Whether or not to build using JPEG200 support" OFF ) +option(isis3Data "Directory containing Isis3Data" OFF ) +option(isis3TestData "Directory containing Isis3TestData" OFF ) +option(testOutputDir "Directory to store app test output folders" OFF ) +option(buildCore "Build the core ISIS modules" ON ) +option(buildMissions "Build the mission specific modules" ON ) +option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) +option(buildTests "Set up unit, application, and module tests." ON ) +option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) +option(develop "Use a devleopment configuration" ON ) + +# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K +# needs to be either 1 or 0 for C style true false +if(JP2KFLAG) + set(JP2KFLAG 1) +endif() + +# Prioritize passed in variables over env vars, probably a better way to do this +if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) + set(isis3Data $ENV{ISIS3DATA}) +endif() +if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) + set(isis3TestData $ENV{ISIS3TESTDATA}) +endif() if(EXISTS ${isis3Data}) set(ENV{ISIS3DATA} "${isis3Data}") @@ -113,12 +92,14 @@ if(EXISTS ${isis3Data}) else() message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") endif() + if(EXISTS ${isis3TestData}) set(ENV{ISIS3TESTDATA} "${isis3TestData}") message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") else() message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") endif() + #if(EXISTS ${CMAKE_INSTALL_PREFIX}) # set(ENV{CMAKE_INSTALL_PREFIX} "${CMAKE_INSTALL_PREFIX}") # message("Using INSTALL PREFIX = $ENV{CMAKE_INSTALL_PREFIX}") diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 0c1be11430..29810c2a93 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -4,6 +4,41 @@ # go looking for them if they are not? #=============================================================================== +list(APPEND CMAKE_INCLUDE_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/objects/ + /usgs/pkgs/local/v007/include/google-protobuf/protobuf2.6.1/ + /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ + /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ + /usr/lib64/ +) + +set(CMAKE_PREFIX_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/libexec/ + /opt/usgs/v007/ports/Library/Frameworks/ + /opt/usgs/v007/ports/libexec/ + /opt/usgs/v007/ports/bin/ + /opt/usgs/v007/ports/lib/ + /opt/usgs/v007/ports/include/ + /opt/usgs/v007/ports/libexec/qt5 + /opt/usgs/v007/ports/libexec/qt5/bin/ + /opt/usgs/v007/ports/libexec/qt5/lib/ + /opt/usgs/v007/3rdparty/bin + /opt/usgs/v007/3rdparty/include/ + /opt/usgs/v007/3rdparty/lib/ + /opt/usgs/v007/proprietary/ + /opt/usgs/v007/proprietary/include/ + /opt/usgs/v007/proprietary/lib/ + /usr/lib/ + /usr/lib64/ + /usr/local/lib/ +) + # Specify top level directories set(thirdPartyDir "/usgs/pkgs/local/v007") set(INCLUDE_DIR "${thirdPartyDir}/include") @@ -66,7 +101,7 @@ if(APPLE) Widgets Xml XmlPatterns REQUIRED) -else() #oh god why +else() # oh god why find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) @@ -147,6 +182,7 @@ find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) +find_package(OpenGL REQUIRED) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. @@ -156,14 +192,10 @@ else(APPLE) find_package(Geos 3.5.1 REQUIRED) endif(APPLE) - - - # Only include Kakadu if it is available -if(${JP2KFLAG}) - message("ENABLING KAKADU") +if(JP2KFLAG) find_package(Kakadu) -endif(${JP2KFLAG}) +endif() get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES foreach (_variableName ${_variableNames}) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 999c3acb7d..3d4f96c01e 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,14 +23,14 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) -message( "BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) -message( "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) -message( "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) -message( "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message( "BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) -message( "BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) -message( "BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) -message( "BULLET3 DYNAMICS: " ${BULLET3_DYNAMICS_LIBRARY} ) -message( "BULLET3 COLLISION: " ${BULLET3_COLLISION_LIBRARY} ) -message( "BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) -message( "BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) +message( "-- BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) +message( "-- BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) +message( "-- BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) +message( "-- BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message( "-- BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) +message( "-- BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) +message( "-- BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) +message( "-- BULLET3 DYNAMICS: " ${BULLET3_DYNAMICS_LIBRARY} ) +message( "-- BULLET3 COLLISION: " ${BULLET3_COLLISION_LIBRARY} ) +message( "-- BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) +message( "-- BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 513a3ced61..263d535b27 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -14,5 +14,5 @@ find_library(CSPICE_LIBRARY NAMES cspice ) -message( "CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) -message( "CSPICE LIB: " ${CSPICE_LIBRARY} ) +message( "-- CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) +message( "-- CSPICE LIB: " ${CSPICE_LIBRARY} ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index d6d3cd10e2..5b2804e6c8 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -34,14 +34,14 @@ find_library(BLAS_LIBRARY NAMES blas) get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) -message( "CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) -message( "CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) -message( "CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) -message( "CAMD LIB: " ${CAMD_LIBRARY} ) -message( "AMD LIB: " ${AMD_LIBRARY} ) -message( "SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) -message( "FORTRAN LIB: " ${FORTRAN_LIBRARY} ) -message( "BLAS LIB: " ${BLAS_LIBRARY} ) +message( "-- CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) +message( "-- CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) +message( "-- CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) +message( "-- CAMD LIB: " ${CAMD_LIBRARY} ) +message( "-- AMD LIB: " ${AMD_LIBRARY} ) +message( "-- SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) +message( "-- FORTRAN LIB: " ${FORTRAN_LIBRARY} ) +message( "-- BLAS LIB: " ${BLAS_LIBRARY} ) if(NOT APPLE) message("LAPACK LIB" ${LAPACK_LIBRARY}) diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index 0f278c2f94..ef0829284e 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -14,4 +14,4 @@ find_path(EIGEN_ROOT_INCLUDE_DIR PATH_SUFFIXES eigen eigen3 ) -message( "EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) +message( "-- EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake index 5fcdbf4be4..786e3307f6 100644 --- a/isis/cmake/FindEmbree.cmake +++ b/isis/cmake/FindEmbree.cmake @@ -16,5 +16,5 @@ find_library(EMBREE_LIBRARY get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) -message("EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) -message("EMBREE LIB: " ${EMBREE_LIBRARY}) +message( "-- EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) +message( "-- EMBREE LIB: " ${EMBREE_LIBRARY}) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index 58f4717a4f..e2a7d8da50 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -10,3 +10,5 @@ find_path(GMM_INCLUDE_DIR ) get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) + +message( "-- GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake index 8a1675e5f2..cd38cf470f 100644 --- a/isis/cmake/FindGSL.cmake +++ b/isis/cmake/FindGSL.cmake @@ -19,3 +19,7 @@ find_library(GSL_CBLAS_LIBRARY ) get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) + +message( "-- GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") +message( "-- GSL LIB: ${GSL_LIBRARY}") +message( "-- GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index 66930a9f75..293a4ae9c0 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -15,3 +15,6 @@ find_library(GEOTIFF_LIBRARY ) get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) + +message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") +message( "-- GEOTIFF LIB: ${GSL_LIBRARY}") diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index 3ef3be7682..8f4cf44249 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -17,8 +17,8 @@ find_library(GEOS_C_LIBRARY NAMES geos_c ) -message( "GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) -message( "GEOS LIB: " ${GEOS_LIBRARY} ) -message( "GEOS C LIB: " ${GEOS_C_LIBRARY} ) +message( "-- GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) +message( "-- GEOS LIB: " ${GEOS_LIBRARY} ) +message( "-- GEOS C LIB: " ${GEOS_C_LIBRARY} ) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindHDF5.cmake b/isis/cmake/FindHDF5.cmake index 2fc9f7328e..e9abbc72b8 100644 --- a/isis/cmake/FindHDF5.cmake +++ b/isis/cmake/FindHDF5.cmake @@ -16,3 +16,9 @@ find_library(HDF5_HL_LIBRARY NAMES hdf5_hl) find_library(HDF5_HLCPP_LIBRARY NAMES hdf5_hl_cpp) get_filename_component(HDF5_ROOT_INCLUDE_DIR "${HDF5_INCLUDE_DIR}" DIRECTORY) + +message( "-- HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") +message( "-- HDF5 LIB: ${HDF5_LIBRARY}") +message( "-- HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") +message( "-- HDF5 HL LIB: ${HDF5_HL_LIBRARY}") +message( "-- HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake index 33d0fa108f..71de34db60 100644 --- a/isis/cmake/FindJama.cmake +++ b/isis/cmake/FindJama.cmake @@ -11,4 +11,4 @@ find_path(JAMA_INCLUDE_DIR get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) -message("JAMA FOUND") +message( "-- JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index fc39cc61e7..0437d99e23 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -21,3 +21,6 @@ find_library(KAKADU_V_LIBRARY ) get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) + +message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") +message( "-- KAKADU LIB DIR: ${KAKADU_A_LIBRARY}") diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index bb8cd81385..17c030e282 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -14,3 +14,6 @@ find_library(NN_LIBRARY ) get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) + +message( "-- NN INCLUDE DIR: ${NN_INCLUDE_DIR}") +message( "-- NN LIB: ${NN_LIBRARY}") diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake index ecfe007fe2..d2b11cd400 100644 --- a/isis/cmake/FindOpenCV.cmake +++ b/isis/cmake/FindOpenCV.cmake @@ -27,3 +27,18 @@ find_library(OPENCV_HIGHGUI_LIBRARY NAMES opencv_highgui) find_library(OPENCV_FLANN_LIBRARY NAMES opencv_flann) get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY) + +message( "-- OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") +message( "-- OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") +message( "-- OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") +message( "-- OPENCV SUPERES LIB: ${OPENCV_SUPERRES_LIBRARY}") +message( "-- OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") +message( "-- OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") +message( "-- OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") +message( "-- OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") +message( "-- OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") +message( "-- OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") +message( "-- OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") +message( "-- OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") +message( "-- OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") +message( "-- OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index ae74c625c2..62883035ff 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -20,3 +20,8 @@ find_library(PCL_OCTREE_LIBRARY NAMES pcl_octree) find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) + +message( "-- PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") +message( "-- PCL COMMON LIB: ${pcl_common}") +message( "-- PCL OCTREE LIB: ${pcl_octree}") +message( "-- PCL IO LIB: ${pcl_io}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index 7bc7b7ce5b..5374cb50e8 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -6,3 +6,6 @@ find_path(PROTOBUF_INCLUDE_DIR find_library(PROTOBUF_LIBRARY NAMES protobuf) get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) + +message( "-- PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") +message( "-- PROTOBUF LIB: ${PROTOBUF_LIBRARY}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 7dbfa4c3a5..396ea6fac6 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -15,3 +15,6 @@ find_library(QWT_LIBRARY ) get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) + +message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") +message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 9365e0812a..7462e6dc9a 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -15,3 +15,7 @@ find_library(SUPERLU_LIBRARY ) get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) + + +message( "-- SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") +message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index d97db9a969..6b7149b687 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -2,7 +2,8 @@ find_path(TIFF_INCLUDE_DIR NAMES tiff.h PATH_SUFFIXES "tiff/tiff-${TIFF_FIND_VERSION}" ) -# message("TIFF_INCLUDE_DIR = ${TIFF_INCLUDE_DIR}") find_library(TIFF_LIBRARY NAMES tiff) -# message("TIFF_LIBRARY = ${TIFF_LIBRARY}") + +message( "-- TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") +message( "-- TIFF LIB: ${TIFF_LIBRARY}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index 7b05477d69..aea3a60d36 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -10,3 +10,5 @@ find_path(TNT_INCLUDE_DIR ) get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) + +message("-- TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake index f67e5b8b49..a1714cb526 100644 --- a/isis/cmake/FindX11.cmake +++ b/isis/cmake/FindX11.cmake @@ -7,3 +7,5 @@ find_library(X11_LIBRARY NAMES X11 ) + +message( "-- X11 LIB: " ${X11_LIBRARY} ) diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index cf639e4394..6e72e533aa 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -5,3 +5,6 @@ find_path(XERCESC_INCLUDE_DIR # message("XERCESC_INCLUDE_DIR = ${XERCESC_INCLUDE_DIR}") find_library(XercesC_LIBRARY NAMES xerces-c) + +message( "-- XERCES LIB: " ${XercesC_LIBRARY} ) +message( "-- XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) diff --git a/isis/cmake/matching.py b/isis/cmake/matching.py new file mode 100644 index 0000000000..4ec3bf52c9 --- /dev/null +++ b/isis/cmake/matching.py @@ -0,0 +1,316 @@ +# Deal with annoying numpy warning +import warnings +warnings.filterwarnings("ignore") + +from shapely import wkt +import glob +import os + +import argparse + +import autocnet +from autocnet import CandidateGraph +from autocnet.graph.edge import Edge +from autocnet.matcher import suppression_funcs + +from shapely.geometry import Point +from PIL import Image, ImageDraw + +from scipy.stats.mstats import zscore +from scipy.stats import gaussian_kde + +import pandas as pd + +import geopandas as gpd +from shapely.geometry import Polygon, mapping, box + +from osgeo import gdal +from osgeo import osr +import numpy as np +from plio.io.io_gdal import GeoDataset + +import subprocess +from subprocess import Popen, PIPE + +from pysis.isis import spiceinit, footprintinit, jigsaw, pointreg, cam2map +from pysis.exceptions import ProcessError + +from plio.date import marstime +from collections import OrderedDict + +import yaml + +from functools import partial +import utils + + +record = OrderedDict({ + 'file_id1' : '', + 'file_id2' : '', + 'file_path1' : '', + 'file_path2': '', + 'localtime1' : 0, + 'localtime2' : 0, + 'solarlon1' : 0, + 'solarlon2' : 0, + 'mars_year1' : 0, + 'mars_year2' : 0, + 'delta_time' : 0, + 'residual_min' : 0, + 'residual_max' : 0, + 'incident_angle1' : 0, + 'incident_angle2' : 0, + 'stddev1' : 0, + 'stddev2' : 0, + 'avg1' : 0, + 'avg2' : 0, + 'min1' : 0, + 'min2' : 0, + 'max1' : 0, + 'max2' : 0, + 'diff_avg' : 0, + 'diff_stddev' : 0, +}) + + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('id1', action='store', help='Image ID for image one') + parser.add_argument('id2', action='store', help='Image ID for image two') + parser.add_argument('-c', '--config', action='store', help='path to config file', default='./config.yml') + parser.add_argument('-v', '--verbose', action='store_true', help='Activates verbose output', default=False) + parser.add_argument('-g', '--graph', action='store_true', help='Display graphs of the data as is goes through.', default=False) + args = parser.parse_args().__dict__ + + with open(args['config'], 'r') as ymlfile: + cfg = yaml.load(ymlfile) + + if args['verbose']: + def verboseprint(*args): + # Print each argument separately so caller doesn't need to + # stuff everything to be printed into a single string + import pprint + pp = pprint.PrettyPrinter(indent=2) + for arg in args: + pp.pprint(arg), + print() + else: + verboseprint = lambda *a: None # do-nothing function + + verboseprint('ARGS:', args) + verboseprint('CONFIG:', cfg) + # patch in davinci_bin onto run_davinci to prevent contstantly having to pass it in + run_davinci = partial(utils.run_davinci, root_dir=config['inpath']) + + files = [os.path.abspath('{}.lev1.cub'.format(id1)), os.path.abspath('{}.lev1.cub'.format(id2))] + img1, img2 = files + cubelis = '{}_{}.lis'.format(id1, id2) + + record['id1'] = args['id1'] + record['id2'] = args['id2'] + record['img1_path'] = img1 + record['img2_path'] = img2 + + ############################################################# + + cg = CandidateGraph.from_filelist(files) + + # The range of DN values over the data is small, so the threshold for differentiating interesting features must be small. + cg.extract_features(extractor_parameters={'contrastThreshold':0.0000000001}) + cg.match() + + e = cg.edge[0][1] + e.symmetry_check() + e.ratio_check(clean_keys=['symmetry']) + + cg.compute_fundamental_matrices(clean_keys=['symmetry', 'ratio'], reproj_threshold=1, mle_reproj_threshold=0.2) + cg.suppress(clean_keys=['fundamental'], suppression_func=suppression_funcs.distance, k=20, min_radius=10) + + cnet = '{}_{}'.format(filid1, filid2) + cnet_file = '{}.net'.format(cnet) + cg.create_control_network(clean_keys=['fundamental', 'suppression']) + cg.to_isis(cnet) + + intersection = e.destination.footprint.intersection(e.source.footprint) + + pointreg_params_pass1 = { + 'from_' : cubelis, + 'cnet' : cnet_file, + 'onet' : cnet_file, + 'deffile': 'pointreg_P71x151_S131x231.def' + } + + pointreg_params_pass2 = { + 'from_' : cubelis, + 'cnet' : cnet_file, + 'onet' : cnet_file, + 'deffile': 'pointreg_P51x51_S65x65.def' + } + + try: + pointreg(**pointreg_params_pass1) + pointreg(**pointreg_params_pass2) + except ProcessError as e: + print('Pointreg Error') + print("STDOUT:", e.stdout.decode('utf-8')) + print("STDERR:", e.stderr.decode('utf-8')) + + bundle_parameters = { + 'from_' : cubelis, + 'cnet' : cnet_file, + 'onet' : cnet_file, + 'radius' : 'yes', + 'update' : 'yes', + 'errorpropagation' : 'no', + 'outlier_rejection' : 'no', + 'sigma0' : '1.0e-10', + 'maxits' : 10, + 'camsolve' : 'accelerations', + 'twist' : 'yes', + 'overexisting' : 'yes', + 'spsolve' : 'no', + 'camera_angles_sigma' : .25, + 'camera_angular_velocity_sigma' : .1, + 'camera_angular_acceleration_sigma' : .01, + 'point_radius_sigma' : 50 + } + + try: + jigsaw(**bundle_parameters) + except ProcessError as e: + print('Jigsaw Error') + print("STDOUT:", e.stdout.decode('utf-8')) + print("STDERR:", e.stderr.decode('utf-8')) + + df = pd.read_csv('residuals.csv', header=1) + + residuals = df.iloc[1:]['residual.1'].astype(float) + + residual_min = min(residuals) + residual_max = max(residuals) + + df['residual'].iloc[1:].astype(float).describe() + + img1fh = GeoDataset(img1) + img2fh = GeoDataset(img2) + + + # need to clean up time stuff + print("Image 1 =======") + label = img1fh.metadata + starttime1 = label['IsisCube']['Instrument']['StartTime'] + endtime1 = label['IsisCube']['Instrument']['StopTime'] + print(marstime.getMTfromTime(starttime1 + (endtime1-starttime1)/2)[0]) + print(label[4][1]['SolarLongitude']) + print('LOCAL TIME', marstime.getLTfromTime(starttime1,0)) + + print() + print("Image 2 =======") + label = img2fh.metadata + starttime2 = label['IsisCube']['Instrument']['StartTime'] + endtime2 = label['IsisCube']['Instrument']['StopTime'] + + print('start time: ', starttime2) + earth_time2 = starttime2 + (endtime2-starttime2)/2 + print('EARTH_TIME: ', earth_time2) + print(label[4][1]['SolarLongitude']) + print('LOCAL TIME', marstime.getLTfromTime(starttime2,0)) + + + # Run spiceinit and footprintint - latter helps constrain the search + for f in files: + try: + footprintinit(from_=f) + except Exception as e: + print('FP Error') + print("STDOUT:", e.stdout.decode('utf-8')) + print("STDERR:", e.stderr.decode('utf-8')) + + img1fh = GeoDataset(img1) + img2fh = GeoDataset(img2) + + shape1 = wkt.loads(img1fh.footprint.GetGeometryRef(0).ExportToWkt()) + shape2 = wkt.loads(img2fh.footprint.GetGeometryRef(0).ExportToWkt()) + minlong, minlat, maxlong, maxlat = shape1.intersection(shape2).bounds + + img1proj = '{}.proj.cub'.format(img1.split('.')[0]) + img2proj = '{}.proj.cub'.format(img2.split('.')[0]) + + print(img1proj) + print(img2proj) + + cam2map_params1 = { + 'from_' : img1, + 'map' : 'equidistant.map', + 'to' : img1proj + } + + cam2map_params2 = { + 'from_' : img2, + 'map' : img1proj, + 'to' : img2proj, + 'matchmap' : 'yes' + } + + try: + print('Running cam2map on {}'.format(img1)) + cam2map(**cam2map_params1) + print('Running cam2map on {}'.format(img2)) + cam2map(**cam2map_params2) + except ProcessError as e: + print('cam2map Error') + print("STDOUT:", e.stdout.decode('utf-8')) + print("STDERR:", e.stderr.decode('utf-8')) + + args = ['deplaid=1','wnremove=1', 'autoradcorr=1', 'destreak=1'] + try: + out1, err1 = run_davinci('thm_post_process.dv', img1proj, img1proj, args=args) + out2, err2 = run_davinci('thm_post_process.dv', img2proj, img2proj, args=args) + except Exception as e: + print(e) + + try: + out1, err1 = run_davinci('thm_tb.dv', img1proj, img1proj) + out2, err2 = run_davinci('thm_tb.dv', img2proj, img2proj) + except Exception as e: + print(e) + + img1fh = GeoDataset(img1proj) + img2fh = GeoDataset(img2proj) + + img1data = img1fh.read_array(9) + img2data = img2fh.read_array(9) + + img1data = np.ma.MaskedArray(img1data, img1data == np.min(img1data)) + img2data = np.ma.MaskedArray(img2data, img2data == np.min(img2data)) + + print(np.min(img1data), np.min(img2data)) + print(img2data.shape) + print(img1data.shape) + + diff = np.ma.MaskedArray(img1data.data-img2data.data, img1data.mask | img2data.mask) + + hist(diff[~diff.mask], bins=200) + diffavg = np.mean(diff) + diffmin = np.min(diff) + diffmax = np.max(diff) + diffstddev = np.std(diff) + diffmin, diffmax, diffavg, diffstddev + + img1vals = img1inter[~img1inter.mask] + img2vals = img2inter[~img2inter.mask] + + img1min = np.min(img1vals) + img1max = np.max(img1vals) + img1min, img1max + + img2min = np.min(img2vals) + img2max = np.max(img2vals) + img2min, img2max + + img1avg = np.mean(img1inter) + img2avg = np.mean(img2inter) + img1avg, img2avg + + # write to csv -- GitLab From 4f8ba042070f0034bc8c6422f8a4fc91c4689715 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 17:27:43 -0700 Subject: [PATCH 0090/1212] removed unwanted file --- isis/cmake/matching.py | 316 ----------------------------------------- 1 file changed, 316 deletions(-) delete mode 100644 isis/cmake/matching.py diff --git a/isis/cmake/matching.py b/isis/cmake/matching.py deleted file mode 100644 index 4ec3bf52c9..0000000000 --- a/isis/cmake/matching.py +++ /dev/null @@ -1,316 +0,0 @@ -# Deal with annoying numpy warning -import warnings -warnings.filterwarnings("ignore") - -from shapely import wkt -import glob -import os - -import argparse - -import autocnet -from autocnet import CandidateGraph -from autocnet.graph.edge import Edge -from autocnet.matcher import suppression_funcs - -from shapely.geometry import Point -from PIL import Image, ImageDraw - -from scipy.stats.mstats import zscore -from scipy.stats import gaussian_kde - -import pandas as pd - -import geopandas as gpd -from shapely.geometry import Polygon, mapping, box - -from osgeo import gdal -from osgeo import osr -import numpy as np -from plio.io.io_gdal import GeoDataset - -import subprocess -from subprocess import Popen, PIPE - -from pysis.isis import spiceinit, footprintinit, jigsaw, pointreg, cam2map -from pysis.exceptions import ProcessError - -from plio.date import marstime -from collections import OrderedDict - -import yaml - -from functools import partial -import utils - - -record = OrderedDict({ - 'file_id1' : '', - 'file_id2' : '', - 'file_path1' : '', - 'file_path2': '', - 'localtime1' : 0, - 'localtime2' : 0, - 'solarlon1' : 0, - 'solarlon2' : 0, - 'mars_year1' : 0, - 'mars_year2' : 0, - 'delta_time' : 0, - 'residual_min' : 0, - 'residual_max' : 0, - 'incident_angle1' : 0, - 'incident_angle2' : 0, - 'stddev1' : 0, - 'stddev2' : 0, - 'avg1' : 0, - 'avg2' : 0, - 'min1' : 0, - 'min2' : 0, - 'max1' : 0, - 'max2' : 0, - 'diff_avg' : 0, - 'diff_stddev' : 0, -}) - - - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('id1', action='store', help='Image ID for image one') - parser.add_argument('id2', action='store', help='Image ID for image two') - parser.add_argument('-c', '--config', action='store', help='path to config file', default='./config.yml') - parser.add_argument('-v', '--verbose', action='store_true', help='Activates verbose output', default=False) - parser.add_argument('-g', '--graph', action='store_true', help='Display graphs of the data as is goes through.', default=False) - args = parser.parse_args().__dict__ - - with open(args['config'], 'r') as ymlfile: - cfg = yaml.load(ymlfile) - - if args['verbose']: - def verboseprint(*args): - # Print each argument separately so caller doesn't need to - # stuff everything to be printed into a single string - import pprint - pp = pprint.PrettyPrinter(indent=2) - for arg in args: - pp.pprint(arg), - print() - else: - verboseprint = lambda *a: None # do-nothing function - - verboseprint('ARGS:', args) - verboseprint('CONFIG:', cfg) - # patch in davinci_bin onto run_davinci to prevent contstantly having to pass it in - run_davinci = partial(utils.run_davinci, root_dir=config['inpath']) - - files = [os.path.abspath('{}.lev1.cub'.format(id1)), os.path.abspath('{}.lev1.cub'.format(id2))] - img1, img2 = files - cubelis = '{}_{}.lis'.format(id1, id2) - - record['id1'] = args['id1'] - record['id2'] = args['id2'] - record['img1_path'] = img1 - record['img2_path'] = img2 - - ############################################################# - - cg = CandidateGraph.from_filelist(files) - - # The range of DN values over the data is small, so the threshold for differentiating interesting features must be small. - cg.extract_features(extractor_parameters={'contrastThreshold':0.0000000001}) - cg.match() - - e = cg.edge[0][1] - e.symmetry_check() - e.ratio_check(clean_keys=['symmetry']) - - cg.compute_fundamental_matrices(clean_keys=['symmetry', 'ratio'], reproj_threshold=1, mle_reproj_threshold=0.2) - cg.suppress(clean_keys=['fundamental'], suppression_func=suppression_funcs.distance, k=20, min_radius=10) - - cnet = '{}_{}'.format(filid1, filid2) - cnet_file = '{}.net'.format(cnet) - cg.create_control_network(clean_keys=['fundamental', 'suppression']) - cg.to_isis(cnet) - - intersection = e.destination.footprint.intersection(e.source.footprint) - - pointreg_params_pass1 = { - 'from_' : cubelis, - 'cnet' : cnet_file, - 'onet' : cnet_file, - 'deffile': 'pointreg_P71x151_S131x231.def' - } - - pointreg_params_pass2 = { - 'from_' : cubelis, - 'cnet' : cnet_file, - 'onet' : cnet_file, - 'deffile': 'pointreg_P51x51_S65x65.def' - } - - try: - pointreg(**pointreg_params_pass1) - pointreg(**pointreg_params_pass2) - except ProcessError as e: - print('Pointreg Error') - print("STDOUT:", e.stdout.decode('utf-8')) - print("STDERR:", e.stderr.decode('utf-8')) - - bundle_parameters = { - 'from_' : cubelis, - 'cnet' : cnet_file, - 'onet' : cnet_file, - 'radius' : 'yes', - 'update' : 'yes', - 'errorpropagation' : 'no', - 'outlier_rejection' : 'no', - 'sigma0' : '1.0e-10', - 'maxits' : 10, - 'camsolve' : 'accelerations', - 'twist' : 'yes', - 'overexisting' : 'yes', - 'spsolve' : 'no', - 'camera_angles_sigma' : .25, - 'camera_angular_velocity_sigma' : .1, - 'camera_angular_acceleration_sigma' : .01, - 'point_radius_sigma' : 50 - } - - try: - jigsaw(**bundle_parameters) - except ProcessError as e: - print('Jigsaw Error') - print("STDOUT:", e.stdout.decode('utf-8')) - print("STDERR:", e.stderr.decode('utf-8')) - - df = pd.read_csv('residuals.csv', header=1) - - residuals = df.iloc[1:]['residual.1'].astype(float) - - residual_min = min(residuals) - residual_max = max(residuals) - - df['residual'].iloc[1:].astype(float).describe() - - img1fh = GeoDataset(img1) - img2fh = GeoDataset(img2) - - - # need to clean up time stuff - print("Image 1 =======") - label = img1fh.metadata - starttime1 = label['IsisCube']['Instrument']['StartTime'] - endtime1 = label['IsisCube']['Instrument']['StopTime'] - print(marstime.getMTfromTime(starttime1 + (endtime1-starttime1)/2)[0]) - print(label[4][1]['SolarLongitude']) - print('LOCAL TIME', marstime.getLTfromTime(starttime1,0)) - - print() - print("Image 2 =======") - label = img2fh.metadata - starttime2 = label['IsisCube']['Instrument']['StartTime'] - endtime2 = label['IsisCube']['Instrument']['StopTime'] - - print('start time: ', starttime2) - earth_time2 = starttime2 + (endtime2-starttime2)/2 - print('EARTH_TIME: ', earth_time2) - print(label[4][1]['SolarLongitude']) - print('LOCAL TIME', marstime.getLTfromTime(starttime2,0)) - - - # Run spiceinit and footprintint - latter helps constrain the search - for f in files: - try: - footprintinit(from_=f) - except Exception as e: - print('FP Error') - print("STDOUT:", e.stdout.decode('utf-8')) - print("STDERR:", e.stderr.decode('utf-8')) - - img1fh = GeoDataset(img1) - img2fh = GeoDataset(img2) - - shape1 = wkt.loads(img1fh.footprint.GetGeometryRef(0).ExportToWkt()) - shape2 = wkt.loads(img2fh.footprint.GetGeometryRef(0).ExportToWkt()) - minlong, minlat, maxlong, maxlat = shape1.intersection(shape2).bounds - - img1proj = '{}.proj.cub'.format(img1.split('.')[0]) - img2proj = '{}.proj.cub'.format(img2.split('.')[0]) - - print(img1proj) - print(img2proj) - - cam2map_params1 = { - 'from_' : img1, - 'map' : 'equidistant.map', - 'to' : img1proj - } - - cam2map_params2 = { - 'from_' : img2, - 'map' : img1proj, - 'to' : img2proj, - 'matchmap' : 'yes' - } - - try: - print('Running cam2map on {}'.format(img1)) - cam2map(**cam2map_params1) - print('Running cam2map on {}'.format(img2)) - cam2map(**cam2map_params2) - except ProcessError as e: - print('cam2map Error') - print("STDOUT:", e.stdout.decode('utf-8')) - print("STDERR:", e.stderr.decode('utf-8')) - - args = ['deplaid=1','wnremove=1', 'autoradcorr=1', 'destreak=1'] - try: - out1, err1 = run_davinci('thm_post_process.dv', img1proj, img1proj, args=args) - out2, err2 = run_davinci('thm_post_process.dv', img2proj, img2proj, args=args) - except Exception as e: - print(e) - - try: - out1, err1 = run_davinci('thm_tb.dv', img1proj, img1proj) - out2, err2 = run_davinci('thm_tb.dv', img2proj, img2proj) - except Exception as e: - print(e) - - img1fh = GeoDataset(img1proj) - img2fh = GeoDataset(img2proj) - - img1data = img1fh.read_array(9) - img2data = img2fh.read_array(9) - - img1data = np.ma.MaskedArray(img1data, img1data == np.min(img1data)) - img2data = np.ma.MaskedArray(img2data, img2data == np.min(img2data)) - - print(np.min(img1data), np.min(img2data)) - print(img2data.shape) - print(img1data.shape) - - diff = np.ma.MaskedArray(img1data.data-img2data.data, img1data.mask | img2data.mask) - - hist(diff[~diff.mask], bins=200) - diffavg = np.mean(diff) - diffmin = np.min(diff) - diffmax = np.max(diff) - diffstddev = np.std(diff) - diffmin, diffmax, diffavg, diffstddev - - img1vals = img1inter[~img1inter.mask] - img2vals = img2inter[~img2inter.mask] - - img1min = np.min(img1vals) - img1max = np.max(img1vals) - img1min, img1max - - img2min = np.min(img2vals) - img2max = np.max(img2vals) - img2min, img2max - - img1avg = np.mean(img1inter) - img2avg = np.mean(img2inter) - img1avg, img2avg - - # write to csv -- GitLab From 0a7031bf7a6b16de613eff345a1493cbba587460 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 17:39:25 -0700 Subject: [PATCH 0091/1212] typo --- isis/cmake/FindBoost.cmake | 31 +++++++++++++++++++++++++++++++ isis/cmake/FindQwt.cmake | 4 ++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake index dafe981460..f374608226 100644 --- a/isis/cmake/FindBoost.cmake +++ b/isis/cmake/FindBoost.cmake @@ -14,81 +14,107 @@ get_filename_component(BOOST_ROOT_INCLUDE_DIR "${BOOST_INCLUDE_DIR}" DIRECTORY) find_library(BOOST_ATOMIC_MT_LIBRARY NAMES boost_atomic-mt boost_atomic ) + find_library(BOOST_LOG_MT_LIBRARY NAMES boost_log-mt boost_log ) + find_library(BOOST_REGEX_MT_LIBRARY NAMES boost_regex-mt boost_regex ) + find_library(BOOST_LOG_SETUP_MT_LIBRARY NAMES boost_log_setup-mt boost_log_setup ) + find_library(BOOST_SERIALIZATION_MT_LIBRARY NAMES boost_serialization-mt boost_serialization ) + find_library(BOOST_CHRONO_MT_LIBRARY NAMES boost_chrono-mt boost_chrono ) + find_library(BOOST_MATH_C99_MT_LIBRARY NAMES boost_math_c99-mt boost_math_c99 ) + find_library(BOOST_SIGNALS_MT_LIBRARY NAMES boost_signals-mt boost_signals ) + find_library(BOOST_CONTAINER_MT_LIBRARY NAMES boost_container-mt boost_container ) + find_library(BOOST_MATH_C99F_MT_LIBRARY NAMES boost_math_c99f-mt boost_math_c99f ) + find_library(BOOST_CONTEXT_MT_LIBRARY NAMES boost_context-mt boost_context ) + find_library(BOOST_MATH_C99L_MT_LIBRARY NAMES boost_math_c99l-mt boost_math_c99l ) + find_library(BOOST_SYSTEM_MT_LIBRARY NAMES boost_system-mt boost_system ) + find_library(BOOST_COROUTINE_MT_LIBRARY NAMES boost_coroutine-mt boost_coroutine ) + find_library(BOOST_MATH_TR1_MT_LIBRARY NAMES boost_math_tr1-mt boost_math_tr1 ) + find_library(BOOST_MATH_TR1F_MT_LIBRARY NAMES boost_math_tr1f-mt boost_math_tr1f ) + find_library(BOOST_MATH_TR1L_MT_LIBRARY NAMES boost_math_tr1l-mt boost_math_tr1l ) + find_library(BOOST_TEST_EXEC_MONITOR_MT_LIBRARY NAMES boost_test_exec_monitor-mt boost_test_exec_monitor ) + find_library(BOOST_DATE_TIME_MT_LIBRARY NAMES boost_date_time-mt boost_date_time ) + find_library(BOOST_THREAD_MT_LIBRARY NAMES boost_thread-mt boost_thread ) + find_library(BOOST_EXCEPTION_MT_LIBRARY NAMES boost_exception-mt boost_exception ) + find_library(BOOST_TIMER_MT_LIBRARY NAMES boost_timer-mt boost_timer ) + find_library(BOOST_FILESYSTEM_MT_LIBRARY NAMES boost_filesystem-mt boost_filesystem ) + find_library(BOOST_PRG_EXEC_MONITOR_MT_LIBRARY NAMES boost_prg_exec_monitor-mt boost_prg_exec_monitor ) + find_library(BOOST_PROGRAM_OPTIONS_MT_LIBRARY NAMES boost_program_options-mt boost_program_options ) + find_library(BOOST_UNIT_TEST_FRAMEWORK_MT_LIBRARY NAMES boost_unit_test_framework-mt boost_unit_test_framework ) + find_library(BOOST_IOSTREAMS_MT_LIBRARY NAMES boost_iostreams-mt boost_iostreams ) @@ -98,9 +124,11 @@ find_library(BOOST_IOSTREAMS_MT_LIBRARY #find_library(BOOST_PYTHON_MT_LIBRARY # NAMES boost_python-mt boost_python #) + find_library(BOOST_WAVE_MT_LIBRARY NAMES boost_wave-mt boost_wave ) + #tjw: not being linked against by ISIS presently #find_library(BOOST_LOCAL_MT_LIBRARY # NAMES boost_locale-mt boost_locale @@ -108,12 +136,15 @@ find_library(BOOST_WAVE_MT_LIBRARY find_library(BOOST_RANDOM_MT_LIBRARY NAMES boost_random-mt boost_random ) + find_library(BOOST_WSERIALIZATION_MT_LIBRARY NAMES boost_wserialization-mt boost_wserialization ) + find_library(PYTHON_LIBRARY NAMES python2 python2.7 python3 ) + find_library(C_LIBRARY NAMES c ) diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 396ea6fac6..8b52467945 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -16,5 +16,5 @@ find_library(QWT_LIBRARY get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) -message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") -message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") +message( "-- QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") +message( "-- QWT LIB: ${QWT_LIBRARY}") -- GitLab From 2ab90d3ead62daa1dedf2357f0256ec26ed8ec23 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 17:42:03 -0700 Subject: [PATCH 0092/1212] more typos --- isis/cmake/FindOpenCV.cmake | 2 +- isis/cmake/FindPCL.cmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake index d2b11cd400..0984686d94 100644 --- a/isis/cmake/FindOpenCV.cmake +++ b/isis/cmake/FindOpenCV.cmake @@ -31,7 +31,7 @@ get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY message( "-- OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") message( "-- OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") message( "-- OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") -message( "-- OPENCV SUPERES LIB: ${OPENCV_SUPERRES_LIBRARY}") +message( "-- OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") message( "-- OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") message( "-- OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") message( "-- OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 62883035ff..625a6126d7 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -22,6 +22,6 @@ find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) message( "-- PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") -message( "-- PCL COMMON LIB: ${pcl_common}") -message( "-- PCL OCTREE LIB: ${pcl_octree}") -message( "-- PCL IO LIB: ${pcl_io}") +message( "-- PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") +message( "-- PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") +message( "-- PCL IO LIB: ${PCL_IO_LIBRARY}") -- GitLab From ac2773b49bd14300c081b18c75282fb202961c04 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 18:43:39 -0700 Subject: [PATCH 0093/1212] typos4dayz --- isis/cmake/FindAllDependencies.cmake | 6 +---- isis/cmake/FindKakadu.cmake | 33 ++++++++++++++++------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 29810c2a93..d0b21c05dd 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -183,6 +183,7 @@ find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 direct find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) find_package(OpenGL REQUIRED) +find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. @@ -192,11 +193,6 @@ else(APPLE) find_package(Geos 3.5.1 REQUIRED) endif(APPLE) -# Only include Kakadu if it is available -if(JP2KFLAG) - find_package(Kakadu) -endif() - get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES foreach (_variableName ${_variableNames}) #message("VAR=${_variableName}") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index 0437d99e23..a6edd15542 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -6,21 +6,26 @@ # KAKADU_A_LIBRARY # KAKADU_V_LIBRARY -find_path(KAKADU_INCLUDE_DIR - NAME kdu_kernels.h - PATH_SUFFIXES - kakadu/v7_9_1-01762L/ -) +if(JP2KFLAG) + find_path(KAKADU_INCLUDE_DIR + NAME kdu_kernels.h + PATH_SUFFIXES + kakadu/v7_9_1-01762L/ + ) -find_library(KAKADU_A_LIBRARY - NAMES kdu_a79R -) + find_library(KAKADU_A_LIBRARY + NAMES kdu_a79R + ) -find_library(KAKADU_V_LIBRARY - NAMES kdu_v79R -) + find_library(KAKADU_V_LIBRARY + NAMES kdu_v79R + ) -get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) + get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) -message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") -message( "-- KAKADU LIB DIR: ${KAKADU_A_LIBRARY}") + message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") + message( "-- KAKADU A LIB: ${KAKADU_A_LIBRARY}") + message( "-- KAKADU V LIB: ${KAKADU_V_LIBRARY}") +else() + message("-- KAKADU DISABLED") +endif() -- GitLab From 4fd6a96420f19e2bcf1c9ecfd1c8026404fa8db9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 18:45:33 -0700 Subject: [PATCH 0094/1212] things --- isis/CMakeLists.txt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 1debc7d159..720ba04e4a 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -100,12 +100,9 @@ else() message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") endif() -#if(EXISTS ${CMAKE_INSTALL_PREFIX}) -# set(ENV{CMAKE_INSTALL_PREFIX} "${CMAKE_INSTALL_PREFIX}") -# message("Using INSTALL PREFIX = $ENV{CMAKE_INSTALL_PREFIX}") -#else() -# message(WARNING "Isis3TestData directory ${CMAKE_INSTALL_PREFIX} not found, application and module tests will fail.") -#endif() +if(develop) + +endif() if(${testOutputDir} STREQUAL "OFF") message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") -- GitLab From 8edbe78e86b36adc2fc80d42f57a0740100560c4 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 6 Mar 2018 19:02:08 -0700 Subject: [PATCH 0095/1212] Update FindGeoTIFF.cmake --- isis/cmake/FindGeoTIFF.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index 293a4ae9c0..fce2108576 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -17,4 +17,4 @@ find_library(GEOTIFF_LIBRARY get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") -message( "-- GEOTIFF LIB: ${GSL_LIBRARY}") +message( "-- GEOTIFF LIB: ${GEOTIFF_LIBRARY}") -- GitLab From 3fd1e425839a0db1a5b772314f2a487022b0ef09 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 00:05:35 -0700 Subject: [PATCH 0096/1212] Update JP2Encoder.cpp --- isis/src/base/objs/JP2Encoder/JP2Encoder.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp b/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp index 993850ea87..5ad9dea20d 100644 --- a/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp +++ b/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp @@ -31,8 +31,11 @@ #include "JP2Error.h" using namespace std; + +#if ENABLEJP2K using namespace kdu_core; using namespace kdu_supp; +#endif namespace Isis { -- GitLab From daf7fb90da986131e6392dd0ba5cdd83d88bcb6c Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 00:05:56 -0700 Subject: [PATCH 0097/1212] Update JP2Decoder.cpp --- isis/src/base/objs/JP2Decoder/JP2Decoder.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp b/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp index cd87b4ccdf..b03ba95bff 100644 --- a/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp +++ b/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp @@ -31,8 +31,12 @@ #include "JP2Error.h" using namespace std; + +#if ENABLEJP2K using namespace kdu_core; using namespace kdu_supp; +#endif + namespace Isis { /** -- GitLab From af9201e1a2d98d0d3773b659cf2bfdf1772d5200 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 10:17:45 -0700 Subject: [PATCH 0098/1212] First draft of changing ISIS to work with conda --- isis/cmake/FindAllDependencies.cmake | 8 +- isis/cmake/FindGeoTIFF.cmake | 2 +- isis/cmake/Findnanoflann.cmake | 15 + isis/environment.yml | 104 +++++ isis/src/base/apps/equalizer/equalizer.cpp | 5 +- isis/src/base/objs/Affine/Affine.cpp | 5 +- .../base/objs/Equalization/Equalization.cpp | 26 +- .../ForstnerOperator/ForstnerOperator.cpp | 1 - isis/src/base/objs/JP2Decoder/JP2Decoder.cpp | 4 + isis/src/base/objs/JP2Encoder/JP2Encoder.cpp | 3 + isis/src/base/objs/JP2Encoder/JP2Encoder.h | 1 + .../base/objs/LeastSquares/LeastSquares.cpp | 367 +----------------- .../src/base/objs/LeastSquares/LeastSquares.h | 31 -- .../OverlapNormalization.cpp | 15 - .../base/objs/PolygonSeeder/PolygonSeeder.h | 25 +- .../control/apps/cnet2dem/PointCloudTree.h | 2 +- isis/src/control/apps/cnet2dem/cnet2dem.cpp | 2 +- .../apps/cnetcombinept/PointCloudTree.h | 2 +- .../apps/cnetcombinept/cnetcombinept.cpp | 47 ++- 19 files changed, 195 insertions(+), 470 deletions(-) create mode 100644 isis/cmake/Findnanoflann.cmake create mode 100644 isis/environment.yml diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index d0b21c05dd..c19a158a93 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -79,19 +79,19 @@ if(APPLE) find_package(Qt5 COMPONENTS Core Concurrent - DBus + # DBus Gui Multimedia MultimediaWidgets Network OpenGL # Needed to install mesa-common-dev for this! - Positioning + # Positioning PrintSupport Qml Quick Script ScriptTools - Sensors + # Sensors Sql Svg Test @@ -183,6 +183,8 @@ find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 direct find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) find_package(OpenGL REQUIRED) +find_package(nanoflann REQUIRED) +find_package(png REQUIRED) find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index 293a4ae9c0..fce2108576 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -17,4 +17,4 @@ find_library(GEOTIFF_LIBRARY get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") -message( "-- GEOTIFF LIB: ${GSL_LIBRARY}") +message( "-- GEOTIFF LIB: ${GEOTIFF_LIBRARY}") diff --git a/isis/cmake/Findnanoflann.cmake b/isis/cmake/Findnanoflann.cmake new file mode 100644 index 0000000000..3562e074d8 --- /dev/null +++ b/isis/cmake/Findnanoflann.cmake @@ -0,0 +1,15 @@ +# CMake module for find_package(GSL) +# Finds include directory and all applicable libraries +# +# Sets the following: +# GSL_INCLUDE_DIR +# GSL_LIBLIST + +find_path(NANOFLANN_INCLUDE_DIR + NAMES nanoflann.hpp + PATH_SUFFIXES nanoflann/ +) + +get_filename_component(NANOFLANN_ROOT_INCLUDE_DIR "${NANOFLANN_INCLUDE_DIR}" DIRECTORY) + +message( "-- NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") diff --git a/isis/environment.yml b/isis/environment.yml new file mode 100644 index 0000000000..76b9a6e4b2 --- /dev/null +++ b/isis/environment.yml @@ -0,0 +1,104 @@ +name: isisdeps +channels: +- anaconda +- krodriguez +- inria-pro-sed +- conda-forge +- usgs-astrogeology +- defaults +dependencies: +- libgcc=4.8.5=1 +- blas=1.1=openblas +- boost=1.65.1=py27_0 +- boost-cpp=1.65.1=1 +- bzip2=1.0.6=1 +- ca-certificates=2018.1.18=0 +- cairo=1.14.6=4 +- certifi=2018.1.18=py27_0 +- cmake=3.9.1=0 +- cspice=66=0 +- curl=7.55.1=0 +- dbus=1.10.22=0 +- doxygen=1.8.14=0 +- eigen=3.3.3=0 +- expat=2.2.5=0 +- ffmpeg=3.2.4=3 +- flann=1.8.4=0 +- fontconfig=2.12.1=4 +- freetype=2.7=1 +- geos=3.5.1=1 +- geotiff=1.4.2=1 +- gettext=0.19.8.1=0 +- giflib=5.1.4=0 +- glib=2.51.4=0 +- gsl=2.2.1=blas_openblas_3 +- harfbuzz=1.3.4=2 +- hdf5=1.8.18=3 +- icu=58.2=0 +- jasper=1.900.1=4 +- jpeg=9b=2 +- krb5=1.14.2=0 +- lapack=3.6.1=1 +- libffi=3.2.1=3 +- libgfortran=3.0.0=0 +- libiconv=1.15=0 +- libpng=1.6.28=2 +- libssh2=1.8.0=2 +- libtiff=4.0.9=0 +- libuv=1.11.0=0 +- libwebp=0.5.2=7 +- libxcb=1.12=1 +- libxml2=2.9.7=0 +- m4=1.4.17=1 +- metis=5.1.0=3 +- nanoflann=1.2.2=0 +- ncurses=5.9=10 +- ninja=1.7.2=0 +- nn=1.86.0=2 +- numpy=1.13.3=py27_blas_openblas_200 +- openblas=0.2.19=2 +- opencv=3.3.0=py27_blas_openblas_200 +- openssl=1.0.2n=0 +- pcre=8.39=0 +- pip=9.0.1=py27_1 +- pixman=0.34.0=1 +- proj4=4.9.3=5 +- protobuf=3.2.0=py27_0 +- python=2.7.14=4 +- qt=5.6.2=h9e3eb04_4 +- qwt=6.1.3=1 +- readline=7.0=0 +- rhash=1.3.4=0 +- setuptools=38.5.1=py27_0 +- six=1.11.0=py27_1 +- sqlite=3.20.1=2 +- suitesparse=4.5.4=blas_openblas_200 +- superlu=5.2.1=blas_openblas_201 +- tk=8.6.7=0 +- wheel=0.30.0=py27_2 +- x264=20131217=3 +- xorg-kbproto=1.0.7=1 +- xorg-libx11=1.6.4=6 +- xorg-libxau=1.0.8=3 +- xorg-libxdmcp=1.1.2=3 +- xorg-xproto=7.0.31=6 +- xz=5.2.3=0 +- zlib=1.2.11=0 +- openmpi=1.8.6=4 +- parmetis=4.0.3p2=1 +- jama=125=0 +- tnt=126=0 +- bullet=2.86.1=he2aa7b0_0 +- ds9=7.5=h35e3669_0 +- embree=2.16.0=h6834224_0 +- gmm=5.0=h6aef312_0 +- naif=n0066=h90cdba2_0 +- patchelf=0.9=h879b6ae_0 +- pcl=1.8.1=h7a71350_0 +- qhull=7.2.0=h396fa31_0 +- tbb=4.4=hf7780a4_0 +- vtk=7.1.1=py27h56fd973_0 +- xalan-c=1.11=h1922a5c_0 +- xerces-c=3.1.4=h10f7eb2_0 +prefix: /Users/krodriguez-pr/anaconda3/envs/isisdeps + diff --git a/isis/src/base/apps/equalizer/equalizer.cpp b/isis/src/base/apps/equalizer/equalizer.cpp index ab5e714d55..6bcdbb34a7 100644 --- a/isis/src/base/apps/equalizer/equalizer.cpp +++ b/isis/src/base/apps/equalizer/equalizer.cpp @@ -70,9 +70,6 @@ void IsisMain() { if (solveMethod == "SVD") { methodType = LeastSquares::SVD; } - else if (solveMethod == "SPARSE") { - methodType = LeastSquares::SPARSE; - } equalizer.calculateStatistics(sampPercent, mincnt, wtopt, methodType); } @@ -111,4 +108,4 @@ void IsisMain() { equalizer.applyCorrection(ui.WasEntered("TOLIST") ? ui.GetFileName("TOLIST") : ""); } -} \ No newline at end of file +} diff --git a/isis/src/base/objs/Affine/Affine.cpp b/isis/src/base/objs/Affine/Affine.cpp index 92a56c8b96..117d4dc26f 100644 --- a/isis/src/base/objs/Affine/Affine.cpp +++ b/isis/src/base/objs/Affine/Affine.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -227,7 +228,7 @@ namespace Isis { * are returned in a 3-dimensional vector * * @param var The coefficient vector index (1 or 2) - * + * * @return vector Vector of coefficients */ vector Affine::Coefficients(int var) { @@ -244,7 +245,7 @@ namespace Isis { * The coefficients are returned in a 3-dimensional vector * * @param var The inverse coefficient vector index - * + * * @return vector Vector of inverse coefficients */ vector Affine::InverseCoefficients(int var) { diff --git a/isis/src/base/objs/Equalization/Equalization.cpp b/isis/src/base/objs/Equalization/Equalization.cpp index 3f7b98501c..8d1f7f9c9e 100644 --- a/isis/src/base/objs/Equalization/Equalization.cpp +++ b/isis/src/base/objs/Equalization/Equalization.cpp @@ -105,7 +105,7 @@ namespace Isis { /** - * @brief Calculates the image and overlap statistics, and then determines corrective factors if + * @brief Calculates the image and overlap statistics, and then determines corrective factors if * possible * * This method calculates image statistics on a band-by-band basis and calculates overlap @@ -155,7 +155,7 @@ namespace Isis { if (!m_badFiles.isEmpty()) { // Make sure we set the results for the already calculated overlap statistics setResults(); - + QString msg; // Let user know where to find list of non-overlapping files so they can make corrections. msg = "There are input images that do not overlap with enough valid pixels. "; @@ -199,7 +199,7 @@ namespace Isis { /** * @brief Calculates the image statistics on a band-by-band basis * - * This method calculates statistics by band for the input images. Each set of + * This method calculates statistics by band for the input images. Each set of * band statistics is used to initialize the OverlapNormalizations that will * be used to determine gains and offsets for equalization. */ @@ -239,7 +239,7 @@ namespace Isis { /** * @brief Calculates the overlap statistics for each pair of input images - * + * * This method calculates any overlap statistics that have not been previously * calculated for the input images. */ @@ -252,7 +252,7 @@ namespace Isis { // Find overlapping areas and add them to the set of known overlaps for // each band shared amongst cubes for (int i = 0; i < m_imageList.size(); i++) { - Cube cube1; + Cube cube1; cube1.open(m_imageList[i].toString()); for (int j = (i + 1); j < m_imageList.size(); j++) { @@ -401,8 +401,8 @@ namespace Isis { /** * @brief Imports statistics for applying correction * - * This method obtains corrective factors from an input statistics pvl file so that - * input images can be equalized. These corrective factors are obtained from Normalization + * This method obtains corrective factors from an input statistics pvl file so that + * input images can be equalized. These corrective factors are obtained from Normalization * groups within the EqualizationInformation object in the input pvl. * * @see Equalization::applyCorrection() @@ -699,7 +699,7 @@ namespace Isis { for (unsigned int adj = 0; adj < m_adjustments.size(); adj++) { delete m_adjustments[adj]; } - m_adjustments.clear(); + m_adjustments.clear(); } @@ -778,7 +778,7 @@ namespace Isis { const PvlGroup &eqGen = eqInfo.findGroup("General"); m_samplingPercent = eqGen["SamplingPercent"]; m_mincnt = eqGen["MinCount"]; - m_wtopt = (eqGen["Weighted"][0] == "true") ? true : false; + m_wtopt = (eqGen["Weighted"][0] == "true") ? true : false; m_sType = static_cast((int)eqGen["SolutionType"]); m_lsqMethod = static_cast(eqGen["SolveMethod"][0].toInt()); @@ -799,10 +799,10 @@ namespace Isis { m_alreadyCalculated[x] = true; m_alreadyCalculated[y] = true; - // Determine which calculated overlaps have valid overlaps + // Determine which calculated overlaps have valid overlaps // (i.e. valid pixels > mincount) if (oStat["Valid"][0] == "true") { - m_doesOverlapList[x] = true; + m_doesOverlapList[x] = true; m_doesOverlapList[y] = true; } } @@ -821,7 +821,7 @@ namespace Isis { for (int o = 0; o < (int) m_overlapStats.size(); o++) { OverlapStatistics *oStat = m_overlapStats[o]; - // Calculate the indices - we want to ensure that no matter how the input list of images + // Calculate the indices - we want to ensure that no matter how the input list of images // changes (e.g. the order is changed), we always add overlaps that same way. // This means ensuring that each overlap has the X overlap statistics associated with // the X index and the Y overlap statistics associated with the Y index. @@ -891,7 +891,7 @@ namespace Isis { m_maxBand = 0; m_sType = OverlapNormalization::Both; - m_lsqMethod = LeastSquares::SPARSE; + m_lsqMethod = LeastSquares::SVD; m_badFiles.clear(); m_doesOverlapList.clear(); diff --git a/isis/src/base/objs/ForstnerOperator/ForstnerOperator.cpp b/isis/src/base/objs/ForstnerOperator/ForstnerOperator.cpp index 329908226f..4866df64fd 100644 --- a/isis/src/base/objs/ForstnerOperator/ForstnerOperator.cpp +++ b/isis/src/base/objs/ForstnerOperator/ForstnerOperator.cpp @@ -140,4 +140,3 @@ namespace Isis { extern "C" Isis::InterestOperator *ForstnerOperatorPlugin(Isis::Pvl &pvl) { return new Isis::ForstnerOperator(pvl); } - diff --git a/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp b/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp index cd87b4ccdf..c6b1e1930d 100644 --- a/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp +++ b/isis/src/base/objs/JP2Decoder/JP2Decoder.cpp @@ -31,8 +31,12 @@ #include "JP2Error.h" using namespace std; + +#if ENABLEJP2K using namespace kdu_core; using namespace kdu_supp; +#endif + namespace Isis { /** diff --git a/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp b/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp index 993850ea87..9d241ac7e2 100644 --- a/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp +++ b/isis/src/base/objs/JP2Encoder/JP2Encoder.cpp @@ -31,8 +31,11 @@ #include "JP2Error.h" using namespace std; + +#if ENABLEJP2K using namespace kdu_core; using namespace kdu_supp; +#endif namespace Isis { diff --git a/isis/src/base/objs/JP2Encoder/JP2Encoder.h b/isis/src/base/objs/JP2Encoder/JP2Encoder.h index e142b44ec6..83ac97c683 100644 --- a/isis/src/base/objs/JP2Encoder/JP2Encoder.h +++ b/isis/src/base/objs/JP2Encoder/JP2Encoder.h @@ -30,6 +30,7 @@ #include "jp2.h" #include "kdu_stripe_compressor.h" #endif + #define MIN_STRIPE_HEIGHT 256 #define MAX_STRIPE_HEIGHT 8192 #define INCREMENTAL_FLUSH_BYTES (256 * 1024 * 1024) diff --git a/isis/src/base/objs/LeastSquares/LeastSquares.cpp b/isis/src/base/objs/LeastSquares/LeastSquares.cpp index aafbbfb17c..1d1edf96e2 100644 --- a/isis/src/base/objs/LeastSquares/LeastSquares.cpp +++ b/isis/src/base/objs/LeastSquares/LeastSquares.cpp @@ -23,10 +23,6 @@ #include "jama/jama_svd.h" #include "jama/jama_qr.h" -#ifndef __sun__ -#include "gmm/gmm_superlu_interface.h" -#endif - #include "LeastSquares.h" #include "IException.h" #include "IString.h" @@ -46,10 +42,6 @@ namespace Isis { p_sparse = sparse; p_sigma0 = 0.; -#if defined(__sun__) - p_sparse = false; -#endif - if (p_sparse) { // make sure sparse nrows/ncols have been set @@ -59,20 +51,6 @@ namespace Isis { throw IException(IException::Programmer, msg, _FILEINFO_); } -#ifndef __sun__ - gmm::resize(p_sparseA, sparseRows, sparseCols); - gmm::resize(p_normals, sparseCols, sparseCols); - gmm::resize(p_ATb, sparseCols, 1); - p_xSparse.resize(sparseCols); - - if( p_jigsaw ) { - p_epsilonsSparse.resize(sparseCols); - std::fill_n(p_epsilonsSparse.begin(), sparseCols, 0.0); - - p_parameterWeights.resize(sparseCols); - } - -#endif p_sparseRows = sparseRows; p_sparseCols = sparseCols; } @@ -131,48 +109,9 @@ namespace Isis { p_sqrtWeight.push_back(sqrt(weight)); } - if(p_sparse) { -#ifndef __sun__ - FillSparseA(data); -#endif - } - else { - p_input.push_back(data); - } - } - - - - /** - * Invoke this method for each set of knowns for sparse solutions. The A - * sparse matrix must be filled as we go or we will quickly run out of memory - * for large solutions. So, expand the basis function, apply weights (which is - * done in the Solve method for the non-sparse case. - * - * @param data A vector of knowns. - * - * @internal - * @history 2008-04-22 Tracie Sucharski - New method for sparse solutions. - * @history 2009-12-21 Jeannie Walldren - Changed variable name - * from p_weight to p_sqrtweight. - * - */ -#ifndef __sun__ - void LeastSquares::FillSparseA(const std::vector &data) { - - p_basis->Expand(data); - - p_currentFillRow++; - - // ??? Speed this up using iterator instead of array indices??? - int ncolumns = (int)data.size(); - for(int c = 0; c < ncolumns; c++) { - p_sparseA(p_currentFillRow, c) = p_basis->Term(c) * p_sqrtWeight[p_currentFillRow]; - } + p_input.push_back(data); } -#endif - /** * This method returns the data at the given row. @@ -230,10 +169,6 @@ namespace Isis { */ int LeastSquares::Solve(Isis::LeastSquares::SolveMethod method) { -#if defined(__sun__) - if(method == SPARSE) method = QRD; -#endif - if((method == SPARSE && p_sparseRows == 0) || (method != SPARSE && Rows() == 0 )) { p_solved = false; @@ -247,12 +182,6 @@ namespace Isis { else if(method == QRD) { SolveQRD(); } - else if(method == SPARSE) { -#ifndef __sun__ - int column = SolveSparse(); - return column; -#endif - } return 0; } @@ -324,8 +253,8 @@ namespace Isis { if (coefs.dim1() < p_basis->Coefficients()) { QString msg = "Unable to solve least-squares using SVD method. No " "solution available. Not enough knowns or knowns are " - "co-linear ... [Unknowns = " - + toString(p_basis->Coefficients()) + "] [Knowns = " + "co-linear ... [Unknowns = " + + toString(p_basis->Coefficients()) + "] [Knowns = " + toString(coefs.dim1()) + "]"; throw IException(IException::Unknown, msg, _FILEINFO_); } @@ -422,295 +351,11 @@ namespace Isis { } - - - /** - * @brief Solve using sparse class - * - * After all the data has been registered through AddKnown, invoke this - * method to solve the system of equations Nx = b, where - * - * N = ATPA - * b = ATPl, and - * - * N is the "normal equations matrix; - * A is the so-called "design" matrix; - * P is the observation weight matrix (typically diagonal); - * l is the "computed - observed" column vector; - * - * The solution is achieved using a sparse matrix formulation of - * the LU decomposition of the normal equations. - * - * You can then use the Evaluate and Residual methods freely. - * - * @internal - * @history 2008-04-16 Debbie Cook / Tracie Sucharski, New method - * @history 2008-04-23 Tracie Sucharski, Fill sparse matrix as we go in - * AddKnown method rather than in the solve method, - * otherwise we run out of memory very quickly. - * @history 2009-04-08 Tracie Sucharski - Added return value which is a - * column number of a column that contained all zeros. - * @history 2009-12-21 Jeannie Walldren - Changed variable name - * from p_weight to p_sqrtweight. - * @history 2010 Ken Edmundson - * @history 2010-11-20 Debbie A. Cook Merged Ken Edmundson verion with system version - * @history 2011-03-17 Ken Edmundson Corrected computation of residuals - * - */ -#ifndef __sun__ - int LeastSquares::SolveSparse() { - - // form "normal equations" matrix by multiplying ATA - gmm::mult(gmm::transposed(p_sparseA), p_sparseA, p_normals); - - // Test for any columns with all 0's - // Return column number so caller can determine the appropriate error. - int numNonZeros; - for(int c = 0; c < p_sparseCols; c++) { - numNonZeros = gmm::nnz(gmm::sub_matrix(p_normals, - gmm::sub_interval(0,p_sparseCols), - gmm::sub_interval(c,1))); - - if(numNonZeros == 0) return c + 1; - } - - // Create the right-hand-side column vector 'b' - gmm::dense_matrix b(p_sparseRows, 1); - - // multiply each element of 'b' by it's associated weight - for ( int r = 0; r < p_sparseRows; r++ ) - b(r,0) = p_expected[r] * p_sqrtWeight[r]; - - // form ATb - gmm::mult(gmm::transposed(p_sparseA), b, p_ATb); - - // apply parameter weighting if Jigsaw (bundle adjustment) - if ( p_jigsaw ) { - for( int i = 0; i < p_sparseCols; i++) { - double weight = p_parameterWeights[i]; - - if( weight <= 0.0 ) - continue; - - p_normals[i][i] += weight; - p_ATb[i] -= p_epsilonsSparse[i]*weight; - } - } - -// printf("printing rhs\n"); -// for( int i = 0; i < m_nSparseCols; i++ ) -// printf("%20.10e\n",m_ATb[i]); - - // decompose normal equations matrix - p_SLU_Factor.build_with(p_normals); - - // solve with decomposed normals and right hand side - // int perm = 0; // use natural ordering - int perm = 2; // confirm meaning and necessity of -// double recond; // variables perm and recond - p_SLU_Factor.solve(p_xSparse,gmm::mat_const_col(p_ATb,0), perm); - // Set the coefficients in our basis equation - p_basis->SetCoefficients(p_xSparse); - - // if Jigsaw (bundle adjustment) - // add corrections into epsilon vector (keeping track of total corrections) - if ( p_jigsaw ) { - for( int i = 0; i < p_sparseCols; i++ ) - p_epsilonsSparse[i] += p_xSparse[i]; - } - - // test print solution -// printf("printing solution vector and epsilons\n"); -// for( int a = 0; a < p_sparseCols; a++ ) -// printf("soln[%d]: %lf epsilon[%d]: %lf\n",a,p_xSparse[a],a,p_epsilonsSparse[a]); - -// printf("printing design matrix A\n"); -// for (int i = 0; i < p_sparseRows; i++ ) -// { -// for (int j = 0; j < p_sparseCols; j++ ) -// { -// if ( j == p_sparseCols-1 ) -// printf("%20.20e \n",(double)(p_sparseA(i,j))); -// else -// printf("%20.20e ",(double)(p_sparseA(i,j))); -// } -// } - - // Compute the image coordinate residuals and sum into Sigma0 - // (note this is exactly what was being done before, but with less overhead - I think) - // ultimately, we should not be using the A matrix but forming the normals - // directly. Then we'll have to compute the residuals by back projection - - p_residuals.resize(p_sparseRows); - gmm::mult(p_sparseA, p_xSparse, p_residuals); - p_sigma0 = 0.0; - - for ( int i = 0; i < p_sparseRows; i++ ) { - p_residuals[i] = p_residuals[i]/p_sqrtWeight[i]; - p_residuals[i] -= p_expected[i]; - p_sigma0 += p_residuals[i]*p_residuals[i]*p_sqrtWeight[i]*p_sqrtWeight[i]; - } - - // if Jigsaw (bundle adjustment) - // add contibution to Sigma0 from constrained parameters - if ( p_jigsaw ) { - double constrained_vTPv = 0.0; - - for ( int i = 0; i < p_sparseCols; i++ ) { - double weight = p_parameterWeights[i]; - - if ( weight <= 0.0 ) - continue; - - constrained_vTPv += p_epsilonsSparse[i]*p_epsilonsSparse[i]*weight; - } - p_sigma0 += constrained_vTPv; - } - // calculate degrees of freedom (or redundancy) - // DOF = # observations + # constrained parameters - # unknown parameters - p_degreesOfFreedom = p_sparseRows + p_constrainedParameters - p_sparseCols; - - if( p_degreesOfFreedom <= 0.0 ) { - printf("Observations: %d\nConstrained: %d\nParameters: %d\nDOF: %d\n", - p_sparseRows,p_constrainedParameters,p_sparseCols,p_degreesOfFreedom); - p_sigma0 = 1.0; - } - else - p_sigma0 = p_sigma0/(double)p_degreesOfFreedom; - - // check for p_sigma0 < 0 - p_sigma0 = sqrt(p_sigma0); - - // kle testing - output residuals and some stats - printf("Sigma0 = %20.10lf\nNumber of Observations = %d\nNumber of Parameters = %d\nNumber of Constrained Parameters = %d\nDOF = %d\n",p_sigma0,p_sparseRows,p_sparseCols,p_constrainedParameters,p_degreesOfFreedom); -// printf("printing residuals\n"); -// for( int k = 0; k < p_sparseRows; k++ ) -// { -// printf("%lf %lf\n",p_residuals[k],p_residuals[k+1]); -// k++; -// } - - // All done - p_solved = true; - return 0; - } -#endif - - /** - * @brief Error propagation for sparse least-squares solution - * - * Computes the variance-covariance matrix of the parameters. - * This is the inverse of the normal equations matrix, scaled by - * the reference variance (also called variance of unit weight, - * etc). - * - * @internal - * @history 2009-11-19 Ken Edmundson, New method - * - * Notes: - * - * 1) The SLU_Factor (Super LU Factor) has already been - * factorised in each iteration but there is no gmm++ method to - * get the inverse of the sparse matrix implementation. so we - * have to get it ourselves. This is don by solving the - * factorized normals repeatedly with right-hand sides that are - * the columns of the identity matrix (which is how gmm - or - * anybody else would do it). - * - * 2) We should create our own matrix library, probably wrapping - * the gmm++ library (and perhaps other(s) that may have - * additional desired functionality). The inverse function - * should be part of the library, along with the capacity for - * triangular storage and other decomposition techniques - - * notably Cholesky. - * - * 3) The LU decomposition can be be performed even if the - * normal equations are singular. But, we should always be - * dealing with a positive-definite matrix (for the bundle - * adjustment). Cholesky is faster, more efficient, and requires - * a positive-definite matrix, so if it fails, it is an - * indication of a singular matrix - bottom line - we should be - * using Cholesky. Or a derivative of Cholesky, i.e., UTDU - * (LDLT). - * - * 4) As a consequence of 3), we should be checking for - * positive-definite state of the normals, perhaps via the - * matrix determinant, prior to solving. There is a check in - * place now that checks to see if a column of the design matrix - * (or basis?) is all zero. This is equivalent - if a set of - * vectors contains the zero vector, then the set is linearly - * dependent, and the matrix is not positive-definite. In - * Jigsaw, the most likely cause of the normals being - * non-positive-definite probably is failure to establish the - * datum (i.e. constraining a minimum of seven parameters - - * usually 3 coordinates of two points and 1 of a third). - */ -#ifndef __sun__ - bool LeastSquares::SparseErrorPropagation () - { - // clear memory - gmm::clear(p_ATb); - gmm::clear(p_xSparse); - - // for each column of the inverse, solve with a right-hand side consisting - // of a column of the identity matrix, putting each resulting solution vectfor - // into the corresponding column of the inverse matrix - for ( int i = 0; i < p_sparseCols; i++ ) - { - if( i > 0 ) - p_ATb(i-1,0) = 0.0; - - p_ATb(i,0) = 1.0; - - // solve with decomposed normals and right hand side - p_SLU_Factor.solve(p_xSparse,gmm::mat_const_col(p_ATb,0)); - - // put solution vector x into current column of inverse matrix - gmm::copy(p_xSparse, gmm::mat_row(p_normals, i)); - } - - // scale inverse by Sigma0 squared to get variance-covariance matrix - // if simulated data, we don't scale (effectively scaling by 1.0) - // printf("scaling by Sigma0\n"); - gmm::scale(p_normals,(p_sigma0*p_sigma0)); - -// printf("covariance matrix\n"); -// for (int i = 0; i < p_sparseCols; i++ ) -// { -// for (int j = 0; j < p_sparseCols; j++ ) -// { -// if ( j == p_sparseCols-1 ) -// printf("%20.20e \n",(double)(p_sparseInverse(i,j))); -// else -// printf("%20.20e ",(double)(p_sparseInverse(i,j))); -// } -// } - - // standard deviations from covariance matrix -// printf("parameter standard deviations\n"); -// for (int i = 0; i < p_sparseCols; i++ ) -// { -// printf("Sigma Parameter %d = %20.20e \n",i+1,sqrt((double)(p_sparseInverse(i,i)))); -// } - - return true; - } -#endif - - void LeastSquares::Reset () { - if ( p_sparse ) { - gmm::clear(p_sparseA); - gmm::clear(p_ATb); - gmm::clear(p_normals); - p_currentFillRow = -1; - } - else { - p_input.clear(); - // p_sigma0 = 0.; - } - p_sigma0 = 0.; + + p_input.clear(); + p_sigma0 = 0.; p_residuals.clear(); p_expected.clear(); p_sqrtWeight.clear(); diff --git a/isis/src/base/objs/LeastSquares/LeastSquares.h b/isis/src/base/objs/LeastSquares/LeastSquares.h index 9f149c61cd..52a1054ed3 100644 --- a/isis/src/base/objs/LeastSquares/LeastSquares.h +++ b/isis/src/base/objs/LeastSquares/LeastSquares.h @@ -26,12 +26,6 @@ #include "tnt/tnt_array2d.h" - -#ifndef __sun__ -// used to ignore warnings generated by gmm.h when building on clang -#include "gmm/gmm.h" -#endif - #include "BasisFunction.h" namespace Isis { @@ -152,36 +146,11 @@ namespace Isis { int GetDegreesOfFreedom() { return p_degreesOfFreedom; } void Reset (); -#ifndef __sun__ - void ResetSparse() { Reset(); } - bool SparseErrorPropagation(); - std::vector GetEpsilons () const { return p_epsilonsSparse; } - void SetParameterWeights(const std::vector weights) { p_parameterWeights = weights; } - void SetNumberOfConstrainedParameters(int n) { p_constrainedParameters = n; } - const gmm::row_matrix >& GetCovarianceMatrix () const { return p_normals; } -#endif - private: void SolveSVD(); void SolveQRD(); void SolveCholesky () {} -#ifndef __sun__ - int SolveSparse(); - void FillSparseA(const std::vector &data); - bool ApplyParameterWeights(); - - std::vector p_xSparse; /** p_epsilonsSparse; /** p_parameterWeights; /** > p_sparseA; /** > p_normals; /** p_ATb; /** p_SLU_Factor; /**Coefficients(); - m_offsetLsq = new LeastSquares(*m_offsetFunction, true, sparseMatrixRows, sparseMatrixCols, true); - sparseMatrixCols = m_gainFunction->Coefficients(); - m_gainLsq = new LeastSquares(*m_gainFunction, true, sparseMatrixRows, sparseMatrixCols, true); - const std::vector alphaWeight(sparseMatrixCols, 1/1000.0); - m_offsetLsq->SetParameterWeights( alphaWeight ); - m_gainLsq->SetParameterWeights( alphaWeight ); - } - // Calculate offsets if (type != Gains && type != GainsWithoutNormalization) { // Add knowns to least squares for each overlap diff --git a/isis/src/base/objs/PolygonSeeder/PolygonSeeder.h b/isis/src/base/objs/PolygonSeeder/PolygonSeeder.h index 7b9ff71cd7..bdfac65aa4 100644 --- a/isis/src/base/objs/PolygonSeeder/PolygonSeeder.h +++ b/isis/src/base/objs/PolygonSeeder/PolygonSeeder.h @@ -25,6 +25,7 @@ #include #include +#include #include "geos/geom/Point.h" #include "geos/geom/MultiPolygon.h" @@ -66,13 +67,13 @@ namespace Isis { virtual ~PolygonSeeder(); /** - * Pure virtual seed method. - * - * @param mp The MultiPolygon object from the geos::geom library. - * @return @b std::vector A vector of Point objects + * Pure virtual seed method. + * + * @param mp The MultiPolygon object from the geos::geom library. + * @return @b std::vector A vector of Point objects * from the geos::geom library. */ - virtual std::vector + virtual std::vector Seed(const geos::geom::MultiPolygon *mp) = 0; double MinimumThickness(); @@ -90,20 +91,20 @@ namespace Isis { const geos::geom::Envelope *polyBoundBox); protected: - Pvl *invalidInput; /**< The Pvl passed in by the constructor minus what + Pvl *invalidInput; /**< The Pvl passed in by the constructor minus what was used.*/ private: QString p_algorithmName; /**< The value for the 'Name' Keyword in the PolygonSeederAlgorithm group of the Pvl that is passed into the constructor.*/ - double p_minimumThickness; /**< The value for the 'MinimumThickness' - Keyword in the PolygonSeederAlgorithm - group of the Pvl that is passed into + double p_minimumThickness; /**< The value for the 'MinimumThickness' + Keyword in the PolygonSeederAlgorithm + group of the Pvl that is passed into the constructor*/ - double p_minimumArea; /**< The value for the 'MinimumArea' Keyword - in the PolygonSeederAlgorithm group of - the Pvl that is passed into the + double p_minimumArea; /**< The value for the 'MinimumArea' Keyword + in the PolygonSeederAlgorithm group of + the Pvl that is passed into the constructor*/ }; diff --git a/isis/src/control/apps/cnet2dem/PointCloudTree.h b/isis/src/control/apps/cnet2dem/PointCloudTree.h index 2122a911ab..df2b3912e6 100644 --- a/isis/src/control/apps/cnet2dem/PointCloudTree.h +++ b/isis/src/control/apps/cnet2dem/PointCloudTree.h @@ -28,7 +28,7 @@ #include -#include +#include #include "PointCloud.h" #include "PointCloudSearchResult.h" diff --git a/isis/src/control/apps/cnet2dem/cnet2dem.cpp b/isis/src/control/apps/cnet2dem/cnet2dem.cpp index fb0efbf522..2571604327 100644 --- a/isis/src/control/apps/cnet2dem/cnet2dem.cpp +++ b/isis/src/control/apps/cnet2dem/cnet2dem.cpp @@ -9,7 +9,7 @@ // boost library #include -#include "nanoflann/nanoflann.hpp" +#include "nanoflann.hpp" #include "ControlNet.h" #include "ControlPointCloudPt.h" diff --git a/isis/src/control/apps/cnetcombinept/PointCloudTree.h b/isis/src/control/apps/cnetcombinept/PointCloudTree.h index 4fdb116b26..ddaf7cfb59 100644 --- a/isis/src/control/apps/cnetcombinept/PointCloudTree.h +++ b/isis/src/control/apps/cnetcombinept/PointCloudTree.h @@ -28,7 +28,7 @@ #include -#include +#include #include "PointCloud.h" diff --git a/isis/src/control/apps/cnetcombinept/cnetcombinept.cpp b/isis/src/control/apps/cnetcombinept/cnetcombinept.cpp index e44f1ac326..8b15adc48f 100644 --- a/isis/src/control/apps/cnetcombinept/cnetcombinept.cpp +++ b/isis/src/control/apps/cnetcombinept/cnetcombinept.cpp @@ -9,7 +9,7 @@ #include #include -#include "nanoflann/nanoflann.hpp" +#include "nanoflann.hpp" #include "ControlNet.h" #include "MeasurePoint.h" @@ -59,7 +59,7 @@ typedef PointCloudTree CNetPointCloudTree; typedef QSharedPointer CubeMeasureTree; void IsisMain() { - + // We will be processing by line ProcessByLine pbl; UserInterface &ui = Application::GetUserInterface(); @@ -67,13 +67,13 @@ void IsisMain() { QStringList cnetfiles; int nBase(0); if ( ui.WasEntered("CNETBASE") ) { - cnetfiles.append(ui.GetAsString("CNETBASE")); + cnetfiles.append(ui.GetAsString("CNETBASE")); nBase++; } int nFrom(0); if ( ui.WasEntered("CNETFROM") ) { - cnetfiles.append(ui.GetAsString("CNETFROM")); + cnetfiles.append(ui.GetAsString("CNETFROM")); nFrom++; } @@ -127,17 +127,17 @@ void IsisMain() { #else QScopedPointer cnet( new ControlNet(cfile) ); #endif - if ( netid.isEmpty() ) { - netid = cnet->GetNetworkId(); + if ( netid.isEmpty() ) { + netid = cnet->GetNetworkId(); } - if ( target.isEmpty() ) { - target = cnet->GetTarget(); + if ( target.isEmpty() ) { + target = cnet->GetTarget(); } - if ( description.isEmpty() ) { - description = cnet->Description(); + if ( description.isEmpty() ) { + description = cnet->Description(); } - if ( radii.isEmpty() ) { - radii = QVector::fromStdVector(cnet->GetTargetRadii()); + if ( radii.isEmpty() ) { + radii = QVector::fromStdVector(cnet->GetTargetRadii()); } // Now get list of all cube serials and add all to list @@ -182,7 +182,7 @@ void IsisMain() { FileName filename( ui.GetFileName("TOSN") ); QFile logfile(filename.expanded()); - if ( !logfile.open(QIODevice::WriteOnly | QIODevice::Truncate | + if ( !logfile.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text | QIODevice::Unbuffered) ) { QString mess = "Unable to open/create serial number file " + filename.name(); throw IException(IException::User, mess, _FILEINFO_); @@ -194,7 +194,7 @@ void IsisMain() { sns.next(); lout << sns.key() << "\n"; } - + logfile.close(); } @@ -285,7 +285,7 @@ void IsisMain() { bool cleanmeasures = ui.GetBoolean("CLEANMEASURES"); int minmeasures = ui.GetInteger("MINMEASURES"); - // Set up control net here so we can complete all processing in this step + // Set up control net here so we can complete all processing in this step QScopedPointer cnet; if ( ui.WasEntered("ONET") ) { // std::cout << "\nWriting network...\n"; @@ -295,14 +295,14 @@ void IsisMain() { netid = ui.GetString("NETWORKID"); } - cnet->SetNetworkId(netid); + cnet->SetNetworkId(netid); cnet->SetUserName(Application::UserName()); - if ( ui.WasEntered("DESCRIPTION") ) { - description = ui.GetString("DESCRIPTION"); + if ( ui.WasEntered("DESCRIPTION") ) { + description = ui.GetString("DESCRIPTION"); } - cnet->SetDescription(description); + cnet->SetDescription(description); cnet->SetCreatedDate(Application::DateTime()); cnet->SetTarget(target, radii); #if defined(HAS_WRITE_ONLY_OPTION) @@ -337,14 +337,14 @@ void IsisMain() { if ( isValid(m_p) ) { vPoints++; - + // Processes measures if requested if ( true == cleanmeasures ) { QList measures = m_p->getMeasures( false ); BOOST_FOREACH ( ControlMeasure *m, measures) { - if ( !isValid(m) ) { - m_p->Delete(m); + if ( !isValid(m) ) { + m_p->Delete(m); nRemoved++; } } @@ -383,7 +383,7 @@ void IsisMain() { m_p->SetAprioriSurfacePoint(m_p->GetBestSurfacePoint()); } - cnet->AddPoint(m_p); + cnet->AddPoint(m_p); oPoints++; } else { // If not creating control network, ensure points are deleted @@ -420,4 +420,3 @@ void IsisMain() { pbl.EndProcess(); } - -- GitLab From fd0c686cc42889a06bc1d3663e487d46c0de66f9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 15:53:30 -0700 Subject: [PATCH 0099/1212] updated env --- environment.yml | 107 +++++++++ isis/cmake/AddIsisModule.cmake | 1 + isis/cmake/FindAllDependencies.cmake | 319 +++------------------------ isis/environment.yml | 104 --------- 4 files changed, 136 insertions(+), 395 deletions(-) create mode 100644 environment.yml delete mode 100644 isis/environment.yml diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000000..4b52026d8b --- /dev/null +++ b/environment.yml @@ -0,0 +1,107 @@ +name: isisdeps +channels: + - anaconda + - mgckind + - jlaura + - defaults + - conda-forge + - krodriguez + - usgs-astrogeology +dependencies: + - geotiff=1.4.1=0 + - libgcc=4.8.5=1 + - proj4=4.9.2=0 + - blas=1.1=openblas + - boost=1.65.1=py27_0 + - boost-cpp=1.65.1=1 + - bzip2=1.0.6=1 + - cairo=1.14.6=4 + - cmake=3.9.1=0 + - cspice=66=0 + - curl=7.55.1=0 + - doxygen=1.8.14=0 + - eigen=3.3.3=0 + - expat=2.2.5=0 + - ffmpeg=3.2.4=3 + - flann=1.8.4=0 + - fontconfig=2.12.1=4 + - freetype=2.7=1 + - geos=3.5.1=1 + - gettext=0.19.8.1=0 + - giflib=5.1.4=0 + - glib=2.51.4=0 + - harfbuzz=1.3.4=2 + - hdf5=1.8.18=2 + - icu=58.2=0 + - jasper=1.900.1=4 + - jpeg=9b=2 + - krb5=1.14.2=0 + - lapack=3.6.1=1 + - libffi=3.2.1=3 + - libgfortran=3.0.0=0 + - libiconv=1.15=0 + - libpng=1.6.34=0 + - libssh2=1.8.0=2 + - libtiff=4.0.6=7 + - libuv=1.11.0=0 + - libwebp=0.5.2=7 + - libxcb=1.12=1 + - libxml2=2.9.7=0 + - m4=1.4.17=1 + - metis=5.1.0=3 + - mysql-connector-c=6.1.6=0 + - nanoflann=1.2.2=0 + - ncurses=5.9=10 + - ninja=1.7.2=0 + - nn=1.86.0=2 + - numpy=1.13.3=py27_blas_openblas_200 + - opencv=3.3.0=py27_blas_openblas_200 + - pcre=8.39=0 + - pip=9.0.1=py27_1 + - pixman=0.34.0=1 + - protobuf=3.2.0=py27_0 + - python=2.7.14=4 + - qwt=6.1.3=1 + - readline=7.0=0 + - rhash=1.3.4=0 + - setuptools=38.5.1=py27_0 + - six=1.11.0=py27_1 + - sqlite=3.20.1=2 + - suitesparse=4.5.4=blas_openblas_200 + - superlu=5.2.1=blas_openblas_201 + - tk=8.6.7=0 + - wheel=0.30.0=py27_2 + - x264=20131217=3 + - xorg-kbproto=1.0.7=1 + - xorg-libx11=1.6.4=6 + - xorg-libxau=1.0.8=3 + - xorg-libxdmcp=1.1.2=3 + - xorg-xproto=7.0.31=6 + - xz=5.2.3=0 + - zlib=1.2.11=0 + - ca-certificates=2017.08.26=ha1e5d58_0 + - certifi=2018.1.18=py27_0 + - gsl=2.2.1=h002c638_3 + - libcxx=4.0.1=h579ed51_0 + - libcxxabi=4.0.1=hebd6815_0 + - mysql=5.7.20=h14d89c2_0 + - openblas=0.2.19=1 + - openssl=1.0.2n=hdbc3d79_0 + - qt=5.6.2=h9975529_14 + - isisdeps=7=0 + - bullet=2.86.1=he2aa7b0_0 + - ds9=7.5=h35e3669_0 + - embree=2.16.0=h6834224_0 + - gmm=5.0=h6aef312_0 + - jama=125=hf0e5908_0 + - naif=n0066=h90cdba2_0 + - patchelf=0.9=h879b6ae_0 + - pcl=1.8.1=h7a71350_0 + - qhull=7.2.0=h396fa31_0 + - tbb=4.4=hf7780a4_0 + - tnt=126=h520b23f_0 + - vtk=7.1.1=py27h56fd973_0 + - xalan-c=1.11=h1922a5c_0 + - xerces-c=3.1.4=h10f7eb2_0 +prefix: /Users/krodriguez/anaconda3/envs/isisdeps + diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index e62f4ba9a7..a15a5ba348 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -44,6 +44,7 @@ function(add_isis_app folder libDependencies) # Have the app install with the real name, not the internal name. target_link_libraries(${internalAppName} ${libDependencies}) + set_target_properties(${internalAppName} PROPERTIES OUTPUT_NAME ${appName}) install(TARGETS ${internalAppName} DESTINATION bin) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index c19a158a93..361eeeb38d 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -4,55 +4,9 @@ # go looking for them if they are not? #=============================================================================== -list(APPEND CMAKE_INCLUDE_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/objects/ - /usgs/pkgs/local/v007/include/google-protobuf/protobuf2.6.1/ - /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/ - /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/ - /usr/lib64/ -) - -set(CMAKE_PREFIX_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/libexec/ - /opt/usgs/v007/ports/Library/Frameworks/ - /opt/usgs/v007/ports/libexec/ - /opt/usgs/v007/ports/bin/ - /opt/usgs/v007/ports/lib/ - /opt/usgs/v007/ports/include/ - /opt/usgs/v007/ports/libexec/qt5 - /opt/usgs/v007/ports/libexec/qt5/bin/ - /opt/usgs/v007/ports/libexec/qt5/lib/ - /opt/usgs/v007/3rdparty/bin - /opt/usgs/v007/3rdparty/include/ - /opt/usgs/v007/3rdparty/lib/ - /opt/usgs/v007/proprietary/ - /opt/usgs/v007/proprietary/include/ - /opt/usgs/v007/proprietary/lib/ - /usr/lib/ - /usr/lib64/ - /usr/local/lib/ -) - -# Specify top level directories -set(thirdPartyDir "/usgs/pkgs/local/v007") -set(INCLUDE_DIR "${thirdPartyDir}/include") -set(LIB_DIR "${thirdPartyDir}/lib") -set(PLUGIN_DIR "${thirdPartyDir}/plugins") -set(BIN_DIR "${thirdPartyDir}/bin") -set(LIC_DIR "${thirdPartyDir}/license") - -# Set up plugin dir for OSX to correctly find qt5 plugins for installing -if(APPLE) - set(thirdPartyDir "/opt/usgs/v007") - set(PLUGIN_DIR "${thirdPartyDir}/ports/libexec/qt5/plugins") -endif(APPLE) - +message("CONDA PREFIX: $ENV{CONDA_PREFIX}") +set(CMAKE_LIBRARY_PATH $ENV{$CONDA_PREFIX}) +set(CMAKE_INCLUDE_PATH $ENV{$CONDA_PREFIX}) # Add thirdPartyCppFlags set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) @@ -67,95 +21,33 @@ find_program(MOC moc REQUIRED) find_program(RCC rcc REQUIRED) find_program(PROTOC protoc REQUIRED) -# message(STATUS "${CMAKE_PREFIX_PATH}") - include(FindProtobuf) - -find_package(Geos 3.5.0 REQUIRED) - - -if(APPLE) - find_package(Qt5 COMPONENTS - Core - Concurrent - # DBus - Gui - Multimedia - MultimediaWidgets - Network - OpenGL # Needed to install mesa-common-dev for this! - # Positioning - PrintSupport - Qml - Quick - Script - ScriptTools - # Sensors - Sql - Svg - Test - WebChannel - WebEngine - WebEngineWidgets - Widgets - Xml - XmlPatterns REQUIRED) -else() # oh god why - find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) - find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) - find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) - find_path(QT5_GUI_INCLUDE_DIR NAMES qpainter.h PATH_SUFFIXES qt/qt5.7.1/QtGui) - find_path(QT5_MULTIMEDIA_INCLUDE_DIR NAMES qmediacontent.h PATH_SUFFIXES qt/qt5.7.1/QtMultimedia) - find_path(QT5_MULTIMEDIAWIDGETS_INCLUDE_DIR NAMES qvideowidget.h PATH_SUFFIXES qt/qt5.7.1/QtMultimediaWidgets) - find_path(QT5_NETWORK_INCLUDE_DIR NAMES qsslsocket.h PATH_SUFFIXES qt/qt5.7.1/QtNetwork) - find_path(QT5_OPENGL_INCLUDE_DIR NAMES qtopenglglobal.h PATH_SUFFIXES qt/qt5.7.1/QtOpenGL) - find_path(QT5_POSITIONING_INCLUDE_DIR NAMES qgeocoordinate.h PATH_SUFFIXES qt/qt5.7.1/QtPositioning) - find_path(QT5_PRINTSUPPORT_INCLUDE_DIR NAMES qprinter.h PATH_SUFFIXES qt/qt5.7.1/QtPrintSupport) - find_path(QT5_QML_INCLUDE_DIR NAMES qqmlinfo.h PATH_SUFFIXES qt/qt5.7.1/QtQml) - find_path(QT5_QUICK_INCLUDE_DIR NAMES qquickview.h PATH_SUFFIXES qt/qt5.7.1/QtQuick) -# find_path(QT5_SCRIPT_INCLUDE_DIR NAMES qscriptengine.h PATH_SUFFIXES qt/qt5.7.1/QtScript) -#find_path(QT5_SCRIPTTOOLS_INCLUDE_DIR NAMES qtscripttoolsversion.h PATH_SUFFIXES qt/qt5.7.1/QtScriptTools) - find_path(QT5_SENSORS_INCLUDE_DIR NAMES qgyroscope.h PATH_SUFFIXES qt/qt5.7.1/QtSensors) - find_path(QT5_SQL_INCLUDE_DIR NAMES qsql.h PATH_SUFFIXES qt/qt5.7.1/QtSql) - find_path(QT5_SVG_INCLUDE_DIR NAMES qsvgwidget.h PATH_SUFFIXES qt/qt5.7.1/QtSvg) - find_path(QT5_TEST_INCLUDE_DIR NAMES qtest.h PATH_SUFFIXES qt/qt5.7.1/QtTest) - find_path(QT5_WEBCHANNEL_INCLUDE_DIR NAMES qwebchannel.h PATH_SUFFIXES qt/qt5.7.1/QtWebChannel) - find_path(QT5_WEBENGINE_INCLUDE_DIR NAMES qtwebengineglobal.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngine) - find_path(QT5_WEBENGINEWIDGETS_INCLUDE_DIR NAMES qwebenginescript.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngineWidgets) - find_path(QT5_WIDGETS_INCLUDE_DIR NAMES qwidget.h PATH_SUFFIXES qt/qt5.7.1/QtWidgets) - find_path(QT5_XML_INCLUDE_DIR NAMES qxml.h PATH_SUFFIXES qt/qt5.7.1/QtXml) - find_path(QT5_XMLPATTERNS_INCLUDE_DIR NAMES qtxmlpatternsglobal.h PATH_SUFFIXES qt/qt5.7.1/QtXmlPatterns) - - get_filename_component(QT5_ROOT_INCLUDE_DIR "${QT5_CORE_INCLUDE_DIR}" DIRECTORY) - - find_library(QT5_CORE_LIBRARY NAMES Qt5Core) - find_library(QT5_CONCURRENT_LIBRARY NAMES Qt5Concurrent) - find_library(QT5_DBUS_LIBRARY NAMES Qt5DBus) - find_library(QT5_GUI_LIBRARY NAMES Qt5Gui) - find_library(QT5_MULTIMEDIA_LIBRARY NAMES Qt5Multimedia) - find_library(QT5_MULTIMEDIAWIDGETS_LIBRARY NAMES Qt5MultimediaWidgets) - find_library(QT5_NETWORK_LIBRARY NAMES Qt5Network) - find_library(QT5_OPENGL_LIBRARY NAMES Qt5OpenGL) - find_library(QT5_POSITIONING_LIBRARY NAMES Qt5Positioning) - find_library(QT5_PRINTSUPPORT_LIBRARY NAMES Qt5PrintSupport) - find_library(QT5_QML_LIBRARY NAMES Qt5Qml) - find_library(QT5_QUICK_LIBRARY NAMES Qt5Quick) - find_library(QT5_SCRIPT_LIBRARY NAMES Qt5Script) - find_library(QT5_SCRIPTTOOLS_LIBRARY NAMES Qt5ScriptTools) - find_library(QT5_SENSORS_LIBRARY NAMES Qt5Sensors) - find_library(QT5_SQL_LIBRARY NAMES Qt5Sql) - find_library(QT5_SVG_LIBRARY NAMES Qt5Svg) - find_library(QT5_TEST_LIBRARY NAMES Qt5Test) - find_library(QT5_WEBCHANNEL_LIBRARY NAMES Qt5WebChannel) - find_library(QT5_WEBENGINE_LIBRARY NAMES Qt5WebEngine) - find_library(QT5_WEBENGINECORE_LIBRARY NAMES Qt5WebEngineCore) - find_library(QT5_WEBENGINEWIDGETS_LIBRARY NAMES Qt5WebEngineWidgets) - find_library(QT5_WIDGETS_LIBRARY NAMES Qt5Widgets) - find_library(QT5_XML_LIBRARY NAMES Qt5Xml) - find_library(QT5_XMLPATTERNS_LIBRARY NAMES Qt5XmlPatterns) -endif(APPLE) - +find_package(Qt5 COMPONENTS + Core + Concurrent + # DBus + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + # Positioning + PrintSupport + Qml + Quick + Script + ScriptTools + # Sensors + Sql + Svg + Test + WebChannel + WebEngine + WebEngineWidgets + Widgets + Xml + XmlPatterns REQUIRED) # Some of these will have non-traditional installs with version numbers in the paths in v007 # For these, we pass in a version number, and use it in the path suffix @@ -204,7 +96,6 @@ foreach (_variableName ${_variableNames}) list(APPEND ALLINCDIRS "${${_variableName}}") endif(_variableName MATCHES ".+_INCLUDE_DIR$") endforeach() -list(APPEND ALLINCDIRS "/opt/usgs/v007/ports/include/" "/opt/usgs/v007/3rdParty/include/") foreach (_variableName ${_variableNames}) if (_variableName MATCHES "^CMAKE+") @@ -232,157 +123,3 @@ endforeach() list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS) - -# message(STATUS "ALL LIBS DIRS: ${ALLLIBDIRS}") -# message(STATUS "ALL LIBS: ${ALLLIBS}") -# message(STATUS "ALL INCS: ${ALLINCDIRS}") -#--------------------------------------------------------------------------- -# Define the third party distribution libraries (patterns) -#--------------------------------------------------------------------------- - -# On OSX we need to include a LOT of extra libraries! -set(EXTRA_DYNAMIC_LIBS) -if(APPLE) - set(extras - # QT dependencies - libpcre16*.dylib - libgthread-*.dylib - libpcre.*dylib - libharfbuzz*.dylib - libgraphite2.*dylib - libleveldb*.dylib* - libsnappy.*dylib - libwebp*.dylib - libdbus*.dylib - libiconv*.dylib - liblzma*.dylib - libz*.dylib - libssl*.dylib - libcrypto*.dylib - libpng*.dylib - libjpeg.*dylib - libmng.*dylib - liblcms2.*dylib - libsqlite3.*dylib - postgresql*/libpq.*dylib - mysql56/mysql/libmysqlclient*.dylib - libiodbc*.dylib - # OpenCV dependancies - libtbb*.dylib - libjasper*.dylib - libImath*.dylib - libIlmImf*.dylib - libIex*.dylib - libHalf*.dylib - libIlmThread*.dylib - libswscale*.dylib - # Secondary requirements to all OpenCV dependancies - libSDL-1*.dylib - libnettle*.dylib - libhogweed*.dylib - libgmp*.dylib - libxvidcore*.dylib - libx264*.dylib - libvorbisenc*.dylib - libvorbis*.dylib - libogg*.dylib - libtheoraenc*.dylib - libtheoradec*.dylib - libspeex*.dylib - libschroedinger-1*.dylib - libopus*.dylib - libopenjpeg*.dylib - libmp3lame*.dylib - libmodplug*.dylib - libfreetype*.dylib - libbluray*.dylib - libass*.dylib - libgnutls*.dylib - libbz2*.dylib - libXrandr*.dylib - libXext*.dylib - libXrender*.dylib - libX11*.dylib - libxcb*.dylib - libXau*.dylib - libXdmcp*.dylib - liborc-0*.dylib - libxml2*.dylib - libfribidi*.dylib - libfontconfig*.dylib - libexpat*.dylib - libintl*.dylib - libglib-*.dylib - libp11-kit*.dylib - libffi*.dylib - # OpenCV3 dependencies - libavresample*.dylib - libxcb-shm*.dylib - libsoxr*.dylib - libopenjp2*.dylib - libOpenNI*.dylib - libswresample*.dylib - libidn*.dylib - libtasn1*.dylib - libusb*.dylib - # libxerces-c depends on these libraries - libicui18n*.dylib - libicuuc*.dylib - libicudata*.dylib - # libgeotiff depends on these libraries - libproj*.dylib) - -else() # Linux - set(extras libtbb.so*) -endif() - -set(EXTRALIBDIR ${LIB_DIR}) -foreach(lib ${extras}) - set(EXTRA_DYNAMIC_LIBS ${EXTRA_DYNAMIC_LIBS} ${EXTRALIBDIR}/${lib}) -endforeach() - -# message("EXTRA_DYNAMIC_LIBS = ${EXTRA_DYNAMIC_LIBS}") - -# Libraries -set(THIRDPARTYLIBS) - -set(RAW_DYNAMIC_LIBS ${QT_DYNAMIC_LIBS} - ${QWT_DYNAMIC_LIBS} - ${XERCES_DYNAMIC_LIBS} - ${GEOTIFF_DYNAMIC_LIBS} - ${HDF5_DYNAMIC_LIBS} - ${TIFF_DYNAMIC_LIBS} - ${NAIF_DYNAMIC_LIBS} - ${GEOS_DYNAMIC_LIBS} - ${GSL_DYNAMIC_LIBS} - ${SUPERLU_DYNAMIC_LIBS} - ${PROTOBUF_DYNAMIC_LIBS} - ${KAKADU_DYNAMIC_LIBS} # Empty if not available - ${CHOLMOD_DYNAMIC_LIBS} - ${OPENCV_DYNAMIC_LIBS} - ${EXTRA_DYNAMIC_LIBS}) - -# message("THIRDPARTYLIBS = ${RAW_DYNAMIC_LIBS}") - -# For each item in this list, expand the wildcard to get the actual library list. -foreach(lib ${RAW_DYNAMIC_LIBS}) - string(FIND "${lib}" "*" position) - if(${position} EQUAL -1) - # No wildcard, just add it. - set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${lib}) - else() - # Expand wildcard, then add. - file(GLOB expandedLibs ${lib}) - set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${expandedLibs}) - endif() -endforeach() - -message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}") - -# Plugins -file(GLOB_RECURSE THIRDPARTYPLUGINS "${PLUGIN_DIR}/*${SO}") -file(GLOB THIRDPARTYPLUGINFOLDERS "${PLUGIN_DIR}/*") - -# message("third party libs = ${THIRDPARTYLIBS}") -# message("third party plugins = ${THIRDPARTYPLUGINS}") -# message("third party plugins folders = ${THIRDPARTYPLUGINFOLDERS}") diff --git a/isis/environment.yml b/isis/environment.yml deleted file mode 100644 index 76b9a6e4b2..0000000000 --- a/isis/environment.yml +++ /dev/null @@ -1,104 +0,0 @@ -name: isisdeps -channels: -- anaconda -- krodriguez -- inria-pro-sed -- conda-forge -- usgs-astrogeology -- defaults -dependencies: -- libgcc=4.8.5=1 -- blas=1.1=openblas -- boost=1.65.1=py27_0 -- boost-cpp=1.65.1=1 -- bzip2=1.0.6=1 -- ca-certificates=2018.1.18=0 -- cairo=1.14.6=4 -- certifi=2018.1.18=py27_0 -- cmake=3.9.1=0 -- cspice=66=0 -- curl=7.55.1=0 -- dbus=1.10.22=0 -- doxygen=1.8.14=0 -- eigen=3.3.3=0 -- expat=2.2.5=0 -- ffmpeg=3.2.4=3 -- flann=1.8.4=0 -- fontconfig=2.12.1=4 -- freetype=2.7=1 -- geos=3.5.1=1 -- geotiff=1.4.2=1 -- gettext=0.19.8.1=0 -- giflib=5.1.4=0 -- glib=2.51.4=0 -- gsl=2.2.1=blas_openblas_3 -- harfbuzz=1.3.4=2 -- hdf5=1.8.18=3 -- icu=58.2=0 -- jasper=1.900.1=4 -- jpeg=9b=2 -- krb5=1.14.2=0 -- lapack=3.6.1=1 -- libffi=3.2.1=3 -- libgfortran=3.0.0=0 -- libiconv=1.15=0 -- libpng=1.6.28=2 -- libssh2=1.8.0=2 -- libtiff=4.0.9=0 -- libuv=1.11.0=0 -- libwebp=0.5.2=7 -- libxcb=1.12=1 -- libxml2=2.9.7=0 -- m4=1.4.17=1 -- metis=5.1.0=3 -- nanoflann=1.2.2=0 -- ncurses=5.9=10 -- ninja=1.7.2=0 -- nn=1.86.0=2 -- numpy=1.13.3=py27_blas_openblas_200 -- openblas=0.2.19=2 -- opencv=3.3.0=py27_blas_openblas_200 -- openssl=1.0.2n=0 -- pcre=8.39=0 -- pip=9.0.1=py27_1 -- pixman=0.34.0=1 -- proj4=4.9.3=5 -- protobuf=3.2.0=py27_0 -- python=2.7.14=4 -- qt=5.6.2=h9e3eb04_4 -- qwt=6.1.3=1 -- readline=7.0=0 -- rhash=1.3.4=0 -- setuptools=38.5.1=py27_0 -- six=1.11.0=py27_1 -- sqlite=3.20.1=2 -- suitesparse=4.5.4=blas_openblas_200 -- superlu=5.2.1=blas_openblas_201 -- tk=8.6.7=0 -- wheel=0.30.0=py27_2 -- x264=20131217=3 -- xorg-kbproto=1.0.7=1 -- xorg-libx11=1.6.4=6 -- xorg-libxau=1.0.8=3 -- xorg-libxdmcp=1.1.2=3 -- xorg-xproto=7.0.31=6 -- xz=5.2.3=0 -- zlib=1.2.11=0 -- openmpi=1.8.6=4 -- parmetis=4.0.3p2=1 -- jama=125=0 -- tnt=126=0 -- bullet=2.86.1=he2aa7b0_0 -- ds9=7.5=h35e3669_0 -- embree=2.16.0=h6834224_0 -- gmm=5.0=h6aef312_0 -- naif=n0066=h90cdba2_0 -- patchelf=0.9=h879b6ae_0 -- pcl=1.8.1=h7a71350_0 -- qhull=7.2.0=h396fa31_0 -- tbb=4.4=hf7780a4_0 -- vtk=7.1.1=py27h56fd973_0 -- xalan-c=1.11=h1922a5c_0 -- xerces-c=3.1.4=h10f7eb2_0 -prefix: /Users/krodriguez-pr/anaconda3/envs/isisdeps - -- GitLab From 215d2973c9f1ffb099b0f03131bea0511b38fbae Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 16:23:46 -0700 Subject: [PATCH 0100/1212] updated env --- environment.yml | 64 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/environment.yml b/environment.yml index 4b52026d8b..4931b9b0e2 100644 --- a/environment.yml +++ b/environment.yml @@ -69,39 +69,37 @@ dependencies: - sqlite=3.20.1=2 - suitesparse=4.5.4=blas_openblas_200 - superlu=5.2.1=blas_openblas_201 - - tk=8.6.7=0 - - wheel=0.30.0=py27_2 - - x264=20131217=3 - - xorg-kbproto=1.0.7=1 - - xorg-libx11=1.6.4=6 - - xorg-libxau=1.0.8=3 - - xorg-libxdmcp=1.1.2=3 - - xorg-xproto=7.0.31=6 + - tk=8.6.7 + - wheel=0.30.0 + - x264=20131217 + - xorg-kbproto=1.0.7 + - xorg-libx11=1.6.4 + - xorg-libxau=1.0.8 + - xorg-libxdmcp=1.1.2 + - xorg-xproto=7.0.31 - xz=5.2.3=0 - zlib=1.2.11=0 - - ca-certificates=2017.08.26=ha1e5d58_0 - - certifi=2018.1.18=py27_0 - - gsl=2.2.1=h002c638_3 - - libcxx=4.0.1=h579ed51_0 - - libcxxabi=4.0.1=hebd6815_0 - - mysql=5.7.20=h14d89c2_0 - - openblas=0.2.19=1 - - openssl=1.0.2n=hdbc3d79_0 - - qt=5.6.2=h9975529_14 - - isisdeps=7=0 - - bullet=2.86.1=he2aa7b0_0 - - ds9=7.5=h35e3669_0 - - embree=2.16.0=h6834224_0 - - gmm=5.0=h6aef312_0 - - jama=125=hf0e5908_0 - - naif=n0066=h90cdba2_0 - - patchelf=0.9=h879b6ae_0 - - pcl=1.8.1=h7a71350_0 - - qhull=7.2.0=h396fa31_0 - - tbb=4.4=hf7780a4_0 - - tnt=126=h520b23f_0 - - vtk=7.1.1=py27h56fd973_0 - - xalan-c=1.11=h1922a5c_0 - - xerces-c=3.1.4=h10f7eb2_0 -prefix: /Users/krodriguez/anaconda3/envs/isisdeps + - ca-certificates=2017.08.26 + - certifi=2018.1.18 + - gsl=2.2.1 + - libcxx=4.0.1 + - libcxxabi=4.0.1 + - mysql=5.7.20 + - openblas=0.2.19 + - openssl=1.0.2n + - qt=5.6.2 + - bullet=2.86.1 + - ds9=7.5 + - embree=2.16.0 + - gmm=5.0 + - jama=125 + - naif=n0066 + - patchelf=0.9 + - pcl=1.8.1 + - qhull=7.2.0 + - tbb=4.4 + - tnt=126 + - vtk=7.1.1 + - xalan-c=1.11 + - xerces-c=3.1.4 -- GitLab From 3a5507839e9252a706e73988c5bb65ea9ea0fa93 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 18:12:48 -0700 Subject: [PATCH 0101/1212] env --- environment.yml | 201 ++++++++++++++++++++++++------------------------ 1 file changed, 100 insertions(+), 101 deletions(-) diff --git a/environment.yml b/environment.yml index 4931b9b0e2..18e7b742a7 100644 --- a/environment.yml +++ b/environment.yml @@ -1,105 +1,104 @@ name: isisdeps channels: - - anaconda - - mgckind - - jlaura - - defaults - - conda-forge - - krodriguez - - usgs-astrogeology +- anaconda +- inria-pro-sed +- krodriguez +- conda-forge +- usgs-astrogeology +- defaults dependencies: - - geotiff=1.4.1=0 - - libgcc=4.8.5=1 - - proj4=4.9.2=0 - - blas=1.1=openblas - - boost=1.65.1=py27_0 - - boost-cpp=1.65.1=1 - - bzip2=1.0.6=1 - - cairo=1.14.6=4 - - cmake=3.9.1=0 - - cspice=66=0 - - curl=7.55.1=0 - - doxygen=1.8.14=0 - - eigen=3.3.3=0 - - expat=2.2.5=0 - - ffmpeg=3.2.4=3 - - flann=1.8.4=0 - - fontconfig=2.12.1=4 - - freetype=2.7=1 - - geos=3.5.1=1 - - gettext=0.19.8.1=0 - - giflib=5.1.4=0 - - glib=2.51.4=0 - - harfbuzz=1.3.4=2 - - hdf5=1.8.18=2 - - icu=58.2=0 - - jasper=1.900.1=4 - - jpeg=9b=2 - - krb5=1.14.2=0 - - lapack=3.6.1=1 - - libffi=3.2.1=3 - - libgfortran=3.0.0=0 - - libiconv=1.15=0 - - libpng=1.6.34=0 - - libssh2=1.8.0=2 - - libtiff=4.0.6=7 - - libuv=1.11.0=0 - - libwebp=0.5.2=7 - - libxcb=1.12=1 - - libxml2=2.9.7=0 - - m4=1.4.17=1 - - metis=5.1.0=3 - - mysql-connector-c=6.1.6=0 - - nanoflann=1.2.2=0 - - ncurses=5.9=10 - - ninja=1.7.2=0 - - nn=1.86.0=2 - - numpy=1.13.3=py27_blas_openblas_200 - - opencv=3.3.0=py27_blas_openblas_200 - - pcre=8.39=0 - - pip=9.0.1=py27_1 - - pixman=0.34.0=1 - - protobuf=3.2.0=py27_0 - - python=2.7.14=4 - - qwt=6.1.3=1 - - readline=7.0=0 - - rhash=1.3.4=0 - - setuptools=38.5.1=py27_0 - - six=1.11.0=py27_1 - - sqlite=3.20.1=2 - - suitesparse=4.5.4=blas_openblas_200 - - superlu=5.2.1=blas_openblas_201 - - tk=8.6.7 - - wheel=0.30.0 - - x264=20131217 - - xorg-kbproto=1.0.7 - - xorg-libx11=1.6.4 - - xorg-libxau=1.0.8 - - xorg-libxdmcp=1.1.2 - - xorg-xproto=7.0.31 - - xz=5.2.3=0 - - zlib=1.2.11=0 - - ca-certificates=2017.08.26 - - certifi=2018.1.18 - - gsl=2.2.1 - - libcxx=4.0.1 - - libcxxabi=4.0.1 - - mysql=5.7.20 - - openblas=0.2.19 - - openssl=1.0.2n - - qt=5.6.2 - - bullet=2.86.1 - - ds9=7.5 - - embree=2.16.0 - - gmm=5.0 - - jama=125 - - naif=n0066 - - patchelf=0.9 - - pcl=1.8.1 - - qhull=7.2.0 - - tbb=4.4 - - tnt=126 - - vtk=7.1.1 - - xalan-c=1.11 - - xerces-c=3.1.4 +- libgcc=4.8.5=1 +- blas=1.1=openblas +- boost=1.65.1=py27_0 +- boost-cpp=1.65.1=1 +- bzip2=1.0.6=1 +- ca-certificates=2018.1.18=0 +- cairo=1.14.6=4 +- certifi=2018.1.18=py27_0 +- cmake=3.9.1=0 +- cspice=66=0 +- curl=7.55.1=0 +- dbus=1.10.22=0 +- doxygen=1.8.14=0 +- eigen=3.3.3=0 +- expat=2.2.5=0 +- ffmpeg=3.2.4=3 +- flann=1.8.4=0 +- fontconfig=2.12.1=4 +- freetype=2.7=1 +- geos=3.5.1=1 +- geotiff=1.4.2=1 +- gettext=0.19.8.1=0 +- giflib=5.1.4=0 +- glib=2.51.4=0 +- gsl=2.2.1=blas_openblas_3 +- harfbuzz=1.3.4=2 +- hdf5=1.8.18=3 +- icu=58.2=0 +- jasper=1.900.1=4 +- jpeg=9b=2 +- krb5=1.14.2=0 +- lapack=3.6.1=1 +- libffi=3.2.1=3 +- libgfortran=3.0.0=0 +- libiconv=1.15=0 +- libpng=1.6.28=2 +- libssh2=1.8.0=2 +- libtiff=4.0.9=0 +- libuv=1.11.0=0 +- libwebp=0.5.2=7 +- libxcb=1.12=1 +- libxml2=2.9.7=0 +- m4=1.4.17=1 +- metis=5.1.0=3 +- nanoflann=1.2.2=0 +- ncurses=5.9=10 +- ninja=1.7.2=0 +- nn=1.86.0=2 +- numpy=1.13.3=py27_blas_openblas_200 +- openblas=0.2.19=2 +- opencv=3.3.0=py27_blas_openblas_200 +- openssl=1.0.2n=0 +- pcre=8.39=0 +- pip=9.0.1=py27_1 +- pixman=0.34.0=1 +- proj4=4.9.3=5 +- protobuf=3.2.0=py27_0 +- python=2.7.14=4 +- qt=5.6.2=h9e3eb04_4 +- qwt=6.1.3=1 +- readline=7.0=0 +- rhash=1.3.4=0 +- setuptools=38.5.1=py27_0 +- six=1.11.0=py27_1 +- sqlite=3.20.1=2 +- suitesparse=4.5.4=blas_openblas_200 +- superlu=5.2.1=blas_openblas_201 +- tk=8.6.7=0 +- wheel=0.30.0=py27_2 +- x264=20131217=3 +- xorg-kbproto=1.0.7=1 +- xorg-libx11=1.6.4=6 +- xorg-libxau=1.0.8=3 +- xorg-libxdmcp=1.1.2=3 +- xorg-xproto=7.0.31=6 +- xz=5.2.3=0 +- zlib=1.2.11=0 +- openmpi=1.8.6=4 +- parmetis=4.0.3p2=1 +- jama=125=0 +- tnt=126=0 +- bullet=2.86.1=he2aa7b0_0 +- ds9=7.5=h35e3669_0 +- embree=2.16.0=h6834224_0 +- gmm=5.0=h6aef312_0 +- naif=n0066=h90cdba2_0 +- patchelf=0.9=h879b6ae_0 +- pcl=1.8.1=h7a71350_0 +- qhull=7.2.0=h396fa31_0 +- tbb=4.4=hf7780a4_0 +- vtk=7.1.1=py27h56fd973_0 +- xalan-c=1.11=h1922a5c_0 +- xerces-c=3.1.4=h10f7eb2_0 +prefix: /Users/krodriguez-pr/anaconda3/envs/isisdeps -- GitLab From 553761bd693ca9f2eb64fda53ed07342d6487f77 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 7 Mar 2018 18:34:52 -0700 Subject: [PATCH 0102/1212] env4daaaayyzzz --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 18e7b742a7..93c08c5f1f 100644 --- a/environment.yml +++ b/environment.yml @@ -92,7 +92,7 @@ dependencies: - ds9=7.5=h35e3669_0 - embree=2.16.0=h6834224_0 - gmm=5.0=h6aef312_0 -- naif=n0066=h90cdba2_0 +- naif=n0066 - patchelf=0.9=h879b6ae_0 - pcl=1.8.1=h7a71350_0 - qhull=7.2.0=h396fa31_0 -- GitLab From 91b2cdbd1f36f75e5a8cf54a2e20de2779bd622b Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Thu, 8 Mar 2018 20:34:08 -0700 Subject: [PATCH 0103/1212] getting conda working for linux --- isis/cmake/FindAllDependencies.cmake | 18 +++++++++--------- isis/cmake/FindCSPICE.cmake | 2 +- .../objs/QIsisApplication/QIsisApplication.cpp | 10 +--------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 361eeeb38d..a280729090 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -1,15 +1,15 @@ -#=============================================================================== +#============================================================================== # High level script to handle all required 3rd party dependencies # - All of them are expected to be in the 3rdParty folder, this script does not # go looking for them if they are not? #=============================================================================== message("CONDA PREFIX: $ENV{CONDA_PREFIX}") -set(CMAKE_LIBRARY_PATH $ENV{$CONDA_PREFIX}) -set(CMAKE_INCLUDE_PATH $ENV{$CONDA_PREFIX}) +list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) +message("Test: ${CMAKE_FIND_ROOT_PATH}") # Add thirdPartyCppFlags -set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) +set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals -DGMM_USES_SUPERLU) set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") # Paths to required executables @@ -42,9 +42,9 @@ find_package(Qt5 COMPONENTS Sql Svg Test - WebChannel - WebEngine - WebEngineWidgets + WebChannel + WebKit + WebKitWidgets Widgets Xml XmlPatterns REQUIRED) @@ -74,15 +74,15 @@ find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) -find_package(OpenGL REQUIRED) find_package(nanoflann REQUIRED) -find_package(png REQUIRED) +find_package(PNG REQUIRED) find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) find_package(Geos 3.5.0 REQUIRED) + find_package(OpenGL REQUIRED) else(APPLE) find_package(Geos 3.5.1 REQUIRED) endif(APPLE) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 263d535b27..78f1af260b 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -7,7 +7,7 @@ find_path(CSPICE_INCLUDE_DIR NAME SpiceUsr.h - PATH_SUFFIXES naif + PATH_SUFFIXES naif cspice ) find_library(CSPICE_LIBRARY diff --git a/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp b/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp index 6881dfa2c7..7cc2c8218b 100644 --- a/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp +++ b/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp @@ -7,11 +7,6 @@ #include #include #include -#if defined(__APPLE__) -#include -#else -#include -#endif #include "FileName.h" #include "Preference.h" @@ -92,9 +87,6 @@ namespace Isis { * Open a URL in the browser specified by Isis. */ void QIsisApplication::openUrl(QUrl url) { - QWebEngineView *view = new QWebEngineView(NULL); - view->setAttribute(Qt::WA_DeleteOnClose); - view->load(url); - view->show(); + QDesktopServices::openUrl(url); } } -- GitLab From 7429e73a949d7dc68c2c03256e7179a0aa3b6c20 Mon Sep 17 00:00:00 2001 From: Cole <34170587+cneubauerUSGS@users.noreply.github.com> Date: Fri, 9 Mar 2018 14:34:26 -0700 Subject: [PATCH 0104/1212] Moved find_package(OpenGL) to only be executed while building on apple (#27) --- isis/cmake/FindAllDependencies.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index d0b21c05dd..dfdac8a666 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -76,6 +76,7 @@ find_package(Geos 3.5.0 REQUIRED) if(APPLE) + find_package(OpenGL REQUIRED) find_package(Qt5 COMPONENTS Core Concurrent @@ -182,9 +183,9 @@ find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) -find_package(OpenGL REQUIRED) find_package(Kakadu) + # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) -- GitLab From cabce2cbdabde5faf1a43b1434af445c1b45871e Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Sat, 10 Mar 2018 12:20:22 -0700 Subject: [PATCH 0105/1212] Changed the category and added history entry. --- isis/src/base/apps/dsk2isis/dsk2isis.xml | 55 +++++++++++++----------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/isis/src/base/apps/dsk2isis/dsk2isis.xml b/isis/src/base/apps/dsk2isis/dsk2isis.xml index 3378468635..003b304c6f 100755 --- a/isis/src/base/apps/dsk2isis/dsk2isis.xml +++ b/isis/src/base/apps/dsk2isis/dsk2isis.xml @@ -7,9 +7,9 @@ - This application will convert a NAIF DSK plate model to an ISIS cube. - Users must provide a valid map file to use for allocation of the ISIS - cube. The scale and type of projection determine the size of the output + This application will convert a NAIF DSK plate model to an ISIS cube. + Users must provide a valid map file to use for allocation of the ISIS + cube. The scale and type of projection determine the size of the output cube. @@ -24,10 +24,13 @@ Process data tiles instead of a pixel at a time; Test for valid output map coordinate at every map pixel. References #2035 + + Changed the category to Import and Export. Fixes #5188. + - Map Projection + Import and Export @@ -37,9 +40,9 @@ input Name of NAIF DSK DEM file - This parameter provides the name of the NAIF DSK file to convert to - ISIS format. It is assumed to be in body fixed coordinates from which - intersections for each output map grid point will be computed using + This parameter provides the name of the NAIF DSK file to convert to + ISIS format. It is assumed to be in body fixed coordinates from which + intersections for each output map grid point will be computed using NAIF's DSK toolkit. @@ -52,8 +55,8 @@ input Name of file containing map description - This paramter provides the name of a file containing a valid map - projection defintion. One can use the ISIS maptemplate application + This paramter provides the name of a file containing a valid map + projection defintion. One can use the ISIS maptemplate application to create a map template. @@ -69,8 +72,8 @@ Output cube - Name of the output ISIS file created by this application containing - the rendering of the DSK DEM into and ISIS compatible DEM for use in + Name of the output ISIS file created by this application containing + the rendering of the DSK DEM into and ISIS compatible DEM for use in the ISIS system. @@ -82,8 +85,8 @@

- This parameter provides two different methods to compute the - output radius value for a given latitude, longitude map grid + This parameter provides two different methods to compute the + output radius value for a given latitude, longitude map grid point.

@@ -91,27 +94,27 @@ -- GitLab From e2a10b61b749d138ba35ed1625f34000507cc96c Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Mon, 12 Mar 2018 10:05:32 -0700 Subject: [PATCH 0106/1212] removed useless import --- .../FeatureNomenclatureTool/FeatureNomenclatureTool.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp b/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp index 9ca163bb90..eaebf02581 100644 --- a/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp +++ b/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp @@ -17,11 +17,8 @@ #include #include #include -#if defined(__APPLE__) -#include -#else -#include -#endif +#include +#include #include #include -- GitLab From ee6aadbe007d042dd716453d4761e076d960a72b Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Mon, 12 Mar 2018 10:37:19 -0700 Subject: [PATCH 0107/1212] QtDBUS Garbage --- .../src/base/objs/Environment/Environment.cpp | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/isis/src/base/objs/Environment/Environment.cpp b/isis/src/base/objs/Environment/Environment.cpp index 4486c5e693..c84d1557c4 100644 --- a/isis/src/base/objs/Environment/Environment.cpp +++ b/isis/src/base/objs/Environment/Environment.cpp @@ -7,10 +7,6 @@ #include #include -#ifndef __APPLE__ -#include -#endif - #include "IException.h" #include "IString.h" #include "TextFile.h" @@ -61,33 +57,6 @@ namespace Isis { QCoreApplication::setLibraryPaths(pluginPaths); } #endif - -#ifndef __APPLE__ - // We need to force the correct QDBus library to be loaded... to do that, just - // use a symbol in it's library. This only applies to linux and fixes #1228. - - // Long explanation: - // When we run GUI apps, the system (and Qt) work together to figure out - // which runtime libraries are necessary on-the-fly. When QApplication is - // instantiated, it goes into QtGui's style code. The styles ignore our plugin - // path setting (above) on all OS's. So Qt GUI grabs a style from the OS's styles, - // which is a shared library in the kde area. These styles require a version (any version) - // of QtDBus loaded. If QtDBus is not yet loaded, then the style library will grab it. - // However, on Ubuntu 12.04, the style library grabs the system (OS) QDBus library. QDBus - // detects that you've already loaded Isis' QtCore, so the library versions mismatch, and - // it crashes. The problem becomes more interesting because sometimes it picks up the system - // QDBus, and sometimes it picks up Isis' QDBus, and I have no good reason why we pick up - // one versus another; currently, installed apps pick up the system and locally built apps - // pick up Isis' (even when the executables are made to be identical). The end result is no - // installed GUI applications will run and our automated tests fail to catch it. This solution - // bypasses the entire issue by forcing QDBus to be loaded long before any styles are loaded, - // so the style plugins do not need to go and get their own QDBus library. - // - // The root cause is that Ubuntu's run time loader is failing to respect - // our executable's rpaths when loading a style library. However, when we link against the - // QBus library directly, we get the right one. - QDBusArgument(); -#endif } -- GitLab From ce338b1919d6ac7384fbb4abd4ce8e8857ce5692 Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Mon, 12 Mar 2018 11:35:29 -0700 Subject: [PATCH 0108/1212] explicit spec file for linux --- linux-spec.txt | 245 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 linux-spec.txt diff --git a/linux-spec.txt b/linux-spec.txt new file mode 100644 index 0000000000..69f6094d0d --- /dev/null +++ b/linux-spec.txt @@ -0,0 +1,245 @@ +# This file may be used to create an environment using: +# $ conda create --name --file +# platform: linux-64 +@EXPLICIT +https://repo.continuum.io/pkgs/main/linux-64/_ipyw_jlab_nb_ext_conf-0.1.0-py36he11e457_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/alabaster-0.7.10-py36h306e16b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/anaconda-5.1.0-py36_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/anaconda-client-1.6.9-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/anaconda-navigator-1.7.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/anaconda-project-0.8.2-py36h44fb852_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/asn1crypto-0.24.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/astroid-1.6.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/astropy-2.0.3-py36h14c3975_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/attrs-17.4.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/babel-2.5.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/backports-1.0-py36hfa02d7e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/backports.shutil_get_terminal_size-1.0.0-py36hfea85ff_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/beautifulsoup4-4.6.0-py36h49b8c8c_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bitarray-0.8.1-py36h14c3975_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bkcharts-0.2-py36h735825a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/blaze-0.11.3-py36h4e06776_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bleach-2.1.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bokeh-0.12.13-py36h2f9c1c0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/boto-2.48.0-py36h6e4cd66_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bottleneck-1.2.1-py36haac1ea0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/bzip2-1.0.6-h9a117a8_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cairo-1.14.12-h77bcde2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cffi-1.11.4-py36h9745a5d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/chardet-3.0.4-py36h0f667ec_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/click-6.7-py36h5253387_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cloudpickle-0.5.2-py36_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/clyent-1.2.2-py36h7e57e65_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/colorama-0.3.9-py36h489cec4_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/conda-4.3.34-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/conda-build-3.4.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/conda-env-2.6.0-h36134e3_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/conda-verify-2.0.0-py36h98955d8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/contextlib2-0.5.5-py36h6c84a62_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cryptography-2.1.4-py36hd09be54_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/curl-7.58.0-h84994c4_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cycler-0.10.0-py36h93f1223_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cython-0.27.3-py36h1860423_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cytoolz-0.9.0-py36h14c3975_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/dask-0.16.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/dask-core-0.16.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/datashape-0.5.4-py36h3ad6b5c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/dbus-1.12.2-hc3f9b76_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/decorator-4.2.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/distributed-1.20.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/docutils-0.14-py36hb0f60f5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/entrypoints-0.2.3-py36h1aec115_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/et_xmlfile-1.0.1-py36hd6bccc3_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/expat-2.2.5-he0dffb1_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/fastcache-1.0.2-py36h14c3975_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/filelock-2.0.13-py36h646ffb5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/flask-0.12.2-py36hb24657c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/flask-cors-3.0.3-py36h2d857d3_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/fontconfig-2.12.4-h88586e7_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/freetype-2.8-hab7d2ae_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/get_terminal_size-1.0.0-haa9412d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/gevent-1.2.2-py36h2fe25dc_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/glib-2.53.6-h5d9569c_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/glob2-0.6-py36he249c77_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/gmp-6.1.2-h6c8ec71_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/gmpy2-2.0.8-py36hc8893dd_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/graphite2-1.3.10-hf63cedd_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/greenlet-0.4.12-py36h2d503a6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/gst-plugins-base-1.12.4-h33fb286_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/gstreamer-1.12.4-hb53b477_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/h5py-2.7.1-py36h3585f63_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/harfbuzz-1.7.4-hc5b324e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/hdf5-1.10.1-h9caa474_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/heapdict-1.0.0-py36_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/html5lib-1.0.1-py36h2f9c1c0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/icu-58.2-h9c2bf20_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/idna-2.6-py36h82fb2a8_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/imageio-2.2.0-py36he555465_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/imagesize-0.7.1-py36h52d8127_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/intel-openmp-2018.0.0-hc7b2577_8.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ipykernel-4.8.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ipython-6.2.1-py36h88c514a_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ipython_genutils-0.2.0-py36hb52b0d5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ipywidgets-7.1.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/isort-4.2.15-py36had401c0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/itsdangerous-0.24-py36h93cc618_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jbig-2.1-hdba287a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jdcal-1.3-py36h4c697fb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jedi-0.11.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jinja2-2.10-py36ha16c418_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jpeg-9b-h024ee3a_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jsonschema-2.6.0-py36h006f8b5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyter-1.0.0-py36_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyter_client-5.2.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyter_console-5.2.0-py36he59e554_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyter_core-4.4.0-py36h7c827e3_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyterlab-0.31.5-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/jupyterlab_launcher-0.10.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/lazy-object-proxy-1.3.1-py36h10fcdad_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libcurl-7.58.0-h1ad7b7a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libedit-3.1-heed3624_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libffi-3.2.1-hd88cf55_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libgfortran-ng-7.2.0-h9f7466a_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libpng-1.6.34-hb9fc6fc_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libsodium-1.0.15-hf101ebd_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libssh2-1.8.0-h9cfc8f7_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libtiff-4.0.9-h28f6b97_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libtool-2.4.6-h544aabb_3.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libxcb-1.12-hcd93eb1_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libxml2-2.9.7-h26e45fe_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/libxslt-1.1.32-h1312cb7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/llvmlite-0.21.0-py36ha241eea_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/locket-0.2.0-py36h787c0ad_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/lxml-4.1.1-py36hf71bdeb_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/lzo-2.10-h49e0be7_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/markupsafe-1.0-py36hd9260cd_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/matplotlib-2.1.2-py36h0e671d2_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mccabe-0.6.1-py36h5ad9710_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mistune-0.8.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mkl-2018.0.1-h19d6760_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mkl-service-1.1.2-py36h17a0993_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mpc-1.0.3-hec55b23_5.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mpfr-3.1.5-h11a74b3_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/mpmath-1.0.0-py36hfeacd6b_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/msgpack-python-0.5.1-py36h6bb024c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/multipledispatch-0.4.9-py36h41da3fb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/navigator-updater-0.1.0-py36h14770f7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/nbconvert-5.3.1-py36hb41ffb7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/nbformat-4.4.0-py36h31c9010_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ncurses-6.0-h9df7e31_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/networkx-2.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/nltk-3.2.5-py36h7532b22_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/nose-1.3.7-py36hcdf7029_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/notebook-5.4.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/numba-0.36.2-np114py36hc6662d5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/numexpr-2.6.4-py36hc4a3f9a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/numpy-1.14.0-py36h3dfced4_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/numpydoc-0.7.0-py36h18f165f_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/odo-0.5.1-py36h90ed295_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/olefile-0.45.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/openpyxl-2.4.10-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/openssl-1.0.2n-hb7f436b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/packaging-16.8-py36ha668100_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pandas-0.22.0-py36hf484d3e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pandoc-1.19.2.1-hea2e7c5_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pandocfilters-1.4.2-py36ha6701b7_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pango-1.41.0-hd475d92_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/parso-0.1.1-py36h35f843b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/partd-0.3.8-py36h36fd896_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/path.py-10.5-py36h55ceabb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pathlib2-2.3.0-py36h49efa8e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/patsy-0.5.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pcre-8.41-hc27e229_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pep8-1.7.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pexpect-4.3.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pickleshare-0.7.4-py36h63277f8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pillow-5.0.0-py36h3deb7b8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pip-9.0.1-py36h6c6f9ce_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pixman-0.34.0-hceecf20_3.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pkginfo-1.4.1-py36h215d178_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pluggy-0.6.0-py36hb689045_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ply-3.10-py36hed35086_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/prompt_toolkit-1.0.15-py36h17d85b1_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/psutil-5.4.3-py36h14c3975_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ptyprocess-0.5.2-py36h69acd42_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/py-1.5.2-py36h29bf505_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pycodestyle-2.3.1-py36hf609f19_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pycosat-0.6.3-py36h0a5515d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pycparser-2.18-py36hf9f622e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pycrypto-2.6.1-py36h14c3975_7.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pycurl-7.43.0.1-py36hb7f436b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyflakes-1.6.0-py36h7bd6a15_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pygments-2.2.0-py36h0d3125c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pylint-1.8.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyodbc-4.0.22-py36hf484d3e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyopenssl-17.5.0-py36h20ba746_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyparsing-2.2.0-py36hee85983_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyqt-5.6.0-py36h0386399_5.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pysocks-1.6.7-py36hd97a5b1_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pytables-3.4.2-py36h3b5282a_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pytest-3.3.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/python-3.6.4-hc3d631a_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/python-dateutil-2.6.1-py36h88d3b88_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pytz-2017.3-py36h63b9c63_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pywavelets-0.5.2-py36he602eb0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyyaml-3.12-py36hafb9ca4_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/pyzmq-16.0.3-py36he2533c7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/qt-5.6.2-h974d657_12.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/qtawesome-0.4.4-py36h609ed8c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/qtconsole-4.3.1-py36h8f73b5b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/qtpy-1.3.1-py36h3691cc8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/readline-7.0-ha6073c6_4.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/requests-2.18.4-py36he2e5f8d_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/rope-0.10.7-py36h147e2ec_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/ruamel_yaml-0.15.35-py36h14c3975_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/scikit-image-0.13.1-py36h14c3975_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/scikit-learn-0.19.1-py36h7aa7ec6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/scipy-1.0.0-py36hbf646e7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/seaborn-0.8.1-py36hfad7ec4_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/send2trash-1.4.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/setuptools-38.4.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/simplegeneric-0.8.1-py36_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/singledispatch-3.4.0.3-py36h7a266c3_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sip-4.18.1-py36h51ed4ed_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/six-1.11.0-py36h372c433_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/snowballstemmer-1.2.1-py36h6febd40_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sortedcollections-0.5.3-py36h3c761f9_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sortedcontainers-1.5.9-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sphinx-1.6.6-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sphinxcontrib-1.0-py36h6d0f590_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sphinxcontrib-websupport-1.0.1-py36hb5cb234_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/spyder-3.2.6-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sqlalchemy-1.2.1-py36h14c3975_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sqlite-3.22.0-h1bed415_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/statsmodels-0.8.0-py36h8533d0b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/sympy-1.1.1-py36hc6d1c1c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/tblib-1.3.2-py36h34cf8b6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/terminado-0.8.1-py36_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/testpath-0.3.1-py36h8cadb63_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/tk-8.6.7-hc745277_3.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/toolz-0.9.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/tornado-4.5.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/traitlets-4.3.2-py36h674d592_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/typing-3.6.2-py36h7da032a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/unicodecsv-0.14.1-py36ha668878_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/unixodbc-2.3.4-hc36303a_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/urllib3-1.22-py36hbe7ace6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/wcwidth-0.1.7-py36hdf4376a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/webencodings-0.5.1-py36h800622e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/werkzeug-0.14.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/wheel-0.30.0-py36hfd4bba0_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/widgetsnbextension-3.1.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/wrapt-1.10.11-py36h28b7045_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/xlrd-1.1.0-py36h1db9f0c_1.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/xlsxwriter-1.0.2-py36h3de1aca_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/xlwt-1.3.0-py36h7b00a1f_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/xz-5.2.3-h55aa19d_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/yaml-0.1.7-had09818_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/zeromq-4.2.2-hbedb6e5_2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/zict-0.1.3-py36h3a3bf81_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/zlib-1.2.11-ha838bed_2.tar.bz2 -- GitLab From cd19bce492431b23b1c895e694f4d3935cdc6cbe Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:49:21 -0700 Subject: [PATCH 0109/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h new file mode 120000 index 0000000000..e1c9363736 --- /dev/null +++ b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h @@ -0,0 +1 @@ +../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h \ No newline at end of file -- GitLab From 1ee1f3bb46ad68d31898375e20664f8ec7b63d68 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:49:26 -0700 Subject: [PATCH 0110/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp new file mode 120000 index 0000000000..00831b0685 --- /dev/null +++ b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp @@ -0,0 +1 @@ +../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp \ No newline at end of file -- GitLab From bd454a6913c8ef86ddad6e78f296808b4318a599 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:49:45 -0700 Subject: [PATCH 0111/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/CubeDnView.h | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/CubeDnView.h diff --git a/isis/src/qisis/apps/ipce/CubeDnView.h b/isis/src/qisis/apps/ipce/CubeDnView.h new file mode 120000 index 0000000000..55f9607e7b --- /dev/null +++ b/isis/src/qisis/apps/ipce/CubeDnView.h @@ -0,0 +1 @@ +../../objs/CubeDnView/CubeDnView.h \ No newline at end of file -- GitLab From 070a9763bbc9284f16d15a347ff9017062ce6c38 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:49:47 -0700 Subject: [PATCH 0112/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/CubeDnView.cpp | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/CubeDnView.cpp diff --git a/isis/src/qisis/apps/ipce/CubeDnView.cpp b/isis/src/qisis/apps/ipce/CubeDnView.cpp new file mode 120000 index 0000000000..831715f468 --- /dev/null +++ b/isis/src/qisis/apps/ipce/CubeDnView.cpp @@ -0,0 +1 @@ +../../objs/CubeDnView/CubeDnView.cpp \ No newline at end of file -- GitLab From a627d12a885b2d154dec4831738f4f84f254c02c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:54:53 -0700 Subject: [PATCH 0113/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- .../AbstractProjectItemViewMW.cpp | 326 ++++++++++++++++++ .../AbstractProjectItemViewMW.h | 111 ++++++ .../objs/AbstractProjectItemViewMW/Makefile | 7 + 3 files changed, 444 insertions(+) create mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp create mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h create mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp new file mode 100644 index 0000000000..3ba279fb61 --- /dev/null +++ b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp @@ -0,0 +1,326 @@ +/** + * @file + * $Date$ + * $Revision$ + * + * Unless noted otherwise, the portions of Isis written by the USGS are + * public domain. See individual third-party library and package descriptions + * for intellectual property information, user agreements, and related + * information. + * + * Although Isis has been used by the USGS, no warranty, expressed or + * implied, is made by the USGS as to the accuracy and functioning of such + * software and related material nor shall the fact of distribution + * constitute any such warranty, and no responsibility is assumed by the + * USGS in connection therewith. + * + * For additional information, launch + * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html + * in a browser or see the Privacy & Disclaimers page on the Isis website, + * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on + * http://www.usgs.gov/privacy.html. + */ +#include "AbstractProjectItemViewMW.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ProjectItem.h" +#include "ProjectItemModel.h" +#include "ProjectItemProxyModel.h" + +namespace Isis { + + /** + * Constructs the AbstractProjectItemViewMW. + * + * @param[in] parent (QWidget *) The parent widget + */ + AbstractProjectItemViewMW::AbstractProjectItemViewMW(QWidget *parent) : QMainWindow(parent) { + + setWindowFlags(Qt::Widget); + + + + m_internalModel = new ProjectItemProxyModel(this); + setAcceptDrops(true); + } + + + /** + * Sets the model used by the view. If the internal model is a proxy + * model, it sets the source model. + * + * @param[in] model (ProjectItemModel *) The new model + */ + void AbstractProjectItemViewMW::setModel(ProjectItemModel *model) { + if (ProjectItemProxyModel *proxyModel = + qobject_cast( internalModel() ) ) { + proxyModel->setSourceModel(model); + } + } + + + /** + * Returns the model used by the view. If the internal model is a + * proxy model, it returns the source model. + * + * @return @b ProjectItemModel * The model. + */ + ProjectItemModel *AbstractProjectItemViewMW::model() { + if (ProjectItemProxyModel *proxyModel = + qobject_cast( internalModel() ) ) { + return proxyModel->sourceModel(); + } + return internalModel(); + } + + + /** + * Sets the internal model of the view. + * + * @param[in] model (ProjectItemModel *) The new internal model + */ + void AbstractProjectItemViewMW::setInternalModel(ProjectItemModel *model) { + m_internalModel = model; + } + + + /** + * Returns the internal model of the view. By default it is a proxy + * model. + * + * @return @b ProjectItemModel * The internal model + */ + ProjectItemModel *AbstractProjectItemViewMW::internalModel() { + return m_internalModel; + } + + + /** + * Accepts the drag enter event if the internal model can accept the + * mime data. + * + * @param[in] event (QDragEnterEvent *) The drag event + */ + void AbstractProjectItemViewMW::dragEnterEvent(QDragEnterEvent *event) { + if (internalModel()->canDropMimeData( event->mimeData(), + event->dropAction(), + 0, 0, QModelIndex() ) ) { + event->acceptProposedAction(); + } + } + + + /** + * Accepts the drag event if the internal model can accept the mime + * data. + * + * @param[in] event (QDragMoveEvent *) The drag event + */ + void AbstractProjectItemViewMW::dragMoveEvent(QDragMoveEvent *event) { + if (internalModel()->canDropMimeData( event->mimeData(), + event->dropAction(), + 0, 0, QModelIndex() ) ) { + event->acceptProposedAction(); + } + } + + + /** + * Drops the data into the internal model if it can accept the data. + * + * @param[in] event (QDropEvent *) The drop event + */ + void AbstractProjectItemViewMW::dropEvent(QDropEvent *event) { + if (internalModel()->canDropMimeData( event->mimeData(), + event->dropAction(), + 0, 0, QModelIndex() ) ) { + internalModel()->dropMimeData( event->mimeData(), event->dropAction(), + 0, 0, QModelIndex() ); + event->acceptProposedAction(); + } + } + + + /** + * Returns a list of actions appropriate for the permanent tool bar. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::permToolBarActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for the active tool bar. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::activeToolBarActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for the tool pad. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::toolPadActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a context menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::contextMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a file menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::fileMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a project menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::projectMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for an edit menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::editMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a view menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::viewMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a settings menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::settingsMenuActions() { + return QList(); + } + + + /** + * Returns a list of actions appropriate for a help menu. + * + * @return @b QList The actions + */ + QList AbstractProjectItemViewMW::helpMenuActions() { + return QList(); + } + + + /** + * Returns the current item of the model. + * + * @return @b ProjectItem * The item + */ + ProjectItem *AbstractProjectItemViewMW::currentItem() { + return model()->currentItem(); + } + + + /** + * Return the selected items of the model. + * + * @return @b QList The items + */ + QList AbstractProjectItemViewMW::selectedItems() { + return model()->selectedItems(); + } + + + /** + * Adds an item to the view. The item must be part of the view's + * model. This method can be overriden in a subclass to filter out + * unneeded items. + * + * @param[in] item (ProjectItem *) The item to add. + */ + void AbstractProjectItemViewMW::addItem(ProjectItem *item) { + if (ProjectItemProxyModel *proxyModel = + qobject_cast( internalModel() ) ) { + proxyModel->addItem(item); + } + } + + + /** + * Adds several items to the view. The items must be a part of the + * view's model. + * + * @param[in] items (QList) The items to add. + */ + void AbstractProjectItemViewMW::addItems(QList items) { + foreach (ProjectItem *item, items) { + addItem(item); + } + } + + + /** + * Removes an item to the view. The item must be part of the view's + * model. This method can be overriden in a subclass to filter out + * unneeded items. + * + * @param[in] item (ProjectItem *) The item to remove. + */ + void AbstractProjectItemViewMW::removeItem(ProjectItem *item) { + if (ProjectItemProxyModel *proxyModel = + qobject_cast( internalModel() ) ) { + proxyModel->removeItem(item); + } + } + + + /** + * Removes several items from the view. The items must be a part of the + * view's model. + * + * @param[in] items (QList) The items to remove. + */ + void AbstractProjectItemViewMW::removeItems(QList items) { + foreach (ProjectItem *item, items) { + removeItem(item); + } + } +} diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h new file mode 100644 index 0000000000..ae6a947158 --- /dev/null +++ b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h @@ -0,0 +1,111 @@ +#ifndef AbstractProjectItemViewMW_h +#define AbstractProjectItemViewMW_h +/** + * @file + * $Date$ + * $Revision$ + * + * Unless noted otherwise, the portions of Isis written by the USGS are + * public domain. See individual third-party library and package descriptions + * for intellectual property information, user agreements, and related + * information. + * + * Although Isis has been used by the USGS, no warranty, expressed or + * implied, is made by the USGS as to the accuracy and functioning of such + * software and related material nor shall the fact of distribution + * constitute any such warranty, and no responsibility is assumed by the + * USGS in connection therewith. + * + * For additional information, launch + * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html + * in a browser or see the Privacy & Disclaimers page on the Isis website, + * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on + * http://www.usgs.gov/privacy.html. + */ + +#include + +class QAction; +class QDragEnterEvent; +class QWidget; +template class QList; + +namespace Isis { + + class ProjectItem; + class ProjectItemModel; + /** + * AbstractProjectItemView is a base class for views of a + * ProjectItemModel in Qt's model-view + * framework. AbstractProjectItemView is not meant to be + * instantiated directly. A view usually only shows items that have + * been added to the view. The views contains an internal + * ProjectItemProxyModel that represents the items appropriately for + * the view. + * + * An AbstractProjectItemView may provide QActions for manipulating + * the view. These actions can be accessed in different contexts + * through toolBarActions(), menuActions(), and + * contextMenuActions(). + * + * When mime data is dropped on a view the view adds the selected + * items from the source model to the view. + * + * Note that AbstractProjectItemView does not inherit from QAbstractItemView. + * + * @author 2015-10-21 Jeffrey Covington + * @internal + * @history 2015-10-21 Jeffrey Covington - Original version. + * @history 2016-06-27 Ian Humphrey - Minor updates to documentation and coding standards. + * Fixes #4004. + * @history 2016-07-28 Tracie Sucharski - Implemented removeItem and removeItems methods. + * @history 2016-08-25 Adam Paquette - Minor updates to documentation. + * Fixes #4299. + */ + class AbstractProjectItemViewMW : public QMainWindow { + + Q_OBJECT + + public: + AbstractProjectItemViewMW(QWidget *parent=0); + + virtual void setModel(ProjectItemModel *model); + virtual ProjectItemModel *model(); + + virtual void dragEnterEvent(QDragEnterEvent *event); + virtual void dragMoveEvent(QDragMoveEvent *event); + virtual void dropEvent(QDropEvent *event); + + virtual QList permToolBarActions(); + virtual QList activeToolBarActions(); + virtual QList toolPadActions(); + + virtual QList contextMenuActions(); + + virtual QList fileMenuActions(); + virtual QList projectMenuActions(); + virtual QList editMenuActions(); + virtual QList viewMenuActions(); + virtual QList settingsMenuActions(); + virtual QList helpMenuActions(); + + virtual ProjectItem *currentItem(); + virtual QList selectedItems(); + + virtual ProjectItemModel *internalModel(); + virtual void setInternalModel(ProjectItemModel *model); + + public slots: + virtual void addItem(ProjectItem *item); + virtual void addItems(QList items); + + virtual void removeItem(ProjectItem *item); + virtual void removeItems(QList items); + + private: + ProjectItemModel *m_internalModel; //!< The internal model used by the view + }; + +} + +#endif diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile b/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile new file mode 100644 index 0000000000..f122bc8822 --- /dev/null +++ b/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile @@ -0,0 +1,7 @@ +ifeq ($(ISISROOT), $(BLANK)) +.SILENT: +error: + echo "Please set ISISROOT"; +else + include $(ISISROOT)/make/isismake.objs +endif \ No newline at end of file -- GitLab From 27b6c1db2cfda5b8fea1891897691098a19fb419 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:55:46 -0700 Subject: [PATCH 0114/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/objs/CubeDnView/CubeDnView.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.h b/isis/src/qisis/objs/CubeDnView/CubeDnView.h index 4ffe267a2a..392783186b 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.h +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.h @@ -1,5 +1,5 @@ -#ifndef CubeDnView_h -#define CubeDnView_h +#ifndef CubeDnViewMW_h +#define CubeDnViewMW_h /** * @file * $Date$ @@ -27,7 +27,7 @@ #include #include -#include "AbstractProjectItemView.h" +#include "AbstractProjectItemViewMW.h" #include "FileName.h" #include "XmlStackedHandler.h" @@ -81,7 +81,7 @@ namespace Isis { * @history 2017-08-03 Cole Neubauer - Changed all references from IpceTool to ControlNetTool * Fixes #5090 */ - class CubeDnView : public AbstractProjectItemView { + class CubeDnView : public AbstractProjectItemViewMW { Q_OBJECT @@ -123,6 +123,8 @@ namespace Isis { void enableControlNetTool(); private slots: + void createActions(Directory *directory); + void onCurrentChanged(const QModelIndex ¤t); void onCubeViewportActivated(MdiCubeViewport *); void onItemAdded(ProjectItem *item); -- GitLab From 31bf70cf8dfb5314efb3289536a76d6976e66882 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:55:53 -0700 Subject: [PATCH 0115/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/objs/CubeDnView/CubeDnView.cpp | 59 ++++++++----------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp index e662a195a5..637486cbb2 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -89,7 +90,7 @@ namespace Isis { * @param parent (QWidget *) Pointer to parent widget */ CubeDnView::CubeDnView(Directory *directory, QWidget *parent) : - AbstractProjectItemView(parent) { + AbstractProjectItemViewMW(parent) { connect( internalModel()->selectionModel(), SIGNAL( currentChanged(const QModelIndex &, const QModelIndex &) ), this, SLOT( onCurrentChanged(const QModelIndex &) ) ); @@ -102,54 +103,52 @@ namespace Isis { m_workspace = new Workspace(false, this); m_workspace->mdiArea()->setActivationOrder(QMdiArea::StackingOrder); + // Since this is a QMainWindow, set the workspace as the central widget. + setCentralWidget(m_workspace); + + createActions(directory); + connect(m_workspace, SIGNAL( cubeViewportActivated(MdiCubeViewport *) ), this, SLOT( onCubeViewportActivated(MdiCubeViewport *) ) ); connect(m_workspace, SIGNAL( cubeViewportAdded(MdiCubeViewport *) ), this, SLOT( onCubeViewportAdded(MdiCubeViewport *) ) ); + + // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + // These connections should be at higher level, directory or project???? ::addCubeDnView(). Project *activeProject = directory->project(); // These connect signals listen to the active project, and if a control network // or list of control networks is added, then the enableControlNetTool() function is called. connect(activeProject, SIGNAL(controlListAdded(ControlList *)), this, SLOT(enableControlNetTool())); connect(activeProject, SIGNAL(controlAdded(Control *)), this, SLOT(enableControlNetTool())); + } - QVBoxLayout *layout = new QVBoxLayout; - setLayout(layout); - - //m_toolBar = new QWidget(this); - - //QHBoxLayout *toolBarLayout = new QHBoxLayout; + void CubeDnView::createActions(Directory *directory) { - m_permToolBar = new QToolBar("Standard Tools", 0); + + m_permToolBar = addToolBar("Standard Tools"); m_permToolBar->setObjectName("permToolBar"); m_permToolBar->setIconSize(QSize(22, 22)); - //toolBarLayout->addWidget(m_permToolBar); - m_activeToolBar = new QToolBar("Active Tool", 0); + m_activeToolBar = addToolBar("Active Tool"); m_activeToolBar->setObjectName("activeToolBar"); m_activeToolBar->setIconSize(QSize(22, 22)); - //toolBarLayout->addWidget(m_activeToolBar); m_toolPad = new ToolPad("Tool Pad", 0); m_toolPad->setObjectName("toolPad"); - //toolBarLayout->addWidget(m_toolPad); - - //m_toolBar->setLayout(toolBarLayout); - - //layout->addWidget(m_toolBar); - layout->addWidget(m_workspace); + addToolBar(m_toolPad); // Create tools ToolList *tools = new ToolList; + // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + //******* TODO : Look at code below. What is defaultActiveTool used for? Why is NULL + // appended?? *************** Tool *defaultActiveTool = NULL; tools->append(new RubberBandTool(this)); -// QnetTool *qnetTool = new QnetTool(m_workspace); - //tools->append(new FileTool(this)); - //tools->append(new QnetFileTool(qnetTool, this)); tools->append(NULL); ControlNetTool *controlNetTool = new ControlNetTool(directory, this); @@ -199,18 +198,16 @@ namespace Isis { tools->append(new StereoTool(this)); tools->append(new HelpTool(this)); - QStatusBar *statusBar = new QStatusBar(this); - layout->addWidget(statusBar); - tools->append(new TrackTool(statusBar)); + tools->append(new TrackTool(statusBar())); m_separatorAction = new QAction(this); m_separatorAction->setSeparator(true); - m_fileMenu = new QMenu; - m_viewMenu = new QMenu; - m_optionsMenu = new QMenu; - m_windowMenu = new QMenu; - m_helpMenu = new QMenu; + m_fileMenu = menuBar()->addMenu("&File"); + m_viewMenu = menuBar()->addMenu("&View"); + m_optionsMenu = menuBar()->addMenu("&Options"); + m_windowMenu = menuBar()->addMenu("&Window"); + m_helpMenu = menuBar()->addMenu("&Help"); for (int i = 0; i < tools->count(); i++) { Tool *tool = (*tools)[i]; @@ -253,10 +250,6 @@ namespace Isis { m_toolPadActions.append( m_toolPad->actions() ); - QSizePolicy policy = sizePolicy(); - policy.setHorizontalPolicy(QSizePolicy::Expanding); - policy.setVerticalPolicy(QSizePolicy::Expanding); - setSizePolicy(policy); } @@ -302,7 +295,7 @@ namespace Isis { return; } - AbstractProjectItemView::addItem(item); + AbstractProjectItemViewMW::addItem(item); } -- GitLab From 5d84b6882c263780e05138febeb06410dfeb1c07 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:56:13 -0700 Subject: [PATCH 0116/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/objs/Directory/Directory.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 4f10a760e3..b973e3dea9 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -39,6 +39,7 @@ class QAction; class QDockWidget; +class QMainWindow; class QMenuBar; class QProgressBar; class QSplitter; @@ -323,6 +324,7 @@ namespace Isis { void directoryCleaned(); void newWarning(); void newWidgetAvailable(QWidget *newWidget); + void newDockAvailable(QMainWindow *newWidget); void cnetModified(); void redrawMeasures(); -- GitLab From c61f934d183e9317fd11d00fa32726058dd0bf5d Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:56:18 -0700 Subject: [PATCH 0117/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/objs/Directory/Directory.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index c7a2dafc82..20a6d7ea5c 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -717,7 +718,7 @@ namespace Isis { result->setWindowTitle("Cube DN View"); result->setWindowTitle( tr("Cube DN View %1").arg(m_cubeDnViewWidgets.count() ) ); - emit newWidgetAvailable(result); + emit newDockAvailable(result); // Connections between mouse button events from view and control point editing connect(result, SIGNAL(modifyControlPoint(ControlPoint *, QString)), -- GitLab From 8a413155b00bc96f7d0bf46f6419f5466db80575 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:57:17 -0700 Subject: [PATCH 0118/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/IpceMainWindow.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 81b0d06dfc..4264f31553 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -24,6 +24,7 @@ */ #include "ViewSubWindow.h" +#include #include #include #include @@ -130,6 +131,7 @@ namespace Isis { public slots: void addView(QWidget *newWidget); + void addDock(QMainWindow *newWidgetForDock); void removeAllViews(); void setActiveView(AbstractProjectItemView *view); -- GitLab From b5ad03029aef6ba59a93832cec739e7f2304ace2 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 12 Mar 2018 11:57:22 -0700 Subject: [PATCH 0119/1212] Experiment with turning CubeDnView into a dockable widget using a MainWindow to hold toolbars, toolpad. --- isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 56 ++++++++++++++------- 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index d33730594b..7222caa488 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -41,7 +41,7 @@ #include #include -#include "AbstractProjectItemView.h" +#include "AbstractProjectItemViewMW.h" #include "Directory.h" #include "FileName.h" #include "IException.h" @@ -76,19 +76,22 @@ namespace Isis { QMainWindow(parent) { m_maxThreadCount = -1; - QMdiArea *centralWidget = new QMdiArea; - centralWidget->setActivationOrder(QMdiArea::StackingOrder); +// QMdiArea *centralWidget = new QMdiArea; +// centralWidget->setActivationOrder(QMdiArea::StackingOrder); - connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), - this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); +// connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), +// this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); + QWidget *centralWidget = new QWidget; setCentralWidget(centralWidget); setDockNestingEnabled(true); - + m_activeView = NULL; try { m_directory = new Directory(this); + connect(m_directory, SIGNAL(newDockAvailable(QMainWindow *)), + this, SLOT(addDock(QMainWindow *))); connect(m_directory, SIGNAL( newWidgetAvailable(QWidget *) ), this, SLOT( addView(QWidget *) ) ); connect(m_directory, SIGNAL( directoryCleaned() ), @@ -188,9 +191,9 @@ namespace Isis { addToolBar(m_toolPad); updateToolBarActions(); - setTabbedViewMode(); - centralWidget->setTabsMovable(true); - centralWidget->setTabsClosable(true); +// setTabbedViewMode(); +// centralWidget->setTabsMovable(true); +// centralWidget->setTabsClosable(true); QStringList args = QCoreApplication::arguments(); @@ -206,6 +209,23 @@ namespace Isis { } + void IpceMainWindow::addDock(QMainWindow *newWidgetForDock) { + + QDockWidget *dock = new QDockWidget(newWidgetForDock->windowTitle()); + dock->setWidget(newWidgetForDock); + dock->setObjectName(newWidgetForDock->windowTitle()); + + // This needs to eventually be a work order... + dock->setAttribute(Qt::WA_DeleteOnClose); + + connect(newWidgetForDock, SIGNAL(destroyed(QObject *)), + dock, SLOT(deleteLater())); + + addDockWidget(Qt::RightDockWidgetArea, dock); +// addDockWidget(area, dock, orientation); + } + + /** * This is connected from Directory's newWidgetAvailable signal and called when re-attaching a * view which was detached from the MDI main window. @@ -530,15 +550,15 @@ namespace Isis { this, SLOT( toggleViewMode() ) ); m_viewMenuActions.append(viewModeAction); - m_cascadeViewsAction = new QAction("Cascade Views", this); - connect(m_cascadeViewsAction, SIGNAL( triggered() ), - centralWidget(), SLOT( cascadeSubWindows() ) ); - m_viewMenuActions.append(m_cascadeViewsAction); - - m_tileViewsAction = new QAction("Tile Views", this); - connect(m_tileViewsAction, SIGNAL( triggered() ), - centralWidget(), SLOT( tileSubWindows() ) ); - m_viewMenuActions.append(m_tileViewsAction); +// m_cascadeViewsAction = new QAction("Cascade Views", this); +// connect(m_cascadeViewsAction, SIGNAL( triggered() ), +// centralWidget(), SLOT( cascadeSubWindows() ) ); +// m_viewMenuActions.append(m_cascadeViewsAction); +// +// m_tileViewsAction = new QAction("Tile Views", this); +// connect(m_tileViewsAction, SIGNAL( triggered() ), +// centralWidget(), SLOT( tileSubWindows() ) ); +// m_viewMenuActions.append(m_tileViewsAction); QAction *detachActiveViewAction = new QAction("Detach Active View", this); connect(detachActiveViewAction, SIGNAL( triggered() ), -- GitLab From e088aa697c739fd50245a5ff6a5ea1b0d97deb7f Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Mon, 12 Mar 2018 11:59:28 -0700 Subject: [PATCH 0120/1212] linux spec is up --- linux-spec.txt | 355 ++++++++++++++++--------------------------------- 1 file changed, 114 insertions(+), 241 deletions(-) diff --git a/linux-spec.txt b/linux-spec.txt index 69f6094d0d..15545fa82f 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -2,244 +2,117 @@ # $ conda create --name --file # platform: linux-64 @EXPLICIT -https://repo.continuum.io/pkgs/main/linux-64/_ipyw_jlab_nb_ext_conf-0.1.0-py36he11e457_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/alabaster-0.7.10-py36h306e16b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/anaconda-5.1.0-py36_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/anaconda-client-1.6.9-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/anaconda-navigator-1.7.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/anaconda-project-0.8.2-py36h44fb852_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/asn1crypto-0.24.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/astroid-1.6.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/astropy-2.0.3-py36h14c3975_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/attrs-17.4.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/babel-2.5.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/backports-1.0-py36hfa02d7e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/backports.shutil_get_terminal_size-1.0.0-py36hfea85ff_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/beautifulsoup4-4.6.0-py36h49b8c8c_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bitarray-0.8.1-py36h14c3975_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bkcharts-0.2-py36h735825a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/blaze-0.11.3-py36h4e06776_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bleach-2.1.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bokeh-0.12.13-py36h2f9c1c0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/boto-2.48.0-py36h6e4cd66_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bottleneck-1.2.1-py36haac1ea0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/bzip2-1.0.6-h9a117a8_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cairo-1.14.12-h77bcde2_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cffi-1.11.4-py36h9745a5d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/chardet-3.0.4-py36h0f667ec_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/click-6.7-py36h5253387_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cloudpickle-0.5.2-py36_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/clyent-1.2.2-py36h7e57e65_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/colorama-0.3.9-py36h489cec4_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/conda-4.3.34-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/conda-build-3.4.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/conda-env-2.6.0-h36134e3_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/conda-verify-2.0.0-py36h98955d8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/contextlib2-0.5.5-py36h6c84a62_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cryptography-2.1.4-py36hd09be54_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/curl-7.58.0-h84994c4_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cycler-0.10.0-py36h93f1223_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cython-0.27.3-py36h1860423_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cytoolz-0.9.0-py36h14c3975_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/dask-0.16.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/dask-core-0.16.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/datashape-0.5.4-py36h3ad6b5c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/dbus-1.12.2-hc3f9b76_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/decorator-4.2.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/distributed-1.20.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/docutils-0.14-py36hb0f60f5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/entrypoints-0.2.3-py36h1aec115_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/et_xmlfile-1.0.1-py36hd6bccc3_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/expat-2.2.5-he0dffb1_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/fastcache-1.0.2-py36h14c3975_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/filelock-2.0.13-py36h646ffb5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/flask-0.12.2-py36hb24657c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/flask-cors-3.0.3-py36h2d857d3_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/fontconfig-2.12.4-h88586e7_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/freetype-2.8-hab7d2ae_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/get_terminal_size-1.0.0-haa9412d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/gevent-1.2.2-py36h2fe25dc_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/glib-2.53.6-h5d9569c_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/glob2-0.6-py36he249c77_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/gmp-6.1.2-h6c8ec71_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/gmpy2-2.0.8-py36hc8893dd_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/graphite2-1.3.10-hf63cedd_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/greenlet-0.4.12-py36h2d503a6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/gst-plugins-base-1.12.4-h33fb286_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/gstreamer-1.12.4-hb53b477_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/h5py-2.7.1-py36h3585f63_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/harfbuzz-1.7.4-hc5b324e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/hdf5-1.10.1-h9caa474_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/heapdict-1.0.0-py36_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/html5lib-1.0.1-py36h2f9c1c0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/icu-58.2-h9c2bf20_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/idna-2.6-py36h82fb2a8_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/imageio-2.2.0-py36he555465_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/imagesize-0.7.1-py36h52d8127_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/intel-openmp-2018.0.0-hc7b2577_8.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ipykernel-4.8.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ipython-6.2.1-py36h88c514a_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ipython_genutils-0.2.0-py36hb52b0d5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ipywidgets-7.1.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/isort-4.2.15-py36had401c0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/itsdangerous-0.24-py36h93cc618_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jbig-2.1-hdba287a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jdcal-1.3-py36h4c697fb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jedi-0.11.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jinja2-2.10-py36ha16c418_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jpeg-9b-h024ee3a_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jsonschema-2.6.0-py36h006f8b5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyter-1.0.0-py36_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyter_client-5.2.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyter_console-5.2.0-py36he59e554_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyter_core-4.4.0-py36h7c827e3_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyterlab-0.31.5-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/jupyterlab_launcher-0.10.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/lazy-object-proxy-1.3.1-py36h10fcdad_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libcurl-7.58.0-h1ad7b7a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libedit-3.1-heed3624_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libffi-3.2.1-hd88cf55_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libgfortran-ng-7.2.0-h9f7466a_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libpng-1.6.34-hb9fc6fc_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libsodium-1.0.15-hf101ebd_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libssh2-1.8.0-h9cfc8f7_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libtiff-4.0.9-h28f6b97_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libtool-2.4.6-h544aabb_3.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libxcb-1.12-hcd93eb1_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libxml2-2.9.7-h26e45fe_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/libxslt-1.1.32-h1312cb7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/llvmlite-0.21.0-py36ha241eea_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/locket-0.2.0-py36h787c0ad_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/lxml-4.1.1-py36hf71bdeb_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/lzo-2.10-h49e0be7_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/markupsafe-1.0-py36hd9260cd_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/matplotlib-2.1.2-py36h0e671d2_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mccabe-0.6.1-py36h5ad9710_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mistune-0.8.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mkl-2018.0.1-h19d6760_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mkl-service-1.1.2-py36h17a0993_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mpc-1.0.3-hec55b23_5.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mpfr-3.1.5-h11a74b3_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/mpmath-1.0.0-py36hfeacd6b_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/msgpack-python-0.5.1-py36h6bb024c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/multipledispatch-0.4.9-py36h41da3fb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/navigator-updater-0.1.0-py36h14770f7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/nbconvert-5.3.1-py36hb41ffb7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/nbformat-4.4.0-py36h31c9010_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ncurses-6.0-h9df7e31_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/networkx-2.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/nltk-3.2.5-py36h7532b22_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/nose-1.3.7-py36hcdf7029_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/notebook-5.4.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/numba-0.36.2-np114py36hc6662d5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/numexpr-2.6.4-py36hc4a3f9a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/numpy-1.14.0-py36h3dfced4_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/numpydoc-0.7.0-py36h18f165f_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/odo-0.5.1-py36h90ed295_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/olefile-0.45.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/openpyxl-2.4.10-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/openssl-1.0.2n-hb7f436b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/packaging-16.8-py36ha668100_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pandas-0.22.0-py36hf484d3e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pandoc-1.19.2.1-hea2e7c5_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pandocfilters-1.4.2-py36ha6701b7_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pango-1.41.0-hd475d92_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/parso-0.1.1-py36h35f843b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/partd-0.3.8-py36h36fd896_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/path.py-10.5-py36h55ceabb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pathlib2-2.3.0-py36h49efa8e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/patsy-0.5.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pcre-8.41-hc27e229_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pep8-1.7.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pexpect-4.3.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pickleshare-0.7.4-py36h63277f8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pillow-5.0.0-py36h3deb7b8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pip-9.0.1-py36h6c6f9ce_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pixman-0.34.0-hceecf20_3.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pkginfo-1.4.1-py36h215d178_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pluggy-0.6.0-py36hb689045_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ply-3.10-py36hed35086_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/prompt_toolkit-1.0.15-py36h17d85b1_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/psutil-5.4.3-py36h14c3975_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ptyprocess-0.5.2-py36h69acd42_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/py-1.5.2-py36h29bf505_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pycodestyle-2.3.1-py36hf609f19_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pycosat-0.6.3-py36h0a5515d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pycparser-2.18-py36hf9f622e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pycrypto-2.6.1-py36h14c3975_7.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pycurl-7.43.0.1-py36hb7f436b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyflakes-1.6.0-py36h7bd6a15_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pygments-2.2.0-py36h0d3125c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pylint-1.8.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyodbc-4.0.22-py36hf484d3e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyopenssl-17.5.0-py36h20ba746_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyparsing-2.2.0-py36hee85983_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyqt-5.6.0-py36h0386399_5.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pysocks-1.6.7-py36hd97a5b1_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pytables-3.4.2-py36h3b5282a_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pytest-3.3.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/python-3.6.4-hc3d631a_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/python-dateutil-2.6.1-py36h88d3b88_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pytz-2017.3-py36h63b9c63_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pywavelets-0.5.2-py36he602eb0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyyaml-3.12-py36hafb9ca4_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/pyzmq-16.0.3-py36he2533c7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/qt-5.6.2-h974d657_12.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/qtawesome-0.4.4-py36h609ed8c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/qtconsole-4.3.1-py36h8f73b5b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/qtpy-1.3.1-py36h3691cc8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/readline-7.0-ha6073c6_4.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/requests-2.18.4-py36he2e5f8d_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/rope-0.10.7-py36h147e2ec_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/ruamel_yaml-0.15.35-py36h14c3975_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/scikit-image-0.13.1-py36h14c3975_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/scikit-learn-0.19.1-py36h7aa7ec6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/scipy-1.0.0-py36hbf646e7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/seaborn-0.8.1-py36hfad7ec4_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/send2trash-1.4.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/setuptools-38.4.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/simplegeneric-0.8.1-py36_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/singledispatch-3.4.0.3-py36h7a266c3_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sip-4.18.1-py36h51ed4ed_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/six-1.11.0-py36h372c433_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/snowballstemmer-1.2.1-py36h6febd40_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sortedcollections-0.5.3-py36h3c761f9_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sortedcontainers-1.5.9-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sphinx-1.6.6-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sphinxcontrib-1.0-py36h6d0f590_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sphinxcontrib-websupport-1.0.1-py36hb5cb234_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/spyder-3.2.6-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sqlalchemy-1.2.1-py36h14c3975_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sqlite-3.22.0-h1bed415_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/statsmodels-0.8.0-py36h8533d0b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/sympy-1.1.1-py36hc6d1c1c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/tblib-1.3.2-py36h34cf8b6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/terminado-0.8.1-py36_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/testpath-0.3.1-py36h8cadb63_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/tk-8.6.7-hc745277_3.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/toolz-0.9.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/tornado-4.5.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/traitlets-4.3.2-py36h674d592_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/typing-3.6.2-py36h7da032a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/unicodecsv-0.14.1-py36ha668878_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/unixodbc-2.3.4-hc36303a_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/urllib3-1.22-py36hbe7ace6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/wcwidth-0.1.7-py36hdf4376a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/webencodings-0.5.1-py36h800622e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/werkzeug-0.14.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/wheel-0.30.0-py36hfd4bba0_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/widgetsnbextension-3.1.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/wrapt-1.10.11-py36h28b7045_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/xlrd-1.1.0-py36h1db9f0c_1.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/xlsxwriter-1.0.2-py36h3de1aca_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/xlwt-1.3.0-py36h7b00a1f_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/xz-5.2.3-h55aa19d_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/yaml-0.1.7-had09818_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/zeromq-4.2.2-hbedb6e5_2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/zict-0.1.3-py36h3a3bf81_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/zlib-1.2.11-ha838bed_2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/bullet-2.86.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/ds9-7.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/eigen-3.3.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/embree-2.14.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.0.0-4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/geos-3.5.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/giflib-5.1.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/gmm-5.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gmp-6.1.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/icu-58.2-0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/jama-125-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/jbig-2.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/llvm-meta-5.0.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.17-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mysql-connector-c-6.1.6-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/nanoflann-1.2.2-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pcre-8.39-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.34.0-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/proj4-4.9.3-5.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/rhash-1.3.4-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.13.0-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/system-5.8-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/tbb-4.4_20160526-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.5.19-2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/tnt-126-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/xerces-c-3.1.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.8-3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.2-3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-6.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/zlib-1.2.11-0.tar.bz2 -- GitLab From a3f8df156767b65e53f2eab8b27ebe9b645f10dc Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 13 Mar 2018 11:43:07 -0700 Subject: [PATCH 0121/1212] Ipce: Set Active ImageList no longer a choice on individual images, only on an image list. Fixes #5138 --- isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.h b/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.h index 6da70ad98e..fc7b256adc 100644 --- a/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.h +++ b/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.h @@ -45,8 +45,8 @@ namespace Isis { * @history 2017-08-03 Cole Neubauer - Created a try catch around a previously unprotected * error to handle errors thrown in the workorder that halted * execution. Fixes #5026 - * @history 2017-11-02 Tyler Wilson - Added a null pointer reference check to imageList variable - * in isExecutable to prevent potential seg faults. References #4492. + * @history 2017-10-18 Adam Paquette - Added a logical check in the isExecutable function + * to check for single images vs image lists. Fixes #5138. */ class SetActiveImageListWorkOrder : public WorkOrder { -- GitLab From 0bb02c822879febdef7df7a47282c33d36f202ea Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 13 Mar 2018 11:43:18 -0700 Subject: [PATCH 0122/1212] Ipce: Set Active ImageList no longer a choice on individual images, only on an image list. Fixes #5138 --- .../src/qisis/objs/Directory/SetActiveImageListWorkOrder.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.cpp b/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.cpp index b70d7b41c0..36caf06e6f 100644 --- a/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/SetActiveImageListWorkOrder.cpp @@ -76,10 +76,9 @@ namespace Isis { * @return @b bool True if we can set as active, False otherwise. */ bool SetActiveImageListWorkOrder::isExecutable(ImageList *imageList) { - - if(!imageList) + if (imageList->name() == "") { return false; - + } if (project()->activeImageList()) { if (project()->activeImageList()->name() == imageList->name()) { return false; -- GitLab From 2dd7fd877aaeba0be24ef10ba1948aca1ecfd3e9 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 13 Mar 2018 11:52:37 -0700 Subject: [PATCH 0123/1212] PROG: Fixed documentation in header and isExecutable method. --- isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp | 2 +- isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp index b0ccfce9e7..ec9484241a 100644 --- a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp @@ -48,6 +48,7 @@ namespace Isis { m_isSynchronous = false; m_isUndoable = false; QAction::setText(tr("&Export Control Network...")); + QUndoCommand::setText(tr("Export Control Network...")); } @@ -97,7 +98,6 @@ namespace Isis { * true indicates that there is one control list in the project. */ bool ExportControlNetWorkOrder::isExecutable(ControlList *controls) { - // TODO: This shouldn't be executable (in the menu) if there are no imported control networks? if (controls) { return (controls->count() == 1); diff --git a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h index cfef357b21..db46bae00c 100644 --- a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h +++ b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h @@ -26,7 +26,9 @@ namespace Isis { * it no longer causes a segmentation fault when the user attempts * to export a control network from the file menu. Fixes #4760. * @history 2017-11-02 Tyler Wilson - Added a null pointer check on the controls variable in - * isExecutable to prevent potential seg faults. References #4492. + * isExecutable to prevent potential seg faults. References #4760. + * @history 2018-03-13 Tracie Sucharski - Added Undo text to prevent runtime warning. Also + * correct redmine ticket number in previous history entry. */ class ExportControlNetWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From c3247d8c9d286d0c4cd7753c4c7882f524cf0779 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Wed, 14 Mar 2018 09:40:41 -0700 Subject: [PATCH 0124/1212] PROG: Modified save method to reopen project if we are saving a temporary project to ensure that all project files are pointing to the correct directory. NOTE: this is not ideal, particularly if the project has many files --- isis/src/qisis/objs/Project/Project.cpp | 6 ++++++ isis/src/qisis/objs/Project/Project.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index d429037a86..6ed915bee2 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -2145,6 +2145,12 @@ namespace Isis { deleteAllProjectFiles(); relocateProjectRoot(newDestination); m_isTemporaryProject = false; + + // 2014-03-14 kle This is a lame kludge because we think that relocateProjectRoot is not + // working properly. For example, when we save a new project and try to view a control net + // the it thinks it's still in the /tmp area + // see ticket #5292 + open(newDestination); } // Dialog was cancelled else { diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 367f7ba8c5..18b6d41fc1 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -221,6 +221,10 @@ namespace Isis { * Corrected the setting of the project root when pening a project from * the command line. Removed m_projectPath, it is no longer needed since * m_projectRoot contains the correct path. References #5104. + * @history 2018-03-14 Ken Edmundson - Modified save method to reopen project if we are saving + * a temporary project to ensure all project files are pointing to the + * correct directory. Note that this is NOT ideal, particularly it the + * project has many files. */ class Project : public QObject { Q_OBJECT -- GitLab From 75fec6e713e0ed8294a23a66675ceca7c5ffe203 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Wed, 14 Mar 2018 10:28:27 -0700 Subject: [PATCH 0125/1212] PROG: fixed error in addCnetEditorView where destroyed signal was conneced to the wrong object --- isis/src/qisis/objs/Directory/Directory.cpp | 8 +++++--- isis/src/qisis/objs/Directory/Directory.h | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index c7a2dafc82..7c3a500634 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -673,10 +673,12 @@ namespace Isis { mainWidget->pointTableView()->content()->setActiveControlNet(true); mainWidget->measureTableView()->content()->setActiveControlNet(true); } - connect( result, SIGNAL( destroyed(QObject *) ), - this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); - // Connections for control point editing between views + // connect destroyed signal for mainWidget to cleanupCnetEditorViewWidgets slot + connect(mainWidget, SIGNAL( destroyed(QObject *) ), + this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); + + // Connections for control point editing between views connect(mainWidget, SIGNAL(editControlPoint(ControlPoint *, QString)), this, SLOT(modifyControlPoint(ControlPoint *, QString))); diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 4f10a760e3..f62a1ae4c3 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -206,6 +206,11 @@ namespace Isis { * projects. Fixes #5216. * @history 2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and * TemplateEditViewWorkOrder. Fixes #5168. + * @history 2018-03-14 Ken Edmundson - Modified addCnetEditorView method to connect the + * destroyed signal for the CnetEditorWidget "mainWidget" to the + * cleanupCnetEditorViewWidgets signal cleanupCnetEditorViewWidgets. + * Previously the destroyed signal was connected to the QMainWidget + * "result". */ class Directory : public QObject { Q_OBJECT -- GitLab From c03fa2b19723a4df512ac56731531e1446537bbe Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 14 Mar 2018 10:51:18 -0700 Subject: [PATCH 0126/1212] added MacOS spec file --- macos-spec.txt | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 macos-spec.txt diff --git a/macos-spec.txt b/macos-spec.txt new file mode 100644 index 0000000000..f1bc190869 --- /dev/null +++ b/macos-spec.txt @@ -0,0 +1,97 @@ +# This file may be used to create an environment using: +# $ conda create --name --file +# platform: osx-64 +@EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/bullet-2.86.1-he2aa7b0_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cmake-3.9.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/embree-2.16.0-h6834224_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 +https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-h90cdba2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.2.0-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 +https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-0.tar.bz2 -- GitLab From 78cc257b826612e5a6b08b3d7c53473fcb130b90 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 14 Mar 2018 11:33:52 -0700 Subject: [PATCH 0127/1212] cleaner dependencies --- isis/cmake/FindAllDependencies.cmake | 4 +- isis/cmake/FindBoost.cmake | 4 -- isis/cmake/FindCholmod.cmake | 2 +- isis/cmake/InstallThirdParty.cmake | 13 ------- .../src/base/objs/Environment/Environment.cpp | 31 --------------- .../FeatureNomenclatureTool.cpp | 39 ++++++++----------- 6 files changed, 20 insertions(+), 73 deletions(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 361eeeb38d..d4bb522de1 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -74,15 +74,15 @@ find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" find_package(X11 6 REQUIRED) -find_package(OpenGL REQUIRED) find_package(nanoflann REQUIRED) -find_package(png REQUIRED) +find_package(PNG REQUIRED) find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) find_package(Geos 3.5.0 REQUIRED) + find_package(OpenGL REQUIRED) else(APPLE) find_package(Geos 3.5.1 REQUIRED) endif(APPLE) diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake index f374608226..47c2e1d6ba 100644 --- a/isis/cmake/FindBoost.cmake +++ b/isis/cmake/FindBoost.cmake @@ -129,10 +129,6 @@ find_library(BOOST_WAVE_MT_LIBRARY NAMES boost_wave-mt boost_wave ) -#tjw: not being linked against by ISIS presently -#find_library(BOOST_LOCAL_MT_LIBRARY -# NAMES boost_locale-mt boost_locale -#) find_library(BOOST_RANDOM_MT_LIBRARY NAMES boost_random-mt boost_random ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index 5b2804e6c8..e60a9dd3e7 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -44,5 +44,5 @@ message( "-- FORTRAN LIB: " ${FORTRAN_LIBRARY} ) message( "-- BLAS LIB: " ${BLAS_LIBRARY} ) if(NOT APPLE) - message("LAPACK LIB" ${LAPACK_LIBRARY}) + message("-- LAPACK LIB: " ${LAPACK_LIBRARY}) endif() diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake index 895fa32c9a..29a4f01c02 100644 --- a/isis/cmake/InstallThirdParty.cmake +++ b/isis/cmake/InstallThirdParty.cmake @@ -5,21 +5,10 @@ # Library portion of the installation function(install_third_party_libs) - - # Where all the library files will go set(installLibFolder "${CMAKE_INSTALL_PREFIX}/3rdParty/lib") execute_process(COMMAND mkdir -p ${installLibFolder}) - # TEMPORARY CODE TO INSTALL ALL FILES FROM V007/lib into 3rdParty/lib - if(APPLE) - install(DIRECTORY "/opt/usgs/v007/3rdParty/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) - install(DIRECTORY "/opt/usgs/v007/ports/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) - install(DIRECTORY "/opt/usgs/v007/proprietary/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) - else() - install(DIRECTORY "/usgs/pkgs/local/v007/lib" DESTINATION ${CMAKE_INSTALL_PREFIX}) - endif() - # Loop through all the library files in our list foreach(library ${ALLLIBS}) get_filename_component(extension ${library} EXT) @@ -43,8 +32,6 @@ function(install_third_party_libs) endif(APPLE) endfunction() - - # Plugin portion of the installation function(install_third_party_plugins) diff --git a/isis/src/base/objs/Environment/Environment.cpp b/isis/src/base/objs/Environment/Environment.cpp index 4486c5e693..c84d1557c4 100644 --- a/isis/src/base/objs/Environment/Environment.cpp +++ b/isis/src/base/objs/Environment/Environment.cpp @@ -7,10 +7,6 @@ #include #include -#ifndef __APPLE__ -#include -#endif - #include "IException.h" #include "IString.h" #include "TextFile.h" @@ -61,33 +57,6 @@ namespace Isis { QCoreApplication::setLibraryPaths(pluginPaths); } #endif - -#ifndef __APPLE__ - // We need to force the correct QDBus library to be loaded... to do that, just - // use a symbol in it's library. This only applies to linux and fixes #1228. - - // Long explanation: - // When we run GUI apps, the system (and Qt) work together to figure out - // which runtime libraries are necessary on-the-fly. When QApplication is - // instantiated, it goes into QtGui's style code. The styles ignore our plugin - // path setting (above) on all OS's. So Qt GUI grabs a style from the OS's styles, - // which is a shared library in the kde area. These styles require a version (any version) - // of QtDBus loaded. If QtDBus is not yet loaded, then the style library will grab it. - // However, on Ubuntu 12.04, the style library grabs the system (OS) QDBus library. QDBus - // detects that you've already loaded Isis' QtCore, so the library versions mismatch, and - // it crashes. The problem becomes more interesting because sometimes it picks up the system - // QDBus, and sometimes it picks up Isis' QDBus, and I have no good reason why we pick up - // one versus another; currently, installed apps pick up the system and locally built apps - // pick up Isis' (even when the executables are made to be identical). The end result is no - // installed GUI applications will run and our automated tests fail to catch it. This solution - // bypasses the entire issue by forcing QDBus to be loaded long before any styles are loaded, - // so the style plugins do not need to go and get their own QDBus library. - // - // The root cause is that Ubuntu's run time loader is failing to respect - // our executable's rpaths when loading a style library. However, when we link against the - // QBus library directly, we get the right one. - QDBusArgument(); -#endif } diff --git a/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp b/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp index 9ca163bb90..69410bf7d7 100644 --- a/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp +++ b/isis/src/qisis/objs/FeatureNomenclatureTool/FeatureNomenclatureTool.cpp @@ -17,11 +17,6 @@ #include #include #include -#if defined(__APPLE__) -#include -#else -#include -#endif #include #include @@ -40,7 +35,7 @@ namespace Isis { - + /** * This instantiates a FeatureNomenclatureTool. This will read this tool's * saved settings and potentially automatically enable itself. @@ -244,7 +239,7 @@ namespace Isis { } } - + /** * Set whether to show approved features and exclude unapproved features. * @@ -262,7 +257,7 @@ namespace Isis { } } - + /** * Set whether to draw vectors from the feature center to the feature extents * on the viewport. This takes effect immediately. @@ -277,7 +272,7 @@ namespace Isis { for (int i = 0; i < m_foundNomenclature->count(); i++) { (*m_foundNomenclature)[i].applyExtentType(m_extentType); } - + nomenclaturePositionsOutdated(); foreach (MdiCubeViewport *vp, *cubeViewportList()) @@ -588,7 +583,7 @@ namespace Isis { QProgressDialog updatingFeaturesProgress( tr("Projecting Features for [%1]").arg(vp->cube()->fileName().section('/',-1)), QString(), 0, 100); - + updatingFeaturesProgress.setWindowModality(Qt::WindowModal); FeatureNomenclature::Feature feature; @@ -608,7 +603,7 @@ namespace Isis { m_findNomenclatureCheckBox->setChecked(false); break; } - + if ( !m_showApprovedOnly || (m_showApprovedOnly && feature.status() == FeatureNomenclature::Approved) ) { @@ -762,7 +757,7 @@ namespace Isis { FeatureNomenclature *searcher = new FeatureNomenclature; connect(searcher, SIGNAL(featuresIdentified(FeatureNomenclature *)), this, SLOT(featuresIdentified(FeatureNomenclature *))); - + (*m_nomenclatureSearchers)[vp] = searcher; toolStateChanged(); (*m_nomenclatureSearchers)[vp]->queryFeatures(target.toUpper(), @@ -994,7 +989,7 @@ namespace Isis { FileName config("$HOME/.Isis/qview/nomenclature.config"); QSettings settings( config.expanded(), QSettings::NativeFormat); - + m_fontSize = settings.value("fontSize", m_fontSize).toInt(); *m_fontColor = settings.value("fontColor", *m_fontColor).value(); m_defaultEnabled = @@ -1239,7 +1234,7 @@ namespace Isis { } } - + /** * Trade member data with other. This should never throw an exception. * @@ -1497,7 +1492,7 @@ namespace Isis { delete m_viewportCubeRange; m_viewportCubeRange = NULL; } - + /** * Apply the extent type to all of the features for the source viewport. @@ -1574,7 +1569,7 @@ namespace Isis { return positionList; } - + /** * Get the viewport associated with this feature display. * @@ -1585,7 +1580,7 @@ namespace Isis { return m_sourceViewport; } - + /** * Paint features onto the viewport. * @@ -1601,7 +1596,7 @@ namespace Isis { for (int i = 0; i < m_features->count() && i < m_featureScreenAreas->count(); i++) { - + FeatureNomenclature::Feature feature = (*m_features)[i].feature(); FeatureDisplayPosition pos = (*m_featureScreenAreas)[i]; QRect textArea = pos.textArea(); @@ -1662,7 +1657,7 @@ namespace Isis { vectors.append(QLine(newVectorStart, point)); } } - + foreach (QLine vector, vectors) { painter->drawLine(vector); @@ -1788,12 +1783,12 @@ namespace Isis { for (int i = 0; i < m_features->count(); i++) { FeatureNomenclature::Feature feature = (*m_features)[i].feature(); - + m_featureScreenAreas->append(FeatureDisplayPosition()); if ( !tool->m_showApprovedOnly || (tool->m_showApprovedOnly && feature.status() == FeatureNomenclature::Approved) ) { - + double sample = (*m_features)[i].center().first; double line = (*m_features)[i].center().second; @@ -1829,7 +1824,7 @@ namespace Isis { viewportX, viewportY); edgeScreenPoints.append(QPoint(viewportX, viewportY)); } - + if (tool->vectorType() != Box) { foreach (QPoint screenPoint, edgeScreenPoints) { fullDisplayArea = fullDisplayArea.united( -- GitLab From 5e03800898bd941a7099ec03bd061ca956e3a6a3 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 14 Mar 2018 12:40:45 -0700 Subject: [PATCH 0128/1212] updated macos-spec to remove USGS naif libs --- macos-spec.txt | 349 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 263 insertions(+), 86 deletions(-) diff --git a/macos-spec.txt b/macos-spec.txt index f1bc190869..6c73a36e31 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,96 +2,273 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/_ipyw_jlab_nb_ext_conf-0.1.0-py36h2fc01ae_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/affine-2.1.0-py_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/alabaster-0.7.10-py36h174008c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/anaconda-custom-py36ha4fed55_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/anaconda-client-1.6.5-py36h04cfe59_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/anaconda-project-0.8.0-py36h99320b2_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/appnope-0.1.0-py36hf537a9a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/appscript-1.0.1-py36h9e71e49_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/arrow-cpp-0.8.0-py36_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/asn1crypto-0.22.0-py36hb705621_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/astroid-1.5.3-py36h1333018_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/astropy-2.0.2-py36hf79c81d_4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/babel-2.5.0-py36h9f161ff_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/backports-1.0-py36ha3c1827_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/backports.shutil_get_terminal_size-1.0.0-py36hd7a2ee4_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/beautifulsoup4-4.6.0-py36h72d3c9f_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bitarray-0.8.1-py36h20fa61d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bkcharts-0.2-py36h073222e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/blaze-0.11.3-py36h02e7a37_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bleach-2.0.0-py36h8fcea71_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bokeh-0.12.10-py36hfd5be35_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/bullet-2.86.1-he2aa7b0_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cmake-3.9.1-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/boto-2.48.0-py36hdbc59ac_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bottleneck-1.2.1-py36hbd380ad_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/bzip2-1.0.6-h92991f9_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ca-certificates-2017.08.26-ha1e5d58_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.10-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/certifi-2017.7.27.1-py36hd973bb6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cffi-1.10.0-py36h880867e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/chardet-3.0.4-py36h96c241c_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/click-6.7-py36hec950be_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/click-plugins-1.0.3-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cligj-0.4.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cloudpickle-0.4.0-py36h13b7e56_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/clyent-1.2.2-py36hae3ad88_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/colorama-0.3.9-py36hd29a30c_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/conda-4.3.34-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/conda-build-3.0.27-py36hb78d8cd_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/conda-env-2.6.0-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/conda-verify-2.0.0-py36he837df3_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/contextlib2-0.5.5-py36hd66e5e7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cryptography-2.0.3-py36h22d4226_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/curl-7.55.1-h7601780_3.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cycler-0.10.0-py36hfc81398_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cython-0.26.1-py36hd51f8eb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/cytoolz-0.8.2-py36h290905f_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/dask-0.15.3-py36hc3ad2d6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/dask-core-0.15.3-py36hc0be6b7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/datashape-0.5.4-py36hfb22df8_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/embree-2.16.0-h6834224_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/decorator-4.1.2-py36h69a1b52_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/descartes-1.1.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/distributed-1.19.1-py36h4ae75d2_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/docutils-0.14-py36hbfde631_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/entrypoints-0.2.3-py36hd81d71f_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/et_xmlfile-1.0.1-py36h1315bdc_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/expat-2.2.4-h8f26bf8_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/fastcache-1.0.2-py36h8606a76_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/filelock-2.0.12-py36h0d0b4fb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/fiona-1.7.10-py36h6a33aa8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/flask-0.12.2-py36h5658096_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/flask-cors-3.0.3-py36h7387b97_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/fontconfig-2.12.4-hffb9db1_2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freexl-1.0.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gdal-2.2.3-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geopandas-0.3.0-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geos-3.6.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/get_terminal_size-1.0.0-h7520d66_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/gettext-0.19.8.1-hb0f4f8b_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/gevent-1.2.2-py36ha70b9d6_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 -https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-h90cdba2_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ncurses-5.9-10.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ninja-1.7.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.55.0-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/glob2-0.5-py36h12393a9_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/gmp-6.1.2-h4a9834d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/gmpy2-2.0.8-py36h7ef02cb_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/greenlet-0.4.12-py36hf09ba7b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/h5py-2.7.0-py36h6400cee_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.13-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/hdf5-1.10.1-h6090a45_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/heapdict-1.0.0-py36h27a9ac6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/html5lib-0.999999999-py36h79312fd_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/icu-58.2-hea21ae5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/idna-2.6-py36h8628d0a_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/imageio-2.2.0-py36h5e01289_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/imagesize-0.7.1-py36h3495948_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/intel-openmp-2018.0.0-h68bdfb3_7.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ipykernel-4.6.1-py36h3208c25_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ipython-6.1.0-py36hf612aae_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ipython_genutils-0.2.0-py36h241746c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ipywidgets-7.0.0-py36h24d3910_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/isort-4.2.15-py36hceb2a01_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/itsdangerous-0.24-py36h49fbb8d_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jbig-2.1-h4d881f8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jdcal-1.3-py36h1986823_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jedi-0.10.2-py36h6325097_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jinja2-2.9.6-py36hde4beb4_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jpeg-9b-haccd157_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/json-c-0.12.1-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jsonschema-2.6.0-py36hb385e00_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jupyter_client-5.1.0-py36hf6c435f_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jupyter_console-5.2.0-py36hccf5b1c_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jupyter_core-4.3.0-py36h93810fe_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jupyterlab-0.27.0-py36hd3092eb_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/jupyterlab_launcher-0.4.0-py36h93e02e9_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/kealib-1.4.7-4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/lazy-object-proxy-1.3.1-py36h2fbbe47_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libcxx-4.0.1-h579ed51_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libcxxabi-4.0.1-hebd6815_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libdap4-3.18.3-2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libedit-3.1-hb4e282d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libffi-3.2.1-hd939716_3.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libgcc-4.8.5-hdbeacc1_10.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libgdal-2.2.3-2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libgfortran-3.0.1-h93005f0_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libiconv-1.15-h99df5da_5.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-5.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.4.1.1-10.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libpng-1.6.32-hce72d48_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libpq-9.6.5-hbb47d45_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libsodium-1.0.13-hba5e272_2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libspatialindex-1.8.5-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libspatialite-4.3.0a-19.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libssh2-1.8.0-h1218725_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libtiff-4.0.8-h8cd0352_9.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtool-2.4.6-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libxml2-2.9.4-hbd0960b_5.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/libxslt-1.1.29-h95a2935_5.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/llvmlite-0.20.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/locket-0.2.0-py36hca03003_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/lxml-4.1.0-py36h8179fc0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/lzo-2.10-hb6b8854_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/markupsafe-1.0-py36h3a1e703_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/matplotlib-2.1.0-py36h5068139_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mccabe-0.6.1-py36hdaeb55d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mistune-0.7.4-py36hccd6237_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mkl-2018.0.0-h5ef208c_6.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mkl-service-1.1.2-py36h7ea6df4_4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mpc-1.0.3-hc455b36_4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mpfr-3.1.5-h7fa3772_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/mpmath-0.19-py36h9185fea_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/msgpack-python-0.4.8-py36h46767b2_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/multipledispatch-0.4.9-py36hc5f92b5_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/munch-2.2.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/nbconvert-5.3.1-py36h810822e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/nbformat-4.4.0-py36h827af21_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ncurses-6.0-ha932d30_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/networkx-2.0-py36hefccab9_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/nltk-3.2.4-py36h27d1ea0_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/nose-1.3.7-py36h73fae2b_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/notebook-5.0.0-py36h462289e_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/numba-0.35.0-np113py36_6.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/numexpr-2.6.2-py36h0f4f1da_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/numpy-1.13.3-py36h2cdce51_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/numpydoc-0.7.0-py36he54d08e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/odo-0.5.1-py36hc1af34a_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/olefile-0.44-py36ha08bf50_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.3.0-2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/openpyxl-2.4.8-py36he899640_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/openssl-1.0.2l-h57f3a61_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/packaging-16.8-py36he5e8135_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pandas-0.20.3-py36hd6655d8_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pandoc-1.19.2.1-ha5e8f32_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pandocfilters-1.4.2-py36h3b0b094_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/parquet-cpp-1.4.0.pre-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/partd-0.3.8-py36hf5c4cb8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/path.py-10.3.1-py36hd33c240_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pathlib2-2.3.0-py36h877a6d8_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/patsy-0.4.1-py36ha1b3fa5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pcre-8.41-h29eefc5_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pep8-1.7.0-py36hc268eb1_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pexpect-4.2.1-py36h3eac828_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pickleshare-0.7.4-py36hf512f8e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pillow-4.2.1-py36h0263179_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pip-9.0.1-py36hbd95645_3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pkginfo-1.4.1-py36h25bf955_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/plio-0.1.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ply-3.10-py36h10e714e_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/poppler-0.61.1-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/poppler-data-0.4.8-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.2.0-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 -https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/prompt_toolkit-1.0.15-py36haeda067_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.5.1-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/psutil-5.4.0-py36ha052210_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/psycopg2-2.7.3.2-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ptyprocess-0.5.2-py36he6521c3_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pvl-0.3.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/py-1.4.34-py36hecf431b_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pyarrow-0.8.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pycodestyle-2.3.1-py36h83e8646_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pycosat-0.6.2-py36h1486600_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pycparser-2.18-py36h724b2fc_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pycrypto-2.6.1-py36h72f2894_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pycurl-7.43.0-py36hdb90038_3.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyflakes-1.6.0-py36hea45e83_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pygments-2.2.0-py36h240cd3f_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pylint-1.7.4-py36hdee9077_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyodbc-4.0.17-py36h5478161_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyopenssl-17.2.0-py36h5d7bf08_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyparsing-2.2.0-py36hb281f35_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pyproj-1.9.5.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pysal-1.14.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pysocks-1.6.7-py36hfa33cec_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pytables-3.4.2-py36hfbd7ab0_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pytest-3.2.1-py36h9963153_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/python-3.6.3-h6804ab2_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/python-dateutil-2.6.1-py36h86d2abb_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/python.app-2-py36h7fe2238_6.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pytz-2017.2-py36h2e7dfbc_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pywavelets-0.5.2-py36h2710a04_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyyaml-3.12-py36h2ba1e63_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/pyzmq-16.0.2-py36h087ffad_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/qtawesome-0.4.4-py36h468c6fb_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/qtpy-1.3.1-py36h16bb863_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/readline-7.0-h81b24a6_3.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/requests-2.18.4-py36h4516966_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/rope-0.10.5-py36h5764ad1_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/rtree-0.8.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/ruamel_yaml-0.11.14-py36h9d7ade0_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/scikit-image-0.13.0-py36h398857d_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/scikit-learn-0.19.1-py36hffbff8c_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/scipy-0.19.1-py36h3e758e1_3.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/seaborn-0.8.0-py36h74df97e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/setuptools-36.5.0-py36h2134326_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/shapely-1.6.3-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/simplegeneric-0.8.1-py36he5b5b09_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/singledispatch-3.4.0.3-py36hf20db9d_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sip-4.18.1-py36h2824476_2.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/six-1.11.0-py36h0e22d5e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/snowballstemmer-1.2.1-py36h6c7b616_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sortedcollections-0.5.3-py36he9c3ed6_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sortedcontainers-1.5.7-py36ha982688_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sphinx-1.6.3-py36hcd1b3e7_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sphinxcontrib-1.0-py36h9364dc8_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sphinxcontrib-websupport-1.0.1-py36h92f4a7a_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sqlalchemy-1.1.13-py36h156b851_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sqlite-3.20.1-h900c3b0_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/statsmodels-0.8.0-py36h9c68fc9_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/sympy-1.1.1-py36h7f3cf04_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/tblib-1.3.2-py36hda67792_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/terminado-0.6-py36h656782e_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/testpath-0.3.1-py36h625a49b_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/tk-8.6.7-hcdce994_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/toolz-0.8.2-py36h7b95164_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/tornado-4.5.2-py36h468dda9_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/traitlets-4.3.2-py36h65bd3ce_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/typing-3.6.2-py36haa2d9ef_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/unicodecsv-0.14.1-py36he531d66_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/unixodbc-2.3.4-h4cb4dde_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/urllib3-1.22-py36h68b9469_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/wcwidth-0.1.7-py36h8c6ec74_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/webencodings-0.5.1-py36h3b9701d_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/werkzeug-0.12.2-py36h168efa1_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/wheel-0.29.0-py36h3597b6d_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/widgetsnbextension-3.0.2-py36h91f43ea_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/wrapt-1.10.11-py36hc29e774_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.0-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/xlrd-1.1.0-py36h336f4a2_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/xlsxwriter-1.0.2-py36h3736301_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/xlwings-0.11.4-py36hc75f156_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/xlwt-1.2.0-py36h5ad1178_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/xz-5.2.3-ha24016e_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/yaml-0.1.7-hff548bb_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/zeromq-4.2.2-h131e0f7_1.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/zict-0.1.3-py36h71da714_0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/zlib-1.2.11-h60db283_1.tar.bz2 -- GitLab From 0f39d9e7968fd19f21dec4fd06e4aaf9699672b5 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 14 Mar 2018 17:02:33 -0700 Subject: [PATCH 0129/1212] PROG: Fixed some documentation which still had references to IpceTool. References #5090. --- isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp | 8 ++++---- isis/src/qisis/objs/ControlNetTool/ControlNetTool.h | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp index 6228df16ed..6877d75fb0 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp @@ -35,9 +35,9 @@ using namespace std; namespace Isis { /** - * Ipce (Qnet) tool - Handles mouse button actions and drawing control points on viewports + * ControlNet (Qnet) tool - Handles mouse button actions and drawing control points on viewports * - * @param parent Pointer to the parent widget for the Ipce tool + * @param parent Pointer to the parent widget for the ControlNet tool * * @author 2016-09-01 Tracie Sucharski * @@ -56,10 +56,10 @@ namespace Isis { /** - * Adds the Ipce tool action to the tool pad. + * Adds the ControlNet tool action to the tool pad. * * @param pad Tool pad - * @return @b QAction* Pointer to Tie tool action + * @return @b QAction* Pointer to ControlNet tool action * * @internal * @history 2017-07-25 Tyler Wilson - Set the diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h index 1bc0ab089b..00b8f82b8e 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h @@ -29,8 +29,8 @@ namespace Isis { class UniversalGroundMap; /** - * @brief ControlNetTool operations ipce, handles mouse events on views for control point editing - * for the ipce app. + * @brief ControlNetTool Handles mouse events on CubeDnViews for control point editing for the + * ipce app. * * @ingroup Visualization Tools * @@ -52,6 +52,8 @@ namespace Isis { * @history 2017-08-08 Cole Neubauer - Renamed from IpceTool. Fixes #5090. * @history 2017-08-09 Cole Neubauer - Added loadNetwork() for changing inbetween active * networks Fixes #4567 + * @history 2018-03-12 Tracie Sucharski - Fixed some documentation leftover from renaming from + * IpceTool. References #5090. */ class ControlNetTool : public Tool { Q_OBJECT -- GitLab From 89839f6ca47d88451a4946c1e179efac833cda91 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 14 Mar 2018 17:03:27 -0700 Subject: [PATCH 0130/1212] PROG: Added documentation. --- isis/src/qisis/objs/Directory/SetActiveControlWorkOrder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/isis/src/qisis/objs/Directory/SetActiveControlWorkOrder.cpp b/isis/src/qisis/objs/Directory/SetActiveControlWorkOrder.cpp index a797cea008..e8885bf84e 100644 --- a/isis/src/qisis/objs/Directory/SetActiveControlWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/SetActiveControlWorkOrder.cpp @@ -80,6 +80,7 @@ namespace Isis { */ bool SetActiveControlWorkOrder::isExecutable(ControlList *controls) { + // Return false if more than 1 control was selected or if selected is already active if (controls) { if (controls->size() != 1 || project()->activeControl() == controls->at(0)) { return false; -- GitLab From c81e8b346ea2916c67e8a49c87d0dfb16b4591b4 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 14 Mar 2018 17:07:32 -0700 Subject: [PATCH 0131/1212] PROG: Changed MosaicControlNetTool to ControlNetTool in addCubeDnView. References #5026. --- isis/src/qisis/objs/Directory/Directory.cpp | 5 +++-- isis/src/qisis/objs/Directory/Directory.h | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index c7a2dafc82..d7f824fed5 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -51,6 +51,7 @@ #include "ControlDisplayProperties.h" #include "ControlList.h" #include "ControlNet.h" +#include "ControlNetTool.h" #include "ControlPointEditView.h" #include "ControlPointEditWidget.h" #include "CubeDnView.h" @@ -738,13 +739,13 @@ namespace Isis { if (!project()->activeControl()) { QList toolbar = result->toolPadActions(); QAction* cnetAction = toolbar[0]; - MosaicControlNetTool *cnetButton = static_cast(cnetAction->parent()); + ControlNetTool *cnetTool = static_cast(cnetAction->parent()); cnetAction->setEnabled(false); connect (project(), SIGNAL(activeControlSet(bool)), cnetAction, SLOT(setEnabled(bool))); connect (project(), SIGNAL(activeControlSet(bool)), - cnetButton, SLOT(loadNetwork())); + cnetTool, SLOT(loadNetwork())); } return result; diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 4f10a760e3..a41748d54d 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -206,6 +206,8 @@ namespace Isis { * projects. Fixes #5216. * @history 2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and * TemplateEditViewWorkOrder. Fixes #5168. + * @history 2018-03-14 Tracie Sucharski - Changed MosaicControlNetTool to ControlNetTool in + * addCubeDnView. References #5026. */ class Directory : public QObject { Q_OBJECT -- GitLab From dce81f0662a19088c304938fd5b32a6777bc0a46 Mon Sep 17 00:00:00 2001 From: Summer Stapleton Date: Wed, 14 Mar 2018 19:45:35 -0700 Subject: [PATCH 0132/1212] Added documentation for Spatial Plot Tool. Fixes #5281 --- isis/src/qisis/apps/qview/qview.xml | 102 +++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/apps/qview/qview.xml b/isis/src/qisis/apps/qview/qview.xml index 535a410b75..e4341d96f5 100644 --- a/isis/src/qisis/apps/qview/qview.xml +++ b/isis/src/qisis/apps/qview/qview.xml @@ -6,7 +6,104 @@ - This program will display cubes and allow for interactive analysis. +

+ This program will display cubes and allow for interactive analysis. It involves the + implementation of a number of individual tools. + + +

+

Spatial Plot Tool

+

+ This tool is used for analyzing pixel DN values for a manual selection made. It works with two + different modes: linear and rotated rectangle. It is also capable of handling three different + modes of interpolation: Nearest Neighbor, BiLinear and Cubic Convolution. +

+

Linear

+

+ This is the simpler of the two modes for the Spatial Plot Tool. It invloves the drawing of a + line across an opened cube. The selection is started by clicking and holding the mouse where + you would like to start your calculations, at which point you may drag the mouse in any + direction and release the click to extablish the end of your selection. +

+

+ The tool calculates the length of the line in pixels, rounding to the nearest full pixel + value. It then divides the actual length of the line by this rounded length to achieve a + step-size. Please note: this step size may be slightly bigger or smaller + than a pixel length, but this difference becomes neglibible for larger selections. For + example, if the length of the drawn line was 6.36 pixels, the tool would round the length to + 6 and the step-size would be 6.36/6 (or 1.06). +

+

+ A plot window will be generated with the calculated DN values of the pixels. The first value + to be calculated would be the value where the original mouse click was made. The tool then + calculates the value along the line at each step-sized increment until it reaches where the + mouse-click was released. This means that for a rounded length of 6, the plot would show a + total of 7 plotted DN values. +

+ + +

+ The images above include an example of the line as drawn in the cube view as well as the + associated plot window. Marking has been added to dilineate where mouse clicks were made and + the DN values were calculated. The mouse was first clicked at dileneation marked "1" on the + cube, and was released at "4". The number from the cube view correlates with the "Pixel + Number" on the plot. + +

+

Rotated Rectangle

+

+ The more complex of the two modes for the Spatial Plot Tool, this mode involves drawing a + rectangle across an opened cube. The selection is started by clicking and holding the mouse + where you would like to start your calculations, at which point you may drag the mouse in any + direction and release the click to extablish one edge of your selection. You may then + drag the mouse away from this original line to expand in the other direction. A single mouse + click establishes your final selection. Please note: the tool will lock + angles to be perpendicular and so your selections will always be a perfect rectangle. +

+ +

+ Similar to the linear mode of this tool, the lengths of the lines in pixels are rounded to the + nearest full pixel value, and then the lengths are divided by this rounded length to establish + a step-size. (Please refer to the Linear section for an example.) Please note: + the step-size along one edge of the selection may not be the same as the step-size of the + perpendicular edge. This becomes neglibile for larger selections. +

+

+ A plot window will be generated with the calculated DN values. This is done by calculating the + value where the original mouse click was made, then continuing in the direction of that + first-drawn line, calculating the DN value at each step-sized increment until it reaches where + the original mouse-click was released. The tool will then calculate the average of these + values. This average becomes the first value in the plot. +

+

+ The tool will then shift a step-size along the perpendicular edge, and calculate the average DN + value along a line running parallel to the first-drawn line. This average becomes the second + value in the plot. The tool continues this pattern until it has reached the opposite edge of + the rectangle as the first-drawn line. +

+

+ The following example illustrates this process. +

+ + + +

+ The image to the left is the original selection as seen in the cube view, and the image + in the middle is the same view that has been marked for reference purposes. Finally, the image + to the right is the associated plot window. The original mouse click was made at delineation + "1" within the cube view, the original mouse release was made at "5", and the final + mouse click was made at "25". The Spatial Plot Tool calculates the average of the DN values at + dilineations 1-5, and this value is stored as "Pixel Value" 1 in the plot window, while the + averages of 6-10 are stored in 2, 7-15 are stored in 3, 16-20 are stored in 4, and finally + 21-25 are stored in 5. +

+

Interpolations

+

+ Spatial Plot Tool makes use of Nearest Nighbor, BiLinear and Cubic Convolution interpolations + when calculating the DN values at particular points. Do be aware that when the tool is + calculating a DN value at a particular point, it is calculating the interpolated DN value at + that point. This may lead to confusion without a proper understanding of interpolations. +

@@ -164,5 +261,8 @@ Readded help menu for the 2D and 3D plot tools. Now properly display in both tools. Fixes #2126. + + Included documentation for Spatial Plot Tool. Fixes #5281. + -- GitLab From b191f9e556ae67ab2acb4436e86abbd32ffbcd68 Mon Sep 17 00:00:00 2001 From: oxez Date: Thu, 15 Mar 2018 11:31:57 -0700 Subject: [PATCH 0133/1212] Redid system argument calls with argparser --- isis/scripts/makeOutput.py | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 2ad25a8093..214ae9e87b 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -15,6 +15,7 @@ named object.truth where object is the ISIS object being tested. The app tests output has to rely on the old make system because the app test do ''' +import argparse import sys import os @@ -25,33 +26,33 @@ if not os.environ['ISISROOT']: builddir = os.environ['ISISROOT'] -if "_unit_" in sys.argv[1]: - unitTestExecutable = sys.argv[1] +parser = argparse.ArgumentParser() +parser.add_argument('testFullName', action='store', help='Provide the name of the Test to create output of') +parser.add_argument('-t', action='store_true', default=False, help='Flag whether output is sent to truth data') - unitTestName = unitTestExecutable.split("_test_")[1] + ".truth" +if "_unit_" in parser.testFullName: + + unitTestName = parser.testFullName.split("_test_")[1] + ".truth" # we should probably append the path to the front so it ends up in # in the same directory as the test - unitTestPath = unitTestExecutable.split("/") - del unitTestPath[-1] - unitTestPath = "/".join(unitTestPath) + unitTestPath = builddir + "/unitTest/" - os.system(unitTestExecutable + ">&" + unitTestPath + "/" + unitTestName) - print("Unit Test Output In " + unitTestPath + " As " + unitTestName) + os.system(unitTestPath + unitTestExecutable + ">&" + unitTestPath + "/output/" + unitTestName) + print("Unit Test Output In " + unitTestPath + "/output/ As " + unitTestName) - if len(sys.argv) == 3: - if sys.argv[2] == "truth": - with open(builddir + "/objects/CTestTestfile.cmake") as testFile: - for line in testFile: - if unitTestName in line: - unitTestSrcPath = line.split("\" \"")[2][13:] - os.system("cp -f " + unitTestPath + "/" + unitTestName + " " + unitTestSrcPath) - break + if parser.parse_args(['-t']): + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: + for line in testFile: + if unitTestName in line: + unitTestSrcPath = line.split("\" \"")[2][13:] + os.system("cp -f " + unitTestPath + "/output/" + unitTestName + " " + unitTestSrcPath) + break - print("Checked In Truth Data To " + unitTestSrcPath) + print("Checked In Truth Data To " + unitTestSrcPath) else: - apptest = sys.argv[1] + apptest = parser.testFullName makefilePath = "" with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: @@ -73,10 +74,9 @@ else: print("App Test Output In " + builddir + "/testOutputDir/truth") # check if the user wants data checked in - if len(sys.argv) == 3: - if sys.argv[2] == "truth": - os.system("make checkin") - print("Checked In Truth Data") + if parser.parse_args(['-t']): + os.system("make checkin") + print("Checked In Truth Data") # doing this instead of make release because make release # can give feedback to the user that we would rather avoid -- GitLab From 95627fc979ccd7f97c8587bbd8101b60e9fec03a Mon Sep 17 00:00:00 2001 From: oxez Date: Thu, 15 Mar 2018 11:37:00 -0700 Subject: [PATCH 0134/1212] Redid system argument calls with argparser --- isis/scripts/makeOutput.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 214ae9e87b..e30eba0c0a 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -31,21 +31,20 @@ parser.add_argument('testFullName', action='store', help='Provide the name of th parser.add_argument('-t', action='store_true', default=False, help='Flag whether output is sent to truth data') if "_unit_" in parser.testFullName: - unitTestName = parser.testFullName.split("_test_")[1] + ".truth" # we should probably append the path to the front so it ends up in # in the same directory as the test unitTestPath = builddir + "/unitTest/" os.system(unitTestPath + unitTestExecutable + ">&" + unitTestPath + "/output/" + unitTestName) - print("Unit Test Output In " + unitTestPath + "/output/ As " + unitTestName) + print("Unit Test Output In " + builddir + "/testOutputDir/ As " + unitTestName) if parser.parse_args(['-t']): with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: if unitTestName in line: unitTestSrcPath = line.split("\" \"")[2][13:] - os.system("cp -f " + unitTestPath + "/output/" + unitTestName + " " + unitTestSrcPath) + os.system("cp -f " + unitTestPath + "/testOutputDir/" + unitTestName + " " + unitTestSrcPath) break print("Checked In Truth Data To " + unitTestSrcPath) -- GitLab From 47add9c31d30ad1fd7603b409c1d8384fab5e95e Mon Sep 17 00:00:00 2001 From: oxez Date: Thu, 15 Mar 2018 11:43:16 -0700 Subject: [PATCH 0135/1212] Redid system argument calls with argparser --- isis/scripts/makeOutput.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index e30eba0c0a..36c71cfebc 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -29,9 +29,9 @@ builddir = os.environ['ISISROOT'] parser = argparse.ArgumentParser() parser.add_argument('testFullName', action='store', help='Provide the name of the Test to create output of') parser.add_argument('-t', action='store_true', default=False, help='Flag whether output is sent to truth data') - -if "_unit_" in parser.testFullName: - unitTestName = parser.testFullName.split("_test_")[1] + ".truth" +testInput = parser.parse_args(['test']) +if "_unit_" in testInput: + unitTestName = testInput.split("_test_")[1] + ".truth" # we should probably append the path to the front so it ends up in # in the same directory as the test unitTestPath = builddir + "/unitTest/" @@ -51,7 +51,7 @@ if "_unit_" in parser.testFullName: else: - apptest = parser.testFullName + apptest = testInput makefilePath = "" with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: -- GitLab From 277b8f594c860fa65769d80af1eaee9dbfd691c2 Mon Sep 17 00:00:00 2001 From: oxez Date: Thu, 15 Mar 2018 11:48:37 -0700 Subject: [PATCH 0136/1212] Redid system argument calls with argparser --- isis/scripts/makeOutput.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 36c71cfebc..b27e58c710 100644 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -29,7 +29,7 @@ builddir = os.environ['ISISROOT'] parser = argparse.ArgumentParser() parser.add_argument('testFullName', action='store', help='Provide the name of the Test to create output of') parser.add_argument('-t', action='store_true', default=False, help='Flag whether output is sent to truth data') -testInput = parser.parse_args(['test']) +testInput = parser.parse_args(['test']).test if "_unit_" in testInput: unitTestName = testInput.split("_test_")[1] + ".truth" # we should probably append the path to the front so it ends up in -- GitLab From 2adbb271d12a504c5f30055a99876430b5fd1b44 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Thu, 15 Mar 2018 12:15:40 -0700 Subject: [PATCH 0137/1212] unit test with arg parser working --- isis/scripts/makeOutput.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) mode change 100644 => 100755 isis/scripts/makeOutput.py diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py old mode 100644 new mode 100755 index b27e58c710..55846a2a82 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -27,24 +27,26 @@ if not os.environ['ISISROOT']: builddir = os.environ['ISISROOT'] parser = argparse.ArgumentParser() -parser.add_argument('testFullName', action='store', help='Provide the name of the Test to create output of') -parser.add_argument('-t', action='store_true', default=False, help='Flag whether output is sent to truth data') -testInput = parser.parse_args(['test']).test +parser.add_argument('test', action='store', help='Provide the name of the Test to create output of') +parser.add_argument('-t', action='store_true', default=False, dest='truth', help='Flag whether output is sent to truth data') +userInput = parser.parse_args() +testInput = userInput.test + if "_unit_" in testInput: unitTestName = testInput.split("_test_")[1] + ".truth" # we should probably append the path to the front so it ends up in # in the same directory as the test unitTestPath = builddir + "/unitTest/" - os.system(unitTestPath + unitTestExecutable + ">&" + unitTestPath + "/output/" + unitTestName) + os.system(unitTestPath + testInput + ">&" + builddir + "/testOutputDir/" + unitTestName) print("Unit Test Output In " + builddir + "/testOutputDir/ As " + unitTestName) - if parser.parse_args(['-t']): + if userInput.truth: with open(builddir + "/objects/CTestTestfile.cmake") as testFile: for line in testFile: if unitTestName in line: unitTestSrcPath = line.split("\" \"")[2][13:] - os.system("cp -f " + unitTestPath + "/testOutputDir/" + unitTestName + " " + unitTestSrcPath) + os.system("cp -f " + builddir + "/testOutputDir/" + unitTestName + " " + unitTestSrcPath) break print("Checked In Truth Data To " + unitTestSrcPath) -- GitLab From f81ddb27343050a0877a3a723efb204de48cee91 Mon Sep 17 00:00:00 2001 From: oxez Date: Thu, 15 Mar 2018 12:18:48 -0700 Subject: [PATCH 0138/1212] Argparser app test --- isis/scripts/makeOutput.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py index 55846a2a82..7686064d69 100755 --- a/isis/scripts/makeOutput.py +++ b/isis/scripts/makeOutput.py @@ -71,11 +71,11 @@ else: os.system("make output") os.system("make truthdata") os.system("rm -rf " + builddir + "/testOutputDir/truth") - os.system("cp -r truth " + builddir + "/testOutputDir") + os.system("cp -rf truth " + builddir + "/testOutputDir") print("App Test Output In " + builddir + "/testOutputDir/truth") # check if the user wants data checked in - if parser.parse_args(['-t']): + if userInput.truth: os.system("make checkin") print("Checked In Truth Data") -- GitLab From e0a5ba9bf4fd36123ab1b50390d36918c0a60bbd Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 16 Mar 2018 09:57:12 -0700 Subject: [PATCH 0139/1212] updated mac spec --- macos-spec.txt | 349 ++++++++++++------------------------------------- 1 file changed, 86 insertions(+), 263 deletions(-) diff --git a/macos-spec.txt b/macos-spec.txt index 6c73a36e31..f1bc190869 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,273 +2,96 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT -https://repo.continuum.io/pkgs/main/osx-64/_ipyw_jlab_nb_ext_conf-0.1.0-py36h2fc01ae_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/affine-2.1.0-py_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/alabaster-0.7.10-py36h174008c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/anaconda-custom-py36ha4fed55_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/anaconda-client-1.6.5-py36h04cfe59_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/anaconda-project-0.8.0-py36h99320b2_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/appnope-0.1.0-py36hf537a9a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/appscript-1.0.1-py36h9e71e49_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/arrow-cpp-0.8.0-py36_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/asn1crypto-0.22.0-py36hb705621_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/astroid-1.5.3-py36h1333018_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/astropy-2.0.2-py36hf79c81d_4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/babel-2.5.0-py36h9f161ff_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/backports-1.0-py36ha3c1827_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/backports.shutil_get_terminal_size-1.0.0-py36hd7a2ee4_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/beautifulsoup4-4.6.0-py36h72d3c9f_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bitarray-0.8.1-py36h20fa61d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bkcharts-0.2-py36h073222e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/blaze-0.11.3-py36h02e7a37_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bleach-2.0.0-py36h8fcea71_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bokeh-0.12.10-py36hfd5be35_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/boto-2.48.0-py36hdbc59ac_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bottleneck-1.2.1-py36hbd380ad_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/bzip2-1.0.6-h92991f9_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ca-certificates-2017.08.26-ha1e5d58_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.10-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/certifi-2017.7.27.1-py36hd973bb6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cffi-1.10.0-py36h880867e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/chardet-3.0.4-py36h96c241c_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/click-6.7-py36hec950be_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/click-plugins-1.0.3-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cligj-0.4.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cloudpickle-0.4.0-py36h13b7e56_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/clyent-1.2.2-py36hae3ad88_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/colorama-0.3.9-py36hd29a30c_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/conda-4.3.34-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/conda-build-3.0.27-py36hb78d8cd_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/conda-env-2.6.0-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/conda-verify-2.0.0-py36he837df3_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/contextlib2-0.5.5-py36hd66e5e7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cryptography-2.0.3-py36h22d4226_1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/bullet-2.86.1-he2aa7b0_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cmake-3.9.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/curl-7.55.1-h7601780_3.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cycler-0.10.0-py36hfc81398_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cython-0.26.1-py36hd51f8eb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/cytoolz-0.8.2-py36h290905f_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/dask-0.15.3-py36hc3ad2d6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/dask-core-0.15.3-py36hc0be6b7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/datashape-0.5.4-py36hfb22df8_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/decorator-4.1.2-py36h69a1b52_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/descartes-1.1.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/distributed-1.19.1-py36h4ae75d2_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/docutils-0.14-py36hbfde631_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/entrypoints-0.2.3-py36hd81d71f_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/et_xmlfile-1.0.1-py36h1315bdc_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/expat-2.2.4-h8f26bf8_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/fastcache-1.0.2-py36h8606a76_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/filelock-2.0.12-py36h0d0b4fb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/fiona-1.7.10-py36h6a33aa8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/flask-0.12.2-py36h5658096_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/flask-cors-3.0.3-py36h7387b97_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/fontconfig-2.12.4-hffb9db1_2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.8.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freexl-1.0.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gdal-2.2.3-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geopandas-0.3.0-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geos-3.6.2-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/embree-2.16.0-h6834224_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/get_terminal_size-1.0.0-h7520d66_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/gettext-0.19.8.1-hb0f4f8b_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/gevent-1.2.2-py36ha70b9d6_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.55.0-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/glob2-0.5-py36h12393a9_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/gmp-6.1.2-h4a9834d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/gmpy2-2.0.8-py36h7ef02cb_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/greenlet-0.4.12-py36hf09ba7b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/h5py-2.7.0-py36h6400cee_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.13-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/hdf5-1.10.1-h6090a45_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/heapdict-1.0.0-py36h27a9ac6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/html5lib-0.999999999-py36h79312fd_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/icu-58.2-hea21ae5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/idna-2.6-py36h8628d0a_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/imageio-2.2.0-py36h5e01289_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/imagesize-0.7.1-py36h3495948_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/intel-openmp-2018.0.0-h68bdfb3_7.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ipykernel-4.6.1-py36h3208c25_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ipython-6.1.0-py36hf612aae_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ipython_genutils-0.2.0-py36h241746c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ipywidgets-7.0.0-py36h24d3910_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/isort-4.2.15-py36hceb2a01_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/itsdangerous-0.24-py36h49fbb8d_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jbig-2.1-h4d881f8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jdcal-1.3-py36h1986823_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jedi-0.10.2-py36h6325097_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jinja2-2.9.6-py36hde4beb4_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jpeg-9b-haccd157_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/json-c-0.12.1-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jsonschema-2.6.0-py36hb385e00_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jupyter_client-5.1.0-py36hf6c435f_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jupyter_console-5.2.0-py36hccf5b1c_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jupyter_core-4.3.0-py36h93810fe_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jupyterlab-0.27.0-py36hd3092eb_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/jupyterlab_launcher-0.4.0-py36h93e02e9_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/kealib-1.4.7-4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/lazy-object-proxy-1.3.1-py36h2fbbe47_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libcxx-4.0.1-h579ed51_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libcxxabi-4.0.1-hebd6815_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libdap4-3.18.3-2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libedit-3.1-hb4e282d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libffi-3.2.1-hd939716_3.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libgcc-4.8.5-hdbeacc1_10.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libgdal-2.2.3-2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libgfortran-3.0.1-h93005f0_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libiconv-1.15-h99df5da_5.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-5.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.4.1.1-10.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libpng-1.6.32-hce72d48_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libpq-9.6.5-hbb47d45_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libsodium-1.0.13-hba5e272_2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libspatialindex-1.8.5-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libspatialite-4.3.0a-19.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libssh2-1.8.0-h1218725_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libtiff-4.0.8-h8cd0352_9.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtool-2.4.6-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libxml2-2.9.4-hbd0960b_5.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/libxslt-1.1.29-h95a2935_5.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/llvmlite-0.20.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/locket-0.2.0-py36hca03003_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/lxml-4.1.0-py36h8179fc0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/lzo-2.10-hb6b8854_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/markupsafe-1.0-py36h3a1e703_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/matplotlib-2.1.0-py36h5068139_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mccabe-0.6.1-py36hdaeb55d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mistune-0.7.4-py36hccd6237_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mkl-2018.0.0-h5ef208c_6.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mkl-service-1.1.2-py36h7ea6df4_4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mpc-1.0.3-hc455b36_4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mpfr-3.1.5-h7fa3772_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/mpmath-0.19-py36h9185fea_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/msgpack-python-0.4.8-py36h46767b2_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/multipledispatch-0.4.9-py36hc5f92b5_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/munch-2.2.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/nbconvert-5.3.1-py36h810822e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/nbformat-4.4.0-py36h827af21_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ncurses-6.0-ha932d30_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/networkx-2.0-py36hefccab9_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/nltk-3.2.4-py36h27d1ea0_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/nose-1.3.7-py36h73fae2b_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/notebook-5.0.0-py36h462289e_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/numba-0.35.0-np113py36_6.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/numexpr-2.6.2-py36h0f4f1da_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/numpy-1.13.3-py36h2cdce51_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/numpydoc-0.7.0-py36he54d08e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/odo-0.5.1-py36hc1af34a_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/olefile-0.44-py36ha08bf50_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.3.0-2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/openpyxl-2.4.8-py36he899640_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/openssl-1.0.2l-h57f3a61_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/packaging-16.8-py36he5e8135_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pandas-0.20.3-py36hd6655d8_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pandoc-1.19.2.1-ha5e8f32_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pandocfilters-1.4.2-py36h3b0b094_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/parquet-cpp-1.4.0.pre-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/partd-0.3.8-py36hf5c4cb8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/path.py-10.3.1-py36hd33c240_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pathlib2-2.3.0-py36h877a6d8_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/patsy-0.4.1-py36ha1b3fa5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pcre-8.41-h29eefc5_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pep8-1.7.0-py36hc268eb1_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pexpect-4.2.1-py36h3eac828_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pickleshare-0.7.4-py36hf512f8e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pillow-4.2.1-py36h0263179_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pip-9.0.1-py36hbd95645_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 +https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-h90cdba2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pkginfo-1.4.1-py36h25bf955_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/plio-0.1.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ply-3.10-py36h10e714e_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/poppler-0.61.1-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/poppler-data-0.4.8-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/prompt_toolkit-1.0.15-py36haeda067_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.5.1-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/psutil-5.4.0-py36ha052210_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/psycopg2-2.7.3.2-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ptyprocess-0.5.2-py36he6521c3_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pvl-0.3.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/py-1.4.34-py36hecf431b_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pyarrow-0.8.0-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pycodestyle-2.3.1-py36h83e8646_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pycosat-0.6.2-py36h1486600_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pycparser-2.18-py36h724b2fc_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pycrypto-2.6.1-py36h72f2894_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pycurl-7.43.0-py36hdb90038_3.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyflakes-1.6.0-py36hea45e83_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pygments-2.2.0-py36h240cd3f_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pylint-1.7.4-py36hdee9077_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyodbc-4.0.17-py36h5478161_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyopenssl-17.2.0-py36h5d7bf08_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyparsing-2.2.0-py36hb281f35_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pyproj-1.9.5.1-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pysal-1.14.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pysocks-1.6.7-py36hfa33cec_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pytables-3.4.2-py36hfbd7ab0_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pytest-3.2.1-py36h9963153_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/python-3.6.3-h6804ab2_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/python-dateutil-2.6.1-py36h86d2abb_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/python.app-2-py36h7fe2238_6.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pytz-2017.2-py36h2e7dfbc_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pywavelets-0.5.2-py36h2710a04_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyyaml-3.12-py36h2ba1e63_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/pyzmq-16.0.2-py36h087ffad_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/qtawesome-0.4.4-py36h468c6fb_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/qtpy-1.3.1-py36h16bb863_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/readline-7.0-h81b24a6_3.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/requests-2.18.4-py36h4516966_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/rope-0.10.5-py36h5764ad1_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/rtree-0.8.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/ruamel_yaml-0.11.14-py36h9d7ade0_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/scikit-image-0.13.0-py36h398857d_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/scikit-learn-0.19.1-py36hffbff8c_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/scipy-0.19.1-py36h3e758e1_3.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/seaborn-0.8.0-py36h74df97e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/setuptools-36.5.0-py36h2134326_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/shapely-1.6.3-py36_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/simplegeneric-0.8.1-py36he5b5b09_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/singledispatch-3.4.0.3-py36hf20db9d_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sip-4.18.1-py36h2824476_2.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/six-1.11.0-py36h0e22d5e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/snowballstemmer-1.2.1-py36h6c7b616_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sortedcollections-0.5.3-py36he9c3ed6_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sortedcontainers-1.5.7-py36ha982688_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sphinx-1.6.3-py36hcd1b3e7_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sphinxcontrib-1.0-py36h9364dc8_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sphinxcontrib-websupport-1.0.1-py36h92f4a7a_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sqlalchemy-1.1.13-py36h156b851_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sqlite-3.20.1-h900c3b0_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/statsmodels-0.8.0-py36h9c68fc9_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/sympy-1.1.1-py36h7f3cf04_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/tblib-1.3.2-py36hda67792_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/terminado-0.6-py36h656782e_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/testpath-0.3.1-py36h625a49b_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/tk-8.6.7-hcdce994_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/toolz-0.8.2-py36h7b95164_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/tornado-4.5.2-py36h468dda9_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/traitlets-4.3.2-py36h65bd3ce_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/typing-3.6.2-py36haa2d9ef_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/unicodecsv-0.14.1-py36he531d66_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/unixodbc-2.3.4-h4cb4dde_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/urllib3-1.22-py36h68b9469_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/wcwidth-0.1.7-py36h8c6ec74_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/webencodings-0.5.1-py36h3b9701d_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/werkzeug-0.12.2-py36h168efa1_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/wheel-0.29.0-py36h3597b6d_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/widgetsnbextension-3.0.2-py36h91f43ea_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/wrapt-1.10.11-py36hc29e774_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.0-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/xlrd-1.1.0-py36h336f4a2_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/xlsxwriter-1.0.2-py36h3736301_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/xlwings-0.11.4-py36hc75f156_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/xlwt-1.2.0-py36h5ad1178_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/xz-5.2.3-ha24016e_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/yaml-0.1.7-hff548bb_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/zeromq-4.2.2-h131e0f7_1.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/zict-0.1.3-py36h71da714_0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/zlib-1.2.11-h60db283_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.2.0-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 +https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-0.tar.bz2 -- GitLab From 4bf585cd3e7209a4173c4ac1cf19fa40cb83ba2d Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 16 Mar 2018 10:08:01 -0700 Subject: [PATCH 0140/1212] updated reqs --- macos-spec.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/macos-spec.txt b/macos-spec.txt index f1bc190869..774446eb91 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -51,7 +51,6 @@ https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-h90cdba2_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ncurses-5.9-10.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ninja-1.7.2-0.tar.bz2 -- GitLab From 2117e04faf9e33552b0327291567cd8a0c07be0d Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 16 Mar 2018 12:56:19 -0700 Subject: [PATCH 0141/1212] PROG: Use the new method BundleSolutionInfo::outputControlNetFileName() to create the project item under the bundle results node on the project tree. --- isis/src/qisis/objs/ProjectItem/ProjectItem.cpp | 2 +- isis/src/qisis/objs/ProjectItem/ProjectItem.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp b/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp index 50df8540ee..e0976eb43b 100644 --- a/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp +++ b/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp @@ -142,7 +142,7 @@ namespace Isis { setBundleSolutionInfo(bundleSolutionInfo); appendRow( new ProjectItem( bundleSolutionInfo->bundleSettings() ) ); - QString cNetFileName = bundleSolutionInfo->controlNetworkFileName(); + QString cNetFileName = bundleSolutionInfo->outputControlNetFileName(); Control *control = new Control(cNetFileName); appendRow( new ProjectItem(control) ); diff --git a/isis/src/qisis/objs/ProjectItem/ProjectItem.h b/isis/src/qisis/objs/ProjectItem/ProjectItem.h index fab1135a81..4f310b83bc 100644 --- a/isis/src/qisis/objs/ProjectItem/ProjectItem.h +++ b/isis/src/qisis/objs/ProjectItem/ProjectItem.h @@ -136,7 +136,10 @@ namespace Isis { * taking a BundleSolutionInfo. Fixes #4849. * @history 2017-11-03 Christopher Combs - Added support for new Template and TemplateList * classes. Fixes #5117. - * + * @history 2018-03-14 Ken Edmundson - Use the new method + * BundleSolutionInfo::outputControlNetFileName() to create the + * project item under the bundle results node for the bundle adjusted + * control. */ class ProjectItem : public QStandardItem { public: -- GitLab From 5de0093bb4647dc3db3d6e2dd37a63d650c0b35c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 16 Mar 2018 12:57:42 -0700 Subject: [PATCH 0142/1212] PROG: Call the appropriate work order for setting the active imageList and Control instead of duplicating code. --- isis/src/qisis/objs/Project/Project.cpp | 51 ++++++++++++++++--------- isis/src/qisis/objs/Project/Project.h | 4 ++ 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index 6ed915bee2..f973499500 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -66,6 +66,8 @@ #include "ProjectItem.h" #include "ProjectItemModel.h" #include "SerialNumberList.h" +#include "SetActiveControlWorkOrder.h" +#include "SetActiveImageListWorkOrder.h" #include "Shape.h" #include "ShapeList.h" #include "ShapeReader.h" @@ -1700,7 +1702,7 @@ namespace Isis { * */ void Project::setActiveControl(QString displayName) { - Control *previousControl = m_activeControl; + Control *previousControl = m_activeControl; if (m_activeControl) { emit activeControlSet(false); ProjectItem *item = directory()->model()->findItemData(m_activeControl-> @@ -1714,23 +1716,23 @@ namespace Isis { m_activeControl = item->control(); try { - activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); - item->setTextColor(Qt::darkGreen); + activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); + item->setTextColor(Qt::darkGreen); } catch(IException e){ - if (previousControl) { - m_activeControl = previousControl; - item = directory()->model()->findItemData(m_activeControl-> - displayProperties()->displayName(), Qt::DisplayRole); - item->setTextColor(Qt::darkGreen); - activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); - } - else { - m_activeControl = NULL; + if (previousControl) { + m_activeControl = previousControl; + item = directory()->model()->findItemData(m_activeControl-> + displayProperties()->displayName(), Qt::DisplayRole); + item->setTextColor(Qt::darkGreen); + activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); + } + else { + m_activeControl = NULL; + } + throw IException(e); } - throw IException(e); } - } emit activeControlSet(true); } @@ -1740,6 +1742,7 @@ namespace Isis { * * Returns the active control (control network) for views which need to operate on * the same control, ie. Footprint2dView, CubeDnView, ControlPointEditView. + * IMPORTANT: Returns NULL if no active Control. * * @internal * @history 2016-06-23 Tracie Sucharski - Original version. @@ -1753,8 +1756,12 @@ namespace Isis { if (!m_activeControl && m_controls->count() == 1) { if (m_controls->at(0)->count() == 1 && m_images->count() > 1) { - QString controlName = m_controls->at(0)->at(0)->displayProperties()->displayName(); - setActiveControl(controlName); + SetActiveControlWorkOrder *workOrder = new SetActiveControlWorkOrder(this); + addToProject(workOrder); + + +// QString controlName = m_controls->at(0)->at(0)->displayProperties()->displayName(); +// setActiveControl(controlName); } } return m_activeControl; @@ -1823,7 +1830,8 @@ namespace Isis { * @brief Returns the active ImageList * * Returns the active ImageList for views which need to operate on the - * same list of images, ie. Footprint2dView, CubeDnView, ControlPointEditView. + * same list of images, ie. Footprint2dView, CubeDnView, ControlPointEditView. + * IMPORTANT: Returns NULL if no active ImageList can be set. * * @internal * @history 2016-06-23 Tracie Sucharski - Original version. @@ -1833,8 +1841,13 @@ namespace Isis { ImageList *Project::activeImageList() { if (!m_activeImageList && m_images->count() == 1) { - QString imageList = m_images->at(0)->name(); - setActiveImageList(imageList); + SetActiveImageListWorkOrder *workOrder = new SetActiveImageListWorkOrder(this); + addToProject(workOrder); + + + +// QString imageList = m_images->at(0)->name(); +// setActiveImageList(imageList); } return m_activeImageList; } diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 18b6d41fc1..b82b89c6b8 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -225,6 +225,10 @@ namespace Isis { * a temporary project to ensure all project files are pointing to the * correct directory. Note that this is NOT ideal, particularly it the * project has many files. + * @history 2018-03-14 Tracie Sucharski - Call the appropriate workorder from the methods + * activeControl and activeImageList when returning a default value. + * This ensures that all the proper error checking is handled and + * prevents duplicate code. */ class Project : public QObject { Q_OBJECT -- GitLab From 823269bb7daf43b6dff470cff8490eb2ab2ae40f Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 16 Mar 2018 13:04:21 -0700 Subject: [PATCH 0143/1212] Updated to use BundleSolutionInfo methods to get input and output control. Prefix the output control with 'Out-'. --- isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp | 10 +++++++--- isis/src/qisis/objs/JigsawDialog/JigsawDialog.h | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp index 00a725104e..f99417a96e 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp @@ -209,7 +209,8 @@ namespace Isis { } // Grab the control name that was used in that bundle adjustment. - m_selectedControlName = FileName(bundleSolutionInfo.last()->controlNetworkFileName()).name(); + m_selectedControlName + = FileName(bundleSolutionInfo.last()->inputControlNetFileName()).name(); } // Clear the dialog displays. @@ -381,11 +382,14 @@ namespace Isis { // create output control net // Write the new jigged control net with correct path to results folder + runtime - FileName jiggedControlName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/" + - FileName(m_bundleSolutionInfo->controlNetworkFileName()).name()); + FileName jiggedControlName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/Out-" + + runTime + "-" + + FileName(m_bundleSolutionInfo->inputControlNetFileName()).name()); m_bundleSolutionInfo->bundleResults().outputControlNet()->Write(jiggedControlName.toString()); + m_bundleSolutionInfo->setOutputControlNetworkFileName(jiggedControlName); + // Iterate through all of the image lists (the "imports" in the project). QList imageLists = m_bundleSolutionInfo->imageList(); foreach (ImageList *imageList, imageLists) { diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h index d120cdf7f5..c54b1a01fe 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h @@ -79,6 +79,8 @@ namespace Isis { * accepted. Fixes #4960 * @history 2017-11-01 Ian Humphrey - Create ecubs in the bundle results directory which contain * updated SPICE. Fixes #4804, #4849. + * @history 2018-03-16 Ken Edmundson - Updated to use new BundleSolutionInfo methods to get the + * input and output control. Prefix the output control with "Out-". */ class JigsawDialog : public QDialog { Q_OBJECT -- GitLab From 878218b3b918e0dff77621edf5c06281c531bbea Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 16 Mar 2018 13:06:54 -0700 Subject: [PATCH 0144/1212] PROG: Modified the CnetEditorWidget destroyed signal to connect to the correct widget. Changed MosaicControlNetTool to ControlNetTool in addCubeDnView. --- isis/src/qisis/objs/Directory/Directory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index c097baccf9..5d165557b4 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -677,9 +677,9 @@ namespace Isis { // connect destroyed signal for mainWidget to cleanupCnetEditorViewWidgets slot connect(mainWidget, SIGNAL( destroyed(QObject *) ), - this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); + this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); - // Connections for control point editing between views + // Connections for control point editing between views connect(mainWidget, SIGNAL(editControlPoint(ControlPoint *, QString)), this, SLOT(modifyControlPoint(ControlPoint *, QString))); -- GitLab From 481026d3aa097ac7d29e6b148f7c960ec83bd413 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 16 Mar 2018 13:09:58 -0700 Subject: [PATCH 0145/1212] PROG: Updated to use BundleSolutionInfo new methods to return the input control. --- isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp | 2 +- isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp index 1d5109eb27..3fedb98418 100644 --- a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp +++ b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp @@ -67,7 +67,7 @@ namespace Isis { // Retrieve the control net name used in the last bundle adjustment. // Note that this returns a fully specified path and filename, while the cnet combo box // only stores file names. - selectControl(bundleSolutionInfo.last()->controlNetworkFileName()); + selectControl(bundleSolutionInfo.last()->inputControlNetFileName()); fillFromSettings(lastBundleSettings); } diff --git a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h index ce80da8d40..fa4014968c 100644 --- a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h +++ b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h @@ -50,6 +50,8 @@ namespace Isis { * allows for proper restoring of user defined weightings. * @history 2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open * source images. Fixes #5105. + * @history 2018-03-14 Ken Edmundson - Updated to use BundleSolutionInfo new methods to return + * the input control. */ class JigsawSetupDialog : public QDialog { -- GitLab From 922f36bf569afcb46c44e0e1aed4e96c7ab47280 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 16 Mar 2018 19:08:54 -0700 Subject: [PATCH 0146/1212] mac specs are stupid --- macos-spec.txt | 113 +++++++++++++++++++++++++------------------------ 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/macos-spec.txt b/macos-spec.txt index f1bc190869..e59a6ce537 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,96 +2,97 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/bullet-2.86.1-he2aa7b0_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cmake-3.9.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/embree-2.16.0-h6834224_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-h90cdba2_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ncurses-5.9-10.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.2.0-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/certifi-2018.1.18-py27_0.tar.bz2 +https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/protobuf-3.2.0-py27_0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/pip-9.0.1-py27_1.tar.bz2 -- GitLab From 4638511791c660b831a2de0c69f12e85bbea8446 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 19 Mar 2018 13:50:31 -0700 Subject: [PATCH 0147/1212] added v007 support back in to be work with conda --- isis/cmake/FindAllDependencies.cmake | 48 +++++++++++++++++++++++++--- isis/cmake/FindPNG.cmake | 17 ++++++++++ 2 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 isis/cmake/FindPNG.cmake diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index a280729090..0cd708f3c6 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -6,12 +6,52 @@ message("CONDA PREFIX: $ENV{CONDA_PREFIX}") list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) -message("Test: ${CMAKE_FIND_ROOT_PATH}") + +list(APPEND CMAKE_INCLUDE_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/objects/ + /usgs/pkgs/local/v007/include/googleprotobuf/protobuf2.6.1/ + /usgs/pkgs/local/v007/include/xercesc/xercesc3.1.2/ + /usgs/pkgs/local/v007/include/tiff/tiff4.0.5/ + /usr/lib64/ +) + +set(CMAKE_PREFIX_PATH + /usgs/pkgs/local/v007/include/ + /usgs/pkgs/local/v007/bin/ + /usgs/pkgs/local/v007/lib/ + /usgs/pkgs/local/v007/libexec/ + /opt/usgs/v007/ports/Library/Frameworks/ + /opt/usgs/v007/ports/libexec/ + /opt/usgs/v007/ports/bin/ + /opt/usgs/v007/ports/lib/ + /opt/usgs/v007/ports/include/ + /opt/usgs/v007/ports/libexec/qt5 + /opt/usgs/v007/ports/libexec/qt5/bin/ + /opt/usgs/v007/ports/libexec/qt5/lib/ + /opt/usgs/v007/3rdparty/bin + /opt/usgs/v007/3rdparty/include/ + /opt/usgs/v007/3rdparty/lib/ + /opt/usgs/v007/proprietary/ + /opt/usgs/v007/proprietary/include/ + /opt/usgs/v007/proprietary/lib/ + /usr/lib/ + /usr/lib64/ + /usr/local/lib/ +) + # Add thirdPartyCppFlags -set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals -DGMM_USES_SUPERLU) +set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") +# Flag to fix numeric literals problem with boost on linux +if(NOT APPLE) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) +endif() + # Paths to required executables find_program(XALAN Xalan REQUIRED) find_program(LATEX latex) @@ -43,8 +83,8 @@ find_package(Qt5 COMPONENTS Svg Test WebChannel - WebKit - WebKitWidgets + #WebKit + #WebKitWidgets Widgets Xml XmlPatterns REQUIRED) diff --git a/isis/cmake/FindPNG.cmake b/isis/cmake/FindPNG.cmake new file mode 100644 index 0000000000..bc11004ec1 --- /dev/null +++ b/isis/cmake/FindPNG.cmake @@ -0,0 +1,17 @@ +# Finds include directory and all applicable libraries +# +# Sets the following: +# PNG_INCLUDE_DIR +# PNG_LIBRARY + +find_path(PNG_INCLUDE_DIR + NAMES png.h + PATH_SUFFIXES png +) + +find_library(PNG_LIBRARY + NAMES png +) + +message( "-- PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") +message( "-- PNG LIB: ${PNG_LIBRARY}") -- GitLab From 9c838f9db2071b2777458a0313a68c09a2b93799 Mon Sep 17 00:00:00 2001 From: Christopher Ryan Combs Jr Date: Mon, 19 Mar 2018 14:40:36 -0700 Subject: [PATCH 0148/1212] Added support for dockerized ISIS (#29) * Added Jenkinsfile for testing of Pipeline build * Debugging Jenkinsfile #1 * Debugging Jenkinsfile #2 * Debugging Jenkinsfile #3 * Debugging Jenkinsfile #4 * Debugging Jenkinsfile #5 * Debugging Jenkinsfile #6 * Debugging Jenkinsfile #7 * Debugging Jenkinsfile #8 * Debugging Jenkinsfile #9 * Debugging Jenkinsfile #10 * typo in ctest line * Debugging Jenkinsfile #11 * Debugging Jenkinsfile 12 * Debugging Jenkinsfile 13 * Debugging Jenkinsfile 14 * Debugging Jenkinsfile 15 * Debugging Jenkinsfile 16 * Update Jenkinsfile * Debugging Jenkinsfile 18 * Update Jenkinsfile * Debugging Jenkinsfile 20 * Debugging Jenkinsfile 21 Reverted to 16 * Debugging Jenkinsfile 22 * Debugging Jenkinsfile 24 * Debuggin Jenkinsfile 25 * Debugging Jenkinsfile 26 * Debugging Jenkinsfile 27 * Debugging Jenkinsfile 28 * Debugging Jenkinsfile 29 * Debugging Jenkinsfile 30 * Debugging Jenkinsfile 31 * Debugging Jenkinsfile 32 * Debugging Jenkinsfile 32 * Debugging Jenkinsfile 33 * Debugging Jenkinsfile 34 * Debugging Jenkinsfile 34 * Debugging Jenkinsfile 35 * Debugging Jenkinsfile 36 * Debugging Jenkinsfile 36 * Debugging Jenkinsfile 37 * Debugging Jenkinsfile 38 * Debugging Jenkinsfile 39 * Debugging Jenkinsfile 40 * Debugging Jenkinsfile 41 * Debugging Jenkinsfile 41 * Debugging Jenkinsfile 42 * Debugging Jenkinsfile 43 * Debugging Jenkinsfile 44 * Debugging Jenkinsfile 45 * Debugging Jenkinsfile 46 * Debugging Jenksinsfile 47 * Debugging Jenkinsfile 48 * Debugging Jenk file 49 * Debugging Jenkinsfile 50 * Debugging Jenkinsfile 51 * Debugging Jenkinsfile 52 * Debugging Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update FindSuperLU.cmake * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Create Dockerfile * Update Jenkinsfile * Update Dockerfile * Update Dockerfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Fixed reversal of mac and linux geos find-versions * Update FindAllDependencies.cmake * Revert of mac/linux find version reversal * Update FindCholmod.cmake * Update FindAllDependencies.cmake * Added /lib64 to include path for docker * Update FindAllDependencies.cmake * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Removed bug with find kakadu * Update Jenkinsfile * Added find for opengl * Fixed issue with kakadu namespace * Update FindOpenGL.cmake * Update FindOpenGL.cmake * Update CMakeLists.txt * Update CMakeLists.txt * Update FindOpenGL.cmake * Update CMakeLists.txt * Update FindOpenGL.cmake * Update FindOpenGL.cmake * Update Jenkinsfile * Update FindCholmod.cmake * Update Jenkinsfile * Update Jenkinsfile * Added Set for isisroot * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Debugging TestPreferences * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Debugging TestPreferences for docker * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Added app tests and module tests * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update RunMakeFileTest.cmake * Debugging find for truth data dir * Update Jenkinsfile * Remove verbose setting ctest * Debugging dockerized jenkins apptests * Debugging dockerized jenkins apptests * Debugging dockerized jenkins apptests * Update isismake.tsts * Debugging dockerized jenkins apptests * Debugging dockerized jenkins apptests * Added environment variables for testing * Removed Dockerfile * Fixed issues with test output directory * Commented out debug statements * Added fix to prevent early exit on failed build * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile --- isis/CMakeLists.txt | 2 +- isis/Jenkinsfile | 62 ++++++++++++++++++++++++++++ isis/cmake/FindAllDependencies.cmake | 7 +--- isis/cmake/FindCholmod.cmake | 14 ++++--- isis/cmake/FindOpenGL.cmake | 27 ++++++++++++ isis/cmake/RunMakeFileTest.cmake | 5 ++- 6 files changed, 103 insertions(+), 14 deletions(-) create mode 100644 isis/Jenkinsfile create mode 100644 isis/cmake/FindOpenGL.cmake diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 1debc7d159..24e6427d05 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -10,7 +10,6 @@ cmake_minimum_required(VERSION 3.4) # Point cmake to our other CMake files. list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") -# always look for framworks last set(CMAKE_FIND_FRAMEWORK LAST) include(AddIsisModule) @@ -109,6 +108,7 @@ endif() if(${testOutputDir} STREQUAL "OFF") message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") + set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) else() # User specified a test output folder, make sure it exists. diff --git a/isis/Jenkinsfile b/isis/Jenkinsfile new file mode 100644 index 0000000000..93b3414b2c --- /dev/null +++ b/isis/Jenkinsfile @@ -0,0 +1,62 @@ +pipeline { + agent { + docker { + label 'cmake' + image 'chrisryancombs/docker_isis' + args '''\ + -v /usgs/pkgs/local/v007:/usgs/pkgs/local/v007 \ + -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \ + -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\ + ''' + } + } + environment { + ISISROOT="${workspace}" + "/build/" + ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/" + ISIS3DATA="/usgs/cpkgs/isis3/data/" + } + stages { + stage('Config') { + steps { + sh """ + mkdir -p ./install ./build && cd build + cmake -GNinja -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis \ + """ + } + } + stage('Build') { + steps { + sh """ + set +e + cd build + ninja -j8 && ninja install + """ + } + } + stage('Test'){ + steps { + sh """ + export PATH="${PATH}:${ISISROOT}/bin" + set +e + cd build + ctest -j8 -R _unit_ + ctest -j8 -R _app_ + ctest -j8 -R _module_ + """ + } + } + } +// post { +// success { +// sh 'pwd && ls' +// archiveArtifacts artifacts: "build/objects/*.o" +// } +// always { +// mail to: 'ccombs@usgs.gov', +// subject: "Build Finished: ${currentBuild.fullDisplayName}", +// body: "Link: ${env.BUILD_URL}" +// sh "rm -rf build/* && rm -rf install/*" +// cleanWs() +// } +// } +} diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index dfdac8a666..86fd45f930 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -71,10 +71,6 @@ find_program(PROTOC protoc REQUIRED) include(FindProtobuf) - -find_package(Geos 3.5.0 REQUIRED) - - if(APPLE) find_package(OpenGL REQUIRED) find_package(Qt5 COMPONENTS @@ -175,6 +171,7 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) +find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" @@ -376,7 +373,7 @@ foreach(lib ${RAW_DYNAMIC_LIBS}) endif() endforeach() -message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}") +# message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}") # Plugins file(GLOB_RECURSE THIRDPARTYPLUGINS "${PLUGIN_DIR}/*${SO}") diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index 5b2804e6c8..a01c251a35 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -25,12 +25,14 @@ endif() # Dependencies for lapack # add gcc location for MacOS -find_library(FORTRAN_LIBRARY NAMES gfortran - NAMES gfortran - PATHS /opt/usgs/v007/ports/lib/gcc5/ -) - -find_library(BLAS_LIBRARY NAMES blas) +# if(APPLE) + find_library(FORTRAN_LIBRARY NAMES gfortran + NAMES gfortran + PATHS /opt/usgs/v007/ports/lib/gcc5/ + ) + + find_library(BLAS_LIBRARY NAMES blas) +# endif(APPLE) get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindOpenGL.cmake b/isis/cmake/FindOpenGL.cmake new file mode 100644 index 0000000000..8fc3f41d2f --- /dev/null +++ b/isis/cmake/FindOpenGL.cmake @@ -0,0 +1,27 @@ +# CMake module for find_package(OpenGL) +# Finds include directory and all applicable libraries +# +# Sets the following: +# KAKADU_INCLUDE_DIR +# KAKADU_A_LIBRARY +# KAKADU_V_LIBRARY + +find_path(OPENGL_INCLUDE_DIR + NAME gl.h + PATH_SUFFIXES GL + HINTS GL +) + +find_library(GL_LIBRARY + NAMES GL +) + +find_library(GLU_LIBRARY + NAMES GLU +) +message("==================") +message(${OPENGL_INCLUDE_DIR}) +message(${GL_LIBRARY}) +message(${GLU_LIBRARY}) + +get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake index c510e64f4a..8e84d53a94 100644 --- a/isis/cmake/RunMakeFileTest.cmake +++ b/isis/cmake/RunMakeFileTest.cmake @@ -51,7 +51,7 @@ function(run_app_makefile_test makefile inputFolder outputFolder truthFolder bin # execute_process(COMMAND rm -f ${logFile}) execute_process(COMMAND make test WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) - + message("result: ${result}") if (result MATCHES "OK") set(failed "OFF") else() @@ -61,7 +61,8 @@ function(run_app_makefile_test makefile inputFolder outputFolder truthFolder bin # If any file failed, the test is a failure. if(${failed}) - message(FATAL_ERROR "Test failed.") + message("TRUTH: ${TRUTH}") + message(FATAL_ERROR "Test failed. Result:\n ${result}") endif() endfunction() -- GitLab From ee2a0ad1c2cd71964f1481e88389435b57348fb3 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 19 Mar 2018 15:51:56 -0700 Subject: [PATCH 0149/1212] unit test fixes for UserInterface and ProcessExportPds3 --- isis/cmake/FindAllDependencies.cmake | 2 +- .../base/objs/ProcessExportPds4/unitTest.cpp | 20 +++++++++---------- isis/src/base/objs/UserInterface/unitTest.cpp | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 0cd708f3c6..73b89c633c 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -7,6 +7,7 @@ message("CONDA PREFIX: $ENV{CONDA_PREFIX}") list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) +# Add search USGS maintained libraries list(APPEND CMAKE_INCLUDE_PATH /usgs/pkgs/local/v007/include/ /usgs/pkgs/local/v007/bin/ @@ -42,7 +43,6 @@ set(CMAKE_PREFIX_PATH /usr/local/lib/ ) - # Add thirdPartyCppFlags set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") diff --git a/isis/src/base/objs/ProcessExportPds4/unitTest.cpp b/isis/src/base/objs/ProcessExportPds4/unitTest.cpp index 6053180447..23f7b9a708 100644 --- a/isis/src/base/objs/ProcessExportPds4/unitTest.cpp +++ b/isis/src/base/objs/ProcessExportPds4/unitTest.cpp @@ -15,7 +15,7 @@ using namespace Isis; */ void IsisMain() { Preference::Preferences(true); - + try { std::cout << "Testing ProcessExportPds4" << std::endl << std::endl; @@ -27,24 +27,24 @@ void IsisMain() { defaultLabel.remove(QRegExp(" xsi.*=\".*\"")); std::cout << defaultLabel; - std::cout << std::endl << "Testing defaulte CaSSIS export" << std::endl; + std::cout << std::endl << "Testing default CaSSIS export" << std::endl; Isis::ProcessExportPds4 p; - + QString cubeName = "$tgo/testData/CAS-MCO-2016-11-26T22.32.39.582-BLU-03025-00.cub"; - - Isis::Cube cub; - cub.open(cubeName, "r"); - + + Isis::Cube cub; + cub.open(cubeName, "r"); + p.SetInputCube(&cub); - + // Remove the schema from the lable because we cannot ensure that // attributes come out in the same order every time QString rawLabel = p.StandardPds4Label().toString(); rawLabel.remove(QRegExp(" xmlns.*=\".*\"")); rawLabel.remove(QRegExp(" xsi.*=\".*\"")); std::cout << rawLabel; - + std::ofstream ofs; p.OutputLabel(ofs); @@ -135,7 +135,7 @@ void IsisMain() { Cube projectedCube(projectedName); ProcessExportPds4 projectedProcess; projectedProcess.SetInputCube(&projectedCube); - + QString projectedLabel = projectedProcess.StandardPds4Label().toString(); projectedLabel.remove(QRegExp(" xmlns.*=\".*\"")); projectedLabel.remove(QRegExp(" xsi.*=\".*\"")); diff --git a/isis/src/base/objs/UserInterface/unitTest.cpp b/isis/src/base/objs/UserInterface/unitTest.cpp index d07d5d6f15..e44c103f47 100644 --- a/isis/src/base/objs/UserInterface/unitTest.cpp +++ b/isis/src/base/objs/UserInterface/unitTest.cpp @@ -14,7 +14,7 @@ int main(int argc, char *argv[]) { cout << "Unit test for Isis::UserInterface ..." << endl; - QString unitTestXml = Isis::FileName(QString(ISISBUILDDIR) + "/unitTest/isis3_unit_test_UserInterface.xml").expanded(); + QString unitTestXml = Isis::FileName(QString(ISISROOT) + "/src/base/objs/UserInterface/unitTest.xml").expanded(); QString highpass = Isis::FileName(QString(ISISBUILDDIR) + "/bin/xml/highpass.xml").expanded(); char *myArgv[15];// = {"unitTest", "from=input.cub", "to=output.cub"}; -- GitLab From b5d04c70ad088bed4d05db66c334e4b91c9ab8c2 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Mon, 19 Mar 2018 16:00:19 -0700 Subject: [PATCH 0150/1212] added some comvenient diffing logic --- isis/cmake/RunUnitTest.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/isis/cmake/RunUnitTest.cmake b/isis/cmake/RunUnitTest.cmake index 1fc05e4f3d..c64d105844 100644 --- a/isis/cmake/RunUnitTest.cmake +++ b/isis/cmake/RunUnitTest.cmake @@ -62,7 +62,11 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files RESULT_VARIABLE DIFFERENT) if(DIFFERENT) - message(FATAL_ERROR "Test failed - files differ") + message("------------------ DIFFERENCES ------------------ ") + execute_process(COMMAND diff ${comp1} ${comp2} OUTPUT_VARIABLE compdiff) + message("${compdiff}") + message("------------------------------------------------- ") + message(FATAL_ERROR "Test failed - files differ") # On error the result file is left around to aid in debugging. else() file(REMOVE ${outputFile}) # On success, clean out the result file. -- GitLab From 60ec0ba47371ce981ecc39b354060428c69867e8 Mon Sep 17 00:00:00 2001 From: Cole <34170587+cneubauerUSGS@users.noreply.github.com> Date: Mon, 19 Mar 2018 16:19:02 -0700 Subject: [PATCH 0151/1212] Make Truth Script Unit And App (#22) * A bit of a hacky fix for cmake docs * Non hacky fix for docs * Forgot how install worked for a second * Commented code and changed command * makeTruth script may not be worth the effort to call the script * missing imports * added path * forgot a plus * added app option * changes * changes * added path to src * added cp to specific makefile * changes * changes * changes * makes more sense to have two scripts one to get and see output and one to actually change truth files * changes * changes * changes * changes * changes * changes * changes * changes * changes * changes * Make Truth for app test now fully functional * changes * changes * changes * changes * Make script fully functional * Redid system argument calls with argparser * Redid system argument calls with argparser * Redid system argument calls with argparser * Redid system argument calls with argparser * unit test with arg parser working * Argparser app test * Cleaned documentation to match arg parser implementation --- isis/scripts/makeOutput.py | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 isis/scripts/makeOutput.py diff --git a/isis/scripts/makeOutput.py b/isis/scripts/makeOutput.py new file mode 100755 index 0000000000..afbeb3a99e --- /dev/null +++ b/isis/scripts/makeOutput.py @@ -0,0 +1,89 @@ +''' +Script to create truthData for tests. + +For output it expects the command in the form of: + python3 makeOutput.py test + +where test is the cmake name for the unit or app test + +To check in truth data the command should be in the form of: + python makeOutput.py -t test + +The -t option checks in truth data + +The unit tests are pretty trivial because the executable outputs the results of +the unitTest to stdout and stderr so we just redirect the streams to the file +named object.truth where object is the ISIS object being tested. + +The app tests output has to rely on the old make system because the app test +infrastructure relies on the old make system. Otherwise all the logic for the old +makesystem would need to be reimplemented here. Because we wish to replace the testing +system with something that allows unit and app test to live in the same space the effort +to recreate the logic is not worth the outcome. +''' + +import argparse +import sys +import os + +try: + builddir = os.environ['ISISROOT'] +except KeyError: + print("The $ISISROOT environment variable is not set") + +parser = argparse.ArgumentParser() +parser.add_argument('test', action='store', help='Provide the name of the Test to create output of') +parser.add_argument('-t', action='store_true', default=False, dest='truth', help='Flag whether output is sent to truth data') +userInput = parser.parse_args() +testInput = userInput.test + +if "_unit_" in testInput: + unitTestName = testInput.split("_test_")[1] + ".truth" + # we should probably append the path to the front so it ends up in + # in the same directory as the test + unitTestPath = builddir + "/unitTest/" + + os.system(unitTestPath + testInput + ">&" + builddir + "/testOutputDir/" + unitTestName) + print("Unit Test Output In " + builddir + "/testOutputDir/ As " + unitTestName) + + if userInput.truth: + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: + for line in testFile: + if unitTestName in line: + unitTestSrcPath = line.split("\" \"")[2][13:] + os.system("cp -f " + builddir + "/testOutputDir/" + unitTestName + " " + unitTestSrcPath) + break + + print("Checked In Truth Data To " + unitTestSrcPath) + + +else: + apptest = testInput + makefilePath = "" + with open(builddir + "/objects/CTestTestfile.cmake") as testFile: + for line in testFile: + if apptest in line: + makefilePath = line.split("\" \"")[1][11:] + break + + makefilePath = makefilePath.split("/") + del makefilePath[-1] + makefilePath = "/".join(makefilePath) + + # change dir to test dir and run make commands + os.chdir(makefilePath) + os.system("make checkout") + os.system("make output") + os.system("make truthdata") + os.system("rm -rf " + builddir + "/testOutputDir/truth") + os.system("cp -rf truth " + builddir + "/testOutputDir") + print("App Test Output In " + builddir + "/testOutputDir/truth") + + # check if the user wants data checked in + if userInput.truth: + os.system("make checkin") + print("Checked In Truth Data") + + # doing this instead of make release because make release + # can give feedback to the user that we would rather avoid + os.system("rm -rf input output truth print.prt") -- GitLab From c804dd9768480f7dc4ac91966f07d35356cc784b Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Mon, 19 Mar 2018 16:33:10 -0700 Subject: [PATCH 0152/1212] removed hardcoded values for modules and have it take values from src directory --- .gitignore | 2 ++ isis/CMakeLists.txt | 2 +- isis/src/CMakeLists.txt | 51 ++++++++++------------------------------- 3 files changed, 15 insertions(+), 40 deletions(-) diff --git a/.gitignore b/.gitignore index 813b5d9065..2a56730e14 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,6 @@ print.prt */tsts/*/input/* */tsts/*/truth/* */tsts/*/output/* +*/build/ +*/install/ diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 76767dba46..1b21fe471a 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -204,7 +204,7 @@ endif() # Add a config file to the install bin directory so that QT can find the plugin libraries. file(WRITE "${CMAKE_BINARY_DIR}/qt.conf" "[Paths]\nPlugins=../3rdParty/plugins/\n") -install(FILES "${CMAKE_BINARY_DIR}/qt.conf" DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) +install(FILES "${CMAKE_BINARY_DIR}/qt.conf" DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/xml) #Create the inc directory execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/inc) diff --git a/isis/src/CMakeLists.txt b/isis/src/CMakeLists.txt index 8c3f525f0f..2fe7b579c9 100644 --- a/isis/src/CMakeLists.txt +++ b/isis/src/CMakeLists.txt @@ -1,44 +1,17 @@ #=============================================================================== +set(CORE_LIST base database control qisis system) -# Each of these calls will add one library plus multiple apps and unit tests. -# - The arguments are: (library_name, [list of folders needed for library]) +get_subdirectory_list(${CMAKE_CURRENT_LIST_DIR} modules) -if(${buildCore}) - add_isis_module(${CORE_LIB_NAME} base database control qisis system) +# build core into isis library +add_isis_module(${CORE_LIB_NAME} ${CORE_LIST}) - # This folder is for under-development test code so if it is - # missing just ignore it. - # - TODO: The install behavior should be disabled for this folder! - if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/local) - message("Detected optional directory 'local'") - add_isis_module(local local) - endif() +# remove duplicates so we dont build to the core targets twice +foreach(core ${CORE_LIST}) + list(REMOVE_ITEM modules "${CMAKE_CURRENT_LIST_DIR}/${core}") +endforeach() -endif() - -if(${buildMissions}) - add_isis_module(apollo apollo) - add_isis_module(cassini cassini) - add_isis_module(chandrayaan1 chandrayaan1) - add_isis_module(clementine clementine) - add_isis_module(dawn dawn) - add_isis_module(galileo galileo) - add_isis_module(hayabusa hayabusa) - add_isis_module(kaguya kaguya) - add_isis_module(lo lo) - add_isis_module(lro lro) - add_isis_module(mariner mariner) - add_isis_module(mer mer) - add_isis_module(messenger messenger) - add_isis_module(mex mex) - add_isis_module(mgs mgs) - add_isis_module(mro mro) - add_isis_module(near near) - add_isis_module(newhorizons newhorizons) - add_isis_module(odyssey odyssey) - add_isis_module(rolo rolo) - add_isis_module(rosetta rosetta) - add_isis_module(socet socet) - add_isis_module(viking viking) - add_isis_module(voyager voyager) -endif() +foreach( mod ${modules} ) + string(REPLACE "${CMAKE_CURRENT_LIST_DIR}/" "" strippedmod ${mod}) + add_isis_module(${strippedmod} ${strippedmod}) +endforeach() -- GitLab From c523a28329e8fdf94ee70ecd276b7cfd747ddec0 Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Mon, 19 Mar 2018 17:40:43 -0700 Subject: [PATCH 0153/1212] rmoved openGL line breaks builds on linux --- isis/cmake/FindAllDependencies.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 86fd45f930..4962ec256e 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -171,7 +171,6 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) -find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" -- GitLab From f6f657acf94f54ec60302a8de95fc317959fc934 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 20 Mar 2018 11:37:51 -0700 Subject: [PATCH 0154/1212] removed opengl line in findalldependencies --- isis/cmake/FindAllDependencies.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index d335dcc26e..b6d3d7e216 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -160,7 +160,6 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) -find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" -- GitLab From 371834f4bc358b24e950f6c9f91a9e1985e44fbc Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 20 Mar 2018 11:41:09 -0700 Subject: [PATCH 0155/1212] Update FindAllDependencies.cmake --- isis/cmake/FindAllDependencies.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index d335dcc26e..b6d3d7e216 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -160,7 +160,6 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) -find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" -- GitLab From 81e8f2f79a123f86cadf7d204f6c3fcb7b68bd5f Mon Sep 17 00:00:00 2001 From: Cole Neubauer Date: Tue, 20 Mar 2018 12:07:37 -0700 Subject: [PATCH 0156/1212] fixes issues with install not finding dependencies --- isis/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 5b430a01d8..7574f344ac 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -203,7 +203,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/make DESTINATION ${CMAKE_INSTALL_PREFIX}) add_subdirectory(src objects) # Set up third party libraries for installation -# install_third_party() +install_third_party() # # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. # # - This is required so that the plugins can be found during unit tests. -- GitLab From e565f8b71b19bfe09dfcd868f69315510779fc24 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 20 Mar 2018 15:31:38 -0700 Subject: [PATCH 0157/1212] changed build order for bullet to match whatever nonsense they wanted --- isis/cmake/FindAllDependencies.cmake | 15 ++++++++++++++- isis/cmake/FindBullet.cmake | 16 ++++++++-------- isis/make/config.darwin-MacOSX10_11 | 4 ---- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index b6d3d7e216..e11aa39144 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -194,15 +194,28 @@ endforeach() foreach (_variableName ${_variableNames}) if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES "^BULLET$") + # We need to skip Bullet since the order needs to be very specific elseif (_variableName MATCHES ".+_LIB$") list(APPEND ALLLIBS "${${_variableName}}") elseif (_variableName MATCHES ".+_LIBRARY$") list(APPEND ALLLIBS "${${_variableName}}") elseif (_variableName MATCHES ".+_LIBRARIES$") list(APPEND ALLLIBS "${${_variableName}}") - endif(_variableName MATCHES "^CMAKE+") + endif() endforeach() +list(APPEND ALLLIBS "${BULLET_OPENCL_LIBRARY}") +list(APPEND ALLLIBS "${BULLET3_COMMON_LIBRARY}") +list(APPEND ALLLIBS "${BULLET3_GEOMETRY_LIBRARY}") +list(APPEND ALLLIBS "${BULLET_SOFTBODY_LIBRARY}") +list(APPEND ALLLIBS "${BULLET_DYNAMICS_LIBRARY}") +list(APPEND ALLLIBS "${BULLET3_3DYNAMICS_LIBRARY}") +list(APPEND ALLLIBS "${BULLET_INVERSEDYNAMICS_LIBRARY}") +list(APPEND ALLLIBS "${BULLET_COLLISION_LIBRARY}") +list(APPEND ALLLIBS "${BULLET3_3COLLISION_LIBRARY}") +list(APPEND ALLLIBS "${BULLET3_LINEARMATH_LIBRARY}") + foreach (_variableName ${_variableNames}) get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) if (_variableName MATCHES "^CMAKE+") diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 3d4f96c01e..dcc984c2b9 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -13,12 +13,12 @@ find_path(BULLET_INCLUDE_DIR find_library(BULLET_OPENCL_LIBRARY NAMES Bullet3OpenCL_clew) find_library(BULLET_SOFTBODY_LIBRARY NAMES BulletSoftBody) find_library(BULLET_INVERSEDYNAMICS_LIBRARY NAMES BulletInverseDynamics) -find_library(BULLET_DYNAMICS_LIBRARY NAMES Bullet3Common) -find_library(BULLET_COLLISION_LIBRARY NAMES BulletDynamics) -find_library(BULLET3_GEOMETRY_LIBRARY NAMES BulletCollision) -find_library(BULLET3_DYNAMICS_LIBRARY NAMES Bullet3Geometry) -find_library(BULLET3_COLLISION_LIBRARY NAMES Bullet3Dynamics) -find_library(BULLET3_COMMON_LIBRARY NAMES Bullet3Collision) +find_library(BULLET_COMMON_LIBRARY NAMES Bullet3Common) +find_library(BULLET_DYNAMICS_LIBRARY NAMES BulletDynamics) +find_library(BULLET3_COLLISION_LIBRARY NAMES BulletCollision) +find_library(BULLET3_3GEOMETRY_LIBRARY NAMES Bullet3Geometry) +find_library(BULLET3_3DYNAMICS_LIBRARY NAMES Bullet3Dynamics) +find_library(BULLET3_3COLLISION_LIBRARY NAMES Bullet3Collision) find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) @@ -30,7 +30,7 @@ message( "-- BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) message( "-- BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) message( "-- BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) message( "-- BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) -message( "-- BULLET3 DYNAMICS: " ${BULLET3_DYNAMICS_LIBRARY} ) -message( "-- BULLET3 COLLISION: " ${BULLET3_COLLISION_LIBRARY} ) +message( "-- BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) +message( "-- BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) message( "-- BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) message( "-- BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/make/config.darwin-MacOSX10_11 b/isis/make/config.darwin-MacOSX10_11 index 2b600ac626..afe707ba04 100644 --- a/isis/make/config.darwin-MacOSX10_11 +++ b/isis/make/config.darwin-MacOSX10_11 @@ -373,10 +373,6 @@ NNLIB = -lnn #--------------------------------------------------------------------------- # Setup for Bullet Physics library #--------------------------------------------------------------------------- -#BULLETLIB = -lBullet2FileLoader -lBullet3Collision -lBullet3Common \ -# -lBullet3Dynamics -lBullet3Geometry -lBullet3OpenCL_clew \ -# -lBulletCollision -lBulletDynamics -lBulletInverseDynamics \ -# -lBulletSoftBody -lLinearMath BULLETLIB = -lBullet3OpenCL_clew -lBullet3Common -lBullet3Geometry \ -lBulletSoftBody -lBulletDynamics -lBullet3Dynamics \ -lBulletInverseDynamics -lBulletCollision -lBullet3Collision \ -- GitLab From c45df6fc1c5c92138e7fa8cee56cf969ce813858 Mon Sep 17 00:00:00 2001 From: Cole <34170587+cneubauerUSGS@users.noreply.github.com> Date: Wed, 21 Mar 2018 10:11:53 -0700 Subject: [PATCH 0158/1212] change application.cpp match merge in isis3cmake --- isis/src/base/objs/Application/Application.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/isis/src/base/objs/Application/Application.cpp b/isis/src/base/objs/Application/Application.cpp index 1e32f38704..bcfd69cca8 100644 --- a/isis/src/base/objs/Application/Application.cpp +++ b/isis/src/base/objs/Application/Application.cpp @@ -110,6 +110,11 @@ namespace Isis { abort(); } + // add qt path to 3rdParty so no default is taken from enviroment + QString pluginPath = getenv("ISISROOT"); + pluginPath.append("/3rdParty/lib/"); + QCoreApplication::addLibraryPath(pluginPath); + // Get the starting cpu time, direct I/Os, page faults, and swaps //p_startClock = clock(); p_startDirectIO = DirectIO(); -- GitLab From c92bfd38cc02d1734a925500d6a905856fdb2912 Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Wed, 21 Mar 2018 10:17:27 -0700 Subject: [PATCH 0159/1212] Reverted top level Makefiles and added CMakeLists.txt to build filter --- isis/3rdParty/Makefile | 121 + isis/3rdParty/lib/README | 2 + isis/3rdParty/plugins/README | 2 + isis/Makefile | 12143 +-------------------------------- isis/src/Makefile | 4 +- 5 files changed, 472 insertions(+), 11800 deletions(-) create mode 100644 isis/3rdParty/Makefile create mode 100644 isis/3rdParty/lib/README create mode 100644 isis/3rdParty/plugins/README diff --git a/isis/3rdParty/Makefile b/isis/3rdParty/Makefile new file mode 100644 index 0000000000..8fe74939ea --- /dev/null +++ b/isis/3rdParty/Makefile @@ -0,0 +1,121 @@ +include $(ISISROOT)/make/isismake.os + +.PHONY: libs license plugins + +all: install + +install: libs license plugins + +#libs: license +libs: + @for library in $(THIRDPARTYLIBS); do \ + $(INSTALL3P) $(INSTALL3POPTS) $$library $(ISISROOT)/3rdParty/lib/; \ + echo $(CURTIMESTAMP) " Installing [$$library]"; \ + if [ "$(HOST_ARCH)" == "Linux" ]; then \ + for file in $$library; do \ + localFile=$(ISISROOT)/3rdParty/lib/`basename $$file`; \ + if [ ! -L "$$localFile" ]; then \ + existingRpath=`$(PATCHELF) --print-rpath "$$localFile" 2>&- | \ + cut -d '/' -f2-4`; \ + dollar='$$'; \ + newRpath=`echo "$${dollar}ORIGIN"`; \ + if [ "$$existingRpath" == "usgs/pkgs/local" ]; then \ + echo $(CURTIMESTAMP) " Patching [" `basename $$file` "]"; \ + $(PATCHELF) --set-rpath "$$newRpath" $$localFile; \ + fi; \ + fi; \ + done; \ + fi; \ + done; \ + for library in $(PATCHLIBS); do \ + $(INSTALL3P) $(INSTALL3POPTS) $$library $(ISISROOT)/3rdParty/lib/; \ + echo $(CURTIMESTAMP) " Installing [$$library]"; \ + if [ "$(HOST_ARCH)" == "Linux" ]; then \ + for file in $$library; do \ + localFile=$(ISISROOT)/3rdParty/lib/`basename $$file`; \ + if [ ! -L "$$localFile" ]; then \ + dollar='$$'; \ + newRpath=`echo "$${dollar}ORIGIN"`; \ + echo $(CURTIMESTAMP) " Patching [" `basename $$file` "]"; \ + $(PATCHELF) --set-rpath "$$newRpath" $$localFile; \ + fi; \ + done; \ + fi; \ + done; \ + if [ "$(HOST_ARCH)" == "Darwin" ]; then \ + chmod u+w $(ISISROOT)/3rdParty/lib/libcrypto.*.dylib; \ + chmod u+w $(ISISROOT)/3rdParty/lib/libssl.*.dylib; \ + chmod u+w $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5/Python;\ + $(ISISROOT)/scripts/SetRunTimePath --libs \ + --libmap=$(ISISROOT)/scripts/darwin_lib_paths.lis \ + --liblog=DarwinLibs.lis --update \ + --relocdir=$(ISISROOT)/3rdParty/lib:$(ISISROOT)/3rdParty \ + --errlog=DarwinErrors.lis \ + `find $(ISISROOT)/3rdParty/lib -name '*.dylib*' -type f` \ + > /dev/null; \ + $(ISISROOT)/scripts/SetRunTimePath --libs \ + --libmap=$(ISISROOT)/scripts/qt_paths.lis \ + --liblog=DarwinLibs.lis \ + --relocdir=$(ISISROOT)/3rdParty/lib:$ISISROOT/3rdParty \ + --update \ + `find $(ISISROOT)/3rdParty/lib -name '[Qq]*' -print \ + -mindepth 3 -maxdepth 4 -type f` > /dev/null; \ + $(ISISROOT)/scripts/SetRunTimePath --bins \ + --libmap=$(ISISROOT)/scripts/darwin_bin_paths.lis \ + --liblog=DarwinLibs.lis \ + --relocdir=$(ISISROOT)/3rdParty/lib:$ISISROOT/3rdParty \ + --update \ + `find $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5 \ + -name 'Python' -print -type f` > /dev/null; \ + chmod u-w $(ISISROOT)/3rdParty/lib/libcrypto.*.dylib; \ + chmod u-w $(ISISROOT)/3rdParty/lib/libssl.*.dylib; \ + chmod u-w $(ISISROOT)/3rdParty/lib/Python.framework/Versions/3.5/Python;\ + if [ -f "DarwinErrors.lis" ]; then \ + cat DarwinErrors.lis; \ + fi; \ + $(RM) DarwinErrors.lis DarwinLibs.lis; \ + fi + +license: + $(RSYNC) -a $(THIRDPARTYLICPATH) \ + $(ISISROOT)/3rdParty/license/ + +plugins: + @for plugs in $(THIRDPARTYPLUGINS); do \ + echo $(CURTIMESTAMP) " Installing [$$plugs...]"; \ + $(INSTALL3P) $(INSTALL3POPTS) $$plugs $(ISISROOT)/3rdParty/plugins/; \ + done; \ + if [ "$(HOST_ARCH)" == "Darwin" ]; then \ + $(ISISROOT)/scripts/SetRunTimePath --bundles \ + --libmap=$(ISISROOT)/scripts/qt_plugins_paths.lis \ + --liblog=DarwinLibs.lis --update \ + --relocdir=$(ISISROOT)/3rdParty/lib:$(ISISROOT)/3rdParty \ + --errlog=DarwinErrors.lis \ + `find $(ISISROOT)/3rdParty/plugins -name '*.bundle' -type f` \ + `find $(ISISROOT)/3rdParty/plugins -name '*.dylib' -type f` \ + > /dev/null; \ + if [ -f "DarwinErrors.lis" ]; then \ + cat DarwinErrors.lis; \ + fi; \ + $(RM) DarwinErrors.lis DarwinLibs.lis; \ + fi + + +clean: + rm -f lib/lib*.so* lib/lib*.dylib* lib/lib*.a + cd lib && rm -rf *.framework + $(RM) -rf license + @for plugs in plugins/*; do \ + if [ -d $$plugs -a $$plugs != "plugins/CVS" ]; \ + then \ + $(RM) -rf $$plugs; \ + fi \ + done; + +#---------------------------------------------------------------------------- +# Use to see values of variables +# Example: make print-HOST_OS +# Will print the make variable HOST_OS +#---------------------------------------------------------------------------- +print-% : + @echo '$* = $($*)' diff --git a/isis/3rdParty/lib/README b/isis/3rdParty/lib/README new file mode 100644 index 0000000000..370c2cc66e --- /dev/null +++ b/isis/3rdParty/lib/README @@ -0,0 +1,2 @@ +This directory contains O/S and hardware specific shared libraries needed +to execute ISIS applications diff --git a/isis/3rdParty/plugins/README b/isis/3rdParty/plugins/README new file mode 100644 index 0000000000..55cfae117e --- /dev/null +++ b/isis/3rdParty/plugins/README @@ -0,0 +1,2 @@ +This directory contains Qt plugins that are exported for use in Isis +applications. diff --git a/isis/Makefile b/isis/Makefile index a27a43b811..24fd4e1d5d 100644 --- a/isis/Makefile +++ b/isis/Makefile @@ -1,11802 +1,349 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.9 +include $(ISISROOT)/make/isismake.os + +#--------------------------------------------------------------------------- +# Set up ISIS versioning +#--------------------------------------------------------------------------- +#ISISVERSIONFULL := $(shell head -n 1 $(ISISROOT)/version | sed 's/\#.*//' | sed 's/ *$$//') +#ISISMAJOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f1) +#ISISMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f2) +#ISISMINORMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f3) +#ISISMINORMINORMINOR := $(shell echo $(ISISVERSIONFULL) | cut -d"." -f4) +#ISISVERSION := $(ISISMAJOR).$(ISISMINOR).$(ISISMINORMINOR).$(ISISMINORMINORMINOR) +#ISISLIBVERSION := $(shell echo $(ISISMAJOR).$(ISISMINOR).$(ISISMINORMINOR) | sed 's/[a-z].*$$//') +#ISISLOCALVERSION := $(shell head -n 3 $(ISISROOT)/version | tail -n 1 | sed 's/\#.*//' | sed 's/ *$$//') +#ISISRELEASE := REL_0_0 -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. .NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /scratch/isiscmake/isis - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /scratch/isiscmake/isis - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." - /usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles /scratch/isiscmake/isis/CMakeFiles/progress.marks - $(MAKE) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /scratch/isiscmake/isis/CMakeFiles 0 -.PHONY : all - -# The main clean target +#---------------------------------------------------------------------------- +# Let the user know how to use the system +#---------------------------------------------------------------------------- +help: + echo "Isis Make System Commands" + echo "------------------------ " + echo "make all : Build and install the entire system (incs,api,apps,docs)" + echo "make thirdParty : Copy required 3rdParty libraries into distribution" + echo "make incs : Install API include files" + echo "make api : Build and install the Isis API" + echo "make apps : Build and install Isis Applications" + echo "make docs : Build Isis Web Documentation" + echo "make quickclean : Clean binaries from source tree but not app test areas" + echo "make cleansrc : Clean binaries from source tree" + echo "make clean : Clean source tree and install area" + echo "make unitTest : Build and execute unit tests for Isis API" + echo "make appTest : Build and execute application tests" + echo "make catTest : Build and execute category tests" + echo "make coverage : Build a test coverage report from generated coverage info" + +#---------------------------------------------------------------------------- +# Target = all +# Dependencies = includes api applications documentation thirdParty +# +# The API include files must be installed before the API can be constructed. +# After the API is created then the applications can be individually built +# and installed. Finally create the web documentation for the entire system. +#---------------------------------------------------------------------------- +all: incs thirdParty api apps docs + +#---------------------------------------------------------------------------- +# Target = incs +# Dependencies = none +# +# The API include files will be installed in $(ISISROOT)/inc. The Isis +# make system will traverse the objs directories (src/base/objs/*) and +# copy the include file from the individual object directory into the +# system directory $(ISISROOT)/inc. +#---------------------------------------------------------------------------- +incs: + echo $(CURTIMESTAMP) "Installing include files" + mkdir -p inc + $(MAKE) --directory=src includes + echo $(CURTIMESTAMP) "Finished installing include files" + echo $(CURTIMESTAMP) " " + +#---------------------------------------------------------------------------- +# Target = api +# Dependencies = objects +# +# The Isis API is essentially libisis.a which will be created in the +# directory $(ISISROOT)/lib. Make api traverses the objs directories +# (src/base/objs/*) and archives the ".o" files into libisis.a. Therefore +# the ".o" files must exist. +# +# Target = objects +# Dependencies = none +# +# Before the API can be built each individual object must be built. +# This target will traverse the objs directories and create the C++ +# object classes leaving the ".o" file in each individual directory. +# The API is not created until "make api" is performed +# +# Finally after the API is completed the shared libraries will be +# constructed from libisis.a +#---------------------------------------------------------------------------- + +api: + echo $(CURTIMESTAMP) "Building Isis API" + mkdir -p lib + $(MAKE) --directory=src objects + echo $(CURTIMESTAMP) "Finished building Isis API" + echo $(CURTIMESTAMP) "" + echo $(CURTIMESTAMP) "Adding API objects" + if [ "$(HOST_ARCH)" == "Linux" ]; then \ + $(MAKE) --directory=src api; \ + elif [ "$(HOST_ARCH)" == "Darwin" ]; then \ + $(MAKE) osx_static; \ + fi; + echo $(CURTIMESTAMP) "Finished adding API objects" + echo $(CURTIMESTAMP) " " + echo $(CURTIMESTAMP) "Creating Shared Libraries ..." + cp make/Makefile.libs lib/Makefile + $(MAKE) --directory=lib shared + echo $(CURTIMESTAMP) "Finished creating Shared Libraries ..." + echo $(CURTIMESTAMP) " " + +# Make the static library on Macos, faster then recursivly call make +osx_static: + $(eval UNIT_TESTS=$(wildcard src/*/objs/*/unitTest.o)) + $(eval PLUGIN_DIRS=$(dir $(wildcard src/*/objs/*/*.plugin))) + $(eval PLUGIN_FILES=$(foreach dir,$(PLUGIN_DIRS),$(wildcard $(dir)*.o))) + $(eval API_OBJS=$(filter-out $(PLUGIN_FILES),$(filter-out $(UNIT_TESTS),$(wildcard src/*/objs/*/*.o)))) + $(AR) -crs $(ISISROOT)/lib/libisis$(ISISLIBVERSION).a $(API_OBJS); + for i in $(PLUGIN_DIRS); do \ + $(MAKE) --directory=$$i plugin install; \ + done + +# echo "Building Isis API with debugging" +# cd src; $(MAKE) objects MODE=DEBUG +# cd src; $(MAKE) api MODE=DEBUG +# echo "Finished building Isis API with debugging" +# echo " " + +#---------------------------------------------------------------------------- +# Target = apps +# Dependencies = none +# +# This will build and install all the Isis application in the directory +# $(ISISROOT)/bin. It also installs the application Xml file in +# $(ISISROOT/bin/xml. Again the make system traverse the apps directories +# (src/base/apps) and builds/installs each application. Of course the +# API must be built for this to work properly +#---------------------------------------------------------------------------- +apps: + echo $(CURTIMESTAMP) "Building Isis Applications" + mkdir -p bin/xml + $(MAKE) --directory=src applications + echo $(CURTIMESTAMP) "Finished building Isis Applications" + echo $(CURTIMESTAMP) " " + +#---------------------------------------------------------------------------- +# Target = docs +# Dependencies = none +# +# This target traverse both the objs and apps directories and moves the +# Xml and assets directories into specific sub-directories under +# $(ISISROOT)/src/docsys. Then it builds the entire docsys tree which +# generates the Isis Documentation under $(ISISROOT)/doc +#---------------------------------------------------------------------------- +docs: + echo $(CURTIMESTAMP) "Building Isis Documentation" + mkdir -p doc + $(MAKE) --directory=src documentation + $(MAKE) --directory=src/docsys docs + echo $(CURTIMESTAMP) "Finished building Isis Documentation" + + +#---------------------------------------------------------------------------- +# Target = coverage +# Dependencies = none +# +# This target builds a report on how much of Isis is tested in the automated +# tests. This is currently excluding applications that run other applications +# because of the amount of time it takes to generate the report (and that's +# not how we want to test our applications ideally). +#---------------------------------------------------------------------------- +coverage: + if [ "$(CODE_COVERAGE_BIN_DIR)" == "" ]; then \ + echo "Make sure you use MODE=TC when building Isis for a coverage" \ + "report."; \ + exit 1; \ + fi; \ + $(ECHO) $(CURTIMESTAMP) "Finding coverage information..."; \ + CSMESFILES=( lib/libisis$(ISISLIBVERSION).so.csmes \ + `find src/*/apps -name "*.o.csmes" | grep -v moc_` ); \ + CSEXEFILES=(`find src/ -name "*.csexe"` `find bin/ -name "*.csexe"`); \ + if [ "$${#CSMESFILES[@]}" == "0" ] || \ + [ "$${#CSEXEFILES[@]}" == "0" ]; then \ + echo "Please build Isis and run the tests with MODE=TC before " \ + "trying to build a coverage report."; \ + exit 1; \ + fi; \ + $(ECHO) $(CURTIMESTAMP) "Merging source file information into isis.csmes..."; \ + $(CODE_COVERAGE_BIN_DIR)/cmmerge $${CSMESFILES[@]} -o isis.csmes; \ + $(ECHO) $(CURTIMESTAMP) "Adding test execution records into isis.csmes..."; \ + for CSEXEFILE in $${CSEXEFILES[@]}; do \ + EXETESTNAME="$$CSEXEFILE"; \ + APPTESTAPPNAME=`echo $$CSEXEFILE | sed 's#\\(.*/apps/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\([^/]*\)\(/.*\)#\\2#'`; \ + CSEXEAPPNAME=`basename $$CSEXEFILE | sed 's/.csexe//'`; \ + if [ "$$APPTESTAPPNAME" == "$$CSEXEFILE" ] || \ + [ "$$APPTESTAPPNAME" == "$$CSEXEAPPNAME" ] || \ + [ "`dirname $$CSEXEFILE`" == "bin" ]; then \ + EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(.*/apps/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\([^/]*\)\(/.*\)#\\2 Application Test (case \\4\\)#'`; \ + EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(src/\\)\\([a-zA-Z0-9]*\\)\\(/tsts/\\)\\([a-zA-Z0-9]*\\)\\(.*\\)#\\2 Category Test (case \\4\\)#'`; \ + EXETESTNAME=`echo $$EXETESTNAME | sed 's#\\(.*/\\)\\([^/]*\\)\\(/unitTest.csexe\\)#\\2 Unit Test#'`; \ + $(ECHO) -e $(CURTIMESTAMP) " Adding [$$EXETESTNAME] `basename $$CSEXEFILE`"; \ + $(CODE_COVERAGE_BIN_DIR)/cmcsexeimport -t "$$EXETESTNAME" \ + -e $$CSEXEFILE -m "isis.csmes"; \ + fi; \ + done; \ + $(ECHO) -ne $(CURTIMESTAMP) "Scope Coverage: "; \ + $(CODE_COVERAGE_BIN_DIR)/cmreport \ + --title="Isis System-Wide Test Scope Coverage" \ + -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ + --global=all --method=all --source=all --execution=all \ + --method-sort=coverage --execution-sort=coverage \ + --source-sort=coverage -h scopecoverage; \ + $(ECHO) -ne $(CURTIMESTAMP) "Line Coverage: "; \ + $(CODE_COVERAGE_BIN_DIR)/cmreport \ + --title="Isis System-Wide Test Line Coverage" \ + -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ + --global=all --method=all --source=all --execution=all \ + --method-sort=coverage --execution-sort=coverage \ + --source-sort=coverage --line-coverage -h linecoverage; \ + $(ECHO) -ne $(CURTIMESTAMP) "Function Coverage: "; \ + $(CODE_COVERAGE_BIN_DIR)/cmreport \ + --title="Isis System-Wide Test Function Coverage" \ + -m "`basename $$PWD`.csmes" --select=".*" --bargraph --toc --stat \ + --global=all --method=all --source=all --execution=all \ + --method-sort=coverage --execution-sort=coverage \ + --source-sort=coverage --function-coverage -h functioncoverage; + + +#---------------------------------------------------------------------------- +# Target = quickclean +# +# This target cleans the entire Isis system enough for a recompile. It cleans ".o" files and +# binary executables from the source tree. It also, clears the running +# areas under $ISISROOT (inc, doc, bin, bin/xml, and lib) +# +# Target = quickclean +# Dependencies = none +# +# This walks the src tree and removes ".o" files and binary files +#---------------------------------------------------------------------------- +quickclean: + echo $(CURTIMESTAMP) "Cleaning Isis (quick)"; \ + $(MAKE) --directory=src quickclean; \ + rm -rf inc; \ + rm -rf doc; \ + rm -rf bin; \ + rm -rf lib; \ + rm -rf scripts/tabcomplete.csh; \ + rm -rf scopecoverage scopecoverage.html linecoverage linecoverage.html \ + functioncoverage functioncoverage.html *.csmes *.csexe; \ + $(MAKE) --directory=3rdParty clean; \ + echo $(CURTIMESTAMP) "Finished cleaning Isis"; + +#---------------------------------------------------------------------------- +# Target = clean +# Dependencies = cleansrc +# +# This target cleans the entire Isis system. It cleans ".o" files and +# binary executables from the source tree. It also clears the running +# areas under $ISISROOT (inc, doc, bini, bin/xml, and lib) +# +# Target = cleansrc +# Dependencies = none +# +# This walks the src tree and removes ".o" files and binary files +#---------------------------------------------------------------------------- clean: - $(MAKE) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named docs - -# Build rule for target. -docs: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 docs -.PHONY : docs - -# fast build rule for target. -docs/fast: - $(MAKE) -f CMakeFiles/docs.dir/build.make CMakeFiles/docs.dir/build -.PHONY : docs/fast - -#============================================================================= -# Target rules for targets named ContinuousSubmit - -# Build rule for target. -ContinuousSubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousSubmit -.PHONY : ContinuousSubmit - -# fast build rule for target. -ContinuousSubmit/fast: - $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build -.PHONY : ContinuousSubmit/fast - -#============================================================================= -# Target rules for targets named ContinuousCoverage - -# Build rule for target. -ContinuousCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousCoverage -.PHONY : ContinuousCoverage - -# fast build rule for target. -ContinuousCoverage/fast: - $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build -.PHONY : ContinuousCoverage/fast - -#============================================================================= -# Target rules for targets named ContinuousTest - -# Build rule for target. -ContinuousTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousTest -.PHONY : ContinuousTest - -# fast build rule for target. -ContinuousTest/fast: - $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build -.PHONY : ContinuousTest/fast - -#============================================================================= -# Target rules for targets named ContinuousBuild - -# Build rule for target. -ContinuousBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousBuild -.PHONY : ContinuousBuild - -# fast build rule for target. -ContinuousBuild/fast: - $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build -.PHONY : ContinuousBuild/fast - -#============================================================================= -# Target rules for targets named ContinuousMemCheck - -# Build rule for target. -ContinuousMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousMemCheck -.PHONY : ContinuousMemCheck - -# fast build rule for target. -ContinuousMemCheck/fast: - $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build -.PHONY : ContinuousMemCheck/fast - -#============================================================================= -# Target rules for targets named Nightly - -# Build rule for target. -Nightly: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Nightly -.PHONY : Nightly - -# fast build rule for target. -Nightly/fast: - $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build -.PHONY : Nightly/fast - -#============================================================================= -# Target rules for targets named NightlyTest - -# Build rule for target. -NightlyTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyTest -.PHONY : NightlyTest - -# fast build rule for target. -NightlyTest/fast: - $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build -.PHONY : NightlyTest/fast - -#============================================================================= -# Target rules for targets named NightlyUpdate - -# Build rule for target. -NightlyUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyUpdate -.PHONY : NightlyUpdate - -# fast build rule for target. -NightlyUpdate/fast: - $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build -.PHONY : NightlyUpdate/fast - -#============================================================================= -# Target rules for targets named Continuous - -# Build rule for target. -Continuous: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Continuous -.PHONY : Continuous - -# fast build rule for target. -Continuous/fast: - $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build -.PHONY : Continuous/fast - -#============================================================================= -# Target rules for targets named NightlyBuild - -# Build rule for target. -NightlyBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyBuild -.PHONY : NightlyBuild - -# fast build rule for target. -NightlyBuild/fast: - $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build -.PHONY : NightlyBuild/fast - -#============================================================================= -# Target rules for targets named NightlyStart - -# Build rule for target. -NightlyStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyStart -.PHONY : NightlyStart - -# fast build rule for target. -NightlyStart/fast: - $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build -.PHONY : NightlyStart/fast - -#============================================================================= -# Target rules for targets named NightlyMemoryCheck - -# Build rule for target. -NightlyMemoryCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyMemoryCheck -.PHONY : NightlyMemoryCheck - -# fast build rule for target. -NightlyMemoryCheck/fast: - $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build -.PHONY : NightlyMemoryCheck/fast - -#============================================================================= -# Target rules for targets named NightlyMemCheck - -# Build rule for target. -NightlyMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyMemCheck -.PHONY : NightlyMemCheck - -# fast build rule for target. -NightlyMemCheck/fast: - $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build -.PHONY : NightlyMemCheck/fast - -#============================================================================= -# Target rules for targets named clean_source - -# Build rule for target. -clean_source: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clean_source -.PHONY : clean_source - -# fast build rule for target. -clean_source/fast: - $(MAKE) -f CMakeFiles/clean_source.dir/build.make CMakeFiles/clean_source.dir/build -.PHONY : clean_source/fast - -#============================================================================= -# Target rules for targets named ExperimentalStart - -# Build rule for target. -ExperimentalStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalStart -.PHONY : ExperimentalStart - -# fast build rule for target. -ExperimentalStart/fast: - $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build -.PHONY : ExperimentalStart/fast - -#============================================================================= -# Target rules for targets named ContinuousConfigure - -# Build rule for target. -ContinuousConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousConfigure -.PHONY : ContinuousConfigure - -# fast build rule for target. -ContinuousConfigure/fast: - $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build -.PHONY : ContinuousConfigure/fast - -#============================================================================= -# Target rules for targets named NightlyCoverage - -# Build rule for target. -NightlyCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyCoverage -.PHONY : NightlyCoverage - -# fast build rule for target. -NightlyCoverage/fast: - $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build -.PHONY : NightlyCoverage/fast - -#============================================================================= -# Target rules for targets named ExperimentalUpdate - -# Build rule for target. -ExperimentalUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalUpdate -.PHONY : ExperimentalUpdate - -# fast build rule for target. -ExperimentalUpdate/fast: - $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build -.PHONY : ExperimentalUpdate/fast - -#============================================================================= -# Target rules for targets named ExperimentalConfigure - -# Build rule for target. -ExperimentalConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalConfigure -.PHONY : ExperimentalConfigure - -# fast build rule for target. -ExperimentalConfigure/fast: - $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build -.PHONY : ExperimentalConfigure/fast - -#============================================================================= -# Target rules for targets named ExperimentalCoverage - -# Build rule for target. -ExperimentalCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalCoverage -.PHONY : ExperimentalCoverage - -# fast build rule for target. -ExperimentalCoverage/fast: - $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build -.PHONY : ExperimentalCoverage/fast - -#============================================================================= -# Target rules for targets named ExperimentalBuild - -# Build rule for target. -ExperimentalBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalBuild -.PHONY : ExperimentalBuild - -# fast build rule for target. -ExperimentalBuild/fast: - $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build -.PHONY : ExperimentalBuild/fast - -#============================================================================= -# Target rules for targets named NightlyConfigure - -# Build rule for target. -NightlyConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyConfigure -.PHONY : NightlyConfigure - -# fast build rule for target. -NightlyConfigure/fast: - $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build -.PHONY : NightlyConfigure/fast - -#============================================================================= -# Target rules for targets named ExperimentalTest - -# Build rule for target. -ExperimentalTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalTest -.PHONY : ExperimentalTest - -# fast build rule for target. -ExperimentalTest/fast: - $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build -.PHONY : ExperimentalTest/fast - -#============================================================================= -# Target rules for targets named ExperimentalMemCheck - -# Build rule for target. -ExperimentalMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalMemCheck -.PHONY : ExperimentalMemCheck - -# fast build rule for target. -ExperimentalMemCheck/fast: - $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build -.PHONY : ExperimentalMemCheck/fast - -#============================================================================= -# Target rules for targets named Experimental - -# Build rule for target. -Experimental: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Experimental -.PHONY : Experimental - -# fast build rule for target. -Experimental/fast: - $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build -.PHONY : Experimental/fast - -#============================================================================= -# Target rules for targets named NightlySubmit - -# Build rule for target. -NightlySubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlySubmit -.PHONY : NightlySubmit - -# fast build rule for target. -NightlySubmit/fast: - $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build -.PHONY : NightlySubmit/fast - -#============================================================================= -# Target rules for targets named ExperimentalSubmit - -# Build rule for target. -ExperimentalSubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalSubmit -.PHONY : ExperimentalSubmit - -# fast build rule for target. -ExperimentalSubmit/fast: - $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build -.PHONY : ExperimentalSubmit/fast - -#============================================================================= -# Target rules for targets named ContinuousStart - -# Build rule for target. -ContinuousStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousStart -.PHONY : ContinuousStart - -# fast build rule for target. -ContinuousStart/fast: - $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build -.PHONY : ContinuousStart/fast - -#============================================================================= -# Target rules for targets named ContinuousUpdate - -# Build rule for target. -ContinuousUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousUpdate -.PHONY : ContinuousUpdate - -# fast build rule for target. -ContinuousUpdate/fast: - $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build -.PHONY : ContinuousUpdate/fast - -#============================================================================= -# Target rules for targets named VoyagerCamera - -# Build rule for target. -VoyagerCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 VoyagerCamera -.PHONY : VoyagerCamera - -# fast build rule for target. -VoyagerCamera/fast: - $(MAKE) -f objects/CMakeFiles/VoyagerCamera.dir/build.make objects/CMakeFiles/VoyagerCamera.dir/build -.PHONY : VoyagerCamera/fast - -#============================================================================= -# Target rules for targets named viknonoodle_app - -# Build rule for target. -viknonoodle_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 viknonoodle_app -.PHONY : viknonoodle_app - -# fast build rule for target. -viknonoodle_app/fast: - $(MAKE) -f objects/CMakeFiles/viknonoodle_app.dir/build.make objects/CMakeFiles/viknonoodle_app.dir/build -.PHONY : viknonoodle_app/fast - -#============================================================================= -# Target rules for targets named vikcal_app - -# Build rule for target. -vikcal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vikcal_app -.PHONY : vikcal_app - -# fast build rule for target. -vikcal_app/fast: - $(MAKE) -f objects/CMakeFiles/vikcal_app.dir/build.make objects/CMakeFiles/vikcal_app.dir/build -.PHONY : vikcal_app/fast - -#============================================================================= -# Target rules for targets named vik2isis_app - -# Build rule for target. -vik2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vik2isis_app -.PHONY : vik2isis_app - -# fast build rule for target. -vik2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/vik2isis_app.dir/build.make objects/CMakeFiles/vik2isis_app.dir/build -.PHONY : vik2isis_app/fast - -#============================================================================= -# Target rules for targets named rososiris2isis_app - -# Build rule for target. -rososiris2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 rososiris2isis_app -.PHONY : rososiris2isis_app - -# fast build rule for target. -rososiris2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/rososiris2isis_app.dir/build.make objects/CMakeFiles/rososiris2isis_app.dir/build -.PHONY : rososiris2isis_app/fast - -#============================================================================= -# Target rules for targets named RosettaVirtisCamera - -# Build rule for target. -RosettaVirtisCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 RosettaVirtisCamera -.PHONY : RosettaVirtisCamera - -# fast build rule for target. -RosettaVirtisCamera/fast: - $(MAKE) -f objects/CMakeFiles/RosettaVirtisCamera.dir/build.make objects/CMakeFiles/RosettaVirtisCamera.dir/build -.PHONY : RosettaVirtisCamera/fast - -#============================================================================= -# Target rules for targets named thmvisflat_app - -# Build rule for target. -thmvisflat_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmvisflat_app -.PHONY : thmvisflat_app - -# fast build rule for target. -thmvisflat_app/fast: - $(MAKE) -f objects/CMakeFiles/thmvisflat_app.dir/build.make objects/CMakeFiles/thmvisflat_app.dir/build -.PHONY : thmvisflat_app/fast - -#============================================================================= -# Target rules for targets named ThemisVisCamera - -# Build rule for target. -ThemisVisCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ThemisVisCamera -.PHONY : ThemisVisCamera - -# fast build rule for target. -ThemisVisCamera/fast: - $(MAKE) -f objects/CMakeFiles/ThemisVisCamera.dir/build.make objects/CMakeFiles/ThemisVisCamera.dir/build -.PHONY : ThemisVisCamera/fast - -#============================================================================= -# Target rules for targets named mroctx2isis_app - -# Build rule for target. -mroctx2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mroctx2isis_app -.PHONY : mroctx2isis_app - -# fast build rule for target. -mroctx2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mroctx2isis_app.dir/build.make objects/CMakeFiles/mroctx2isis_app.dir/build -.PHONY : mroctx2isis_app/fast - -#============================================================================= -# Target rules for targets named marcical_app - -# Build rule for target. -marcical_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 marcical_app -.PHONY : marcical_app - -# fast build rule for target. -marcical_app/fast: - $(MAKE) -f objects/CMakeFiles/marcical_app.dir/build.make objects/CMakeFiles/marcical_app.dir/build -.PHONY : marcical_app/fast - -#============================================================================= -# Target rules for targets named marci2isis_app - -# Build rule for target. -marci2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 marci2isis_app -.PHONY : marci2isis_app - -# fast build rule for target. -marci2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/marci2isis_app.dir/build.make objects/CMakeFiles/marci2isis_app.dir/build -.PHONY : marci2isis_app/fast - -#============================================================================= -# Target rules for targets named histitch_app - -# Build rule for target. -histitch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 histitch_app -.PHONY : histitch_app - -# fast build rule for target. -histitch_app/fast: - $(MAKE) -f objects/CMakeFiles/histitch_app.dir/build.make objects/CMakeFiles/histitch_app.dir/build -.PHONY : histitch_app/fast - -#============================================================================= -# Target rules for targets named histat_app - -# Build rule for target. -histat_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 histat_app -.PHONY : histat_app - -# fast build rule for target. -histat_app/fast: - $(MAKE) -f objects/CMakeFiles/histat_app.dir/build.make objects/CMakeFiles/histat_app.dir/build -.PHONY : histat_app/fast - -#============================================================================= -# Target rules for targets named hirdrgen_app - -# Build rule for target. -hirdrgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hirdrgen_app -.PHONY : hirdrgen_app - -# fast build rule for target. -hirdrgen_app/fast: - $(MAKE) -f objects/CMakeFiles/hirdrgen_app.dir/build.make objects/CMakeFiles/hirdrgen_app.dir/build -.PHONY : hirdrgen_app/fast - -#============================================================================= -# Target rules for targets named hinoise_app - -# Build rule for target. -hinoise_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hinoise_app -.PHONY : hinoise_app - -# fast build rule for target. -hinoise_app/fast: - $(MAKE) -f objects/CMakeFiles/hinoise_app.dir/build.make objects/CMakeFiles/hinoise_app.dir/build -.PHONY : hinoise_app/fast - -#============================================================================= -# Target rules for targets named hisharpen_app - -# Build rule for target. -hisharpen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hisharpen_app -.PHONY : hisharpen_app - -# fast build rule for target. -hisharpen_app/fast: - $(MAKE) -f objects/CMakeFiles/hisharpen_app.dir/build.make objects/CMakeFiles/hisharpen_app.dir/build -.PHONY : hisharpen_app/fast - -#============================================================================= -# Target rules for targets named hijitter_app - -# Build rule for target. -hijitter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hijitter_app -.PHONY : hijitter_app - -# fast build rule for target. -hijitter_app/fast: - $(MAKE) -f objects/CMakeFiles/hijitter_app.dir/build.make objects/CMakeFiles/hijitter_app.dir/build -.PHONY : hijitter_app/fast - -#============================================================================= -# Target rules for targets named hifringe_app - -# Build rule for target. -hifringe_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hifringe_app -.PHONY : hifringe_app - -# fast build rule for target. -hifringe_app/fast: - $(MAKE) -f objects/CMakeFiles/hifringe_app.dir/build.make objects/CMakeFiles/hifringe_app.dir/build -.PHONY : hifringe_app/fast - -#============================================================================= -# Target rules for targets named hidtmgen_app - -# Build rule for target. -hidtmgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hidtmgen_app -.PHONY : hidtmgen_app - -# fast build rule for target. -hidtmgen_app/fast: - $(MAKE) -f objects/CMakeFiles/hidtmgen_app.dir/build.make objects/CMakeFiles/hidtmgen_app.dir/build -.PHONY : hidtmgen_app/fast - -#============================================================================= -# Target rules for targets named hicrop_app - -# Build rule for target. -hicrop_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicrop_app -.PHONY : hicrop_app - -# fast build rule for target. -hicrop_app/fast: - $(MAKE) -f objects/CMakeFiles/hicrop_app.dir/build.make objects/CMakeFiles/hicrop_app.dir/build -.PHONY : hicrop_app/fast - -#============================================================================= -# Target rules for targets named hiccdstitch_app - -# Build rule for target. -hiccdstitch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hiccdstitch_app -.PHONY : hiccdstitch_app - -# fast build rule for target. -hiccdstitch_app/fast: - $(MAKE) -f objects/CMakeFiles/hiccdstitch_app.dir/build.make objects/CMakeFiles/hiccdstitch_app.dir/build -.PHONY : hiccdstitch_app/fast - -#============================================================================= -# Target rules for targets named hicalproc_app - -# Build rule for target. -hicalproc_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicalproc_app -.PHONY : hicalproc_app - -# fast build rule for target. -hicalproc_app/fast: - $(MAKE) -f objects/CMakeFiles/hicalproc_app.dir/build.make objects/CMakeFiles/hicalproc_app.dir/build -.PHONY : hicalproc_app/fast - -#============================================================================= -# Target rules for targets named hical_app - -# Build rule for target. -hical_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hical_app -.PHONY : hical_app - -# fast build rule for target. -hical_app/fast: - $(MAKE) -f objects/CMakeFiles/hical_app.dir/build.make objects/CMakeFiles/hical_app.dir/build -.PHONY : hical_app/fast - -#============================================================================= -# Target rules for targets named ctxcal_app - -# Build rule for target. -ctxcal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ctxcal_app -.PHONY : ctxcal_app - -# fast build rule for target. -ctxcal_app/fast: - $(MAKE) -f objects/CMakeFiles/ctxcal_app.dir/build.make objects/CMakeFiles/ctxcal_app.dir/build -.PHONY : ctxcal_app/fast - -#============================================================================= -# Target rules for targets named crism2isis_app - -# Build rule for target. -crism2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 crism2isis_app -.PHONY : crism2isis_app - -# fast build rule for target. -crism2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/crism2isis_app.dir/build.make objects/CMakeFiles/crism2isis_app.dir/build -.PHONY : crism2isis_app/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_MarciCamera - -# Build rule for target. -mro_unit_test_MarciCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_MarciCamera -.PHONY : mro_unit_test_MarciCamera - -# fast build rule for target. -mro_unit_test_MarciCamera/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_MarciCamera.dir/build.make objects/CMakeFiles/mro_unit_test_MarciCamera.dir/build -.PHONY : mro_unit_test_MarciCamera/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_HiriseCamera - -# Build rule for target. -mro_unit_test_HiriseCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiriseCamera -.PHONY : mro_unit_test_HiriseCamera - -# fast build rule for target. -mro_unit_test_HiriseCamera/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiriseCamera.dir/build.make objects/CMakeFiles/mro_unit_test_HiriseCamera.dir/build -.PHONY : mro_unit_test_HiriseCamera/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_CTXCamera - -# Build rule for target. -mro_unit_test_CTXCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_CTXCamera -.PHONY : mro_unit_test_CTXCamera - -# fast build rule for target. -mro_unit_test_CTXCamera/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_CTXCamera.dir/build.make objects/CMakeFiles/mro_unit_test_CTXCamera.dir/build -.PHONY : mro_unit_test_CTXCamera/fast - -#============================================================================= -# Target rules for targets named mro - -# Build rule for target. -mro: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro -.PHONY : mro - -# fast build rule for target. -mro/fast: - $(MAKE) -f objects/CMakeFiles/mro.dir/build.make objects/CMakeFiles/mro.dir/build -.PHONY : mro/fast - -#============================================================================= -# Target rules for targets named HiriseCamera - -# Build rule for target. -HiriseCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HiriseCamera -.PHONY : HiriseCamera - -# fast build rule for target. -HiriseCamera/fast: - $(MAKE) -f objects/CMakeFiles/HiriseCamera.dir/build.make objects/CMakeFiles/HiriseCamera.dir/build -.PHONY : HiriseCamera/fast - -#============================================================================= -# Target rules for targets named CrismCamera - -# Build rule for target. -CrismCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 CrismCamera -.PHONY : CrismCamera - -# fast build rule for target. -CrismCamera/fast: - $(MAKE) -f objects/CMakeFiles/CrismCamera.dir/build.make objects/CMakeFiles/CrismCamera.dir/build -.PHONY : CrismCamera/fast - -#============================================================================= -# Target rules for targets named mocuncompress_app - -# Build rule for target. -mocuncompress_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mocuncompress_app -.PHONY : mocuncompress_app - -# fast build rule for target. -mocuncompress_app/fast: - $(MAKE) -f objects/CMakeFiles/mocuncompress_app.dir/build.make objects/CMakeFiles/mocuncompress_app.dir/build -.PHONY : mocuncompress_app/fast - -#============================================================================= -# Target rules for targets named mocproc_app - -# Build rule for target. -mocproc_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mocproc_app -.PHONY : mocproc_app - -# fast build rule for target. -mocproc_app/fast: - $(MAKE) -f objects/CMakeFiles/mocproc_app.dir/build.make objects/CMakeFiles/mocproc_app.dir/build -.PHONY : mocproc_app/fast - -#============================================================================= -# Target rules for targets named mocnoise50_app - -# Build rule for target. -mocnoise50_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mocnoise50_app -.PHONY : mocnoise50_app - -# fast build rule for target. -mocnoise50_app/fast: - $(MAKE) -f objects/CMakeFiles/mocnoise50_app.dir/build.make objects/CMakeFiles/mocnoise50_app.dir/build -.PHONY : mocnoise50_app/fast - -#============================================================================= -# Target rules for targets named mocgap_app - -# Build rule for target. -mocgap_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mocgap_app -.PHONY : mocgap_app - -# fast build rule for target. -mocgap_app/fast: - $(MAKE) -f objects/CMakeFiles/mocgap_app.dir/build.make objects/CMakeFiles/mocgap_app.dir/build -.PHONY : mocgap_app/fast - -#============================================================================= -# Target rules for targets named moccal_app - -# Build rule for target. -moccal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 moccal_app -.PHONY : moccal_app - -# fast build rule for target. -moccal_app/fast: - $(MAKE) -f objects/CMakeFiles/moccal_app.dir/build.make objects/CMakeFiles/moccal_app.dir/build -.PHONY : moccal_app/fast - -#============================================================================= -# Target rules for targets named mgs_unit_test_MocWideAngleCamera - -# Build rule for target. -mgs_unit_test_MocWideAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocWideAngleCamera -.PHONY : mgs_unit_test_MocWideAngleCamera - -# fast build rule for target. -mgs_unit_test_MocWideAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocWideAngleCamera.dir/build.make objects/CMakeFiles/mgs_unit_test_MocWideAngleCamera.dir/build -.PHONY : mgs_unit_test_MocWideAngleCamera/fast - -#============================================================================= -# Target rules for targets named mgs_unit_test_MocLabels - -# Build rule for target. -mgs_unit_test_MocLabels: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocLabels -.PHONY : mgs_unit_test_MocLabels - -# fast build rule for target. -mgs_unit_test_MocLabels/fast: - $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocLabels.dir/build.make objects/CMakeFiles/mgs_unit_test_MocLabels.dir/build -.PHONY : mgs_unit_test_MocLabels/fast - -#============================================================================= -# Target rules for targets named mdisedrinfo_app - -# Build rule for target. -mdisedrinfo_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdisedrinfo_app -.PHONY : mdisedrinfo_app - -# fast build rule for target. -mdisedrinfo_app/fast: - $(MAKE) -f objects/CMakeFiles/mdisedrinfo_app.dir/build.make objects/CMakeFiles/mdisedrinfo_app.dir/build -.PHONY : mdisedrinfo_app/fast - -#============================================================================= -# Target rules for targets named mdis2pds_app - -# Build rule for target. -mdis2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdis2pds_app -.PHONY : mdis2pds_app - -# fast build rule for target. -mdis2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/mdis2pds_app.dir/build.make objects/CMakeFiles/mdis2pds_app.dir/build -.PHONY : mdis2pds_app/fast - -#============================================================================= -# Target rules for targets named mer2isis_app - -# Build rule for target. -mer2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mer2isis_app -.PHONY : mer2isis_app - -# fast build rule for target. -mer2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mer2isis_app.dir/build.make objects/CMakeFiles/mer2isis_app.dir/build -.PHONY : mer2isis_app/fast - -#============================================================================= -# Target rules for targets named mar10restore_app - -# Build rule for target. -mar10restore_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mar10restore_app -.PHONY : mar10restore_app - -# fast build rule for target. -mar10restore_app/fast: - $(MAKE) -f objects/CMakeFiles/mar10restore_app.dir/build.make objects/CMakeFiles/mar10restore_app.dir/build -.PHONY : mar10restore_app/fast - -#============================================================================= -# Target rules for targets named mar10cal_app - -# Build rule for target. -mar10cal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mar10cal_app -.PHONY : mar10cal_app - -# fast build rule for target. -mar10cal_app/fast: - $(MAKE) -f objects/CMakeFiles/mar10cal_app.dir/build.make objects/CMakeFiles/mar10cal_app.dir/build -.PHONY : mar10cal_app/fast - -#============================================================================= -# Target rules for targets named lrowacpho_app - -# Build rule for target. -lrowacpho_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lrowacpho_app -.PHONY : lrowacpho_app - -# fast build rule for target. -lrowacpho_app/fast: - $(MAKE) -f objects/CMakeFiles/lrowacpho_app.dir/build.make objects/CMakeFiles/lrowacpho_app.dir/build -.PHONY : lrowacpho_app/fast - -#============================================================================= -# Target rules for targets named lrowaccal_app - -# Build rule for target. -lrowaccal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lrowaccal_app -.PHONY : lrowaccal_app - -# fast build rule for target. -lrowaccal_app/fast: - $(MAKE) -f objects/CMakeFiles/lrowaccal_app.dir/build.make objects/CMakeFiles/lrowaccal_app.dir/build -.PHONY : lrowaccal_app/fast - -#============================================================================= -# Target rules for targets named lronacpho_app - -# Build rule for target. -lronacpho_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lronacpho_app -.PHONY : lronacpho_app - -# fast build rule for target. -lronacpho_app/fast: - $(MAKE) -f objects/CMakeFiles/lronacpho_app.dir/build.make objects/CMakeFiles/lronacpho_app.dir/build -.PHONY : lronacpho_app/fast - -#============================================================================= -# Target rules for targets named lronac2pds_app - -# Build rule for target. -lronac2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lronac2pds_app -.PHONY : lronac2pds_app - -# fast build rule for target. -lronac2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/lronac2pds_app.dir/build.make objects/CMakeFiles/lronac2pds_app.dir/build -.PHONY : lronac2pds_app/fast - -#============================================================================= -# Target rules for targets named lromakeflat_app - -# Build rule for target. -lromakeflat_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lromakeflat_app -.PHONY : lromakeflat_app - -# fast build rule for target. -lromakeflat_app/fast: - $(MAKE) -f objects/CMakeFiles/lromakeflat_app.dir/build.make objects/CMakeFiles/lromakeflat_app.dir/build -.PHONY : lromakeflat_app/fast - -#============================================================================= -# Target rules for targets named hicalbeta_app - -# Build rule for target. -hicalbeta_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicalbeta_app -.PHONY : hicalbeta_app - -# fast build rule for target. -hicalbeta_app/fast: - $(MAKE) -f objects/CMakeFiles/hicalbeta_app.dir/build.make objects/CMakeFiles/hicalbeta_app.dir/build -.PHONY : hicalbeta_app/fast - -#============================================================================= -# Target rules for targets named MiniRF - -# Build rule for target. -MiniRF: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MiniRF -.PHONY : MiniRF - -# fast build rule for target. -MiniRF/fast: - $(MAKE) -f objects/CMakeFiles/MiniRF.dir/build.make objects/CMakeFiles/MiniRF.dir/build -.PHONY : MiniRF/fast - -#============================================================================= -# Target rules for targets named LroWideAngleCamera - -# Build rule for target. -LroWideAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LroWideAngleCamera -.PHONY : LroWideAngleCamera - -# fast build rule for target. -LroWideAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/LroWideAngleCamera.dir/build.make objects/CMakeFiles/LroWideAngleCamera.dir/build -.PHONY : LroWideAngleCamera/fast - -#============================================================================= -# Target rules for targets named lo_unit_test_LoMediumCamera - -# Build rule for target. -lo_unit_test_LoMediumCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoMediumCamera -.PHONY : lo_unit_test_LoMediumCamera - -# fast build rule for target. -lo_unit_test_LoMediumCamera/fast: - $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoMediumCamera.dir/build.make objects/CMakeFiles/lo_unit_test_LoMediumCamera.dir/build -.PHONY : lo_unit_test_LoMediumCamera/fast - -#============================================================================= -# Target rules for targets named lo_unit_test_LoHighCamera - -# Build rule for target. -lo_unit_test_LoHighCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoHighCamera -.PHONY : lo_unit_test_LoHighCamera - -# fast build rule for target. -lo_unit_test_LoHighCamera/fast: - $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoHighCamera.dir/build.make objects/CMakeFiles/lo_unit_test_LoHighCamera.dir/build -.PHONY : lo_unit_test_LoHighCamera/fast - -#============================================================================= -# Target rules for targets named lo_unit_test_LoCameraFiducialMap - -# Build rule for target. -lo_unit_test_LoCameraFiducialMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lo_unit_test_LoCameraFiducialMap -.PHONY : lo_unit_test_LoCameraFiducialMap - -# fast build rule for target. -lo_unit_test_LoCameraFiducialMap/fast: - $(MAKE) -f objects/CMakeFiles/lo_unit_test_LoCameraFiducialMap.dir/build.make objects/CMakeFiles/lo_unit_test_LoCameraFiducialMap.dir/build -.PHONY : lo_unit_test_LoCameraFiducialMap/fast - -#============================================================================= -# Target rules for targets named lo - -# Build rule for target. -lo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lo -.PHONY : lo - -# fast build rule for target. -lo/fast: - $(MAKE) -f objects/CMakeFiles/lo.dir/build.make objects/CMakeFiles/lo.dir/build -.PHONY : lo/fast - -#============================================================================= -# Target rules for targets named kaguyatc2isis_app - -# Build rule for target. -kaguyatc2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kaguyatc2isis_app -.PHONY : kaguyatc2isis_app - -# fast build rule for target. -kaguyatc2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/kaguyatc2isis_app.dir/build.make objects/CMakeFiles/kaguyatc2isis_app.dir/build -.PHONY : kaguyatc2isis_app/fast - -#============================================================================= -# Target rules for targets named kaguyasp2isis_app - -# Build rule for target. -kaguyasp2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kaguyasp2isis_app -.PHONY : kaguyasp2isis_app - -# fast build rule for target. -kaguyasp2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/kaguyasp2isis_app.dir/build.make objects/CMakeFiles/kaguyasp2isis_app.dir/build -.PHONY : kaguyasp2isis_app/fast - -#============================================================================= -# Target rules for targets named nirs2isis_app - -# Build rule for target. -nirs2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 nirs2isis_app -.PHONY : nirs2isis_app - -# fast build rule for target. -nirs2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/nirs2isis_app.dir/build.make objects/CMakeFiles/nirs2isis_app.dir/build -.PHONY : nirs2isis_app/fast - -#============================================================================= -# Target rules for targets named HayabusaNirsCamera - -# Build rule for target. -HayabusaNirsCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HayabusaNirsCamera -.PHONY : HayabusaNirsCamera - -# fast build rule for target. -HayabusaNirsCamera/fast: - $(MAKE) -f objects/CMakeFiles/HayabusaNirsCamera.dir/build.make objects/CMakeFiles/HayabusaNirsCamera.dir/build -.PHONY : HayabusaNirsCamera/fast - -#============================================================================= -# Target rules for targets named voyramp_app - -# Build rule for target. -voyramp_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 voyramp_app -.PHONY : voyramp_app - -# fast build rule for target. -voyramp_app/fast: - $(MAKE) -f objects/CMakeFiles/voyramp_app.dir/build.make objects/CMakeFiles/voyramp_app.dir/build -.PHONY : voyramp_app/fast - -#============================================================================= -# Target rules for targets named gllssical_app - -# Build rule for target. -gllssical_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gllssical_app -.PHONY : gllssical_app - -# fast build rule for target. -gllssical_app/fast: - $(MAKE) -f objects/CMakeFiles/gllssical_app.dir/build.make objects/CMakeFiles/gllssical_app.dir/build -.PHONY : gllssical_app/fast - -#============================================================================= -# Target rules for targets named dawnfc2isis_app - -# Build rule for target. -dawnfc2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dawnfc2isis_app -.PHONY : dawnfc2isis_app - -# fast build rule for target. -dawnfc2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/dawnfc2isis_app.dir/build.make objects/CMakeFiles/dawnfc2isis_app.dir/build -.PHONY : dawnfc2isis_app/fast - -#============================================================================= -# Target rules for targets named clemnircal_app - -# Build rule for target. -clemnircal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clemnircal_app -.PHONY : clemnircal_app - -# fast build rule for target. -clemnircal_app/fast: - $(MAKE) -f objects/CMakeFiles/clemnircal_app.dir/build.make objects/CMakeFiles/clemnircal_app.dir/build -.PHONY : clemnircal_app/fast - -#============================================================================= -# Target rules for targets named clem2isis_app - -# Build rule for target. -clem2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clem2isis_app -.PHONY : clem2isis_app - -# fast build rule for target. -clem2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/clem2isis_app.dir/build.make objects/CMakeFiles/clem2isis_app.dir/build -.PHONY : clem2isis_app/fast - -#============================================================================= -# Target rules for targets named LwirCamera - -# Build rule for target. -LwirCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LwirCamera -.PHONY : LwirCamera - -# fast build rule for target. -LwirCamera/fast: - $(MAKE) -f objects/CMakeFiles/LwirCamera.dir/build.make objects/CMakeFiles/LwirCamera.dir/build -.PHONY : LwirCamera/fast - -#============================================================================= -# Target rules for targets named vimscal_app - -# Build rule for target. -vimscal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vimscal_app -.PHONY : vimscal_app - -# fast build rule for target. -vimscal_app/fast: - $(MAKE) -f objects/CMakeFiles/vimscal_app.dir/build.make objects/CMakeFiles/vimscal_app.dir/build -.PHONY : vimscal_app/fast - -#============================================================================= -# Target rules for targets named vims2isis_app - -# Build rule for target. -vims2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vims2isis_app -.PHONY : vims2isis_app - -# fast build rule for target. -vims2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/vims2isis_app.dir/build.make objects/CMakeFiles/vims2isis_app.dir/build -.PHONY : vims2isis_app/fast - -#============================================================================= -# Target rules for targets named cisscal_app - -# Build rule for target. -cisscal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cisscal_app -.PHONY : cisscal_app - -# fast build rule for target. -cisscal_app/fast: - $(MAKE) -f objects/CMakeFiles/cisscal_app.dir/build.make objects/CMakeFiles/cisscal_app.dir/build -.PHONY : cisscal_app/fast - -#============================================================================= -# Target rules for targets named cassini_unit_test_IssWACamera - -# Build rule for target. -cassini_unit_test_IssWACamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_IssWACamera -.PHONY : cassini_unit_test_IssWACamera - -# fast build rule for target. -cassini_unit_test_IssWACamera/fast: - $(MAKE) -f objects/CMakeFiles/cassini_unit_test_IssWACamera.dir/build.make objects/CMakeFiles/cassini_unit_test_IssWACamera.dir/build -.PHONY : cassini_unit_test_IssWACamera/fast - -#============================================================================= -# Target rules for targets named vikclean_app - -# Build rule for target. -vikclean_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vikclean_app -.PHONY : vikclean_app - -# fast build rule for target. -vikclean_app/fast: - $(MAKE) -f objects/CMakeFiles/vikclean_app.dir/build.make objects/CMakeFiles/vikclean_app.dir/build -.PHONY : vikclean_app/fast - -#============================================================================= -# Target rules for targets named cassini - -# Build rule for target. -cassini: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini -.PHONY : cassini - -# fast build rule for target. -cassini/fast: - $(MAKE) -f objects/CMakeFiles/cassini.dir/build.make objects/CMakeFiles/cassini.dir/build -.PHONY : cassini/fast - -#============================================================================= -# Target rules for targets named IssNACamera - -# Build rule for target. -IssNACamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 IssNACamera -.PHONY : IssNACamera - -# fast build rule for target. -IssNACamera/fast: - $(MAKE) -f objects/CMakeFiles/IssNACamera.dir/build.make objects/CMakeFiles/IssNACamera.dir/build -.PHONY : IssNACamera/fast - -#============================================================================= -# Target rules for targets named apollowarp_app - -# Build rule for target. -apollowarp_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollowarp_app -.PHONY : apollowarp_app - -# fast build rule for target. -apollowarp_app/fast: - $(MAKE) -f objects/CMakeFiles/apollowarp_app.dir/build.make objects/CMakeFiles/apollowarp_app.dir/build -.PHONY : apollowarp_app/fast - -#============================================================================= -# Target rules for targets named lorri2isis_app - -# Build rule for target. -lorri2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lorri2isis_app -.PHONY : lorri2isis_app - -# fast build rule for target. -lorri2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/lorri2isis_app.dir/build.make objects/CMakeFiles/lorri2isis_app.dir/build -.PHONY : lorri2isis_app/fast - -#============================================================================= -# Target rules for targets named apolloremrx_app - -# Build rule for target. -apolloremrx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apolloremrx_app -.PHONY : apolloremrx_app - -# fast build rule for target. -apolloremrx_app/fast: - $(MAKE) -f objects/CMakeFiles/apolloremrx_app.dir/build.make objects/CMakeFiles/apolloremrx_app.dir/build -.PHONY : apolloremrx_app/fast - -#============================================================================= -# Target rules for targets named apollopaninit_app - -# Build rule for target. -apollopaninit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollopaninit_app -.PHONY : apollopaninit_app - -# fast build rule for target. -apollopaninit_app/fast: - $(MAKE) -f objects/CMakeFiles/apollopaninit_app.dir/build.make objects/CMakeFiles/apollopaninit_app.dir/build -.PHONY : apollopaninit_app/fast - -#============================================================================= -# Target rules for targets named apollofindrx_app - -# Build rule for target. -apollofindrx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollofindrx_app -.PHONY : apollofindrx_app - -# fast build rule for target. -apollofindrx_app/fast: - $(MAKE) -f objects/CMakeFiles/apollofindrx_app.dir/build.make objects/CMakeFiles/apollofindrx_app.dir/build -.PHONY : apollofindrx_app/fast - -#============================================================================= -# Target rules for targets named apollo2isis_app - -# Build rule for target. -apollo2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo2isis_app -.PHONY : apollo2isis_app - -# fast build rule for target. -apollo2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/apollo2isis_app.dir/build.make objects/CMakeFiles/apollo2isis_app.dir/build -.PHONY : apollo2isis_app/fast - -#============================================================================= -# Target rules for targets named apollo_unit_test_CentroidApolloPan - -# Build rule for target. -apollo_unit_test_CentroidApolloPan: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_CentroidApolloPan -.PHONY : apollo_unit_test_CentroidApolloPan - -# fast build rule for target. -apollo_unit_test_CentroidApolloPan/fast: - $(MAKE) -f objects/CMakeFiles/apollo_unit_test_CentroidApolloPan.dir/build.make objects/CMakeFiles/apollo_unit_test_CentroidApolloPan.dir/build -.PHONY : apollo_unit_test_CentroidApolloPan/fast - -#============================================================================= -# Target rules for targets named ApolloPanoramicCamera - -# Build rule for target. -ApolloPanoramicCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ApolloPanoramicCamera -.PHONY : ApolloPanoramicCamera - -# fast build rule for target. -ApolloPanoramicCamera/fast: - $(MAKE) -f objects/CMakeFiles/ApolloPanoramicCamera.dir/build.make objects/CMakeFiles/ApolloPanoramicCamera.dir/build -.PHONY : ApolloPanoramicCamera/fast - -#============================================================================= -# Target rules for targets named ApolloMetricCamera - -# Build rule for target. -ApolloMetricCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ApolloMetricCamera -.PHONY : ApolloMetricCamera - -# fast build rule for target. -ApolloMetricCamera/fast: - $(MAKE) -f objects/CMakeFiles/ApolloMetricCamera.dir/build.make objects/CMakeFiles/ApolloMetricCamera.dir/build -.PHONY : ApolloMetricCamera/fast - -#============================================================================= -# Target rules for targets named kerneldbgen_app - -# Build rule for target. -kerneldbgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kerneldbgen_app -.PHONY : kerneldbgen_app - -# fast build rule for target. -kerneldbgen_app/fast: - $(MAKE) -f objects/CMakeFiles/kerneldbgen_app.dir/build.make objects/CMakeFiles/kerneldbgen_app.dir/build -.PHONY : kerneldbgen_app/fast - -#============================================================================= -# Target rules for targets named isiscomplete_app - -# Build rule for target. -isiscomplete_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isiscomplete_app -.PHONY : isiscomplete_app - -# fast build rule for target. -isiscomplete_app/fast: - $(MAKE) -f objects/CMakeFiles/isiscomplete_app.dir/build.make objects/CMakeFiles/isiscomplete_app.dir/build -.PHONY : isiscomplete_app/fast - -#============================================================================= -# Target rules for targets named dempack_app - -# Build rule for target. -dempack_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dempack_app -.PHONY : dempack_app - -# fast build rule for target. -dempack_app/fast: - $(MAKE) -f objects/CMakeFiles/dempack_app.dir/build.make objects/CMakeFiles/dempack_app.dir/build -.PHONY : dempack_app/fast - -#============================================================================= -# Target rules for targets named hi2isis_app - -# Build rule for target. -hi2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hi2isis_app -.PHONY : hi2isis_app - -# fast build rule for target. -hi2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/hi2isis_app.dir/build.make objects/CMakeFiles/hi2isis_app.dir/build -.PHONY : hi2isis_app/fast - -#============================================================================= -# Target rules for targets named csspckgen_app - -# Build rule for target. -csspckgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 csspckgen_app -.PHONY : csspckgen_app - -# fast build rule for target. -csspckgen_app/fast: - $(MAKE) -f objects/CMakeFiles/csspckgen_app.dir/build.make objects/CMakeFiles/csspckgen_app.dir/build -.PHONY : csspckgen_app/fast - -#============================================================================= -# Target rules for targets named qtie_app - -# Build rule for target. -qtie_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 qtie_app -.PHONY : qtie_app - -# fast build rule for target. -qtie_app/fast: - $(MAKE) -f objects/CMakeFiles/qtie_app.dir/build.make objects/CMakeFiles/qtie_app.dir/build -.PHONY : qtie_app/fast - -#============================================================================= -# Target rules for targets named qnet_app - -# Build rule for target. -qnet_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 qnet_app -.PHONY : qnet_app - -# fast build rule for target. -qnet_app/fast: - $(MAKE) -f objects/CMakeFiles/qnet_app.dir/build.make objects/CMakeFiles/qnet_app.dir/build -.PHONY : qnet_app/fast - -#============================================================================= -# Target rules for targets named qmos_app - -# Build rule for target. -qmos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 qmos_app -.PHONY : qmos_app - -# fast build rule for target. -qmos_app/fast: - $(MAKE) -f objects/CMakeFiles/qmos_app.dir/build.make objects/CMakeFiles/qmos_app.dir/build -.PHONY : qmos_app/fast - -#============================================================================= -# Target rules for targets named warp_app - -# Build rule for target. -warp_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 warp_app -.PHONY : warp_app - -# fast build rule for target. -warp_app/fast: - $(MAKE) -f objects/CMakeFiles/warp_app.dir/build.make objects/CMakeFiles/warp_app.dir/build -.PHONY : warp_app/fast - -#============================================================================= -# Target rules for targets named sumspice_app - -# Build rule for target. -sumspice_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 sumspice_app -.PHONY : sumspice_app - -# fast build rule for target. -sumspice_app/fast: - $(MAKE) -f objects/CMakeFiles/sumspice_app.dir/build.make objects/CMakeFiles/sumspice_app.dir/build -.PHONY : sumspice_app/fast - -#============================================================================= -# Target rules for targets named slither_app - -# Build rule for target. -slither_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 slither_app -.PHONY : slither_app - -# fast build rule for target. -slither_app/fast: - $(MAKE) -f objects/CMakeFiles/slither_app.dir/build.make objects/CMakeFiles/slither_app.dir/build -.PHONY : slither_app/fast - -#============================================================================= -# Target rules for targets named prtloganalyzer_app - -# Build rule for target. -prtloganalyzer_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 prtloganalyzer_app -.PHONY : prtloganalyzer_app - -# fast build rule for target. -prtloganalyzer_app/fast: - $(MAKE) -f objects/CMakeFiles/prtloganalyzer_app.dir/build.make objects/CMakeFiles/prtloganalyzer_app.dir/build -.PHONY : prtloganalyzer_app/fast - -#============================================================================= -# Target rules for targets named jigsaw_app - -# Build rule for target. -jigsaw_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 jigsaw_app -.PHONY : jigsaw_app - -# fast build rule for target. -jigsaw_app/fast: - $(MAKE) -f objects/CMakeFiles/jigsaw_app.dir/build.make objects/CMakeFiles/jigsaw_app.dir/build -.PHONY : jigsaw_app/fast - -#============================================================================= -# Target rules for targets named fplanemap_app - -# Build rule for target. -fplanemap_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fplanemap_app -.PHONY : fplanemap_app - -# fast build rule for target. -fplanemap_app/fast: - $(MAKE) -f objects/CMakeFiles/fplanemap_app.dir/build.make objects/CMakeFiles/fplanemap_app.dir/build -.PHONY : fplanemap_app/fast - -#============================================================================= -# Target rules for targets named findfeatures_app - -# Build rule for target. -findfeatures_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 findfeatures_app -.PHONY : findfeatures_app - -# fast build rule for target. -findfeatures_app/fast: - $(MAKE) -f objects/CMakeFiles/findfeatures_app.dir/build.make objects/CMakeFiles/findfeatures_app.dir/build -.PHONY : findfeatures_app/fast - -#============================================================================= -# Target rules for targets named coreg_app - -# Build rule for target. -coreg_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 coreg_app -.PHONY : coreg_app - -# fast build rule for target. -coreg_app/fast: - $(MAKE) -f objects/CMakeFiles/coreg_app.dir/build.make objects/CMakeFiles/coreg_app.dir/build -.PHONY : coreg_app/fast - -#============================================================================= -# Target rules for targets named cnetwinnow_app - -# Build rule for target. -cnetwinnow_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetwinnow_app -.PHONY : cnetwinnow_app - -# fast build rule for target. -cnetwinnow_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetwinnow_app.dir/build.make objects/CMakeFiles/cnetwinnow_app.dir/build -.PHONY : cnetwinnow_app/fast - -#============================================================================= -# Target rules for targets named cnetthinner_app - -# Build rule for target. -cnetthinner_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetthinner_app -.PHONY : cnetthinner_app - -# fast build rule for target. -cnetthinner_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetthinner_app.dir/build.make objects/CMakeFiles/cnetthinner_app.dir/build -.PHONY : cnetthinner_app/fast - -#============================================================================= -# Target rules for targets named cnetpvl2bin_app - -# Build rule for target. -cnetpvl2bin_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetpvl2bin_app -.PHONY : cnetpvl2bin_app - -# fast build rule for target. -cnetpvl2bin_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetpvl2bin_app.dir/build.make objects/CMakeFiles/cnetpvl2bin_app.dir/build -.PHONY : cnetpvl2bin_app/fast - -#============================================================================= -# Target rules for targets named MsiCamera - -# Build rule for target. -MsiCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MsiCamera -.PHONY : MsiCamera - -# fast build rule for target. -MsiCamera/fast: - $(MAKE) -f objects/CMakeFiles/MsiCamera.dir/build.make objects/CMakeFiles/MsiCamera.dir/build -.PHONY : MsiCamera/fast - -#============================================================================= -# Target rules for targets named cnetmerge_app - -# Build rule for target. -cnetmerge_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetmerge_app -.PHONY : cnetmerge_app - -# fast build rule for target. -cnetmerge_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetmerge_app.dir/build.make objects/CMakeFiles/cnetmerge_app.dir/build -.PHONY : cnetmerge_app/fast - -#============================================================================= -# Target rules for targets named cnetnewradii_app - -# Build rule for target. -cnetnewradii_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetnewradii_app -.PHONY : cnetnewradii_app - -# fast build rule for target. -cnetnewradii_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetnewradii_app.dir/build.make objects/CMakeFiles/cnetnewradii_app.dir/build -.PHONY : cnetnewradii_app/fast - -#============================================================================= -# Target rules for targets named cnethist_app - -# Build rule for target. -cnethist_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnethist_app -.PHONY : cnethist_app - -# fast build rule for target. -cnethist_app/fast: - $(MAKE) -f objects/CMakeFiles/cnethist_app.dir/build.make objects/CMakeFiles/cnethist_app.dir/build -.PHONY : cnethist_app/fast - -#============================================================================= -# Target rules for targets named cnetcombinept_app - -# Build rule for target. -cnetcombinept_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetcombinept_app -.PHONY : cnetcombinept_app - -# fast build rule for target. -cnetcombinept_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetcombinept_app.dir/build.make objects/CMakeFiles/cnetcombinept_app.dir/build -.PHONY : cnetcombinept_app/fast - -#============================================================================= -# Target rules for targets named cnetbin2pvl_app - -# Build rule for target. -cnetbin2pvl_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetbin2pvl_app -.PHONY : cnetbin2pvl_app - -# fast build rule for target. -cnetbin2pvl_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetbin2pvl_app.dir/build.make objects/CMakeFiles/cnetbin2pvl_app.dir/build -.PHONY : cnetbin2pvl_app/fast - -#============================================================================= -# Target rules for targets named cnet2mat_app - -# Build rule for target. -cnet2mat_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnet2mat_app -.PHONY : cnet2mat_app - -# fast build rule for target. -cnet2mat_app/fast: - $(MAKE) -f objects/CMakeFiles/cnet2mat_app.dir/build.make objects/CMakeFiles/cnet2mat_app.dir/build -.PHONY : cnet2mat_app/fast - -#============================================================================= -# Target rules for targets named cnet2dem_app - -# Build rule for target. -cnet2dem_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnet2dem_app -.PHONY : cnet2dem_app - -# fast build rule for target. -cnet2dem_app/fast: - $(MAKE) -f objects/CMakeFiles/cnet2dem_app.dir/build.make objects/CMakeFiles/cnet2dem_app.dir/build -.PHONY : cnet2dem_app/fast - -#============================================================================= -# Target rules for targets named vicar2isis_app - -# Build rule for target. -vicar2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vicar2isis_app -.PHONY : vicar2isis_app - -# fast build rule for target. -vicar2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/vicar2isis_app.dir/build.make objects/CMakeFiles/vicar2isis_app.dir/build -.PHONY : vicar2isis_app/fast - -#============================================================================= -# Target rules for targets named NewHorizonsMvicFrameCamera - -# Build rule for target. -NewHorizonsMvicFrameCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsMvicFrameCamera -.PHONY : NewHorizonsMvicFrameCamera - -# fast build rule for target. -NewHorizonsMvicFrameCamera/fast: - $(MAKE) -f objects/CMakeFiles/NewHorizonsMvicFrameCamera.dir/build.make objects/CMakeFiles/NewHorizonsMvicFrameCamera.dir/build -.PHONY : NewHorizonsMvicFrameCamera/fast - -#============================================================================= -# Target rules for targets named uncrop_app - -# Build rule for target. -uncrop_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 uncrop_app -.PHONY : uncrop_app - -# fast build rule for target. -uncrop_app/fast: - $(MAKE) -f objects/CMakeFiles/uncrop_app.dir/build.make objects/CMakeFiles/uncrop_app.dir/build -.PHONY : uncrop_app/fast - -#============================================================================= -# Target rules for targets named trim_app - -# Build rule for target. -trim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 trim_app -.PHONY : trim_app - -# fast build rule for target. -trim_app/fast: - $(MAKE) -f objects/CMakeFiles/trim_app.dir/build.make objects/CMakeFiles/trim_app.dir/build -.PHONY : trim_app/fast - -#============================================================================= -# Target rules for targets named tonematch_app - -# Build rule for target. -tonematch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 tonematch_app -.PHONY : tonematch_app - -# fast build rule for target. -tonematch_app/fast: - $(MAKE) -f objects/CMakeFiles/tonematch_app.dir/build.make objects/CMakeFiles/tonematch_app.dir/build -.PHONY : tonematch_app/fast - -#============================================================================= -# Target rules for targets named tabledump_app - -# Build rule for target. -tabledump_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 tabledump_app -.PHONY : tabledump_app - -# fast build rule for target. -tabledump_app/fast: - $(MAKE) -f objects/CMakeFiles/tabledump_app.dir/build.make objects/CMakeFiles/tabledump_app.dir/build -.PHONY : tabledump_app/fast - -#============================================================================= -# Target rules for targets named cassini_unit_test_VimsCamera - -# Build rule for target. -cassini_unit_test_VimsCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_VimsCamera -.PHONY : cassini_unit_test_VimsCamera - -# fast build rule for target. -cassini_unit_test_VimsCamera/fast: - $(MAKE) -f objects/CMakeFiles/cassini_unit_test_VimsCamera.dir/build.make objects/CMakeFiles/cassini_unit_test_VimsCamera.dir/build -.PHONY : cassini_unit_test_VimsCamera/fast - -#============================================================================= -# Target rules for targets named table2cube_app - -# Build rule for target. -table2cube_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 table2cube_app -.PHONY : table2cube_app - -# fast build rule for target. -table2cube_app/fast: - $(MAKE) -f objects/CMakeFiles/table2cube_app.dir/build.make objects/CMakeFiles/table2cube_app.dir/build -.PHONY : table2cube_app/fast - -#============================================================================= -# Target rules for targets named hideal2pds_app - -# Build rule for target. -hideal2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hideal2pds_app -.PHONY : hideal2pds_app - -# fast build rule for target. -hideal2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/hideal2pds_app.dir/build.make objects/CMakeFiles/hideal2pds_app.dir/build -.PHONY : hideal2pds_app/fast - -#============================================================================= -# Target rules for targets named stretch_app - -# Build rule for target. -stretch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 stretch_app -.PHONY : stretch_app - -# fast build rule for target. -stretch_app/fast: - $(MAKE) -f objects/CMakeFiles/stretch_app.dir/build.make objects/CMakeFiles/stretch_app.dir/build -.PHONY : stretch_app/fast - -#============================================================================= -# Target rules for targets named lrowac2isis_app - -# Build rule for target. -lrowac2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lrowac2isis_app -.PHONY : lrowac2isis_app - -# fast build rule for target. -lrowac2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/lrowac2isis_app.dir/build.make objects/CMakeFiles/lrowac2isis_app.dir/build -.PHONY : lrowac2isis_app/fast - -#============================================================================= -# Target rules for targets named apollo - -# Build rule for target. -apollo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo -.PHONY : apollo - -# fast build rule for target. -apollo/fast: - $(MAKE) -f objects/CMakeFiles/apollo.dir/build.make objects/CMakeFiles/apollo.dir/build -.PHONY : apollo/fast - -#============================================================================= -# Target rules for targets named spicefit_app - -# Build rule for target. -spicefit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 spicefit_app -.PHONY : spicefit_app - -# fast build rule for target. -spicefit_app/fast: - $(MAKE) -f objects/CMakeFiles/spicefit_app.dir/build.make objects/CMakeFiles/spicefit_app.dir/build -.PHONY : spicefit_app/fast - -#============================================================================= -# Target rules for targets named speclowpass_app - -# Build rule for target. -speclowpass_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 speclowpass_app -.PHONY : speclowpass_app - -# fast build rule for target. -speclowpass_app/fast: - $(MAKE) -f objects/CMakeFiles/speclowpass_app.dir/build.make objects/CMakeFiles/speclowpass_app.dir/build -.PHONY : speclowpass_app/fast - -#============================================================================= -# Target rules for targets named chan1m32isis_app - -# Build rule for target. -chan1m32isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 chan1m32isis_app -.PHONY : chan1m32isis_app - -# fast build rule for target. -chan1m32isis_app/fast: - $(MAKE) -f objects/CMakeFiles/chan1m32isis_app.dir/build.make objects/CMakeFiles/chan1m32isis_app.dir/build -.PHONY : chan1m32isis_app/fast - -#============================================================================= -# Target rules for targets named spechighpass_app - -# Build rule for target. -spechighpass_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 spechighpass_app -.PHONY : spechighpass_app - -# fast build rule for target. -spechighpass_app/fast: - $(MAKE) -f objects/CMakeFiles/spechighpass_app.dir/build.make objects/CMakeFiles/spechighpass_app.dir/build -.PHONY : spechighpass_app/fast - -#============================================================================= -# Target rules for targets named specadd_app - -# Build rule for target. -specadd_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 specadd_app -.PHONY : specadd_app - -# fast build rule for target. -specadd_app/fast: - $(MAKE) -f objects/CMakeFiles/specadd_app.dir/build.make objects/CMakeFiles/specadd_app.dir/build -.PHONY : specadd_app/fast - -#============================================================================= -# Target rules for targets named smtk_app - -# Build rule for target. -smtk_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 smtk_app -.PHONY : smtk_app - -# fast build rule for target. -smtk_app/fast: - $(MAKE) -f objects/CMakeFiles/smtk_app.dir/build.make objects/CMakeFiles/smtk_app.dir/build -.PHONY : smtk_app/fast - -#============================================================================= -# Target rules for targets named slpmap_app - -# Build rule for target. -slpmap_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 slpmap_app -.PHONY : slpmap_app - -# fast build rule for target. -slpmap_app/fast: - $(MAKE) -f objects/CMakeFiles/slpmap_app.dir/build.make objects/CMakeFiles/slpmap_app.dir/build -.PHONY : slpmap_app/fast - -#============================================================================= -# Target rules for targets named skypt_app - -# Build rule for target. -skypt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 skypt_app -.PHONY : skypt_app - -# fast build rule for target. -skypt_app/fast: - $(MAKE) -f objects/CMakeFiles/skypt_app.dir/build.make objects/CMakeFiles/skypt_app.dir/build -.PHONY : skypt_app/fast - -#============================================================================= -# Target rules for targets named skymap_app - -# Build rule for target. -skymap_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 skymap_app -.PHONY : skymap_app - -# fast build rule for target. -skymap_app/fast: - $(MAKE) -f objects/CMakeFiles/skymap_app.dir/build.make objects/CMakeFiles/skymap_app.dir/build -.PHONY : skymap_app/fast - -#============================================================================= -# Target rules for targets named clemuvviscal_app - -# Build rule for target. -clemuvviscal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clemuvviscal_app -.PHONY : clemuvviscal_app - -# fast build rule for target. -clemuvviscal_app/fast: - $(MAKE) -f objects/CMakeFiles/clemuvviscal_app.dir/build.make objects/CMakeFiles/clemuvviscal_app.dir/build -.PHONY : clemuvviscal_app/fast - -#============================================================================= -# Target rules for targets named sigmastretch_app - -# Build rule for target. -sigmastretch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 sigmastretch_app -.PHONY : sigmastretch_app - -# fast build rule for target. -sigmastretch_app/fast: - $(MAKE) -f objects/CMakeFiles/sigmastretch_app.dir/build.make objects/CMakeFiles/sigmastretch_app.dir/build -.PHONY : sigmastretch_app/fast - -#============================================================================= -# Target rules for targets named shadow_app - -# Build rule for target. -shadow_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 shadow_app -.PHONY : shadow_app - -# fast build rule for target. -shadow_app/fast: - $(MAKE) -f objects/CMakeFiles/shadow_app.dir/build.make objects/CMakeFiles/shadow_app.dir/build -.PHONY : shadow_app/fast - -#============================================================================= -# Target rules for targets named shade_app - -# Build rule for target. -shade_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 shade_app -.PHONY : shade_app - -# fast build rule for target. -shade_app/fast: - $(MAKE) -f objects/CMakeFiles/shade_app.dir/build.make objects/CMakeFiles/shade_app.dir/build -.PHONY : shade_app/fast - -#============================================================================= -# Target rules for targets named mar102isis_app - -# Build rule for target. -mar102isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mar102isis_app -.PHONY : mar102isis_app - -# fast build rule for target. -mar102isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mar102isis_app.dir/build.make objects/CMakeFiles/mar102isis_app.dir/build -.PHONY : mar102isis_app/fast - -#============================================================================= -# Target rules for targets named segment_app - -# Build rule for target. -segment_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 segment_app -.PHONY : segment_app - -# fast build rule for target. -segment_app/fast: - $(MAKE) -f objects/CMakeFiles/segment_app.dir/build.make objects/CMakeFiles/segment_app.dir/build -.PHONY : segment_app/fast - -#============================================================================= -# Target rules for targets named pointreg_app - -# Build rule for target. -pointreg_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pointreg_app -.PHONY : pointreg_app - -# fast build rule for target. -pointreg_app/fast: - $(MAKE) -f objects/CMakeFiles/pointreg_app.dir/build.make objects/CMakeFiles/pointreg_app.dir/build -.PHONY : pointreg_app/fast - -#============================================================================= -# Target rules for targets named rotate_app - -# Build rule for target. -rotate_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 rotate_app -.PHONY : rotate_app - -# fast build rule for target. -rotate_app/fast: - $(MAKE) -f objects/CMakeFiles/rotate_app.dir/build.make objects/CMakeFiles/rotate_app.dir/build -.PHONY : rotate_app/fast - -#============================================================================= -# Target rules for targets named ringspt_app - -# Build rule for target. -ringspt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ringspt_app -.PHONY : ringspt_app - -# fast build rule for target. -ringspt_app/fast: - $(MAKE) -f objects/CMakeFiles/ringspt_app.dir/build.make objects/CMakeFiles/ringspt_app.dir/build -.PHONY : ringspt_app/fast - -#============================================================================= -# Target rules for targets named ringscam2map_app - -# Build rule for target. -ringscam2map_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ringscam2map_app -.PHONY : ringscam2map_app - -# fast build rule for target. -ringscam2map_app/fast: - $(MAKE) -f objects/CMakeFiles/ringscam2map_app.dir/build.make objects/CMakeFiles/ringscam2map_app.dir/build -.PHONY : ringscam2map_app/fast - -#============================================================================= -# Target rules for targets named cnetstats_app - -# Build rule for target. -cnetstats_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetstats_app -.PHONY : cnetstats_app - -# fast build rule for target. -cnetstats_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetstats_app.dir/build.make objects/CMakeFiles/cnetstats_app.dir/build -.PHONY : cnetstats_app/fast - -#============================================================================= -# Target rules for targets named ringsautomos_app - -# Build rule for target. -ringsautomos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ringsautomos_app -.PHONY : ringsautomos_app - -# fast build rule for target. -ringsautomos_app/fast: - $(MAKE) -f objects/CMakeFiles/ringsautomos_app.dir/build.make objects/CMakeFiles/ringsautomos_app.dir/build -.PHONY : ringsautomos_app/fast - -#============================================================================= -# Target rules for targets named raw2isis_app - -# Build rule for target. -raw2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 raw2isis_app -.PHONY : raw2isis_app - -# fast build rule for target. -raw2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/raw2isis_app.dir/build.make objects/CMakeFiles/raw2isis_app.dir/build -.PHONY : raw2isis_app/fast - -#============================================================================= -# Target rules for targets named autoseed_app - -# Build rule for target. -autoseed_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 autoseed_app -.PHONY : autoseed_app - -# fast build rule for target. -autoseed_app/fast: - $(MAKE) -f objects/CMakeFiles/autoseed_app.dir/build.make objects/CMakeFiles/autoseed_app.dir/build -.PHONY : autoseed_app/fast - -#============================================================================= -# Target rules for targets named pixel2map_app - -# Build rule for target. -pixel2map_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pixel2map_app -.PHONY : pixel2map_app - -# fast build rule for target. -pixel2map_app/fast: - $(MAKE) -f objects/CMakeFiles/pixel2map_app.dir/build.make objects/CMakeFiles/pixel2map_app.dir/build -.PHONY : pixel2map_app/fast - -#============================================================================= -# Target rules for targets named thmproc_app - -# Build rule for target. -thmproc_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmproc_app -.PHONY : thmproc_app - -# fast build rule for target. -thmproc_app/fast: - $(MAKE) -f objects/CMakeFiles/thmproc_app.dir/build.make objects/CMakeFiles/thmproc_app.dir/build -.PHONY : thmproc_app/fast - -#============================================================================= -# Target rules for targets named photomet_app - -# Build rule for target. -photomet_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 photomet_app -.PHONY : photomet_app - -# fast build rule for target. -photomet_app/fast: - $(MAKE) -f objects/CMakeFiles/photomet_app.dir/build.make objects/CMakeFiles/photomet_app.dir/build -.PHONY : photomet_app/fast - -#============================================================================= -# Target rules for targets named clemnirclean_app - -# Build rule for target. -clemnirclean_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clemnirclean_app -.PHONY : clemnirclean_app - -# fast build rule for target. -clemnirclean_app/fast: - $(MAKE) -f objects/CMakeFiles/clemnirclean_app.dir/build.make objects/CMakeFiles/clemnirclean_app.dir/build -.PHONY : clemnirclean_app/fast - -#============================================================================= -# Target rules for targets named photemplate_app - -# Build rule for target. -photemplate_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 photemplate_app -.PHONY : photemplate_app - -# fast build rule for target. -photemplate_app/fast: - $(MAKE) -f objects/CMakeFiles/photemplate_app.dir/build.make objects/CMakeFiles/photemplate_app.dir/build -.PHONY : photemplate_app/fast - -#============================================================================= -# Target rules for targets named phohillier_app - -# Build rule for target. -phohillier_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 phohillier_app -.PHONY : phohillier_app - -# fast build rule for target. -phohillier_app/fast: - $(MAKE) -f objects/CMakeFiles/phohillier_app.dir/build.make objects/CMakeFiles/phohillier_app.dir/build -.PHONY : phohillier_app/fast - -#============================================================================= -# Target rules for targets named thm2isis_app - -# Build rule for target. -thm2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thm2isis_app -.PHONY : thm2isis_app - -# fast build rule for target. -thm2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/thm2isis_app.dir/build.make objects/CMakeFiles/thm2isis_app.dir/build -.PHONY : thm2isis_app/fast - -#============================================================================= -# Target rules for targets named phoempglobal_app - -# Build rule for target. -phoempglobal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 phoempglobal_app -.PHONY : phoempglobal_app - -# fast build rule for target. -phoempglobal_app/fast: - $(MAKE) -f objects/CMakeFiles/phoempglobal_app.dir/build.make objects/CMakeFiles/phoempglobal_app.dir/build -.PHONY : phoempglobal_app/fast - -#============================================================================= -# Target rules for targets named viknobutter_app - -# Build rule for target. -viknobutter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 viknobutter_app -.PHONY : viknobutter_app - -# fast build rule for target. -viknobutter_app/fast: - $(MAKE) -f objects/CMakeFiles/viknobutter_app.dir/build.make objects/CMakeFiles/viknobutter_app.dir/build -.PHONY : viknobutter_app/fast - -#============================================================================= -# Target rules for targets named phocube_app - -# Build rule for target. -phocube_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 phocube_app -.PHONY : phocube_app - -# fast build rule for target. -phocube_app/fast: - $(MAKE) -f objects/CMakeFiles/phocube_app.dir/build.make objects/CMakeFiles/phocube_app.dir/build -.PHONY : phocube_app/fast - -#============================================================================= -# Target rules for targets named pca_app - -# Build rule for target. -pca_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pca_app -.PHONY : pca_app - -# fast build rule for target. -pca_app/fast: - $(MAKE) -f objects/CMakeFiles/pca_app.dir/build.make objects/CMakeFiles/pca_app.dir/build -.PHONY : pca_app/fast - -#============================================================================= -# Target rules for targets named pad_app - -# Build rule for target. -pad_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pad_app -.PHONY : pad_app - -# fast build rule for target. -pad_app/fast: - $(MAKE) -f objects/CMakeFiles/pad_app.dir/build.make objects/CMakeFiles/pad_app.dir/build -.PHONY : pad_app/fast - -#============================================================================= -# Target rules for targets named outline_app - -# Build rule for target. -outline_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 outline_app -.PHONY : outline_app - -# fast build rule for target. -outline_app/fast: - $(MAKE) -f objects/CMakeFiles/outline_app.dir/build.make objects/CMakeFiles/outline_app.dir/build -.PHONY : outline_app/fast - -#============================================================================= -# Target rules for targets named cneteditor_app - -# Build rule for target. -cneteditor_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cneteditor_app -.PHONY : cneteditor_app - -# fast build rule for target. -cneteditor_app/fast: - $(MAKE) -f objects/CMakeFiles/cneteditor_app.dir/build.make objects/CMakeFiles/cneteditor_app.dir/build -.PHONY : cneteditor_app/fast - -#============================================================================= -# Target rules for targets named noseam_app - -# Build rule for target. -noseam_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 noseam_app -.PHONY : noseam_app - -# fast build rule for target. -noseam_app/fast: - $(MAKE) -f objects/CMakeFiles/noseam_app.dir/build.make objects/CMakeFiles/noseam_app.dir/build -.PHONY : noseam_app/fast - -#============================================================================= -# Target rules for targets named mocevenodd_app - -# Build rule for target. -mocevenodd_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mocevenodd_app -.PHONY : mocevenodd_app - -# fast build rule for target. -mocevenodd_app/fast: - $(MAKE) -f objects/CMakeFiles/mocevenodd_app.dir/build.make objects/CMakeFiles/mocevenodd_app.dir/build -.PHONY : mocevenodd_app/fast - -#============================================================================= -# Target rules for targets named mosrange_app - -# Build rule for target. -mosrange_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mosrange_app -.PHONY : mosrange_app - -# fast build rule for target. -mosrange_app/fast: - $(MAKE) -f objects/CMakeFiles/mosrange_app.dir/build.make objects/CMakeFiles/mosrange_app.dir/build -.PHONY : mosrange_app/fast - -#============================================================================= -# Target rules for targets named mode_app - -# Build rule for target. -mode_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mode_app -.PHONY : mode_app - -# fast build rule for target. -mode_app/fast: - $(MAKE) -f objects/CMakeFiles/mode_app.dir/build.make objects/CMakeFiles/mode_app.dir/build -.PHONY : mode_app/fast - -#============================================================================= -# Target rules for targets named minmax_app - -# Build rule for target. -minmax_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 minmax_app -.PHONY : minmax_app - -# fast build rule for target. -minmax_app/fast: - $(MAKE) -f objects/CMakeFiles/minmax_app.dir/build.make objects/CMakeFiles/minmax_app.dir/build -.PHONY : minmax_app/fast - -#============================================================================= -# Target rules for targets named median_app - -# Build rule for target. -median_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 median_app -.PHONY : median_app - -# fast build rule for target. -median_app/fast: - $(MAKE) -f objects/CMakeFiles/median_app.dir/build.make objects/CMakeFiles/median_app.dir/build -.PHONY : median_app/fast - -#============================================================================= -# Target rules for targets named maptrim_app - -# Build rule for target. -maptrim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 maptrim_app -.PHONY : maptrim_app - -# fast build rule for target. -maptrim_app/fast: - $(MAKE) -f objects/CMakeFiles/maptrim_app.dir/build.make objects/CMakeFiles/maptrim_app.dir/build -.PHONY : maptrim_app/fast - -#============================================================================= -# Target rules for targets named mappt_app - -# Build rule for target. -mappt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mappt_app -.PHONY : mappt_app - -# fast build rule for target. -mappt_app/fast: - $(MAKE) -f objects/CMakeFiles/mappt_app.dir/build.make objects/CMakeFiles/mappt_app.dir/build -.PHONY : mappt_app/fast - -#============================================================================= -# Target rules for targets named mapmos_app - -# Build rule for target. -mapmos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mapmos_app -.PHONY : mapmos_app - -# fast build rule for target. -mapmos_app/fast: - $(MAKE) -f objects/CMakeFiles/mapmos_app.dir/build.make objects/CMakeFiles/mapmos_app.dir/build -.PHONY : mapmos_app/fast - -#============================================================================= -# Target rules for targets named socetframesettings_app - -# Build rule for target. -socetframesettings_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 socetframesettings_app -.PHONY : socetframesettings_app - -# fast build rule for target. -socetframesettings_app/fast: - $(MAKE) -f objects/CMakeFiles/socetframesettings_app.dir/build.make objects/CMakeFiles/socetframesettings_app.dir/build -.PHONY : socetframesettings_app/fast - -#============================================================================= -# Target rules for targets named apollo_unit_test_ApolloMetricCamera - -# Build rule for target. -apollo_unit_test_ApolloMetricCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_ApolloMetricCamera -.PHONY : apollo_unit_test_ApolloMetricCamera - -# fast build rule for target. -apollo_unit_test_ApolloMetricCamera/fast: - $(MAKE) -f objects/CMakeFiles/apollo_unit_test_ApolloMetricCamera.dir/build.make objects/CMakeFiles/apollo_unit_test_ApolloMetricCamera.dir/build -.PHONY : apollo_unit_test_ApolloMetricCamera/fast - -#============================================================================= -# Target rules for targets named maplab_app - -# Build rule for target. -maplab_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 maplab_app -.PHONY : maplab_app - -# fast build rule for target. -maplab_app/fast: - $(MAKE) -f objects/CMakeFiles/maplab_app.dir/build.make objects/CMakeFiles/maplab_app.dir/build -.PHONY : maplab_app/fast - -#============================================================================= -# Target rules for targets named amicacal_app - -# Build rule for target. -amicacal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 amicacal_app -.PHONY : amicacal_app - -# fast build rule for target. -amicacal_app/fast: - $(MAKE) -f objects/CMakeFiles/amicacal_app.dir/build.make objects/CMakeFiles/amicacal_app.dir/build -.PHONY : amicacal_app/fast - -#============================================================================= -# Target rules for targets named map2map_app - -# Build rule for target. -map2map_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 map2map_app -.PHONY : map2map_app - -# fast build rule for target. -map2map_app/fast: - $(MAKE) -f objects/CMakeFiles/map2map_app.dir/build.make objects/CMakeFiles/map2map_app.dir/build -.PHONY : map2map_app/fast - -#============================================================================= -# Target rules for targets named hiequal_app - -# Build rule for target. -hiequal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hiequal_app -.PHONY : hiequal_app - -# fast build rule for target. -hiequal_app/fast: - $(MAKE) -f objects/CMakeFiles/hiequal_app.dir/build.make objects/CMakeFiles/hiequal_app.dir/build -.PHONY : hiequal_app/fast - -#============================================================================= -# Target rules for targets named map2cam_app - -# Build rule for target. -map2cam_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 map2cam_app -.PHONY : map2cam_app - -# fast build rule for target. -map2cam_app/fast: - $(MAKE) -f objects/CMakeFiles/map2cam_app.dir/build.make objects/CMakeFiles/map2cam_app.dir/build -.PHONY : map2cam_app/fast - -#============================================================================= -# Target rules for targets named lowpass_app - -# Build rule for target. -lowpass_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lowpass_app -.PHONY : lowpass_app - -# fast build rule for target. -lowpass_app/fast: - $(MAKE) -f objects/CMakeFiles/lowpass_app.dir/build.make objects/CMakeFiles/lowpass_app.dir/build -.PHONY : lowpass_app/fast - -#============================================================================= -# Target rules for targets named lineeq_app - -# Build rule for target. -lineeq_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lineeq_app -.PHONY : lineeq_app - -# fast build rule for target. -lineeq_app/fast: - $(MAKE) -f objects/CMakeFiles/lineeq_app.dir/build.make objects/CMakeFiles/lineeq_app.dir/build -.PHONY : lineeq_app/fast - -#============================================================================= -# Target rules for targets named kernfilter_app - -# Build rule for target. -kernfilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kernfilter_app -.PHONY : kernfilter_app - -# fast build rule for target. -kernfilter_app/fast: - $(MAKE) -f objects/CMakeFiles/kernfilter_app.dir/build.make objects/CMakeFiles/kernfilter_app.dir/build -.PHONY : kernfilter_app/fast - -#============================================================================= -# Target rules for targets named isisui_app - -# Build rule for target. -isisui_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isisui_app -.PHONY : isisui_app - -# fast build rule for target. -isisui_app/fast: - $(MAKE) -f objects/CMakeFiles/isisui_app.dir/build.make objects/CMakeFiles/isisui_app.dir/build -.PHONY : isisui_app/fast - -#============================================================================= -# Target rules for targets named isisminer_app - -# Build rule for target. -isisminer_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isisminer_app -.PHONY : isisminer_app - -# fast build rule for target. -isisminer_app/fast: - $(MAKE) -f objects/CMakeFiles/isisminer_app.dir/build.make objects/CMakeFiles/isisminer_app.dir/build -.PHONY : isisminer_app/fast - -#============================================================================= -# Target rules for targets named interestcube_app - -# Build rule for target. -interestcube_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 interestcube_app -.PHONY : interestcube_app - -# fast build rule for target. -interestcube_app/fast: - $(MAKE) -f objects/CMakeFiles/interestcube_app.dir/build.make objects/CMakeFiles/interestcube_app.dir/build -.PHONY : interestcube_app/fast - -#============================================================================= -# Target rules for targets named CTXCamera - -# Build rule for target. -CTXCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 CTXCamera -.PHONY : CTXCamera - -# fast build rule for target. -CTXCamera/fast: - $(MAKE) -f objects/CMakeFiles/CTXCamera.dir/build.make objects/CMakeFiles/CTXCamera.dir/build -.PHONY : CTXCamera/fast - -#============================================================================= -# Target rules for targets named ifft_app - -# Build rule for target. -ifft_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ifft_app -.PHONY : ifft_app - -# fast build rule for target. -ifft_app/fast: - $(MAKE) -f objects/CMakeFiles/ifft_app.dir/build.make objects/CMakeFiles/ifft_app.dir/build -.PHONY : ifft_app/fast - -#============================================================================= -# Target rules for targets named hifurrows_app - -# Build rule for target. -hifurrows_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hifurrows_app -.PHONY : hifurrows_app - -# fast build rule for target. -hifurrows_app/fast: - $(MAKE) -f objects/CMakeFiles/hifurrows_app.dir/build.make objects/CMakeFiles/hifurrows_app.dir/build -.PHONY : hifurrows_app/fast - -#============================================================================= -# Target rules for targets named histmatch_app - -# Build rule for target. -histmatch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 histmatch_app -.PHONY : histmatch_app - -# fast build rule for target. -histmatch_app/fast: - $(MAKE) -f objects/CMakeFiles/histmatch_app.dir/build.make objects/CMakeFiles/histmatch_app.dir/build -.PHONY : histmatch_app/fast - -#============================================================================= -# Target rules for targets named highpass_app - -# Build rule for target. -highpass_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 highpass_app -.PHONY : highpass_app - -# fast build rule for target. -highpass_app/fast: - $(MAKE) -f objects/CMakeFiles/highpass_app.dir/build.make objects/CMakeFiles/highpass_app.dir/build -.PHONY : highpass_app/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_HiLab - -# Build rule for target. -mro_unit_test_HiLab: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiLab -.PHONY : mro_unit_test_HiLab - -# fast build rule for target. -mro_unit_test_HiLab/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiLab.dir/build.make objects/CMakeFiles/mro_unit_test_HiLab.dir/build -.PHONY : mro_unit_test_HiLab/fast - -#============================================================================= -# Target rules for targets named grid_app - -# Build rule for target. -grid_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 grid_app -.PHONY : grid_app - -# fast build rule for target. -grid_app/fast: - $(MAKE) -f objects/CMakeFiles/grid_app.dir/build.make objects/CMakeFiles/grid_app.dir/build -.PHONY : grid_app/fast - -#============================================================================= -# Target rules for targets named greyscale_app - -# Build rule for target. -greyscale_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 greyscale_app -.PHONY : greyscale_app - -# fast build rule for target. -greyscale_app/fast: - $(MAKE) -f objects/CMakeFiles/greyscale_app.dir/build.make objects/CMakeFiles/greyscale_app.dir/build -.PHONY : greyscale_app/fast - -#============================================================================= -# Target rules for targets named IssWACamera - -# Build rule for target. -IssWACamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 IssWACamera -.PHONY : IssWACamera - -# fast build rule for target. -IssWACamera/fast: - $(MAKE) -f objects/CMakeFiles/IssWACamera.dir/build.make objects/CMakeFiles/IssWACamera.dir/build -.PHONY : IssWACamera/fast - -#============================================================================= -# Target rules for targets named isis2std_app - -# Build rule for target. -isis2std_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2std_app -.PHONY : isis2std_app - -# fast build rule for target. -isis2std_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2std_app.dir/build.make objects/CMakeFiles/isis2std_app.dir/build -.PHONY : isis2std_app/fast - -#============================================================================= -# Target rules for targets named gradient_app - -# Build rule for target. -gradient_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gradient_app -.PHONY : gradient_app - -# fast build rule for target. -gradient_app/fast: - $(MAKE) -f objects/CMakeFiles/gradient_app.dir/build.make objects/CMakeFiles/gradient_app.dir/build -.PHONY : gradient_app/fast - -#============================================================================= -# Target rules for targets named getsn_app - -# Build rule for target. -getsn_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 getsn_app -.PHONY : getsn_app - -# fast build rule for target. -getsn_app/fast: - $(MAKE) -f objects/CMakeFiles/getsn_app.dir/build.make objects/CMakeFiles/getsn_app.dir/build -.PHONY : getsn_app/fast - -#============================================================================= -# Target rules for targets named getkey_app - -# Build rule for target. -getkey_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 getkey_app -.PHONY : getkey_app - -# fast build rule for target. -getkey_app/fast: - $(MAKE) -f objects/CMakeFiles/getkey_app.dir/build.make objects/CMakeFiles/getkey_app.dir/build -.PHONY : getkey_app/fast - -#============================================================================= -# Target rules for targets named footprintmerge_app - -# Build rule for target. -footprintmerge_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 footprintmerge_app -.PHONY : footprintmerge_app - -# fast build rule for target. -footprintmerge_app/fast: - $(MAKE) -f objects/CMakeFiles/footprintmerge_app.dir/build.make objects/CMakeFiles/footprintmerge_app.dir/build -.PHONY : footprintmerge_app/fast - -#============================================================================= -# Target rules for targets named thmdriftcor_app - -# Build rule for target. -thmdriftcor_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmdriftcor_app -.PHONY : thmdriftcor_app - -# fast build rule for target. -thmdriftcor_app/fast: - $(MAKE) -f objects/CMakeFiles/thmdriftcor_app.dir/build.make objects/CMakeFiles/thmdriftcor_app.dir/build -.PHONY : thmdriftcor_app/fast - -#============================================================================= -# Target rules for targets named lronaccal_app - -# Build rule for target. -lronaccal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lronaccal_app -.PHONY : lronaccal_app - -# fast build rule for target. -lronaccal_app/fast: - $(MAKE) -f objects/CMakeFiles/lronaccal_app.dir/build.make objects/CMakeFiles/lronaccal_app.dir/build -.PHONY : lronaccal_app/fast - -#============================================================================= -# Target rules for targets named footprintinit_app - -# Build rule for target. -footprintinit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 footprintinit_app -.PHONY : footprintinit_app - -# fast build rule for target. -footprintinit_app/fast: - $(MAKE) -f objects/CMakeFiles/footprintinit_app.dir/build.make objects/CMakeFiles/footprintinit_app.dir/build -.PHONY : footprintinit_app/fast - -#============================================================================= -# Target rules for targets named HiresCamera - -# Build rule for target. -HiresCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HiresCamera -.PHONY : HiresCamera - -# fast build rule for target. -HiresCamera/fast: - $(MAKE) -f objects/CMakeFiles/HiresCamera.dir/build.make objects/CMakeFiles/HiresCamera.dir/build -.PHONY : HiresCamera/fast - -#============================================================================= -# Target rules for targets named fits2isis_app - -# Build rule for target. -fits2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fits2isis_app -.PHONY : fits2isis_app - -# fast build rule for target. -fits2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/fits2isis_app.dir/build.make objects/CMakeFiles/fits2isis_app.dir/build -.PHONY : fits2isis_app/fast - -#============================================================================= -# Target rules for targets named findimageoverlaps_app - -# Build rule for target. -findimageoverlaps_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 findimageoverlaps_app -.PHONY : findimageoverlaps_app - -# fast build rule for target. -findimageoverlaps_app/fast: - $(MAKE) -f objects/CMakeFiles/findimageoverlaps_app.dir/build.make objects/CMakeFiles/findimageoverlaps_app.dir/build -.PHONY : findimageoverlaps_app/fast - -#============================================================================= -# Target rules for targets named findgaps_app - -# Build rule for target. -findgaps_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 findgaps_app -.PHONY : findgaps_app - -# fast build rule for target. -findgaps_app/fast: - $(MAKE) -f objects/CMakeFiles/findgaps_app.dir/build.make objects/CMakeFiles/findgaps_app.dir/build -.PHONY : findgaps_app/fast - -#============================================================================= -# Target rules for targets named errors_app - -# Build rule for target. -errors_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 errors_app -.PHONY : errors_app - -# fast build rule for target. -errors_app/fast: - $(MAKE) -f objects/CMakeFiles/errors_app.dir/build.make objects/CMakeFiles/errors_app.dir/build -.PHONY : errors_app/fast - -#============================================================================= -# Target rules for targets named higlob_app - -# Build rule for target. -higlob_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 higlob_app -.PHONY : higlob_app - -# fast build rule for target. -higlob_app/fast: - $(MAKE) -f objects/CMakeFiles/higlob_app.dir/build.make objects/CMakeFiles/higlob_app.dir/build -.PHONY : higlob_app/fast - -#============================================================================= -# Target rules for targets named skyrange_app - -# Build rule for target. -skyrange_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 skyrange_app -.PHONY : skyrange_app - -# fast build rule for target. -skyrange_app/fast: - $(MAKE) -f objects/CMakeFiles/skyrange_app.dir/build.make objects/CMakeFiles/skyrange_app.dir/build -.PHONY : skyrange_app/fast - -#============================================================================= -# Target rules for targets named equalizer_app - -# Build rule for target. -equalizer_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 equalizer_app -.PHONY : equalizer_app - -# fast build rule for target. -equalizer_app/fast: - $(MAKE) -f objects/CMakeFiles/equalizer_app.dir/build.make objects/CMakeFiles/equalizer_app.dir/build -.PHONY : equalizer_app/fast - -#============================================================================= -# Target rules for targets named edrget_app - -# Build rule for target. -edrget_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 edrget_app -.PHONY : edrget_app - -# fast build rule for target. -edrget_app/fast: - $(MAKE) -f objects/CMakeFiles/edrget_app.dir/build.make objects/CMakeFiles/edrget_app.dir/build -.PHONY : edrget_app/fast - -#============================================================================= -# Target rules for targets named VikingCamera - -# Build rule for target. -VikingCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 VikingCamera -.PHONY : VikingCamera - -# fast build rule for target. -VikingCamera/fast: - $(MAKE) -f objects/CMakeFiles/VikingCamera.dir/build.make objects/CMakeFiles/VikingCamera.dir/build -.PHONY : VikingCamera/fast - -#============================================================================= -# Target rules for targets named phoemplocal_app - -# Build rule for target. -phoemplocal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 phoemplocal_app -.PHONY : phoemplocal_app - -# fast build rule for target. -phoemplocal_app/fast: - $(MAKE) -f objects/CMakeFiles/phoemplocal_app.dir/build.make objects/CMakeFiles/phoemplocal_app.dir/build -.PHONY : phoemplocal_app/fast - -#============================================================================= -# Target rules for targets named editlab_app - -# Build rule for target. -editlab_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 editlab_app -.PHONY : editlab_app - -# fast build rule for target. -editlab_app/fast: - $(MAKE) -f objects/CMakeFiles/editlab_app.dir/build.make objects/CMakeFiles/editlab_app.dir/build -.PHONY : editlab_app/fast - -#============================================================================= -# Target rules for targets named poly_app - -# Build rule for target. -poly_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 poly_app -.PHONY : poly_app - -# fast build rule for target. -poly_app/fast: - $(MAKE) -f objects/CMakeFiles/poly_app.dir/build.make objects/CMakeFiles/poly_app.dir/build -.PHONY : poly_app/fast - -#============================================================================= -# Target rules for targets named dstripe_app - -# Build rule for target. -dstripe_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dstripe_app -.PHONY : dstripe_app - -# fast build rule for target. -dstripe_app/fast: - $(MAKE) -f objects/CMakeFiles/dstripe_app.dir/build.make objects/CMakeFiles/dstripe_app.dir/build -.PHONY : dstripe_app/fast - -#============================================================================= -# Target rules for targets named dsk2isis_app - -# Build rule for target. -dsk2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dsk2isis_app -.PHONY : dsk2isis_app - -# fast build rule for target. -dsk2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/dsk2isis_app.dir/build.make objects/CMakeFiles/dsk2isis_app.dir/build -.PHONY : dsk2isis_app/fast - -#============================================================================= -# Target rules for targets named divfilter_app - -# Build rule for target. -divfilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 divfilter_app -.PHONY : divfilter_app - -# fast build rule for target. -divfilter_app/fast: - $(MAKE) -f objects/CMakeFiles/divfilter_app.dir/build.make objects/CMakeFiles/divfilter_app.dir/build -.PHONY : divfilter_app/fast - -#============================================================================= -# Target rules for targets named MdisCamera - -# Build rule for target. -MdisCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MdisCamera -.PHONY : MdisCamera - -# fast build rule for target. -MdisCamera/fast: - $(MAKE) -f objects/CMakeFiles/MdisCamera.dir/build.make objects/CMakeFiles/MdisCamera.dir/build -.PHONY : MdisCamera/fast - -#============================================================================= -# Target rules for targets named desmear_app - -# Build rule for target. -desmear_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 desmear_app -.PHONY : desmear_app - -# fast build rule for target. -desmear_app/fast: - $(MAKE) -f objects/CMakeFiles/desmear_app.dir/build.make objects/CMakeFiles/desmear_app.dir/build -.PHONY : desmear_app/fast - -#============================================================================= -# Target rules for targets named demprep_app - -# Build rule for target. -demprep_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 demprep_app -.PHONY : demprep_app - -# fast build rule for target. -demprep_app/fast: - $(MAKE) -f objects/CMakeFiles/demprep_app.dir/build.make objects/CMakeFiles/demprep_app.dir/build -.PHONY : demprep_app/fast - -#============================================================================= -# Target rules for targets named ddd2isis_app - -# Build rule for target. -ddd2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ddd2isis_app -.PHONY : ddd2isis_app - -# fast build rule for target. -ddd2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/ddd2isis_app.dir/build.make objects/CMakeFiles/ddd2isis_app.dir/build -.PHONY : ddd2isis_app/fast - -#============================================================================= -# Target rules for targets named cubeit_app - -# Build rule for target. -cubeit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubeit_app -.PHONY : cubeit_app - -# fast build rule for target. -cubeit_app/fast: - $(MAKE) -f objects/CMakeFiles/cubeit_app.dir/build.make objects/CMakeFiles/cubeit_app.dir/build -.PHONY : cubeit_app/fast - -#============================================================================= -# Target rules for targets named cubeavg_app - -# Build rule for target. -cubeavg_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubeavg_app -.PHONY : cubeavg_app - -# fast build rule for target. -cubeavg_app/fast: - $(MAKE) -f objects/CMakeFiles/cubeavg_app.dir/build.make objects/CMakeFiles/cubeavg_app.dir/build -.PHONY : cubeavg_app/fast - -#============================================================================= -# Target rules for targets named messckgen_app - -# Build rule for target. -messckgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 messckgen_app -.PHONY : messckgen_app - -# fast build rule for target. -messckgen_app/fast: - $(MAKE) -f objects/CMakeFiles/messckgen_app.dir/build.make objects/CMakeFiles/messckgen_app.dir/build -.PHONY : messckgen_app/fast - -#============================================================================= -# Target rules for targets named cropspecial_app - -# Build rule for target. -cropspecial_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cropspecial_app -.PHONY : cropspecial_app - -# fast build rule for target. -cropspecial_app/fast: - $(MAKE) -f objects/CMakeFiles/cropspecial_app.dir/build.make objects/CMakeFiles/cropspecial_app.dir/build -.PHONY : cropspecial_app/fast - -#============================================================================= -# Target rules for targets named KaguyaMiCamera - -# Build rule for target. -KaguyaMiCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 KaguyaMiCamera -.PHONY : KaguyaMiCamera - -# fast build rule for target. -KaguyaMiCamera/fast: - $(MAKE) -f objects/CMakeFiles/KaguyaMiCamera.dir/build.make objects/CMakeFiles/KaguyaMiCamera.dir/build -.PHONY : KaguyaMiCamera/fast - -#============================================================================= -# Target rules for targets named svfilter_app - -# Build rule for target. -svfilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 svfilter_app -.PHONY : svfilter_app - -# fast build rule for target. -svfilter_app/fast: - $(MAKE) -f objects/CMakeFiles/svfilter_app.dir/build.make objects/CMakeFiles/svfilter_app.dir/build -.PHONY : svfilter_app/fast - -#============================================================================= -# Target rules for targets named crop_app - -# Build rule for target. -crop_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 crop_app -.PHONY : crop_app - -# fast build rule for target. -crop_app/fast: - $(MAKE) -f objects/CMakeFiles/crop_app.dir/build.make objects/CMakeFiles/crop_app.dir/build -.PHONY : crop_app/fast - -#============================================================================= -# Target rules for targets named copylabel_app - -# Build rule for target. -copylabel_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 copylabel_app -.PHONY : copylabel_app - -# fast build rule for target. -copylabel_app/fast: - $(MAKE) -f objects/CMakeFiles/copylabel_app.dir/build.make objects/CMakeFiles/copylabel_app.dir/build -.PHONY : copylabel_app/fast - -#============================================================================= -# Target rules for targets named circle_app - -# Build rule for target. -circle_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 circle_app -.PHONY : circle_app - -# fast build rule for target. -circle_app/fast: - $(MAKE) -f objects/CMakeFiles/circle_app.dir/build.make objects/CMakeFiles/circle_app.dir/build -.PHONY : circle_app/fast - -#============================================================================= -# Target rules for targets named catlab_app - -# Build rule for target. -catlab_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 catlab_app -.PHONY : catlab_app - -# fast build rule for target. -catlab_app/fast: - $(MAKE) -f objects/CMakeFiles/catlab_app.dir/build.make objects/CMakeFiles/catlab_app.dir/build -.PHONY : catlab_app/fast - -#============================================================================= -# Target rules for targets named camtrim_app - -# Build rule for target. -camtrim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 camtrim_app -.PHONY : camtrim_app - -# fast build rule for target. -camtrim_app/fast: - $(MAKE) -f objects/CMakeFiles/camtrim_app.dir/build.make objects/CMakeFiles/camtrim_app.dir/build -.PHONY : camtrim_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MaximumCorrelation - -# Build rule for target. -isis3_unit_test_MaximumCorrelation: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MaximumCorrelation -.PHONY : isis3_unit_test_MaximumCorrelation - -# fast build rule for target. -isis3_unit_test_MaximumCorrelation/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MaximumCorrelation.dir/build.make objects/CMakeFiles/isis3_unit_test_MaximumCorrelation.dir/build -.PHONY : isis3_unit_test_MaximumCorrelation/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Gruen - -# Build rule for target. -isis3_unit_test_Gruen: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Gruen -.PHONY : isis3_unit_test_Gruen - -# fast build rule for target. -isis3_unit_test_Gruen/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Gruen.dir/build.make objects/CMakeFiles/isis3_unit_test_Gruen.dir/build -.PHONY : isis3_unit_test_Gruen/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LunarLambertMcEwen - -# Build rule for target. -isis3_unit_test_LunarLambertMcEwen: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambertMcEwen -.PHONY : isis3_unit_test_LunarLambertMcEwen - -# fast build rule for target. -isis3_unit_test_LunarLambertMcEwen/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambertMcEwen.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambertMcEwen.dir/build -.PHONY : isis3_unit_test_LunarLambertMcEwen/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Mixed - -# Build rule for target. -isis3_unit_test_Mixed: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mixed -.PHONY : isis3_unit_test_Mixed - -# fast build rule for target. -isis3_unit_test_Mixed/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mixed.dir/build.make objects/CMakeFiles/isis3_unit_test_Mixed.dir/build -.PHONY : isis3_unit_test_Mixed/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LunarLambertEmpirical - -# Build rule for target. -isis3_unit_test_LunarLambertEmpirical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambertEmpirical -.PHONY : isis3_unit_test_LunarLambertEmpirical - -# fast build rule for target. -isis3_unit_test_LunarLambertEmpirical/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambertEmpirical.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambertEmpirical.dir/build -.PHONY : isis3_unit_test_LunarLambertEmpirical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolygonSeederFactory - -# Build rule for target. -isis3_unit_test_PolygonSeederFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonSeederFactory -.PHONY : isis3_unit_test_PolygonSeederFactory - -# fast build rule for target. -isis3_unit_test_PolygonSeederFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonSeederFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonSeederFactory.dir/build -.PHONY : isis3_unit_test_PolygonSeederFactory/fast - -#============================================================================= -# Target rules for targets named HayabusaAmicaCamera - -# Build rule for target. -HayabusaAmicaCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HayabusaAmicaCamera -.PHONY : HayabusaAmicaCamera - -# fast build rule for target. -HayabusaAmicaCamera/fast: - $(MAKE) -f objects/CMakeFiles/HayabusaAmicaCamera.dir/build.make objects/CMakeFiles/HayabusaAmicaCamera.dir/build -.PHONY : HayabusaAmicaCamera/fast - -#============================================================================= -# Target rules for targets named deltack_app - -# Build rule for target. -deltack_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 deltack_app -.PHONY : deltack_app - -# fast build rule for target. -deltack_app/fast: - $(MAKE) -f objects/CMakeFiles/deltack_app.dir/build.make objects/CMakeFiles/deltack_app.dir/build -.PHONY : deltack_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Longitude - -# Build rule for target. -isis3_unit_test_Longitude: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Longitude -.PHONY : isis3_unit_test_Longitude - -# fast build rule for target. -isis3_unit_test_Longitude/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Longitude.dir/build.make objects/CMakeFiles/isis3_unit_test_Longitude.dir/build -.PHONY : isis3_unit_test_Longitude/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Matrix - -# Build rule for target. -isis3_unit_test_Matrix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Matrix -.PHONY : isis3_unit_test_Matrix - -# fast build rule for target. -isis3_unit_test_Matrix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Matrix.dir/build.make objects/CMakeFiles/isis3_unit_test_Matrix.dir/build -.PHONY : isis3_unit_test_Matrix/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeInfixToPostfix - -# Build rule for target. -isis3_unit_test_CubeInfixToPostfix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeInfixToPostfix -.PHONY : isis3_unit_test_CubeInfixToPostfix - -# fast build rule for target. -isis3_unit_test_CubeInfixToPostfix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeInfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeInfixToPostfix.dir/build -.PHONY : isis3_unit_test_CubeInfixToPostfix/fast - -#============================================================================= -# Target rules for targets named qview_app - -# Build rule for target. -qview_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 qview_app -.PHONY : qview_app - -# fast build rule for target. -qview_app/fast: - $(MAKE) -f objects/CMakeFiles/qview_app.dir/build.make objects/CMakeFiles/qview_app.dir/build -.PHONY : qview_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineEquation - -# Build rule for target. -isis3_unit_test_LineEquation: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineEquation -.PHONY : isis3_unit_test_LineEquation - -# fast build rule for target. -isis3_unit_test_LineEquation/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineEquation.dir/build.make objects/CMakeFiles/isis3_unit_test_LineEquation.dir/build -.PHONY : isis3_unit_test_LineEquation/fast - -#============================================================================= -# Target rules for targets named cosi_app - -# Build rule for target. -cosi_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cosi_app -.PHONY : cosi_app - -# fast build rule for target. -cosi_app/fast: - $(MAKE) -f objects/CMakeFiles/cosi_app.dir/build.make objects/CMakeFiles/cosi_app.dir/build -.PHONY : cosi_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LambertAzimuthalEqualArea - -# Build rule for target. -isis3_unit_test_LambertAzimuthalEqualArea: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LambertAzimuthalEqualArea -.PHONY : isis3_unit_test_LambertAzimuthalEqualArea - -# fast build rule for target. -isis3_unit_test_LambertAzimuthalEqualArea/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LambertAzimuthalEqualArea.dir/build.make objects/CMakeFiles/isis3_unit_test_LambertAzimuthalEqualArea.dir/build -.PHONY : isis3_unit_test_LambertAzimuthalEqualArea/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineScanCameraSkyMap - -# Build rule for target. -isis3_unit_test_LineScanCameraSkyMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraSkyMap -.PHONY : isis3_unit_test_LineScanCameraSkyMap - -# fast build rule for target. -isis3_unit_test_LineScanCameraSkyMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraSkyMap.dir/build -.PHONY : isis3_unit_test_LineScanCameraSkyMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_JP2Importer - -# Build rule for target. -isis3_unit_test_JP2Importer: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Importer -.PHONY : isis3_unit_test_JP2Importer - -# fast build rule for target. -isis3_unit_test_JP2Importer/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Importer.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Importer.dir/build -.PHONY : isis3_unit_test_JP2Importer/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlPointList - -# Build rule for target. -isis3_unit_test_ControlPointList: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlPointList -.PHONY : isis3_unit_test_ControlPointList - -# fast build rule for target. -isis3_unit_test_ControlPointList/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlPointList.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlPointList.dir/build -.PHONY : isis3_unit_test_ControlPointList/fast - -#============================================================================= -# Target rules for targets named mimap2isis_app - -# Build rule for target. -mimap2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mimap2isis_app -.PHONY : mimap2isis_app - -# fast build rule for target. -mimap2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mimap2isis_app.dir/build.make objects/CMakeFiles/mimap2isis_app.dir/build -.PHONY : mimap2isis_app/fast - -#============================================================================= -# Target rules for targets named kaguyami2isis_app - -# Build rule for target. -kaguyami2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kaguyami2isis_app -.PHONY : kaguyami2isis_app - -# fast build rule for target. -kaguyami2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/kaguyami2isis_app.dir/build.make objects/CMakeFiles/kaguyami2isis_app.dir/build -.PHONY : kaguyami2isis_app/fast - -#============================================================================= -# Target rules for targets named remrx_app - -# Build rule for target. -remrx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 remrx_app -.PHONY : remrx_app - -# fast build rule for target. -remrx_app/fast: - $(MAKE) -f objects/CMakeFiles/remrx_app.dir/build.make objects/CMakeFiles/remrx_app.dir/build -.PHONY : remrx_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_JP2Exporter - -# Build rule for target. -isis3_unit_test_JP2Exporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Exporter -.PHONY : isis3_unit_test_JP2Exporter - -# fast build rule for target. -isis3_unit_test_JP2Exporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Exporter.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Exporter.dir/build -.PHONY : isis3_unit_test_JP2Exporter/fast - -#============================================================================= -# Target rules for targets named cnettable_app - -# Build rule for target. -cnettable_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnettable_app -.PHONY : cnettable_app - -# fast build rule for target. -cnettable_app/fast: - $(MAKE) -f objects/CMakeFiles/cnettable_app.dir/build.make objects/CMakeFiles/cnettable_app.dir/build -.PHONY : cnettable_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_JP2Error - -# Build rule for target. -isis3_unit_test_JP2Error: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Error -.PHONY : isis3_unit_test_JP2Error - -# fast build rule for target. -isis3_unit_test_JP2Error/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Error.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Error.dir/build -.PHONY : isis3_unit_test_JP2Error/fast - -#============================================================================= -# Target rules for targets named leisa2isis_app - -# Build rule for target. -leisa2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 leisa2isis_app -.PHONY : leisa2isis_app - -# fast build rule for target. -leisa2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/leisa2isis_app.dir/build.make objects/CMakeFiles/leisa2isis_app.dir/build -.PHONY : leisa2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Isis - -# Build rule for target. -isis3_unit_test_Isis: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isis -.PHONY : isis3_unit_test_Isis - -# fast build rule for target. -isis3_unit_test_Isis/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isis.dir/build.make objects/CMakeFiles/isis3_unit_test_Isis.dir/build -.PHONY : isis3_unit_test_Isis/fast - -#============================================================================= -# Target rules for targets named spkwriter_app - -# Build rule for target. -spkwriter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 spkwriter_app -.PHONY : spkwriter_app - -# fast build rule for target. -spkwriter_app/fast: - $(MAKE) -f objects/CMakeFiles/spkwriter_app.dir/build.make objects/CMakeFiles/spkwriter_app.dir/build -.PHONY : spkwriter_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MinnaertEmpirical - -# Build rule for target. -isis3_unit_test_MinnaertEmpirical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MinnaertEmpirical -.PHONY : isis3_unit_test_MinnaertEmpirical - -# fast build rule for target. -isis3_unit_test_MinnaertEmpirical/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MinnaertEmpirical.dir/build.make objects/CMakeFiles/isis3_unit_test_MinnaertEmpirical.dir/build -.PHONY : isis3_unit_test_MinnaertEmpirical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Intercept - -# Build rule for target. -isis3_unit_test_Intercept: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Intercept -.PHONY : isis3_unit_test_Intercept - -# fast build rule for target. -isis3_unit_test_Intercept/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Intercept.dir/build.make objects/CMakeFiles/isis3_unit_test_Intercept.dir/build -.PHONY : isis3_unit_test_Intercept/fast - -#============================================================================= -# Target rules for targets named ringsmappt_app - -# Build rule for target. -ringsmappt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ringsmappt_app -.PHONY : ringsmappt_app - -# fast build rule for target. -ringsmappt_app/fast: - $(MAKE) -f objects/CMakeFiles/ringsmappt_app.dir/build.make objects/CMakeFiles/ringsmappt_app.dir/build -.PHONY : ringsmappt_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BandManager - -# Build rule for target. -isis3_unit_test_BandManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BandManager -.PHONY : isis3_unit_test_BandManager - -# fast build rule for target. -isis3_unit_test_BandManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BandManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BandManager.dir/build -.PHONY : isis3_unit_test_BandManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_InfixToPostfix - -# Build rule for target. -isis3_unit_test_InfixToPostfix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InfixToPostfix -.PHONY : isis3_unit_test_InfixToPostfix - -# fast build rule for target. -isis3_unit_test_InfixToPostfix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_InfixToPostfix.dir/build -.PHONY : isis3_unit_test_InfixToPostfix/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Planar - -# Build rule for target. -isis3_unit_test_Planar: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Planar -.PHONY : isis3_unit_test_Planar - -# fast build rule for target. -isis3_unit_test_Planar/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Planar.dir/build.make objects/CMakeFiles/isis3_unit_test_Planar.dir/build -.PHONY : isis3_unit_test_Planar/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImportPdsTable - -# Build rule for target. -isis3_unit_test_ImportPdsTable: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImportPdsTable -.PHONY : isis3_unit_test_ImportPdsTable - -# fast build rule for target. -isis3_unit_test_ImportPdsTable/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImportPdsTable.dir/build.make objects/CMakeFiles/isis3_unit_test_ImportPdsTable.dir/build -.PHONY : isis3_unit_test_ImportPdsTable/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_CrismCamera - -# Build rule for target. -mro_unit_test_CrismCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_CrismCamera -.PHONY : mro_unit_test_CrismCamera - -# fast build rule for target. -mro_unit_test_CrismCamera/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_CrismCamera.dir/build.make objects/CMakeFiles/mro_unit_test_CrismCamera.dir/build -.PHONY : mro_unit_test_CrismCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Resource - -# Build rule for target. -isis3_unit_test_Resource: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Resource -.PHONY : isis3_unit_test_Resource - -# fast build rule for target. -isis3_unit_test_Resource/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Resource.dir/build.make objects/CMakeFiles/isis3_unit_test_Resource.dir/build -.PHONY : isis3_unit_test_Resource/fast - -#============================================================================= -# Target rules for targets named UvvisCamera - -# Build rule for target. -UvvisCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 UvvisCamera -.PHONY : UvvisCamera - -# fast build rule for target. -UvvisCamera/fast: - $(MAKE) -f objects/CMakeFiles/UvvisCamera.dir/build.make objects/CMakeFiles/UvvisCamera.dir/build -.PHONY : UvvisCamera/fast - -#============================================================================= -# Target rules for targets named cnetdiff_app - -# Build rule for target. -cnetdiff_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetdiff_app -.PHONY : cnetdiff_app - -# fast build rule for target. -cnetdiff_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetdiff_app.dir/build.make objects/CMakeFiles/cnetdiff_app.dir/build -.PHONY : cnetdiff_app/fast - -#============================================================================= -# Target rules for targets named cubeatt_app - -# Build rule for target. -cubeatt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubeatt_app -.PHONY : cubeatt_app - -# fast build rule for target. -cubeatt_app/fast: - $(MAKE) -f objects/CMakeFiles/cubeatt_app.dir/build.make objects/CMakeFiles/cubeatt_app.dir/build -.PHONY : cubeatt_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImageImporter - -# Build rule for target. -isis3_unit_test_ImageImporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageImporter -.PHONY : isis3_unit_test_ImageImporter - -# fast build rule for target. -isis3_unit_test_ImageImporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageImporter.dir/build -.PHONY : isis3_unit_test_ImageImporter/fast - -#============================================================================= -# Target rules for targets named makecube_app - -# Build rule for target. -makecube_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 makecube_app -.PHONY : makecube_app - -# fast build rule for target. -makecube_app/fast: - $(MAKE) -f objects/CMakeFiles/makecube_app.dir/build.make objects/CMakeFiles/makecube_app.dir/build -.PHONY : makecube_app/fast - -#============================================================================= -# Target rules for targets named isis2fits_app - -# Build rule for target. -isis2fits_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2fits_app -.PHONY : isis2fits_app - -# fast build rule for target. -isis2fits_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2fits_app.dir/build.make objects/CMakeFiles/isis2fits_app.dir/build -.PHONY : isis2fits_app/fast - -#============================================================================= -# Target rules for targets named Mercator - -# Build rule for target. -Mercator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Mercator -.PHONY : Mercator - -# fast build rule for target. -Mercator/fast: - $(MAKE) -f objects/CMakeFiles/Mercator.dir/build.make objects/CMakeFiles/Mercator.dir/build -.PHONY : Mercator/fast - -#============================================================================= -# Target rules for targets named UpturnedEllipsoidTransverseAzimuthal - -# Build rule for target. -UpturnedEllipsoidTransverseAzimuthal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 UpturnedEllipsoidTransverseAzimuthal -.PHONY : UpturnedEllipsoidTransverseAzimuthal - -# fast build rule for target. -UpturnedEllipsoidTransverseAzimuthal/fast: - $(MAKE) -f objects/CMakeFiles/UpturnedEllipsoidTransverseAzimuthal.dir/build.make objects/CMakeFiles/UpturnedEllipsoidTransverseAzimuthal.dir/build -.PHONY : UpturnedEllipsoidTransverseAzimuthal/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SerialNumberList - -# Build rule for target. -isis3_unit_test_SerialNumberList: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SerialNumberList -.PHONY : isis3_unit_test_SerialNumberList - -# fast build rule for target. -isis3_unit_test_SerialNumberList/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SerialNumberList.dir/build.make objects/CMakeFiles/isis3_unit_test_SerialNumberList.dir/build -.PHONY : isis3_unit_test_SerialNumberList/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImageExporter - -# Build rule for target. -isis3_unit_test_ImageExporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageExporter -.PHONY : isis3_unit_test_ImageExporter - -# fast build rule for target. -isis3_unit_test_ImageExporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageExporter.dir/build -.PHONY : isis3_unit_test_ImageExporter/fast - -#============================================================================= -# Target rules for targets named DawnFcCamera - -# Build rule for target. -DawnFcCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 DawnFcCamera -.PHONY : DawnFcCamera - -# fast build rule for target. -DawnFcCamera/fast: - $(MAKE) -f objects/CMakeFiles/DawnFcCamera.dir/build.make objects/CMakeFiles/DawnFcCamera.dir/build -.PHONY : DawnFcCamera/fast - -#============================================================================= -# Target rules for targets named apollocal_app - -# Build rule for target. -apollocal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollocal_app -.PHONY : apollocal_app - -# fast build rule for target. -apollocal_app/fast: - $(MAKE) -f objects/CMakeFiles/apollocal_app.dir/build.make objects/CMakeFiles/apollocal_app.dir/build -.PHONY : apollocal_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImageOverlapSet - -# Build rule for target. -isis3_unit_test_ImageOverlapSet: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageOverlapSet -.PHONY : isis3_unit_test_ImageOverlapSet - -# fast build rule for target. -isis3_unit_test_ImageOverlapSet/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageOverlapSet.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageOverlapSet.dir/build -.PHONY : isis3_unit_test_ImageOverlapSet/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal - -# Build rule for target. -isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal -.PHONY : isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal - -# fast build rule for target. -isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal.dir/build.make objects/CMakeFiles/isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal.dir/build -.PHONY : isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal/fast - -#============================================================================= -# Target rules for targets named hirdr2isis_app - -# Build rule for target. -hirdr2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hirdr2isis_app -.PHONY : hirdr2isis_app - -# fast build rule for target. -hirdr2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/hirdr2isis_app.dir/build.make objects/CMakeFiles/hirdr2isis_app.dir/build -.PHONY : hirdr2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_IdealCamera - -# Build rule for target. -isis3_unit_test_IdealCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IdealCamera -.PHONY : isis3_unit_test_IdealCamera - -# fast build rule for target. -isis3_unit_test_IdealCamera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IdealCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_IdealCamera.dir/build -.PHONY : isis3_unit_test_IdealCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessExportPds - -# Build rule for target. -isis3_unit_test_ProcessExportPds: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExportPds -.PHONY : isis3_unit_test_ProcessExportPds - -# fast build rule for target. -isis3_unit_test_ProcessExportPds/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExportPds.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExportPds.dir/build -.PHONY : isis3_unit_test_ProcessExportPds/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_IException - -# Build rule for target. -isis3_unit_test_IException: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IException -.PHONY : isis3_unit_test_IException - -# fast build rule for target. -isis3_unit_test_IException/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IException.dir/build.make objects/CMakeFiles/isis3_unit_test_IException.dir/build -.PHONY : isis3_unit_test_IException/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_HapkeAtm1 - -# Build rule for target. -isis3_unit_test_HapkeAtm1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_HapkeAtm1 -.PHONY : isis3_unit_test_HapkeAtm1 - -# fast build rule for target. -isis3_unit_test_HapkeAtm1/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_HapkeAtm1.dir/build.make objects/CMakeFiles/isis3_unit_test_HapkeAtm1.dir/build -.PHONY : isis3_unit_test_HapkeAtm1/fast - -#============================================================================= -# Target rules for targets named mar10clean_app - -# Build rule for target. -mar10clean_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mar10clean_app -.PHONY : mar10clean_app - -# fast build rule for target. -mar10clean_app/fast: - $(MAKE) -f objects/CMakeFiles/mar10clean_app.dir/build.make objects/CMakeFiles/mar10clean_app.dir/build -.PHONY : mar10clean_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Gui - -# Build rule for target. -isis3_unit_test_Gui: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Gui -.PHONY : isis3_unit_test_Gui - -# fast build rule for target. -isis3_unit_test_Gui/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Gui.dir/build.make objects/CMakeFiles/isis3_unit_test_Gui.dir/build -.PHONY : isis3_unit_test_Gui/fast - -#============================================================================= -# Target rules for targets named thmnoseam_app - -# Build rule for target. -thmnoseam_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmnoseam_app -.PHONY : thmnoseam_app - -# fast build rule for target. -thmnoseam_app/fast: - $(MAKE) -f objects/CMakeFiles/thmnoseam_app.dir/build.make objects/CMakeFiles/thmnoseam_app.dir/build -.PHONY : thmnoseam_app/fast - -#============================================================================= -# Target rules for targets named fx_app - -# Build rule for target. -fx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fx_app -.PHONY : fx_app - -# fast build rule for target. -fx_app/fast: - $(MAKE) -f objects/CMakeFiles/fx_app.dir/build.make objects/CMakeFiles/fx_app.dir/build -.PHONY : fx_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Ransac - -# Build rule for target. -isis3_unit_test_Ransac: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Ransac -.PHONY : isis3_unit_test_Ransac - -# fast build rule for target. -isis3_unit_test_Ransac/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Ransac.dir/build.make objects/CMakeFiles/isis3_unit_test_Ransac.dir/build -.PHONY : isis3_unit_test_Ransac/fast - -#============================================================================= -# Target rules for targets named RosettaOsirisCamera - -# Build rule for target. -RosettaOsirisCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 RosettaOsirisCamera -.PHONY : RosettaOsirisCamera - -# fast build rule for target. -RosettaOsirisCamera/fast: - $(MAKE) -f objects/CMakeFiles/RosettaOsirisCamera.dir/build.make objects/CMakeFiles/RosettaOsirisCamera.dir/build -.PHONY : RosettaOsirisCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Histogram - -# Build rule for target. -isis3_unit_test_Histogram: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Histogram -.PHONY : isis3_unit_test_Histogram - -# fast build rule for target. -isis3_unit_test_Histogram/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Histogram.dir/build.make objects/CMakeFiles/isis3_unit_test_Histogram.dir/build -.PHONY : isis3_unit_test_Histogram/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GroupedStatistics - -# Build rule for target. -isis3_unit_test_GroupedStatistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GroupedStatistics -.PHONY : isis3_unit_test_GroupedStatistics - -# fast build rule for target. -isis3_unit_test_GroupedStatistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GroupedStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_GroupedStatistics.dir/build -.PHONY : isis3_unit_test_GroupedStatistics/fast - -#============================================================================= -# Target rules for targets named apollo_unit_test_Apollo - -# Build rule for target. -apollo_unit_test_Apollo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_Apollo -.PHONY : apollo_unit_test_Apollo - -# fast build rule for target. -apollo_unit_test_Apollo/fast: - $(MAKE) -f objects/CMakeFiles/apollo_unit_test_Apollo.dir/build.make objects/CMakeFiles/apollo_unit_test_Apollo.dir/build -.PHONY : apollo_unit_test_Apollo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GaussianStretch - -# Build rule for target. -isis3_unit_test_GaussianStretch: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GaussianStretch -.PHONY : isis3_unit_test_GaussianStretch - -# fast build rule for target. -isis3_unit_test_GaussianStretch/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GaussianStretch.dir/build.make objects/CMakeFiles/isis3_unit_test_GaussianStretch.dir/build -.PHONY : isis3_unit_test_GaussianStretch/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GroundGrid - -# Build rule for target. -isis3_unit_test_GroundGrid: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GroundGrid -.PHONY : isis3_unit_test_GroundGrid - -# fast build rule for target. -isis3_unit_test_GroundGrid/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GroundGrid.dir/build.make objects/CMakeFiles/isis3_unit_test_GroundGrid.dir/build -.PHONY : isis3_unit_test_GroundGrid/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GSLUtility - -# Build rule for target. -isis3_unit_test_GSLUtility: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GSLUtility -.PHONY : isis3_unit_test_GSLUtility - -# fast build rule for target. -isis3_unit_test_GSLUtility/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GSLUtility.dir/build.make objects/CMakeFiles/isis3_unit_test_GSLUtility.dir/build -.PHONY : isis3_unit_test_GSLUtility/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FramingCamera - -# Build rule for target. -isis3_unit_test_FramingCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FramingCamera -.PHONY : isis3_unit_test_FramingCamera - -# fast build rule for target. -isis3_unit_test_FramingCamera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FramingCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_FramingCamera.dir/build -.PHONY : isis3_unit_test_FramingCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Stretch - -# Build rule for target. -isis3_unit_test_Stretch: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Stretch -.PHONY : isis3_unit_test_Stretch - -# fast build rule for target. -isis3_unit_test_Stretch/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Stretch.dir/build.make objects/CMakeFiles/isis3_unit_test_Stretch.dir/build -.PHONY : isis3_unit_test_Stretch/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FileName - -# Build rule for target. -isis3_unit_test_FileName: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FileName -.PHONY : isis3_unit_test_FileName - -# fast build rule for target. -isis3_unit_test_FileName/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FileName.dir/build.make objects/CMakeFiles/isis3_unit_test_FileName.dir/build -.PHONY : isis3_unit_test_FileName/fast - -#============================================================================= -# Target rules for targets named SsiCamera - -# Build rule for target. -SsiCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 SsiCamera -.PHONY : SsiCamera - -# fast build rule for target. -SsiCamera/fast: - $(MAKE) -f objects/CMakeFiles/SsiCamera.dir/build.make objects/CMakeFiles/SsiCamera.dir/build -.PHONY : SsiCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Isotropic2 - -# Build rule for target. -isis3_unit_test_Isotropic2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isotropic2 -.PHONY : isis3_unit_test_Isotropic2 - -# fast build rule for target. -isis3_unit_test_Isotropic2/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isotropic2.dir/build.make objects/CMakeFiles/isis3_unit_test_Isotropic2.dir/build -.PHONY : isis3_unit_test_Isotropic2/fast - -#============================================================================= -# Target rules for targets named NewHorizonsMvicTdiCamera - -# Build rule for target. -NewHorizonsMvicTdiCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsMvicTdiCamera -.PHONY : NewHorizonsMvicTdiCamera - -# fast build rule for target. -NewHorizonsMvicTdiCamera/fast: - $(MAKE) -f objects/CMakeFiles/NewHorizonsMvicTdiCamera.dir/build.make objects/CMakeFiles/NewHorizonsMvicTdiCamera.dir/build -.PHONY : NewHorizonsMvicTdiCamera/fast - -#============================================================================= -# Target rules for targets named mrf2pds_app - -# Build rule for target. -mrf2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mrf2pds_app -.PHONY : mrf2pds_app - -# fast build rule for target. -mrf2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/mrf2pds_app.dir/build.make objects/CMakeFiles/mrf2pds_app.dir/build -.PHONY : mrf2pds_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Pipeline - -# Build rule for target. -isis3_unit_test_Pipeline: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pipeline -.PHONY : isis3_unit_test_Pipeline - -# fast build rule for target. -isis3_unit_test_Pipeline/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pipeline.dir/build.make objects/CMakeFiles/isis3_unit_test_Pipeline.dir/build -.PHONY : isis3_unit_test_Pipeline/fast - -#============================================================================= -# Target rules for targets named mask_app - -# Build rule for target. -mask_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mask_app -.PHONY : mask_app - -# fast build rule for target. -mask_app/fast: - $(MAKE) -f objects/CMakeFiles/mask_app.dir/build.make objects/CMakeFiles/mask_app.dir/build -.PHONY : mask_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FileList - -# Build rule for target. -isis3_unit_test_FileList: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FileList -.PHONY : isis3_unit_test_FileList - -# fast build rule for target. -isis3_unit_test_FileList/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FileList.dir/build.make objects/CMakeFiles/isis3_unit_test_FileList.dir/build -.PHONY : isis3_unit_test_FileList/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_HapkeAtm2 - -# Build rule for target. -isis3_unit_test_HapkeAtm2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_HapkeAtm2 -.PHONY : isis3_unit_test_HapkeAtm2 - -# fast build rule for target. -isis3_unit_test_HapkeAtm2/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_HapkeAtm2.dir/build.make objects/CMakeFiles/isis3_unit_test_HapkeAtm2.dir/build -.PHONY : isis3_unit_test_HapkeAtm2/fast - -#============================================================================= -# Target rules for targets named algebra_app - -# Build rule for target. -algebra_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 algebra_app -.PHONY : algebra_app - -# fast build rule for target. -algebra_app/fast: - $(MAKE) -f objects/CMakeFiles/algebra_app.dir/build.make objects/CMakeFiles/algebra_app.dir/build -.PHONY : algebra_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Isotropic1 - -# Build rule for target. -isis3_unit_test_Isotropic1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Isotropic1 -.PHONY : isis3_unit_test_Isotropic1 - -# fast build rule for target. -isis3_unit_test_Isotropic1/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Isotropic1.dir/build.make objects/CMakeFiles/isis3_unit_test_Isotropic1.dir/build -.PHONY : isis3_unit_test_Isotropic1/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_InlineInfixToPostfix - -# Build rule for target. -isis3_unit_test_InlineInfixToPostfix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InlineInfixToPostfix -.PHONY : isis3_unit_test_InlineInfixToPostfix - -# fast build rule for target. -isis3_unit_test_InlineInfixToPostfix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InlineInfixToPostfix.dir/build.make objects/CMakeFiles/isis3_unit_test_InlineInfixToPostfix.dir/build -.PHONY : isis3_unit_test_InlineInfixToPostfix/fast - -#============================================================================= -# Target rules for targets named bit2bit_app - -# Build rule for target. -bit2bit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 bit2bit_app -.PHONY : bit2bit_app - -# fast build rule for target. -bit2bit_app/fast: - $(MAKE) -f objects/CMakeFiles/bit2bit_app.dir/build.make objects/CMakeFiles/bit2bit_app.dir/build -.PHONY : bit2bit_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ExportPdsTable - -# Build rule for target. -isis3_unit_test_ExportPdsTable: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ExportPdsTable -.PHONY : isis3_unit_test_ExportPdsTable - -# fast build rule for target. -isis3_unit_test_ExportPdsTable/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ExportPdsTable.dir/build.make objects/CMakeFiles/isis3_unit_test_ExportPdsTable.dir/build -.PHONY : isis3_unit_test_ExportPdsTable/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PrincipalComponentAnalysis - -# Build rule for target. -isis3_unit_test_PrincipalComponentAnalysis: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PrincipalComponentAnalysis -.PHONY : isis3_unit_test_PrincipalComponentAnalysis - -# fast build rule for target. -isis3_unit_test_PrincipalComponentAnalysis/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PrincipalComponentAnalysis.dir/build.make objects/CMakeFiles/isis3_unit_test_PrincipalComponentAnalysis.dir/build -.PHONY : isis3_unit_test_PrincipalComponentAnalysis/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Equirectangular - -# Build rule for target. -isis3_unit_test_Equirectangular: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Equirectangular -.PHONY : isis3_unit_test_Equirectangular - -# fast build rule for target. -isis3_unit_test_Equirectangular/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Equirectangular.dir/build.make objects/CMakeFiles/isis3_unit_test_Equirectangular.dir/build -.PHONY : isis3_unit_test_Equirectangular/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TopoAtm - -# Build rule for target. -isis3_unit_test_TopoAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TopoAtm -.PHONY : isis3_unit_test_TopoAtm - -# fast build rule for target. -isis3_unit_test_TopoAtm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TopoAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_TopoAtm.dir/build -.PHONY : isis3_unit_test_TopoAtm/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Environment - -# Build rule for target. -isis3_unit_test_Environment: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Environment -.PHONY : isis3_unit_test_Environment - -# fast build rule for target. -isis3_unit_test_Environment/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Environment.dir/build.make objects/CMakeFiles/isis3_unit_test_Environment.dir/build -.PHONY : isis3_unit_test_Environment/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Enlarge - -# Build rule for target. -isis3_unit_test_Enlarge: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Enlarge -.PHONY : isis3_unit_test_Enlarge - -# fast build rule for target. -isis3_unit_test_Enlarge/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Enlarge.dir/build.make objects/CMakeFiles/isis3_unit_test_Enlarge.dir/build -.PHONY : isis3_unit_test_Enlarge/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_OverlapNormalization - -# Build rule for target. -isis3_unit_test_OverlapNormalization: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OverlapNormalization -.PHONY : isis3_unit_test_OverlapNormalization - -# fast build rule for target. -isis3_unit_test_OverlapNormalization/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OverlapNormalization.dir/build.make objects/CMakeFiles/isis3_unit_test_OverlapNormalization.dir/build -.PHONY : isis3_unit_test_OverlapNormalization/fast - -#============================================================================= -# Target rules for targets named himos_app - -# Build rule for target. -himos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 himos_app -.PHONY : himos_app - -# fast build rule for target. -himos_app/fast: - $(MAKE) -f objects/CMakeFiles/himos_app.dir/build.make objects/CMakeFiles/himos_app.dir/build -.PHONY : himos_app/fast - -#============================================================================= -# Target rules for targets named StandardDeviationOperator - -# Build rule for target. -StandardDeviationOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 StandardDeviationOperator -.PHONY : StandardDeviationOperator - -# fast build rule for target. -StandardDeviationOperator/fast: - $(MAKE) -f objects/CMakeFiles/StandardDeviationOperator.dir/build.make objects/CMakeFiles/StandardDeviationOperator.dir/build -.PHONY : StandardDeviationOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SessionLog - -# Build rule for target. -isis3_unit_test_SessionLog: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SessionLog -.PHONY : isis3_unit_test_SessionLog - -# fast build rule for target. -isis3_unit_test_SessionLog/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SessionLog.dir/build.make objects/CMakeFiles/isis3_unit_test_SessionLog.dir/build -.PHONY : isis3_unit_test_SessionLog/fast - -#============================================================================= -# Target rules for targets named makeflat_app - -# Build rule for target. -makeflat_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 makeflat_app -.PHONY : makeflat_app - -# fast build rule for target. -makeflat_app/fast: - $(MAKE) -f objects/CMakeFiles/makeflat_app.dir/build.make objects/CMakeFiles/makeflat_app.dir/build -.PHONY : makeflat_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LunarLambert - -# Build rule for target. -isis3_unit_test_LunarLambert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarLambert -.PHONY : isis3_unit_test_LunarLambert - -# fast build rule for target. -isis3_unit_test_LunarLambert/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarLambert.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarLambert.dir/build -.PHONY : isis3_unit_test_LunarLambert/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Distance - -# Build rule for target. -isis3_unit_test_Distance: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Distance -.PHONY : isis3_unit_test_Distance - -# fast build rule for target. -isis3_unit_test_Distance/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Distance.dir/build.make objects/CMakeFiles/isis3_unit_test_Distance.dir/build -.PHONY : isis3_unit_test_Distance/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Displacement - -# Build rule for target. -isis3_unit_test_Displacement: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Displacement -.PHONY : isis3_unit_test_Displacement - -# fast build rule for target. -isis3_unit_test_Displacement/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Displacement.dir/build.make objects/CMakeFiles/isis3_unit_test_Displacement.dir/build -.PHONY : isis3_unit_test_Displacement/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_JP2Encoder - -# Build rule for target. -isis3_unit_test_JP2Encoder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Encoder -.PHONY : isis3_unit_test_JP2Encoder - -# fast build rule for target. -isis3_unit_test_JP2Encoder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Encoder.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Encoder.dir/build -.PHONY : isis3_unit_test_JP2Encoder/fast - -#============================================================================= -# Target rules for targets named cassini_unit_test_CisscalFile - -# Build rule for target. -cassini_unit_test_CisscalFile: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_CisscalFile -.PHONY : cassini_unit_test_CisscalFile - -# fast build rule for target. -cassini_unit_test_CisscalFile/fast: - $(MAKE) -f objects/CMakeFiles/cassini_unit_test_CisscalFile.dir/build.make objects/CMakeFiles/cassini_unit_test_CisscalFile.dir/build -.PHONY : cassini_unit_test_CisscalFile/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImageOverlap - -# Build rule for target. -isis3_unit_test_ImageOverlap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImageOverlap -.PHONY : isis3_unit_test_ImageOverlap - -# fast build rule for target. -isis3_unit_test_ImageOverlap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImageOverlap.dir/build.make objects/CMakeFiles/isis3_unit_test_ImageOverlap.dir/build -.PHONY : isis3_unit_test_ImageOverlap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_DemShape - -# Build rule for target. -isis3_unit_test_DemShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DemShape -.PHONY : isis3_unit_test_DemShape - -# fast build rule for target. -isis3_unit_test_DemShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DemShape.dir/build.make objects/CMakeFiles/isis3_unit_test_DemShape.dir/build -.PHONY : isis3_unit_test_DemShape/fast - -#============================================================================= -# Target rules for targets named trimfilter_app - -# Build rule for target. -trimfilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 trimfilter_app -.PHONY : trimfilter_app - -# fast build rule for target. -trimfilter_app/fast: - $(MAKE) -f objects/CMakeFiles/trimfilter_app.dir/build.make objects/CMakeFiles/trimfilter_app.dir/build -.PHONY : trimfilter_app/fast - -#============================================================================= -# Target rules for targets named MoonAlbedo - -# Build rule for target. -MoonAlbedo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MoonAlbedo -.PHONY : MoonAlbedo - -# fast build rule for target. -MoonAlbedo/fast: - $(MAKE) -f objects/CMakeFiles/MoonAlbedo.dir/build.make objects/CMakeFiles/MoonAlbedo.dir/build -.PHONY : MoonAlbedo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GisBlob - -# Build rule for target. -isis3_unit_test_GisBlob: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisBlob -.PHONY : isis3_unit_test_GisBlob - -# fast build rule for target. -isis3_unit_test_GisBlob/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisBlob.dir/build.make objects/CMakeFiles/isis3_unit_test_GisBlob.dir/build -.PHONY : isis3_unit_test_GisBlob/fast - -#============================================================================= -# Target rules for targets named noisefilter_app - -# Build rule for target. -noisefilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 noisefilter_app -.PHONY : noisefilter_app - -# fast build rule for target. -noisefilter_app/fast: - $(MAKE) -f objects/CMakeFiles/noisefilter_app.dir/build.make objects/CMakeFiles/noisefilter_app.dir/build -.PHONY : noisefilter_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeManager - -# Build rule for target. -isis3_unit_test_CubeManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeManager -.PHONY : isis3_unit_test_CubeManager - -# fast build rule for target. -isis3_unit_test_CubeManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeManager.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeManager.dir/build -.PHONY : isis3_unit_test_CubeManager/fast - -#============================================================================= -# Target rules for targets named lo2isis_app - -# Build rule for target. -lo2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lo2isis_app -.PHONY : lo2isis_app - -# fast build rule for target. -lo2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/lo2isis_app.dir/build.make objects/CMakeFiles/lo2isis_app.dir/build -.PHONY : lo2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AutoReg - -# Build rule for target. -isis3_unit_test_AutoReg: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AutoReg -.PHONY : isis3_unit_test_AutoReg - -# fast build rule for target. -isis3_unit_test_AutoReg/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AutoReg.dir/build.make objects/CMakeFiles/isis3_unit_test_AutoReg.dir/build -.PHONY : isis3_unit_test_AutoReg/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Stereo - -# Build rule for target. -isis3_unit_test_Stereo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Stereo -.PHONY : isis3_unit_test_Stereo - -# fast build rule for target. -isis3_unit_test_Stereo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Stereo.dir/build.make objects/CMakeFiles/isis3_unit_test_Stereo.dir/build -.PHONY : isis3_unit_test_Stereo/fast - -#============================================================================= -# Target rules for targets named LunarLambertEmpirical - -# Build rule for target. -LunarLambertEmpirical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LunarLambertEmpirical -.PHONY : LunarLambertEmpirical - -# fast build rule for target. -LunarLambertEmpirical/fast: - $(MAKE) -f objects/CMakeFiles/LunarLambertEmpirical.dir/build.make objects/CMakeFiles/LunarLambertEmpirical.dir/build -.PHONY : LunarLambertEmpirical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Latitude - -# Build rule for target. -isis3_unit_test_Latitude: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Latitude -.PHONY : isis3_unit_test_Latitude - -# fast build rule for target. -isis3_unit_test_Latitude/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Latitude.dir/build.make objects/CMakeFiles/isis3_unit_test_Latitude.dir/build -.PHONY : isis3_unit_test_Latitude/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MaximumLikelihoodWFunctions - -# Build rule for target. -isis3_unit_test_MaximumLikelihoodWFunctions: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MaximumLikelihoodWFunctions -.PHONY : isis3_unit_test_MaximumLikelihoodWFunctions - -# fast build rule for target. -isis3_unit_test_MaximumLikelihoodWFunctions/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MaximumLikelihoodWFunctions.dir/build.make objects/CMakeFiles/isis3_unit_test_MaximumLikelihoodWFunctions.dir/build -.PHONY : isis3_unit_test_MaximumLikelihoodWFunctions/fast - -#============================================================================= -# Target rules for targets named LoMediumCamera - -# Build rule for target. -LoMediumCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LoMediumCamera -.PHONY : LoMediumCamera - -# fast build rule for target. -LoMediumCamera/fast: - $(MAKE) -f objects/CMakeFiles/LoMediumCamera.dir/build.make objects/CMakeFiles/LoMediumCamera.dir/build -.PHONY : LoMediumCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Constants - -# Build rule for target. -isis3_unit_test_Constants: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Constants -.PHONY : isis3_unit_test_Constants - -# fast build rule for target. -isis3_unit_test_Constants/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Constants.dir/build.make objects/CMakeFiles/isis3_unit_test_Constants.dir/build -.PHONY : isis3_unit_test_Constants/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EmbreeShapeModel - -# Build rule for target. -isis3_unit_test_EmbreeShapeModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeShapeModel -.PHONY : isis3_unit_test_EmbreeShapeModel - -# fast build rule for target. -isis3_unit_test_EmbreeShapeModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeShapeModel.dir/build -.PHONY : isis3_unit_test_EmbreeShapeModel/fast - -#============================================================================= -# Target rules for targets named NoOperator - -# Build rule for target. -NoOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NoOperator -.PHONY : NoOperator - -# fast build rule for target. -NoOperator/fast: - $(MAKE) -f objects/CMakeFiles/NoOperator.dir/build.make objects/CMakeFiles/NoOperator.dir/build -.PHONY : NoOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_IString - -# Build rule for target. -isis3_unit_test_IString: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IString -.PHONY : isis3_unit_test_IString - -# fast build rule for target. -isis3_unit_test_IString/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IString.dir/build.make objects/CMakeFiles/isis3_unit_test_IString.dir/build -.PHONY : isis3_unit_test_IString/fast - -#============================================================================= -# Target rules for targets named ThemisIrCamera - -# Build rule for target. -ThemisIrCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ThemisIrCamera -.PHONY : ThemisIrCamera - -# fast build rule for target. -ThemisIrCamera/fast: - $(MAKE) -f objects/CMakeFiles/ThemisIrCamera.dir/build.make objects/CMakeFiles/ThemisIrCamera.dir/build -.PHONY : ThemisIrCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Column - -# Build rule for target. -isis3_unit_test_Column: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Column -.PHONY : isis3_unit_test_Column - -# fast build rule for target. -isis3_unit_test_Column/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Column.dir/build.make objects/CMakeFiles/isis3_unit_test_Column.dir/build -.PHONY : isis3_unit_test_Column/fast - -#============================================================================= -# Target rules for targets named MarciCamera - -# Build rule for target. -MarciCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MarciCamera -.PHONY : MarciCamera - -# fast build rule for target. -MarciCamera/fast: - $(MAKE) -f objects/CMakeFiles/MarciCamera.dir/build.make objects/CMakeFiles/MarciCamera.dir/build -.PHONY : MarciCamera/fast - -#============================================================================= -# Target rules for targets named cnetadd_app - -# Build rule for target. -cnetadd_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetadd_app -.PHONY : cnetadd_app - -# fast build rule for target. -cnetadd_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetadd_app.dir/build.make objects/CMakeFiles/cnetadd_app.dir/build -.PHONY : cnetadd_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CollectorMap - -# Build rule for target. -isis3_unit_test_CollectorMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CollectorMap -.PHONY : isis3_unit_test_CollectorMap - -# fast build rule for target. -isis3_unit_test_CollectorMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CollectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CollectorMap.dir/build -.PHONY : isis3_unit_test_CollectorMap/fast - -#============================================================================= -# Target rules for targets named HrscCamera - -# Build rule for target. -HrscCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HrscCamera -.PHONY : HrscCamera - -# fast build rule for target. -HrscCamera/fast: - $(MAKE) -f objects/CMakeFiles/HrscCamera.dir/build.make objects/CMakeFiles/HrscCamera.dir/build -.PHONY : HrscCamera/fast - -#============================================================================= -# Target rules for targets named MoravecOperator - -# Build rule for target. -MoravecOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MoravecOperator -.PHONY : MoravecOperator - -# fast build rule for target. -MoravecOperator/fast: - $(MAKE) -f objects/CMakeFiles/MoravecOperator.dir/build.make objects/CMakeFiles/MoravecOperator.dir/build -.PHONY : MoravecOperator/fast - -#============================================================================= -# Target rules for targets named hicolormos_app - -# Build rule for target. -hicolormos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicolormos_app -.PHONY : hicolormos_app - -# fast build rule for target. -hicolormos_app/fast: - $(MAKE) -f objects/CMakeFiles/hicolormos_app.dir/build.make objects/CMakeFiles/hicolormos_app.dir/build -.PHONY : hicolormos_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CSVReader - -# Build rule for target. -isis3_unit_test_CSVReader: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CSVReader -.PHONY : isis3_unit_test_CSVReader - -# fast build rule for target. -isis3_unit_test_CSVReader/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CSVReader.dir/build.make objects/CMakeFiles/isis3_unit_test_CSVReader.dir/build -.PHONY : isis3_unit_test_CSVReader/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Interpolator - -# Build rule for target. -isis3_unit_test_Interpolator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Interpolator -.PHONY : isis3_unit_test_Interpolator - -# fast build rule for target. -isis3_unit_test_Interpolator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Interpolator.dir/build.make objects/CMakeFiles/isis3_unit_test_Interpolator.dir/build -.PHONY : isis3_unit_test_Interpolator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpectralDefinition - -# Build rule for target. -isis3_unit_test_SpectralDefinition: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition -.PHONY : isis3_unit_test_SpectralDefinition - -# fast build rule for target. -isis3_unit_test_SpectralDefinition/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition.dir/build -.PHONY : isis3_unit_test_SpectralDefinition/fast - -#============================================================================= -# Target rules for targets named StripPolygonSeeder - -# Build rule for target. -StripPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 StripPolygonSeeder -.PHONY : StripPolygonSeeder - -# fast build rule for target. -StripPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/StripPolygonSeeder.dir/build.make objects/CMakeFiles/StripPolygonSeeder.dir/build -.PHONY : StripPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MosaicSceneWidget - -# Build rule for target. -isis3_unit_test_MosaicSceneWidget: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MosaicSceneWidget -.PHONY : isis3_unit_test_MosaicSceneWidget - -# fast build rule for target. -isis3_unit_test_MosaicSceneWidget/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MosaicSceneWidget.dir/build.make objects/CMakeFiles/isis3_unit_test_MosaicSceneWidget.dir/build -.PHONY : isis3_unit_test_MosaicSceneWidget/fast - -#============================================================================= -# Target rules for targets named explode_app - -# Build rule for target. -explode_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 explode_app -.PHONY : explode_app - -# fast build rule for target. -explode_app/fast: - $(MAKE) -f objects/CMakeFiles/explode_app.dir/build.make objects/CMakeFiles/explode_app.dir/build -.PHONY : explode_app/fast - -#============================================================================= -# Target rules for targets named ObliqueCylindrical - -# Build rule for target. -ObliqueCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ObliqueCylindrical -.PHONY : ObliqueCylindrical - -# fast build rule for target. -ObliqueCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/ObliqueCylindrical.dir/build.make objects/CMakeFiles/ObliqueCylindrical.dir/build -.PHONY : ObliqueCylindrical/fast - -#============================================================================= -# Target rules for targets named LunarLambertMcEwen - -# Build rule for target. -LunarLambertMcEwen: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LunarLambertMcEwen -.PHONY : LunarLambertMcEwen - -# fast build rule for target. -LunarLambertMcEwen/fast: - $(MAKE) -f objects/CMakeFiles/LunarLambertMcEwen.dir/build.make objects/CMakeFiles/LunarLambertMcEwen.dir/build -.PHONY : LunarLambertMcEwen/fast - -#============================================================================= -# Target rules for targets named PolarStereographic - -# Build rule for target. -PolarStereographic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 PolarStereographic -.PHONY : PolarStereographic - -# fast build rule for target. -PolarStereographic/fast: - $(MAKE) -f objects/CMakeFiles/PolarStereographic.dir/build.make objects/CMakeFiles/PolarStereographic.dir/build -.PHONY : PolarStereographic/fast - -#============================================================================= -# Target rules for targets named MocNarrowAngleCamera - -# Build rule for target. -MocNarrowAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MocNarrowAngleCamera -.PHONY : MocNarrowAngleCamera - -# fast build rule for target. -MocNarrowAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/MocNarrowAngleCamera.dir/build.make objects/CMakeFiles/MocNarrowAngleCamera.dir/build -.PHONY : MocNarrowAngleCamera/fast - -#============================================================================= -# Target rules for targets named PointPerspective - -# Build rule for target. -PointPerspective: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 PointPerspective -.PHONY : PointPerspective - -# fast build rule for target. -PointPerspective/fast: - $(MAKE) -f objects/CMakeFiles/PointPerspective.dir/build.make objects/CMakeFiles/PointPerspective.dir/build -.PHONY : PointPerspective/fast - -#============================================================================= -# Target rules for targets named mical_app - -# Build rule for target. -mical_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mical_app -.PHONY : mical_app - -# fast build rule for target. -mical_app/fast: - $(MAKE) -f objects/CMakeFiles/mical_app.dir/build.make objects/CMakeFiles/mical_app.dir/build -.PHONY : mical_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TransverseMercator - -# Build rule for target. -isis3_unit_test_TransverseMercator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TransverseMercator -.PHONY : isis3_unit_test_TransverseMercator - -# fast build rule for target. -isis3_unit_test_TransverseMercator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TransverseMercator.dir/build.make objects/CMakeFiles/isis3_unit_test_TransverseMercator.dir/build -.PHONY : isis3_unit_test_TransverseMercator/fast - -#============================================================================= -# Target rules for targets named LoHighCamera - -# Build rule for target. -LoHighCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LoHighCamera -.PHONY : LoHighCamera - -# fast build rule for target. -LoHighCamera/fast: - $(MAKE) -f objects/CMakeFiles/LoHighCamera.dir/build.make objects/CMakeFiles/LoHighCamera.dir/build -.PHONY : LoHighCamera/fast - -#============================================================================= -# Target rules for targets named AdaptiveGruen - -# Build rule for target. -AdaptiveGruen: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 AdaptiveGruen -.PHONY : AdaptiveGruen - -# fast build rule for target. -AdaptiveGruen/fast: - $(MAKE) -f objects/CMakeFiles/AdaptiveGruen.dir/build.make objects/CMakeFiles/AdaptiveGruen.dir/build -.PHONY : AdaptiveGruen/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Spice - -# Build rule for target. -isis3_unit_test_Spice: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Spice -.PHONY : isis3_unit_test_Spice - -# fast build rule for target. -isis3_unit_test_Spice/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Spice.dir/build.make objects/CMakeFiles/isis3_unit_test_Spice.dir/build -.PHONY : isis3_unit_test_Spice/fast - -#============================================================================= -# Target rules for targets named LambertAzimuthalEqualArea - -# Build rule for target. -LambertAzimuthalEqualArea: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LambertAzimuthalEqualArea -.PHONY : LambertAzimuthalEqualArea - -# fast build rule for target. -LambertAzimuthalEqualArea/fast: - $(MAKE) -f objects/CMakeFiles/LambertAzimuthalEqualArea.dir/build.make objects/CMakeFiles/LambertAzimuthalEqualArea.dir/build -.PHONY : LambertAzimuthalEqualArea/fast - -#============================================================================= -# Target rules for targets named mirror_app - -# Build rule for target. -mirror_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mirror_app -.PHONY : mirror_app - -# fast build rule for target. -mirror_app/fast: - $(MAKE) -f objects/CMakeFiles/mirror_app.dir/build.make objects/CMakeFiles/mirror_app.dir/build -.PHONY : mirror_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_History - -# Build rule for target. -isis3_unit_test_History: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_History -.PHONY : isis3_unit_test_History - -# fast build rule for target. -isis3_unit_test_History/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_History.dir/build.make objects/CMakeFiles/isis3_unit_test_History.dir/build -.PHONY : isis3_unit_test_History/fast - -#============================================================================= -# Target rules for targets named rosvirtis2isis_app - -# Build rule for target. -rosvirtis2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 rosvirtis2isis_app -.PHONY : rosvirtis2isis_app - -# fast build rule for target. -rosvirtis2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/rosvirtis2isis_app.dir/build.make objects/CMakeFiles/rosvirtis2isis_app.dir/build -.PHONY : rosvirtis2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MinimumDifference - -# Build rule for target. -isis3_unit_test_MinimumDifference: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MinimumDifference -.PHONY : isis3_unit_test_MinimumDifference - -# fast build rule for target. -isis3_unit_test_MinimumDifference/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MinimumDifference.dir/build.make objects/CMakeFiles/isis3_unit_test_MinimumDifference.dir/build -.PHONY : isis3_unit_test_MinimumDifference/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessByTile - -# Build rule for target. -isis3_unit_test_ProcessByTile: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByTile -.PHONY : isis3_unit_test_ProcessByTile - -# fast build rule for target. -isis3_unit_test_ProcessByTile/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByTile.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByTile.dir/build -.PHONY : isis3_unit_test_ProcessByTile/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlTokenizer - -# Build rule for target. -isis3_unit_test_PvlTokenizer: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlTokenizer -.PHONY : isis3_unit_test_PvlTokenizer - -# fast build rule for target. -isis3_unit_test_PvlTokenizer/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlTokenizer.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlTokenizer.dir/build -.PHONY : isis3_unit_test_PvlTokenizer/fast - -#============================================================================= -# Target rules for targets named thmvistrim_app - -# Build rule for target. -thmvistrim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmvistrim_app -.PHONY : thmvistrim_app - -# fast build rule for target. -thmvistrim_app/fast: - $(MAKE) -f objects/CMakeFiles/thmvistrim_app.dir/build.make objects/CMakeFiles/thmvistrim_app.dir/build -.PHONY : thmvistrim_app/fast - -#============================================================================= -# Target rules for targets named MocWideAngleCamera - -# Build rule for target. -MocWideAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MocWideAngleCamera -.PHONY : MocWideAngleCamera - -# fast build rule for target. -MocWideAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/MocWideAngleCamera.dir/build.make objects/CMakeFiles/MocWideAngleCamera.dir/build -.PHONY : MocWideAngleCamera/fast - -#============================================================================= -# Target rules for targets named mdisproc_app - -# Build rule for target. -mdisproc_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdisproc_app -.PHONY : mdisproc_app - -# fast build rule for target. -mdisproc_app/fast: - $(MAKE) -f objects/CMakeFiles/mdisproc_app.dir/build.make objects/CMakeFiles/mdisproc_app.dir/build -.PHONY : mdisproc_app/fast - -#============================================================================= -# Target rules for targets named Planar - -# Build rule for target. -Planar: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Planar -.PHONY : Planar - -# fast build rule for target. -Planar/fast: - $(MAKE) -f objects/CMakeFiles/Planar.dir/build.make objects/CMakeFiles/Planar.dir/build -.PHONY : Planar/fast - -#============================================================================= -# Target rules for targets named hijitreg_app - -# Build rule for target. -hijitreg_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hijitreg_app -.PHONY : hijitreg_app - -# fast build rule for target. -hijitreg_app/fast: - $(MAKE) -f objects/CMakeFiles/hijitreg_app.dir/build.make objects/CMakeFiles/hijitreg_app.dir/build -.PHONY : hijitreg_app/fast - -#============================================================================= -# Target rules for targets named MaximumCorrelation - -# Build rule for target. -MaximumCorrelation: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MaximumCorrelation -.PHONY : MaximumCorrelation - -# fast build rule for target. -MaximumCorrelation/fast: - $(MAKE) -f objects/CMakeFiles/MaximumCorrelation.dir/build.make objects/CMakeFiles/MaximumCorrelation.dir/build -.PHONY : MaximumCorrelation/fast - -#============================================================================= -# Target rules for targets named Hapke - -# Build rule for target. -Hapke: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Hapke -.PHONY : Hapke - -# fast build rule for target. -Hapke/fast: - $(MAKE) -f objects/CMakeFiles/Hapke.dir/build.make objects/CMakeFiles/Hapke.dir/build -.PHONY : Hapke/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlFormatPds - -# Build rule for target. -isis3_unit_test_PvlFormatPds: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFormatPds -.PHONY : isis3_unit_test_PvlFormatPds - -# fast build rule for target. -isis3_unit_test_PvlFormatPds/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFormatPds.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFormatPds.dir/build -.PHONY : isis3_unit_test_PvlFormatPds/fast - -#============================================================================= -# Target rules for targets named cnetsplit_app - -# Build rule for target. -cnetsplit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetsplit_app -.PHONY : cnetsplit_app - -# fast build rule for target. -cnetsplit_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetsplit_app.dir/build.make objects/CMakeFiles/cnetsplit_app.dir/build -.PHONY : cnetsplit_app/fast - -#============================================================================= -# Target rules for targets named TransverseMercator - -# Build rule for target. -TransverseMercator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 TransverseMercator -.PHONY : TransverseMercator - -# fast build rule for target. -TransverseMercator/fast: - $(MAKE) -f objects/CMakeFiles/TransverseMercator.dir/build.make objects/CMakeFiles/TransverseMercator.dir/build -.PHONY : TransverseMercator/fast - -#============================================================================= -# Target rules for targets named ciss2isis_app - -# Build rule for target. -ciss2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ciss2isis_app -.PHONY : ciss2isis_app - -# fast build rule for target. -ciss2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/ciss2isis_app.dir/build.make objects/CMakeFiles/ciss2isis_app.dir/build -.PHONY : ciss2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Cube - -# Build rule for target. -isis3_unit_test_Cube: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Cube -.PHONY : isis3_unit_test_Cube - -# fast build rule for target. -isis3_unit_test_Cube/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Cube.dir/build.make objects/CMakeFiles/isis3_unit_test_Cube.dir/build -.PHONY : isis3_unit_test_Cube/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AdaptiveGruen - -# Build rule for target. -isis3_unit_test_AdaptiveGruen: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AdaptiveGruen -.PHONY : isis3_unit_test_AdaptiveGruen - -# fast build rule for target. -isis3_unit_test_AdaptiveGruen/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AdaptiveGruen.dir/build.make objects/CMakeFiles/isis3_unit_test_AdaptiveGruen.dir/build -.PHONY : isis3_unit_test_AdaptiveGruen/fast - -#============================================================================= -# Target rules for targets named cubenorm_app - -# Build rule for target. -cubenorm_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubenorm_app -.PHONY : cubenorm_app - -# fast build rule for target. -cubenorm_app/fast: - $(MAKE) -f objects/CMakeFiles/cubenorm_app.dir/build.make objects/CMakeFiles/cubenorm_app.dir/build -.PHONY : cubenorm_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Chip - -# Build rule for target. -isis3_unit_test_Chip: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Chip -.PHONY : isis3_unit_test_Chip - -# fast build rule for target. -isis3_unit_test_Chip/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Chip.dir/build.make objects/CMakeFiles/isis3_unit_test_Chip.dir/build -.PHONY : isis3_unit_test_Chip/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ExportDescription - -# Build rule for target. -isis3_unit_test_ExportDescription: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ExportDescription -.PHONY : isis3_unit_test_ExportDescription - -# fast build rule for target. -isis3_unit_test_ExportDescription/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ExportDescription.dir/build.make objects/CMakeFiles/isis3_unit_test_ExportDescription.dir/build -.PHONY : isis3_unit_test_ExportDescription/fast - -#============================================================================= -# Target rules for targets named appjit_app - -# Build rule for target. -appjit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 appjit_app -.PHONY : appjit_app - -# fast build rule for target. -appjit_app/fast: - $(MAKE) -f objects/CMakeFiles/appjit_app.dir/build.make objects/CMakeFiles/appjit_app.dir/build -.PHONY : appjit_app/fast - -#============================================================================= -# Target rules for targets named ckwriter_app - -# Build rule for target. -ckwriter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ckwriter_app -.PHONY : ckwriter_app - -# fast build rule for target. -ckwriter_app/fast: - $(MAKE) -f objects/CMakeFiles/ckwriter_app.dir/build.make objects/CMakeFiles/ckwriter_app.dir/build -.PHONY : ckwriter_app/fast - -#============================================================================= -# Target rules for targets named ForstnerOperator - -# Build rule for target. -ForstnerOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ForstnerOperator -.PHONY : ForstnerOperator - -# fast build rule for target. -ForstnerOperator/fast: - $(MAKE) -f objects/CMakeFiles/ForstnerOperator.dir/build.make objects/CMakeFiles/ForstnerOperator.dir/build -.PHONY : ForstnerOperator/fast - -#============================================================================= -# Target rules for targets named Lambert - -# Build rule for target. -Lambert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Lambert -.PHONY : Lambert - -# fast build rule for target. -Lambert/fast: - $(MAKE) -f objects/CMakeFiles/Lambert.dir/build.make objects/CMakeFiles/Lambert.dir/build -.PHONY : Lambert/fast - -#============================================================================= -# Target rules for targets named mrf2isis_app - -# Build rule for target. -mrf2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mrf2isis_app -.PHONY : mrf2isis_app - -# fast build rule for target. -mrf2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mrf2isis_app.dir/build.make objects/CMakeFiles/mrf2isis_app.dir/build -.PHONY : mrf2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Spectel - -# Build rule for target. -isis3_unit_test_Spectel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Spectel -.PHONY : isis3_unit_test_Spectel - -# fast build rule for target. -isis3_unit_test_Spectel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Spectel.dir/build.make objects/CMakeFiles/isis3_unit_test_Spectel.dir/build -.PHONY : isis3_unit_test_Spectel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Topo - -# Build rule for target. -isis3_unit_test_Topo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Topo -.PHONY : isis3_unit_test_Topo - -# fast build rule for target. -isis3_unit_test_Topo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Topo.dir/build.make objects/CMakeFiles/isis3_unit_test_Topo.dir/build -.PHONY : isis3_unit_test_Topo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Equalization - -# Build rule for target. -isis3_unit_test_Equalization: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Equalization -.PHONY : isis3_unit_test_Equalization - -# fast build rule for target. -isis3_unit_test_Equalization/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Equalization.dir/build.make objects/CMakeFiles/isis3_unit_test_Equalization.dir/build -.PHONY : isis3_unit_test_Equalization/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Hillshade - -# Build rule for target. -isis3_unit_test_Hillshade: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Hillshade -.PHONY : isis3_unit_test_Hillshade - -# fast build rule for target. -isis3_unit_test_Hillshade/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Hillshade.dir/build.make objects/CMakeFiles/isis3_unit_test_Hillshade.dir/build -.PHONY : isis3_unit_test_Hillshade/fast - -#============================================================================= -# Target rules for targets named DawnVirCamera - -# Build rule for target. -DawnVirCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 DawnVirCamera -.PHONY : DawnVirCamera - -# fast build rule for target. -DawnVirCamera/fast: - $(MAKE) -f objects/CMakeFiles/DawnVirCamera.dir/build.make objects/CMakeFiles/DawnVirCamera.dir/build -.PHONY : DawnVirCamera/fast - -#============================================================================= -# Target rules for targets named Sinusoidal - -# Build rule for target. -Sinusoidal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Sinusoidal -.PHONY : Sinusoidal - -# fast build rule for target. -Sinusoidal/fast: - $(MAKE) -f objects/CMakeFiles/Sinusoidal.dir/build.make objects/CMakeFiles/Sinusoidal.dir/build -.PHONY : Sinusoidal/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Projection - -# Build rule for target. -isis3_unit_test_Projection: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Projection -.PHONY : isis3_unit_test_Projection - -# fast build rule for target. -isis3_unit_test_Projection/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Projection.dir/build.make objects/CMakeFiles/isis3_unit_test_Projection.dir/build -.PHONY : isis3_unit_test_Projection/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarGroundMap - -# Build rule for target. -isis3_unit_test_RadarGroundMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarGroundMap -.PHONY : isis3_unit_test_RadarGroundMap - -# fast build rule for target. -isis3_unit_test_RadarGroundMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarGroundMap.dir/build -.PHONY : isis3_unit_test_RadarGroundMap/fast - -#============================================================================= -# Target rules for targets named cathist_app - -# Build rule for target. -cathist_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cathist_app -.PHONY : cathist_app - -# fast build rule for target. -cathist_app/fast: - $(MAKE) -f objects/CMakeFiles/cathist_app.dir/build.make objects/CMakeFiles/cathist_app.dir/build -.PHONY : cathist_app/fast - -#============================================================================= -# Target rules for targets named LommelSeeliger - -# Build rule for target. -LommelSeeliger: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LommelSeeliger -.PHONY : LommelSeeliger - -# fast build rule for target. -LommelSeeliger/fast: - $(MAKE) -f objects/CMakeFiles/LommelSeeliger.dir/build.make objects/CMakeFiles/LommelSeeliger.dir/build -.PHONY : LommelSeeliger/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SimpleCylindrical - -# Build rule for target. -isis3_unit_test_SimpleCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SimpleCylindrical -.PHONY : isis3_unit_test_SimpleCylindrical - -# fast build rule for target. -isis3_unit_test_SimpleCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SimpleCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_SimpleCylindrical.dir/build -.PHONY : isis3_unit_test_SimpleCylindrical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GisTopology - -# Build rule for target. -isis3_unit_test_GisTopology: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisTopology -.PHONY : isis3_unit_test_GisTopology - -# fast build rule for target. -isis3_unit_test_GisTopology/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisTopology.dir/build.make objects/CMakeFiles/isis3_unit_test_GisTopology.dir/build -.PHONY : isis3_unit_test_GisTopology/fast - -#============================================================================= -# Target rules for targets named HapkeAtm1 - -# Build rule for target. -HapkeAtm1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HapkeAtm1 -.PHONY : HapkeAtm1 - -# fast build rule for target. -HapkeAtm1/fast: - $(MAKE) -f objects/CMakeFiles/HapkeAtm1.dir/build.make objects/CMakeFiles/HapkeAtm1.dir/build -.PHONY : HapkeAtm1/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Message - -# Build rule for target. -isis3_unit_test_Message: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Message -.PHONY : isis3_unit_test_Message - -# fast build rule for target. -isis3_unit_test_Message/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Message.dir/build.make objects/CMakeFiles/isis3_unit_test_Message.dir/build -.PHONY : isis3_unit_test_Message/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_DatabaseFactory - -# Build rule for target. -isis3_unit_test_DatabaseFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DatabaseFactory -.PHONY : isis3_unit_test_DatabaseFactory - -# fast build rule for target. -isis3_unit_test_DatabaseFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DatabaseFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_DatabaseFactory.dir/build -.PHONY : isis3_unit_test_DatabaseFactory/fast - -#============================================================================= -# Target rules for targets named rolo2isis_app - -# Build rule for target. -rolo2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 rolo2isis_app -.PHONY : rolo2isis_app - -# fast build rule for target. -rolo2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/rolo2isis_app.dir/build.make objects/CMakeFiles/rolo2isis_app.dir/build -.PHONY : rolo2isis_app/fast - -#============================================================================= -# Target rules for targets named LroNarrowAngleCamera - -# Build rule for target. -LroNarrowAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LroNarrowAngleCamera -.PHONY : LroNarrowAngleCamera - -# fast build rule for target. -LroNarrowAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/LroNarrowAngleCamera.dir/build.make objects/CMakeFiles/LroNarrowAngleCamera.dir/build -.PHONY : LroNarrowAngleCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FunctionTools - -# Build rule for target. -isis3_unit_test_FunctionTools: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FunctionTools -.PHONY : isis3_unit_test_FunctionTools - -# fast build rule for target. -isis3_unit_test_FunctionTools/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FunctionTools.dir/build.make objects/CMakeFiles/isis3_unit_test_FunctionTools.dir/build -.PHONY : isis3_unit_test_FunctionTools/fast - -#============================================================================= -# Target rules for targets named noproj_app - -# Build rule for target. -noproj_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 noproj_app -.PHONY : noproj_app - -# fast build rule for target. -noproj_app/fast: - $(MAKE) -f objects/CMakeFiles/noproj_app.dir/build.make objects/CMakeFiles/noproj_app.dir/build -.PHONY : noproj_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Minnaert - -# Build rule for target. -isis3_unit_test_Minnaert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Minnaert -.PHONY : isis3_unit_test_Minnaert - -# fast build rule for target. -isis3_unit_test_Minnaert/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Minnaert.dir/build.make objects/CMakeFiles/isis3_unit_test_Minnaert.dir/build -.PHONY : isis3_unit_test_Minnaert/fast - -#============================================================================= -# Target rules for targets named mat2cnet_app - -# Build rule for target. -mat2cnet_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mat2cnet_app -.PHONY : mat2cnet_app - -# fast build rule for target. -mat2cnet_app/fast: - $(MAKE) -f objects/CMakeFiles/mat2cnet_app.dir/build.make objects/CMakeFiles/mat2cnet_app.dir/build -.PHONY : mat2cnet_app/fast - -#============================================================================= -# Target rules for targets named camrange_app - -# Build rule for target. -camrange_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 camrange_app -.PHONY : camrange_app - -# fast build rule for target. -camrange_app/fast: - $(MAKE) -f objects/CMakeFiles/camrange_app.dir/build.make objects/CMakeFiles/camrange_app.dir/build -.PHONY : camrange_app/fast - -#============================================================================= -# Target rules for targets named Orthographic - -# Build rule for target. -Orthographic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Orthographic -.PHONY : Orthographic - -# fast build rule for target. -Orthographic/fast: - $(MAKE) -f objects/CMakeFiles/Orthographic.dir/build.make objects/CMakeFiles/Orthographic.dir/build -.PHONY : Orthographic/fast - -#============================================================================= -# Target rules for targets named camstats_app - -# Build rule for target. -camstats_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 camstats_app -.PHONY : camstats_app - -# fast build rule for target. -camstats_app/fast: - $(MAKE) -f objects/CMakeFiles/camstats_app.dir/build.make objects/CMakeFiles/camstats_app.dir/build -.PHONY : camstats_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ObliqueCylindrical - -# Build rule for target. -isis3_unit_test_ObliqueCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObliqueCylindrical -.PHONY : isis3_unit_test_ObliqueCylindrical - -# fast build rule for target. -isis3_unit_test_ObliqueCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObliqueCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_ObliqueCylindrical.dir/build -.PHONY : isis3_unit_test_ObliqueCylindrical/fast - -#============================================================================= -# Target rules for targets named NirCamera - -# Build rule for target. -NirCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NirCamera -.PHONY : NirCamera - -# fast build rule for target. -NirCamera/fast: - $(MAKE) -f objects/CMakeFiles/NirCamera.dir/build.make objects/CMakeFiles/NirCamera.dir/build -.PHONY : NirCamera/fast - -#============================================================================= -# Target rules for targets named RingCylindrical - -# Build rule for target. -RingCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 RingCylindrical -.PHONY : RingCylindrical - -# fast build rule for target. -RingCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/RingCylindrical.dir/build.make objects/CMakeFiles/RingCylindrical.dir/build -.PHONY : RingCylindrical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LimitPolygonSeeder - -# Build rule for target. -isis3_unit_test_LimitPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LimitPolygonSeeder -.PHONY : isis3_unit_test_LimitPolygonSeeder - -# fast build rule for target. -isis3_unit_test_LimitPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LimitPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_LimitPolygonSeeder.dir/build -.PHONY : isis3_unit_test_LimitPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named clemnirnoise_app - -# Build rule for target. -clemnirnoise_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clemnirnoise_app -.PHONY : clemnirnoise_app - -# fast build rule for target. -clemnirnoise_app/fast: - $(MAKE) -f objects/CMakeFiles/clemnirnoise_app.dir/build.make objects/CMakeFiles/clemnirnoise_app.dir/build -.PHONY : clemnirnoise_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraDistortionMap - -# Build rule for target. -isis3_unit_test_CameraDistortionMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraDistortionMap -.PHONY : isis3_unit_test_CameraDistortionMap - -# fast build rule for target. -isis3_unit_test_CameraDistortionMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraDistortionMap.dir/build -.PHONY : isis3_unit_test_CameraDistortionMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpectralDefinition1D - -# Build rule for target. -isis3_unit_test_SpectralDefinition1D: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition1D -.PHONY : isis3_unit_test_SpectralDefinition1D - -# fast build rule for target. -isis3_unit_test_SpectralDefinition1D/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition1D.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition1D.dir/build -.PHONY : isis3_unit_test_SpectralDefinition1D/fast - -#============================================================================= -# Target rules for targets named lronacecho_app - -# Build rule for target. -lronacecho_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lronacecho_app -.PHONY : lronacecho_app - -# fast build rule for target. -lronacecho_app/fast: - $(MAKE) -f objects/CMakeFiles/lronacecho_app.dir/build.make objects/CMakeFiles/lronacecho_app.dir/build -.PHONY : lronacecho_app/fast - -#============================================================================= -# Target rules for targets named overlapstats_app - -# Build rule for target. -overlapstats_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 overlapstats_app -.PHONY : overlapstats_app - -# fast build rule for target. -overlapstats_app/fast: - $(MAKE) -f objects/CMakeFiles/overlapstats_app.dir/build.make objects/CMakeFiles/overlapstats_app.dir/build -.PHONY : overlapstats_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlGraph - -# Build rule for target. -isis3_unit_test_ControlGraph: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlGraph -.PHONY : isis3_unit_test_ControlGraph - -# fast build rule for target. -isis3_unit_test_ControlGraph/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlGraph.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlGraph.dir/build -.PHONY : isis3_unit_test_ControlGraph/fast - -#============================================================================= -# Target rules for targets named vdcomp_app - -# Build rule for target. -vdcomp_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vdcomp_app -.PHONY : vdcomp_app - -# fast build rule for target. -vdcomp_app/fast: - $(MAKE) -f objects/CMakeFiles/vdcomp_app.dir/build.make objects/CMakeFiles/vdcomp_app.dir/build -.PHONY : vdcomp_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessImport - -# Build rule for target. -isis3_unit_test_ProcessImport: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImport -.PHONY : isis3_unit_test_ProcessImport - -# fast build rule for target. -isis3_unit_test_ProcessImport/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImport.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImport.dir/build -.PHONY : isis3_unit_test_ProcessImport/fast - -#============================================================================= -# Target rules for targets named messspkgen_app - -# Build rule for target. -messspkgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 messspkgen_app -.PHONY : messspkgen_app - -# fast build rule for target. -messspkgen_app/fast: - $(MAKE) -f objects/CMakeFiles/messspkgen_app.dir/build.make objects/CMakeFiles/messspkgen_app.dir/build -.PHONY : messspkgen_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Endian - -# Build rule for target. -isis3_unit_test_Endian: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Endian -.PHONY : isis3_unit_test_Endian - -# fast build rule for target. -isis3_unit_test_Endian/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Endian.dir/build.make objects/CMakeFiles/isis3_unit_test_Endian.dir/build -.PHONY : isis3_unit_test_Endian/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Application - -# Build rule for target. -isis3_unit_test_Application: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Application -.PHONY : isis3_unit_test_Application - -# fast build rule for target. -isis3_unit_test_Application/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Application.dir/build.make objects/CMakeFiles/isis3_unit_test_Application.dir/build -.PHONY : isis3_unit_test_Application/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_QtExporter - -# Build rule for target. -isis3_unit_test_QtExporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QtExporter -.PHONY : isis3_unit_test_QtExporter - -# fast build rule for target. -isis3_unit_test_QtExporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QtExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_QtExporter.dir/build -.PHONY : isis3_unit_test_QtExporter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Kernels - -# Build rule for target. -isis3_unit_test_Kernels: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Kernels -.PHONY : isis3_unit_test_Kernels - -# fast build rule for target. -isis3_unit_test_Kernels/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Kernels.dir/build.make objects/CMakeFiles/isis3_unit_test_Kernels.dir/build -.PHONY : isis3_unit_test_Kernels/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TiffImporter - -# Build rule for target. -isis3_unit_test_TiffImporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TiffImporter -.PHONY : isis3_unit_test_TiffImporter - -# fast build rule for target. -isis3_unit_test_TiffImporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TiffImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_TiffImporter.dir/build -.PHONY : isis3_unit_test_TiffImporter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeCalculator - -# Build rule for target. -isis3_unit_test_CubeCalculator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeCalculator -.PHONY : isis3_unit_test_CubeCalculator - -# fast build rule for target. -isis3_unit_test_CubeCalculator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeCalculator.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeCalculator.dir/build -.PHONY : isis3_unit_test_CubeCalculator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraDetectorMap - -# Build rule for target. -isis3_unit_test_CameraDetectorMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraDetectorMap -.PHONY : isis3_unit_test_CameraDetectorMap - -# fast build rule for target. -isis3_unit_test_CameraDetectorMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraDetectorMap.dir/build -.PHONY : isis3_unit_test_CameraDetectorMap/fast - -#============================================================================= -# Target rules for targets named flip_app - -# Build rule for target. -flip_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 flip_app -.PHONY : flip_app - -# fast build rule for target. -flip_app/fast: - $(MAKE) -f objects/CMakeFiles/flip_app.dir/build.make objects/CMakeFiles/flip_app.dir/build -.PHONY : flip_app/fast - -#============================================================================= -# Target rules for targets named LambertConformal - -# Build rule for target. -LambertConformal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LambertConformal -.PHONY : LambertConformal - -# fast build rule for target. -LambertConformal/fast: - $(MAKE) -f objects/CMakeFiles/LambertConformal.dir/build.make objects/CMakeFiles/LambertConformal.dir/build -.PHONY : LambertConformal/fast - -#============================================================================= -# Target rules for targets named lrowac2pds_app - -# Build rule for target. -lrowac2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lrowac2pds_app -.PHONY : lrowac2pds_app - -# fast build rule for target. -lrowac2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/lrowac2pds_app.dir/build.make objects/CMakeFiles/lrowac2pds_app.dir/build -.PHONY : lrowac2pds_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GisGeometry - -# Build rule for target. -isis3_unit_test_GisGeometry: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GisGeometry -.PHONY : isis3_unit_test_GisGeometry - -# fast build rule for target. -isis3_unit_test_GisGeometry/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GisGeometry.dir/build.make objects/CMakeFiles/isis3_unit_test_GisGeometry.dir/build -.PHONY : isis3_unit_test_GisGeometry/fast - -#============================================================================= -# Target rules for targets named amica2isis_app - -# Build rule for target. -amica2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 amica2isis_app -.PHONY : amica2isis_app - -# fast build rule for target. -amica2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/amica2isis_app.dir/build.make objects/CMakeFiles/amica2isis_app.dir/build -.PHONY : amica2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlSequence - -# Build rule for target. -isis3_unit_test_PvlSequence: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlSequence -.PHONY : isis3_unit_test_PvlSequence - -# fast build rule for target. -isis3_unit_test_PvlSequence/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlSequence.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlSequence.dir/build -.PHONY : isis3_unit_test_PvlSequence/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Quaternion - -# Build rule for target. -isis3_unit_test_Quaternion: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Quaternion -.PHONY : isis3_unit_test_Quaternion - -# fast build rule for target. -isis3_unit_test_Quaternion/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Quaternion.dir/build.make objects/CMakeFiles/isis3_unit_test_Quaternion.dir/build -.PHONY : isis3_unit_test_Quaternion/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EllipsoidShape - -# Build rule for target. -isis3_unit_test_EllipsoidShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EllipsoidShape -.PHONY : isis3_unit_test_EllipsoidShape - -# fast build rule for target. -isis3_unit_test_EllipsoidShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EllipsoidShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EllipsoidShape.dir/build -.PHONY : isis3_unit_test_EllipsoidShape/fast - -#============================================================================= -# Target rules for targets named GridPolygonSeeder - -# Build rule for target. -GridPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 GridPolygonSeeder -.PHONY : GridPolygonSeeder - -# fast build rule for target. -GridPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/GridPolygonSeeder.dir/build.make objects/CMakeFiles/GridPolygonSeeder.dir/build -.PHONY : GridPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named maptemplate_app - -# Build rule for target. -maptemplate_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 maptemplate_app -.PHONY : maptemplate_app - -# fast build rule for target. -maptemplate_app/fast: - $(MAKE) -f objects/CMakeFiles/maptemplate_app.dir/build.make objects/CMakeFiles/maptemplate_app.dir/build -.PHONY : maptemplate_app/fast - -#============================================================================= -# Target rules for targets named decorstretch_app - -# Build rule for target. -decorstretch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 decorstretch_app -.PHONY : decorstretch_app - -# fast build rule for target. -decorstretch_app/fast: - $(MAKE) -f objects/CMakeFiles/decorstretch_app.dir/build.make objects/CMakeFiles/decorstretch_app.dir/build -.PHONY : decorstretch_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineScanCamera - -# Build rule for target. -isis3_unit_test_LineScanCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCamera -.PHONY : isis3_unit_test_LineScanCamera - -# fast build rule for target. -isis3_unit_test_LineScanCamera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCamera.dir/build -.PHONY : isis3_unit_test_LineScanCamera/fast - -#============================================================================= -# Target rules for targets named cassini_unit_test_CissLabels - -# Build rule for target. -cassini_unit_test_CissLabels: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_CissLabels -.PHONY : cassini_unit_test_CissLabels - -# fast build rule for target. -cassini_unit_test_CissLabels/fast: - $(MAKE) -f objects/CMakeFiles/cassini_unit_test_CissLabels.dir/build.make objects/CMakeFiles/cassini_unit_test_CissLabels.dir/build -.PHONY : cassini_unit_test_CissLabels/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FilterCachingAlgorithm - -# Build rule for target. -isis3_unit_test_FilterCachingAlgorithm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FilterCachingAlgorithm -.PHONY : isis3_unit_test_FilterCachingAlgorithm - -# fast build rule for target. -isis3_unit_test_FilterCachingAlgorithm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FilterCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_FilterCachingAlgorithm.dir/build -.PHONY : isis3_unit_test_FilterCachingAlgorithm/fast - -#============================================================================= -# Target rules for targets named SimpleCylindrical - -# Build rule for target. -SimpleCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 SimpleCylindrical -.PHONY : SimpleCylindrical - -# fast build rule for target. -SimpleCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/SimpleCylindrical.dir/build.make objects/CMakeFiles/SimpleCylindrical.dir/build -.PHONY : SimpleCylindrical/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AtmosModel - -# Build rule for target. -isis3_unit_test_AtmosModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AtmosModel -.PHONY : isis3_unit_test_AtmosModel - -# fast build rule for target. -isis3_unit_test_AtmosModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AtmosModel.dir/build.make objects/CMakeFiles/isis3_unit_test_AtmosModel.dir/build -.PHONY : isis3_unit_test_AtmosModel/fast - -#============================================================================= -# Target rules for targets named mvic2isis_app - -# Build rule for target. -mvic2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mvic2isis_app -.PHONY : mvic2isis_app - -# fast build rule for target. -mvic2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mvic2isis_app.dir/build.make objects/CMakeFiles/mvic2isis_app.dir/build -.PHONY : mvic2isis_app/fast - -#============================================================================= -# Target rules for targets named lronac2isis_app - -# Build rule for target. -lronac2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lronac2isis_app -.PHONY : lronac2isis_app - -# fast build rule for target. -lronac2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/lronac2isis_app.dir/build.make objects/CMakeFiles/lronac2isis_app.dir/build -.PHONY : lronac2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BasisFunction - -# Build rule for target. -isis3_unit_test_BasisFunction: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BasisFunction -.PHONY : isis3_unit_test_BasisFunction - -# fast build rule for target. -isis3_unit_test_BasisFunction/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BasisFunction.dir/build.make objects/CMakeFiles/isis3_unit_test_BasisFunction.dir/build -.PHONY : isis3_unit_test_BasisFunction/fast - -#============================================================================= -# Target rules for targets named AlbedoAtm - -# Build rule for target. -AlbedoAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 AlbedoAtm -.PHONY : AlbedoAtm - -# fast build rule for target. -AlbedoAtm/fast: - $(MAKE) -f objects/CMakeFiles/AlbedoAtm.dir/build.make objects/CMakeFiles/AlbedoAtm.dir/build -.PHONY : AlbedoAtm/fast - -#============================================================================= -# Target rules for targets named catoriglab_app - -# Build rule for target. -catoriglab_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 catoriglab_app -.PHONY : catoriglab_app - -# fast build rule for target. -catoriglab_app/fast: - $(MAKE) -f objects/CMakeFiles/catoriglab_app.dir/build.make objects/CMakeFiles/catoriglab_app.dir/build -.PHONY : catoriglab_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AlphaCube - -# Build rule for target. -isis3_unit_test_AlphaCube: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AlphaCube -.PHONY : isis3_unit_test_AlphaCube - -# fast build rule for target. -isis3_unit_test_AlphaCube/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AlphaCube.dir/build.make objects/CMakeFiles/isis3_unit_test_AlphaCube.dir/build -.PHONY : isis3_unit_test_AlphaCube/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_JP2Decoder - -# Build rule for target. -isis3_unit_test_JP2Decoder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_JP2Decoder -.PHONY : isis3_unit_test_JP2Decoder - -# fast build rule for target. -isis3_unit_test_JP2Decoder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_JP2Decoder.dir/build.make objects/CMakeFiles/isis3_unit_test_JP2Decoder.dir/build -.PHONY : isis3_unit_test_JP2Decoder/fast - -#============================================================================= -# Target rules for targets named Topo - -# Build rule for target. -Topo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Topo -.PHONY : Topo - -# fast build rule for target. -Topo/fast: - $(MAKE) -f objects/CMakeFiles/Topo.dir/build.make objects/CMakeFiles/Topo.dir/build -.PHONY : Topo/fast - -#============================================================================= -# Target rules for targets named Equirectangular - -# Build rule for target. -Equirectangular: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Equirectangular -.PHONY : Equirectangular - -# fast build rule for target. -Equirectangular/fast: - $(MAKE) -f objects/CMakeFiles/Equirectangular.dir/build.make objects/CMakeFiles/Equirectangular.dir/build -.PHONY : Equirectangular/fast - -#============================================================================= -# Target rules for targets named Shade - -# Build rule for target. -Shade: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Shade -.PHONY : Shade - -# fast build rule for target. -Shade/fast: - $(MAKE) -f objects/CMakeFiles/Shade.dir/build.make objects/CMakeFiles/Shade.dir/build -.PHONY : Shade/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_InlineCalculator - -# Build rule for target. -isis3_unit_test_InlineCalculator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InlineCalculator -.PHONY : isis3_unit_test_InlineCalculator - -# fast build rule for target. -isis3_unit_test_InlineCalculator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InlineCalculator.dir/build.make objects/CMakeFiles/isis3_unit_test_InlineCalculator.dir/build -.PHONY : isis3_unit_test_InlineCalculator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Process - -# Build rule for target. -isis3_unit_test_Process: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Process -.PHONY : isis3_unit_test_Process - -# fast build rule for target. -isis3_unit_test_Process/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Process.dir/build.make objects/CMakeFiles/isis3_unit_test_Process.dir/build -.PHONY : isis3_unit_test_Process/fast - -#============================================================================= -# Target rules for targets named viknopepper_app - -# Build rule for target. -viknopepper_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 viknopepper_app -.PHONY : viknopepper_app - -# fast build rule for target. -viknopepper_app/fast: - $(MAKE) -f objects/CMakeFiles/viknopepper_app.dir/build.make objects/CMakeFiles/viknopepper_app.dir/build -.PHONY : viknopepper_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_UserInterface - -# Build rule for target. -isis3_unit_test_UserInterface: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UserInterface -.PHONY : isis3_unit_test_UserInterface - -# fast build rule for target. -isis3_unit_test_UserInterface/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UserInterface.dir/build.make objects/CMakeFiles/isis3_unit_test_UserInterface.dir/build -.PHONY : isis3_unit_test_UserInterface/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ID - -# Build rule for target. -isis3_unit_test_ID: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ID -.PHONY : isis3_unit_test_ID - -# fast build rule for target. -isis3_unit_test_ID/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ID.dir/build.make objects/CMakeFiles/isis3_unit_test_ID.dir/build -.PHONY : isis3_unit_test_ID/fast - -#============================================================================= -# Target rules for targets named GradientOperator - -# Build rule for target. -GradientOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 GradientOperator -.PHONY : GradientOperator - -# fast build rule for target. -GradientOperator/fast: - $(MAKE) -f objects/CMakeFiles/GradientOperator.dir/build.make objects/CMakeFiles/GradientOperator.dir/build -.PHONY : GradientOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolygonSeeder - -# Build rule for target. -isis3_unit_test_PolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonSeeder -.PHONY : isis3_unit_test_PolygonSeeder - -# fast build rule for target. -isis3_unit_test_PolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonSeeder.dir/build -.PHONY : isis3_unit_test_PolygonSeeder/fast - -#============================================================================= -# Target rules for targets named pds2isis_app - -# Build rule for target. -pds2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pds2isis_app -.PHONY : pds2isis_app - -# fast build rule for target. -pds2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/pds2isis_app.dir/build.make objects/CMakeFiles/pds2isis_app.dir/build -.PHONY : pds2isis_app/fast - -#============================================================================= -# Target rules for targets named IdealCamera - -# Build rule for target. -IdealCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 IdealCamera -.PHONY : IdealCamera - -# fast build rule for target. -IdealCamera/fast: - $(MAKE) -f objects/CMakeFiles/IdealCamera.dir/build.make objects/CMakeFiles/IdealCamera.dir/build -.PHONY : IdealCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LambertConformal - -# Build rule for target. -isis3_unit_test_LambertConformal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LambertConformal -.PHONY : isis3_unit_test_LambertConformal - -# fast build rule for target. -isis3_unit_test_LambertConformal/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LambertConformal.dir/build.make objects/CMakeFiles/isis3_unit_test_LambertConformal.dir/build -.PHONY : isis3_unit_test_LambertConformal/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Shade - -# Build rule for target. -isis3_unit_test_Shade: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Shade -.PHONY : isis3_unit_test_Shade - -# fast build rule for target. -isis3_unit_test_Shade/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Shade.dir/build.make objects/CMakeFiles/isis3_unit_test_Shade.dir/build -.PHONY : isis3_unit_test_Shade/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EmbreeTargetShape - -# Build rule for target. -isis3_unit_test_EmbreeTargetShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeTargetShape -.PHONY : isis3_unit_test_EmbreeTargetShape - -# fast build rule for target. -isis3_unit_test_EmbreeTargetShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeTargetShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeTargetShape.dir/build -.PHONY : isis3_unit_test_EmbreeTargetShape/fast - -#============================================================================= -# Target rules for targets named voy2isis_app - -# Build rule for target. -voy2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 voy2isis_app -.PHONY : voy2isis_app - -# fast build rule for target. -voy2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/voy2isis_app.dir/build.make objects/CMakeFiles/voy2isis_app.dir/build -.PHONY : voy2isis_app/fast - -#============================================================================= -# Target rules for targets named Mixed - -# Build rule for target. -Mixed: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Mixed -.PHONY : Mixed - -# fast build rule for target. -Mixed/fast: - $(MAKE) -f objects/CMakeFiles/Mixed.dir/build.make objects/CMakeFiles/Mixed.dir/build -.PHONY : Mixed/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraPointInfo - -# Build rule for target. -isis3_unit_test_CameraPointInfo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraPointInfo -.PHONY : isis3_unit_test_CameraPointInfo - -# fast build rule for target. -isis3_unit_test_CameraPointInfo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraPointInfo.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraPointInfo.dir/build -.PHONY : isis3_unit_test_CameraPointInfo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_StandardDeviationOperator - -# Build rule for target. -isis3_unit_test_StandardDeviationOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StandardDeviationOperator -.PHONY : isis3_unit_test_StandardDeviationOperator - -# fast build rule for target. -isis3_unit_test_StandardDeviationOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StandardDeviationOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_StandardDeviationOperator.dir/build -.PHONY : isis3_unit_test_StandardDeviationOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LommelSeeliger - -# Build rule for target. -isis3_unit_test_LommelSeeliger: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LommelSeeliger -.PHONY : isis3_unit_test_LommelSeeliger - -# fast build rule for target. -isis3_unit_test_LommelSeeliger/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LommelSeeliger.dir/build.make objects/CMakeFiles/isis3_unit_test_LommelSeeliger.dir/build -.PHONY : isis3_unit_test_LommelSeeliger/fast - -#============================================================================= -# Target rules for targets named ShadeAtm - -# Build rule for target. -ShadeAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ShadeAtm -.PHONY : ShadeAtm - -# fast build rule for target. -ShadeAtm/fast: - $(MAKE) -f objects/CMakeFiles/ShadeAtm.dir/build.make objects/CMakeFiles/ShadeAtm.dir/build -.PHONY : ShadeAtm/fast - -#============================================================================= -# Target rules for targets named thmbasemap1_app - -# Build rule for target. -thmbasemap1_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 thmbasemap1_app -.PHONY : thmbasemap1_app - -# fast build rule for target. -thmbasemap1_app/fast: - $(MAKE) -f objects/CMakeFiles/thmbasemap1_app.dir/build.make objects/CMakeFiles/thmbasemap1_app.dir/build -.PHONY : thmbasemap1_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NaifStatus - -# Build rule for target. -isis3_unit_test_NaifStatus: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifStatus -.PHONY : isis3_unit_test_NaifStatus - -# fast build rule for target. -isis3_unit_test_NaifStatus/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifStatus.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifStatus.dir/build -.PHONY : isis3_unit_test_NaifStatus/fast - -#============================================================================= -# Target rules for targets named handmos_app - -# Build rule for target. -handmos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 handmos_app -.PHONY : handmos_app - -# fast build rule for target. -handmos_app/fast: - $(MAKE) -f objects/CMakeFiles/handmos_app.dir/build.make objects/CMakeFiles/handmos_app.dir/build -.PHONY : handmos_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BundleUtilities - -# Build rule for target. -isis3_unit_test_BundleUtilities: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleUtilities -.PHONY : isis3_unit_test_BundleUtilities - -# fast build rule for target. -isis3_unit_test_BundleUtilities/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleUtilities.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleUtilities.dir/build -.PHONY : isis3_unit_test_BundleUtilities/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EmbreeTargetManager - -# Build rule for target. -isis3_unit_test_EmbreeTargetManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EmbreeTargetManager -.PHONY : isis3_unit_test_EmbreeTargetManager - -# fast build rule for target. -isis3_unit_test_EmbreeTargetManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EmbreeTargetManager.dir/build.make objects/CMakeFiles/isis3_unit_test_EmbreeTargetManager.dir/build -.PHONY : isis3_unit_test_EmbreeTargetManager/fast - -#============================================================================= -# Target rules for targets named pvldiff_app - -# Build rule for target. -pvldiff_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pvldiff_app -.PHONY : pvldiff_app - -# fast build rule for target. -pvldiff_app/fast: - $(MAKE) -f objects/CMakeFiles/pvldiff_app.dir/build.make objects/CMakeFiles/pvldiff_app.dir/build -.PHONY : pvldiff_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CorrelationMatrix - -# Build rule for target. -isis3_unit_test_CorrelationMatrix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CorrelationMatrix -.PHONY : isis3_unit_test_CorrelationMatrix - -# fast build rule for target. -isis3_unit_test_CorrelationMatrix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CorrelationMatrix.dir/build.make objects/CMakeFiles/isis3_unit_test_CorrelationMatrix.dir/build -.PHONY : isis3_unit_test_CorrelationMatrix/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ImagePolygon - -# Build rule for target. -isis3_unit_test_ImagePolygon: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ImagePolygon -.PHONY : isis3_unit_test_ImagePolygon - -# fast build rule for target. -isis3_unit_test_ImagePolygon/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ImagePolygon.dir/build.make objects/CMakeFiles/isis3_unit_test_ImagePolygon.dir/build -.PHONY : isis3_unit_test_ImagePolygon/fast - -#============================================================================= -# Target rules for targets named LunarAzimuthalEqualArea - -# Build rule for target. -LunarAzimuthalEqualArea: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LunarAzimuthalEqualArea -.PHONY : LunarAzimuthalEqualArea - -# fast build rule for target. -LunarAzimuthalEqualArea/fast: - $(MAKE) -f objects/CMakeFiles/LunarAzimuthalEqualArea.dir/build.make objects/CMakeFiles/LunarAzimuthalEqualArea.dir/build -.PHONY : LunarAzimuthalEqualArea/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LinearAlgebra - -# Build rule for target. -isis3_unit_test_LinearAlgebra: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LinearAlgebra -.PHONY : isis3_unit_test_LinearAlgebra - -# fast build rule for target. -isis3_unit_test_LinearAlgebra/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LinearAlgebra.dir/build.make objects/CMakeFiles/isis3_unit_test_LinearAlgebra.dir/build -.PHONY : isis3_unit_test_LinearAlgebra/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraFactory - -# Build rule for target. -isis3_unit_test_CameraFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraFactory -.PHONY : isis3_unit_test_CameraFactory - -# fast build rule for target. -isis3_unit_test_CameraFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraFactory.dir/build -.PHONY : isis3_unit_test_CameraFactory/fast - -#============================================================================= -# Target rules for targets named LunarLambert - -# Build rule for target. -LunarLambert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LunarLambert -.PHONY : LunarLambert - -# fast build rule for target. -LunarLambert/fast: - $(MAKE) -f objects/CMakeFiles/LunarLambert.dir/build.make objects/CMakeFiles/LunarLambert.dir/build -.PHONY : LunarLambert/fast - -#============================================================================= -# Target rules for targets named hrsc2isis_app - -# Build rule for target. -hrsc2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hrsc2isis_app -.PHONY : hrsc2isis_app - -# fast build rule for target. -hrsc2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/hrsc2isis_app.dir/build.make objects/CMakeFiles/hrsc2isis_app.dir/build -.PHONY : hrsc2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BoxcarManager - -# Build rule for target. -isis3_unit_test_BoxcarManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BoxcarManager -.PHONY : isis3_unit_test_BoxcarManager - -# fast build rule for target. -isis3_unit_test_BoxcarManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BoxcarManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BoxcarManager.dir/build -.PHONY : isis3_unit_test_BoxcarManager/fast - -#============================================================================= -# Target rules for targets named TopoAtm - -# Build rule for target. -TopoAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 TopoAtm -.PHONY : TopoAtm - -# fast build rule for target. -TopoAtm/fast: - $(MAKE) -f objects/CMakeFiles/TopoAtm.dir/build.make objects/CMakeFiles/TopoAtm.dir/build -.PHONY : TopoAtm/fast - -#============================================================================= -# Target rules for targets named hsv2rgb_app - -# Build rule for target. -hsv2rgb_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hsv2rgb_app -.PHONY : hsv2rgb_app - -# fast build rule for target. -hsv2rgb_app/fast: - $(MAKE) -f objects/CMakeFiles/hsv2rgb_app.dir/build.make objects/CMakeFiles/hsv2rgb_app.dir/build -.PHONY : hsv2rgb_app/fast - -#============================================================================= -# Target rules for targets named Isotropic1 - -# Build rule for target. -Isotropic1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Isotropic1 -.PHONY : Isotropic1 - -# fast build rule for target. -Isotropic1/fast: - $(MAKE) -f objects/CMakeFiles/Isotropic1.dir/build.make objects/CMakeFiles/Isotropic1.dir/build -.PHONY : Isotropic1/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolygonTools - -# Build rule for target. -isis3_unit_test_PolygonTools: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolygonTools -.PHONY : isis3_unit_test_PolygonTools - -# fast build rule for target. -isis3_unit_test_PolygonTools/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolygonTools.dir/build.make objects/CMakeFiles/isis3_unit_test_PolygonTools.dir/build -.PHONY : isis3_unit_test_PolygonTools/fast - -#============================================================================= -# Target rules for targets named mgs_unit_test_MocNarrowAngleSumming - -# Build rule for target. -mgs_unit_test_MocNarrowAngleSumming: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocNarrowAngleSumming -.PHONY : mgs_unit_test_MocNarrowAngleSumming - -# fast build rule for target. -mgs_unit_test_MocNarrowAngleSumming/fast: - $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocNarrowAngleSumming.dir/build.make objects/CMakeFiles/mgs_unit_test_MocNarrowAngleSumming.dir/build -.PHONY : mgs_unit_test_MocNarrowAngleSumming/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraSkyMap - -# Build rule for target. -isis3_unit_test_CameraSkyMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraSkyMap -.PHONY : isis3_unit_test_CameraSkyMap - -# fast build rule for target. -isis3_unit_test_CameraSkyMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraSkyMap.dir/build -.PHONY : isis3_unit_test_CameraSkyMap/fast - -#============================================================================= -# Target rules for targets named moc2isis_app - -# Build rule for target. -moc2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 moc2isis_app -.PHONY : moc2isis_app - -# fast build rule for target. -moc2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/moc2isis_app.dir/build.make objects/CMakeFiles/moc2isis_app.dir/build -.PHONY : moc2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeDataThread - -# Build rule for target. -isis3_unit_test_CubeDataThread: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeDataThread -.PHONY : isis3_unit_test_CubeDataThread - -# fast build rule for target. -isis3_unit_test_CubeDataThread/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeDataThread.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeDataThread.dir/build -.PHONY : isis3_unit_test_CubeDataThread/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineManager - -# Build rule for target. -isis3_unit_test_LineManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineManager -.PHONY : isis3_unit_test_LineManager - -# fast build rule for target. -isis3_unit_test_LineManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineManager.dir/build.make objects/CMakeFiles/isis3_unit_test_LineManager.dir/build -.PHONY : isis3_unit_test_LineManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraFocalPlaneMap - -# Build rule for target. -isis3_unit_test_CameraFocalPlaneMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraFocalPlaneMap -.PHONY : isis3_unit_test_CameraFocalPlaneMap - -# fast build rule for target. -isis3_unit_test_CameraFocalPlaneMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraFocalPlaneMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraFocalPlaneMap.dir/build -.PHONY : isis3_unit_test_CameraFocalPlaneMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_StatCumProbDistDynCalc - -# Build rule for target. -isis3_unit_test_StatCumProbDistDynCalc: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StatCumProbDistDynCalc -.PHONY : isis3_unit_test_StatCumProbDistDynCalc - -# fast build rule for target. -isis3_unit_test_StatCumProbDistDynCalc/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StatCumProbDistDynCalc.dir/build.make objects/CMakeFiles/isis3_unit_test_StatCumProbDistDynCalc.dir/build -.PHONY : isis3_unit_test_StatCumProbDistDynCalc/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarGroundRangeMap - -# Build rule for target. -isis3_unit_test_RadarGroundRangeMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarGroundRangeMap -.PHONY : isis3_unit_test_RadarGroundRangeMap - -# fast build rule for target. -isis3_unit_test_RadarGroundRangeMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarGroundRangeMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarGroundRangeMap.dir/build -.PHONY : isis3_unit_test_RadarGroundRangeMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraGroundMap - -# Build rule for target. -isis3_unit_test_CameraGroundMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraGroundMap -.PHONY : isis3_unit_test_CameraGroundMap - -# fast build rule for target. -isis3_unit_test_CameraGroundMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraGroundMap.dir/build -.PHONY : isis3_unit_test_CameraGroundMap/fast - -#============================================================================= -# Target rules for targets named voycal_app - -# Build rule for target. -voycal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 voycal_app -.PHONY : voycal_app - -# fast build rule for target. -voycal_app/fast: - $(MAKE) -f objects/CMakeFiles/voycal_app.dir/build.make objects/CMakeFiles/voycal_app.dir/build -.PHONY : voycal_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Affine - -# Build rule for target. -isis3_unit_test_Affine: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Affine -.PHONY : isis3_unit_test_Affine - -# fast build rule for target. -isis3_unit_test_Affine/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Affine.dir/build.make objects/CMakeFiles/isis3_unit_test_Affine.dir/build -.PHONY : isis3_unit_test_Affine/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlCubeGraphNode - -# Build rule for target. -isis3_unit_test_ControlCubeGraphNode: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlCubeGraphNode -.PHONY : isis3_unit_test_ControlCubeGraphNode - -# fast build rule for target. -isis3_unit_test_ControlCubeGraphNode/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlCubeGraphNode.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlCubeGraphNode.dir/build -.PHONY : isis3_unit_test_ControlCubeGraphNode/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Albedo - -# Build rule for target. -isis3_unit_test_Albedo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Albedo -.PHONY : isis3_unit_test_Albedo - -# fast build rule for target. -isis3_unit_test_Albedo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Albedo.dir/build.make objects/CMakeFiles/isis3_unit_test_Albedo.dir/build -.PHONY : isis3_unit_test_Albedo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CameraStatistics - -# Build rule for target. -isis3_unit_test_CameraStatistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CameraStatistics -.PHONY : isis3_unit_test_CameraStatistics - -# fast build rule for target. -isis3_unit_test_CameraStatistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CameraStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_CameraStatistics.dir/build -.PHONY : isis3_unit_test_CameraStatistics/fast - -#============================================================================= -# Target rules for targets named pds2hideal_app - -# Build rule for target. -pds2hideal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 pds2hideal_app -.PHONY : pds2hideal_app - -# fast build rule for target. -pds2hideal_app/fast: - $(MAKE) -f objects/CMakeFiles/pds2hideal_app.dir/build.make objects/CMakeFiles/pds2hideal_app.dir/build -.PHONY : pds2hideal_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NaifDskApi - -# Build rule for target. -isis3_unit_test_NaifDskApi: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskApi -.PHONY : isis3_unit_test_NaifDskApi - -# fast build rule for target. -isis3_unit_test_NaifDskApi/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskApi.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskApi.dir/build -.PHONY : isis3_unit_test_NaifDskApi/fast - -#============================================================================= -# Target rules for targets named isis2pds_app - -# Build rule for target. -isis2pds_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2pds_app -.PHONY : isis2pds_app - -# fast build rule for target. -isis2pds_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2pds_app.dir/build.make objects/CMakeFiles/isis2pds_app.dir/build -.PHONY : isis2pds_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Selection - -# Build rule for target. -isis3_unit_test_Selection: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Selection -.PHONY : isis3_unit_test_Selection - -# fast build rule for target. -isis3_unit_test_Selection/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Selection.dir/build.make objects/CMakeFiles/isis3_unit_test_Selection.dir/build -.PHONY : isis3_unit_test_Selection/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Angle - -# Build rule for target. -isis3_unit_test_Angle: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Angle -.PHONY : isis3_unit_test_Angle - -# fast build rule for target. -isis3_unit_test_Angle/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Angle.dir/build.make objects/CMakeFiles/isis3_unit_test_Angle.dir/build -.PHONY : isis3_unit_test_Angle/fast - -#============================================================================= -# Target rules for targets named Mariner10Camera - -# Build rule for target. -Mariner10Camera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Mariner10Camera -.PHONY : Mariner10Camera - -# fast build rule for target. -Mariner10Camera/fast: - $(MAKE) -f objects/CMakeFiles/Mariner10Camera.dir/build.make objects/CMakeFiles/Mariner10Camera.dir/build -.PHONY : Mariner10Camera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GaussianDistribution - -# Build rule for target. -isis3_unit_test_GaussianDistribution: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GaussianDistribution -.PHONY : isis3_unit_test_GaussianDistribution - -# fast build rule for target. -isis3_unit_test_GaussianDistribution/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GaussianDistribution.dir/build.make objects/CMakeFiles/isis3_unit_test_GaussianDistribution.dir/build -.PHONY : isis3_unit_test_GaussianDistribution/fast - -#============================================================================= -# Target rules for targets named MinimumDifference - -# Build rule for target. -MinimumDifference: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MinimumDifference -.PHONY : MinimumDifference - -# fast build rule for target. -MinimumDifference/fast: - $(MAKE) -f objects/CMakeFiles/MinimumDifference.dir/build.make objects/CMakeFiles/MinimumDifference.dir/build -.PHONY : MinimumDifference/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Anisotropic2 - -# Build rule for target. -isis3_unit_test_Anisotropic2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Anisotropic2 -.PHONY : isis3_unit_test_Anisotropic2 - -# fast build rule for target. -isis3_unit_test_Anisotropic2/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Anisotropic2.dir/build.make objects/CMakeFiles/isis3_unit_test_Anisotropic2.dir/build -.PHONY : isis3_unit_test_Anisotropic2/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Area3D - -# Build rule for target. -isis3_unit_test_Area3D: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Area3D -.PHONY : isis3_unit_test_Area3D - -# fast build rule for target. -isis3_unit_test_Area3D/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Area3D.dir/build.make objects/CMakeFiles/isis3_unit_test_Area3D.dir/build -.PHONY : isis3_unit_test_Area3D/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GradientOperator - -# Build rule for target. -isis3_unit_test_GradientOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GradientOperator -.PHONY : isis3_unit_test_GradientOperator - -# fast build rule for target. -isis3_unit_test_GradientOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GradientOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_GradientOperator.dir/build -.PHONY : isis3_unit_test_GradientOperator/fast - -#============================================================================= -# Target rules for targets named cnetcheck_app - -# Build rule for target. -cnetcheck_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetcheck_app -.PHONY : cnetcheck_app - -# fast build rule for target. -cnetcheck_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetcheck_app.dir/build.make objects/CMakeFiles/cnetcheck_app.dir/build -.PHONY : cnetcheck_app/fast - -#============================================================================= -# Target rules for targets named percent_app - -# Build rule for target. -percent_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 percent_app -.PHONY : percent_app - -# fast build rule for target. -percent_app/fast: - $(MAKE) -f objects/CMakeFiles/percent_app.dir/build.make objects/CMakeFiles/percent_app.dir/build -.PHONY : percent_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AlbedoAtm - -# Build rule for target. -isis3_unit_test_AlbedoAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AlbedoAtm -.PHONY : isis3_unit_test_AlbedoAtm - -# fast build rule for target. -isis3_unit_test_AlbedoAtm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AlbedoAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_AlbedoAtm.dir/build -.PHONY : isis3_unit_test_AlbedoAtm/fast - -#============================================================================= -# Target rules for targets named isis3 - -# Build rule for target. -isis3: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3 -.PHONY : isis3 - -# fast build rule for target. -isis3/fast: - $(MAKE) -f objects/CMakeFiles/isis3.dir/build.make objects/CMakeFiles/isis3.dir/build -.PHONY : isis3/fast - -#============================================================================= -# Target rules for targets named NewHorizonsLeisaCamera - -# Build rule for target. -NewHorizonsLeisaCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsLeisaCamera -.PHONY : NewHorizonsLeisaCamera - -# fast build rule for target. -NewHorizonsLeisaCamera/fast: - $(MAKE) -f objects/CMakeFiles/NewHorizonsLeisaCamera.dir/build.make objects/CMakeFiles/NewHorizonsLeisaCamera.dir/build -.PHONY : NewHorizonsLeisaCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PushFrameCameraGroundMap - -# Build rule for target. -isis3_unit_test_PushFrameCameraGroundMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraGroundMap -.PHONY : isis3_unit_test_PushFrameCameraGroundMap - -# fast build rule for target. -isis3_unit_test_PushFrameCameraGroundMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraGroundMap.dir/build -.PHONY : isis3_unit_test_PushFrameCameraGroundMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BufferManager - -# Build rule for target. -isis3_unit_test_BufferManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BufferManager -.PHONY : isis3_unit_test_BufferManager - -# fast build rule for target. -isis3_unit_test_BufferManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BufferManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BufferManager.dir/build -.PHONY : isis3_unit_test_BufferManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeAttribute - -# Build rule for target. -isis3_unit_test_CubeAttribute: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeAttribute -.PHONY : isis3_unit_test_CubeAttribute - -# fast build rule for target. -isis3_unit_test_CubeAttribute/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeAttribute.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeAttribute.dir/build -.PHONY : isis3_unit_test_CubeAttribute/fast - -#============================================================================= -# Target rules for targets named gaussstretch_app - -# Build rule for target. -gaussstretch_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gaussstretch_app -.PHONY : gaussstretch_app - -# fast build rule for target. -gaussstretch_app/fast: - $(MAKE) -f objects/CMakeFiles/gaussstretch_app.dir/build.make objects/CMakeFiles/gaussstretch_app.dir/build -.PHONY : gaussstretch_app/fast - -#============================================================================= -# Target rules for targets named MinnaertEmpirical - -# Build rule for target. -MinnaertEmpirical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 MinnaertEmpirical -.PHONY : MinnaertEmpirical - -# fast build rule for target. -MinnaertEmpirical/fast: - $(MAKE) -f objects/CMakeFiles/MinnaertEmpirical.dir/build.make objects/CMakeFiles/MinnaertEmpirical.dir/build -.PHONY : MinnaertEmpirical/fast - -#============================================================================= -# Target rules for targets named hicubeit_app - -# Build rule for target. -hicubeit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicubeit_app -.PHONY : hicubeit_app - -# fast build rule for target. -hicubeit_app/fast: - $(MAKE) -f objects/CMakeFiles/hicubeit_app.dir/build.make objects/CMakeFiles/hicubeit_app.dir/build -.PHONY : hicubeit_app/fast - -#============================================================================= -# Target rules for targets named lopdsgen_app - -# Build rule for target. -lopdsgen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 lopdsgen_app -.PHONY : lopdsgen_app - -# fast build rule for target. -lopdsgen_app/fast: - $(MAKE) -f objects/CMakeFiles/lopdsgen_app.dir/build.make objects/CMakeFiles/lopdsgen_app.dir/build -.PHONY : lopdsgen_app/fast - -#============================================================================= -# Target rules for targets named cnetedit_app - -# Build rule for target. -cnetedit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetedit_app -.PHONY : cnetedit_app - -# fast build rule for target. -cnetedit_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetedit_app.dir/build.make objects/CMakeFiles/cnetedit_app.dir/build -.PHONY : cnetedit_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Kernel - -# Build rule for target. -isis3_unit_test_Kernel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Kernel -.PHONY : isis3_unit_test_Kernel - -# fast build rule for target. -isis3_unit_test_Kernel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Kernel.dir/build.make objects/CMakeFiles/isis3_unit_test_Kernel.dir/build -.PHONY : isis3_unit_test_Kernel/fast - -#============================================================================= -# Target rules for targets named fillgap_app - -# Build rule for target. -fillgap_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fillgap_app -.PHONY : fillgap_app - -# fast build rule for target. -fillgap_app/fast: - $(MAKE) -f objects/CMakeFiles/fillgap_app.dir/build.make objects/CMakeFiles/fillgap_app.dir/build -.PHONY : fillgap_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Basis1VariableFunction - -# Build rule for target. -isis3_unit_test_Basis1VariableFunction: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Basis1VariableFunction -.PHONY : isis3_unit_test_Basis1VariableFunction - -# fast build rule for target. -isis3_unit_test_Basis1VariableFunction/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Basis1VariableFunction.dir/build.make objects/CMakeFiles/isis3_unit_test_Basis1VariableFunction.dir/build -.PHONY : isis3_unit_test_Basis1VariableFunction/fast - -#============================================================================= -# Target rules for targets named cassini_unit_test_IssNACamera - -# Build rule for target. -cassini_unit_test_IssNACamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cassini_unit_test_IssNACamera -.PHONY : cassini_unit_test_IssNACamera - -# fast build rule for target. -cassini_unit_test_IssNACamera/fast: - $(MAKE) -f objects/CMakeFiles/cassini_unit_test_IssNACamera.dir/build.make objects/CMakeFiles/cassini_unit_test_IssNACamera.dir/build -.PHONY : cassini_unit_test_IssNACamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Blobber - -# Build rule for target. -isis3_unit_test_Blobber: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Blobber -.PHONY : isis3_unit_test_Blobber - -# fast build rule for target. -isis3_unit_test_Blobber/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Blobber.dir/build.make objects/CMakeFiles/isis3_unit_test_Blobber.dir/build -.PHONY : isis3_unit_test_Blobber/fast - -#============================================================================= -# Target rules for targets named VimsCamera - -# Build rule for target. -VimsCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 VimsCamera -.PHONY : VimsCamera - -# fast build rule for target. -VimsCamera/fast: - $(MAKE) -f objects/CMakeFiles/VimsCamera.dir/build.make objects/CMakeFiles/VimsCamera.dir/build -.PHONY : VimsCamera/fast - -#============================================================================= -# Target rules for targets named cnetref_app - -# Build rule for target. -cnetref_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetref_app -.PHONY : cnetref_app - -# fast build rule for target. -cnetref_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetref_app.dir/build.make objects/CMakeFiles/cnetref_app.dir/build -.PHONY : cnetref_app/fast - -#============================================================================= -# Target rules for targets named specpix_app - -# Build rule for target. -specpix_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 specpix_app -.PHONY : specpix_app - -# fast build rule for target. -specpix_app/fast: - $(MAKE) -f objects/CMakeFiles/specpix_app.dir/build.make objects/CMakeFiles/specpix_app.dir/build -.PHONY : specpix_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BoxcarCachingAlgorithm - -# Build rule for target. -isis3_unit_test_BoxcarCachingAlgorithm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BoxcarCachingAlgorithm -.PHONY : isis3_unit_test_BoxcarCachingAlgorithm - -# fast build rule for target. -isis3_unit_test_BoxcarCachingAlgorithm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BoxcarCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_BoxcarCachingAlgorithm.dir/build -.PHONY : isis3_unit_test_BoxcarCachingAlgorithm/fast - -#============================================================================= -# Target rules for targets named ctxevenodd_app - -# Build rule for target. -ctxevenodd_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ctxevenodd_app -.PHONY : ctxevenodd_app - -# fast build rule for target. -ctxevenodd_app/fast: - $(MAKE) -f objects/CMakeFiles/ctxevenodd_app.dir/build.make objects/CMakeFiles/ctxevenodd_app.dir/build -.PHONY : ctxevenodd_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Calculator - -# Build rule for target. -isis3_unit_test_Calculator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Calculator -.PHONY : isis3_unit_test_Calculator - -# fast build rule for target. -isis3_unit_test_Calculator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Calculator.dir/build.make objects/CMakeFiles/isis3_unit_test_Calculator.dir/build -.PHONY : isis3_unit_test_Calculator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EquatorialCylindricalShape - -# Build rule for target. -isis3_unit_test_EquatorialCylindricalShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EquatorialCylindricalShape -.PHONY : isis3_unit_test_EquatorialCylindricalShape - -# fast build rule for target. -isis3_unit_test_EquatorialCylindricalShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EquatorialCylindricalShape.dir/build.make objects/CMakeFiles/isis3_unit_test_EquatorialCylindricalShape.dir/build -.PHONY : isis3_unit_test_EquatorialCylindricalShape/fast - -#============================================================================= -# Target rules for targets named spiceinit_app - -# Build rule for target. -spiceinit_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 spiceinit_app -.PHONY : spiceinit_app - -# fast build rule for target. -spiceinit_app/fast: - $(MAKE) -f objects/CMakeFiles/spiceinit_app.dir/build.make objects/CMakeFiles/spiceinit_app.dir/build -.PHONY : spiceinit_app/fast - -#============================================================================= -# Target rules for targets named photrim_app - -# Build rule for target. -photrim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 photrim_app -.PHONY : photrim_app - -# fast build rule for target. -photrim_app/fast: - $(MAKE) -f objects/CMakeFiles/photrim_app.dir/build.make objects/CMakeFiles/photrim_app.dir/build -.PHONY : photrim_app/fast - -#============================================================================= -# Target rules for targets named Robinson - -# Build rule for target. -Robinson: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Robinson -.PHONY : Robinson - -# fast build rule for target. -Robinson/fast: - $(MAKE) -f objects/CMakeFiles/Robinson.dir/build.make objects/CMakeFiles/Robinson.dir/build -.PHONY : Robinson/fast - -#============================================================================= -# Target rules for targets named deriv_app - -# Build rule for target. -deriv_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 deriv_app -.PHONY : deriv_app - -# fast build rule for target. -deriv_app/fast: - $(MAKE) -f objects/CMakeFiles/deriv_app.dir/build.make objects/CMakeFiles/deriv_app.dir/build -.PHONY : deriv_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Brick - -# Build rule for target. -isis3_unit_test_Brick: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Brick -.PHONY : isis3_unit_test_Brick - -# fast build rule for target. -isis3_unit_test_Brick/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Brick.dir/build.make objects/CMakeFiles/isis3_unit_test_Brick.dir/build -.PHONY : isis3_unit_test_Brick/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Buffer - -# Build rule for target. -isis3_unit_test_Buffer: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Buffer -.PHONY : isis3_unit_test_Buffer - -# fast build rule for target. -isis3_unit_test_Buffer/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Buffer.dir/build.make objects/CMakeFiles/isis3_unit_test_Buffer.dir/build -.PHONY : isis3_unit_test_Buffer/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNetVersioner - -# Build rule for target. -isis3_unit_test_ControlNetVersioner: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetVersioner -.PHONY : isis3_unit_test_ControlNetVersioner - -# fast build rule for target. -isis3_unit_test_ControlNetVersioner/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetVersioner.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetVersioner.dir/build -.PHONY : isis3_unit_test_ControlNetVersioner/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Anisotropic1 - -# Build rule for target. -isis3_unit_test_Anisotropic1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Anisotropic1 -.PHONY : isis3_unit_test_Anisotropic1 - -# fast build rule for target. -isis3_unit_test_Anisotropic1/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Anisotropic1.dir/build.make objects/CMakeFiles/isis3_unit_test_Anisotropic1.dir/build -.PHONY : isis3_unit_test_Anisotropic1/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineScanCameraDetectorMap - -# Build rule for target. -isis3_unit_test_LineScanCameraDetectorMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraDetectorMap -.PHONY : isis3_unit_test_LineScanCameraDetectorMap - -# fast build rule for target. -isis3_unit_test_LineScanCameraDetectorMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraDetectorMap.dir/build -.PHONY : isis3_unit_test_LineScanCameraDetectorMap/fast - -#============================================================================= -# Target rules for targets named shadowtau_app - -# Build rule for target. -shadowtau_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 shadowtau_app -.PHONY : shadowtau_app - -# fast build rule for target. -shadowtau_app/fast: - $(MAKE) -f objects/CMakeFiles/shadowtau_app.dir/build.make objects/CMakeFiles/shadowtau_app.dir/build -.PHONY : shadowtau_app/fast - -#============================================================================= -# Target rules for targets named Anisotropic1 - -# Build rule for target. -Anisotropic1: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Anisotropic1 -.PHONY : Anisotropic1 - -# fast build rule for target. -Anisotropic1/fast: - $(MAKE) -f objects/CMakeFiles/Anisotropic1.dir/build.make objects/CMakeFiles/Anisotropic1.dir/build -.PHONY : Anisotropic1/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AtmosModelFactory - -# Build rule for target. -isis3_unit_test_AtmosModelFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AtmosModelFactory -.PHONY : isis3_unit_test_AtmosModelFactory - -# fast build rule for target. -isis3_unit_test_AtmosModelFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AtmosModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_AtmosModelFactory.dir/build -.PHONY : isis3_unit_test_AtmosModelFactory/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Blob - -# Build rule for target. -isis3_unit_test_Blob: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Blob -.PHONY : isis3_unit_test_Blob - -# fast build rule for target. -isis3_unit_test_Blob/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Blob.dir/build.make objects/CMakeFiles/isis3_unit_test_Blob.dir/build -.PHONY : isis3_unit_test_Blob/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpicePosition - -# Build rule for target. -isis3_unit_test_SpicePosition: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpicePosition -.PHONY : isis3_unit_test_SpicePosition - -# fast build rule for target. -isis3_unit_test_SpicePosition/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpicePosition.dir/build.make objects/CMakeFiles/isis3_unit_test_SpicePosition.dir/build -.PHONY : isis3_unit_test_SpicePosition/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BundleSolutionInfo - -# Build rule for target. -isis3_unit_test_BundleSolutionInfo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleSolutionInfo -.PHONY : isis3_unit_test_BundleSolutionInfo - -# fast build rule for target. -isis3_unit_test_BundleSolutionInfo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleSolutionInfo.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleSolutionInfo.dir/build -.PHONY : isis3_unit_test_BundleSolutionInfo/fast - -#============================================================================= -# Target rules for targets named gauss_app - -# Build rule for target. -gauss_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gauss_app -.PHONY : gauss_app - -# fast build rule for target. -gauss_app/fast: - $(MAKE) -f objects/CMakeFiles/gauss_app.dir/build.make objects/CMakeFiles/gauss_app.dir/build -.PHONY : gauss_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BulletDskShape - -# Build rule for target. -isis3_unit_test_BulletDskShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletDskShape -.PHONY : isis3_unit_test_BulletDskShape - -# fast build rule for target. -isis3_unit_test_BulletDskShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletDskShape.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletDskShape.dir/build -.PHONY : isis3_unit_test_BulletDskShape/fast - -#============================================================================= -# Target rules for targets named cubediff_app - -# Build rule for target. -cubediff_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubediff_app -.PHONY : cubediff_app - -# fast build rule for target. -cubediff_app/fast: - $(MAKE) -f objects/CMakeFiles/cubediff_app.dir/build.make objects/CMakeFiles/cubediff_app.dir/build -.PHONY : cubediff_app/fast - -#============================================================================= -# Target rules for targets named Minnaert - -# Build rule for target. -Minnaert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Minnaert -.PHONY : Minnaert - -# fast build rule for target. -Minnaert/fast: - $(MAKE) -f objects/CMakeFiles/Minnaert.dir/build.make objects/CMakeFiles/Minnaert.dir/build -.PHONY : Minnaert/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BulletShapeModel - -# Build rule for target. -isis3_unit_test_BulletShapeModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletShapeModel -.PHONY : isis3_unit_test_BulletShapeModel - -# fast build rule for target. -isis3_unit_test_BulletShapeModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletShapeModel.dir/build -.PHONY : isis3_unit_test_BulletShapeModel/fast - -#============================================================================= -# Target rules for targets named std2isis_app - -# Build rule for target. -std2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 std2isis_app -.PHONY : std2isis_app - -# fast build rule for target. -std2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/std2isis_app.dir/build.make objects/CMakeFiles/std2isis_app.dir/build -.PHONY : std2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TileManager - -# Build rule for target. -isis3_unit_test_TileManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TileManager -.PHONY : isis3_unit_test_TileManager - -# fast build rule for target. -isis3_unit_test_TileManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TileManager.dir/build.make objects/CMakeFiles/isis3_unit_test_TileManager.dir/build -.PHONY : isis3_unit_test_TileManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BulletTargetShape - -# Build rule for target. -isis3_unit_test_BulletTargetShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletTargetShape -.PHONY : isis3_unit_test_BulletTargetShape - -# fast build rule for target. -isis3_unit_test_BulletTargetShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletTargetShape.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletTargetShape.dir/build -.PHONY : isis3_unit_test_BulletTargetShape/fast - -#============================================================================= -# Target rules for targets named caminfo_app - -# Build rule for target. -caminfo_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 caminfo_app -.PHONY : caminfo_app - -# fast build rule for target. -caminfo_app/fast: - $(MAKE) -f objects/CMakeFiles/caminfo_app.dir/build.make objects/CMakeFiles/caminfo_app.dir/build -.PHONY : caminfo_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Camera - -# Build rule for target. -isis3_unit_test_Camera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Camera -.PHONY : isis3_unit_test_Camera - -# fast build rule for target. -isis3_unit_test_Camera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Camera.dir/build.make objects/CMakeFiles/isis3_unit_test_Camera.dir/build -.PHONY : isis3_unit_test_Camera/fast - -#============================================================================= -# Target rules for targets named Mollweide - -# Build rule for target. -Mollweide: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Mollweide -.PHONY : Mollweide - -# fast build rule for target. -Mollweide/fast: - $(MAKE) -f objects/CMakeFiles/Mollweide.dir/build.make objects/CMakeFiles/Mollweide.dir/build -.PHONY : Mollweide/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Centroid - -# Build rule for target. -isis3_unit_test_Centroid: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Centroid -.PHONY : isis3_unit_test_Centroid - -# fast build rule for target. -isis3_unit_test_Centroid/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Centroid.dir/build.make objects/CMakeFiles/isis3_unit_test_Centroid.dir/build -.PHONY : isis3_unit_test_Centroid/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PixelFOV - -# Build rule for target. -isis3_unit_test_PixelFOV: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PixelFOV -.PHONY : isis3_unit_test_PixelFOV - -# fast build rule for target. -isis3_unit_test_PixelFOV/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PixelFOV.dir/build.make objects/CMakeFiles/isis3_unit_test_PixelFOV.dir/build -.PHONY : isis3_unit_test_PixelFOV/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Mollweide - -# Build rule for target. -isis3_unit_test_Mollweide: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mollweide -.PHONY : isis3_unit_test_Mollweide - -# fast build rule for target. -isis3_unit_test_Mollweide/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mollweide.dir/build.make objects/CMakeFiles/isis3_unit_test_Mollweide.dir/build -.PHONY : isis3_unit_test_Mollweide/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MoonAlbedo - -# Build rule for target. -isis3_unit_test_MoonAlbedo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MoonAlbedo -.PHONY : isis3_unit_test_MoonAlbedo - -# fast build rule for target. -isis3_unit_test_MoonAlbedo/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MoonAlbedo.dir/build.make objects/CMakeFiles/isis3_unit_test_MoonAlbedo.dir/build -.PHONY : isis3_unit_test_MoonAlbedo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_FourierTransform - -# Build rule for target. -isis3_unit_test_FourierTransform: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_FourierTransform -.PHONY : isis3_unit_test_FourierTransform - -# fast build rule for target. -isis3_unit_test_FourierTransform/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_FourierTransform.dir/build.make objects/CMakeFiles/isis3_unit_test_FourierTransform.dir/build -.PHONY : isis3_unit_test_FourierTransform/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NaifDskShape - -# Build rule for target. -isis3_unit_test_NaifDskShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskShape -.PHONY : isis3_unit_test_NaifDskShape - -# fast build rule for target. -isis3_unit_test_NaifDskShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskShape.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskShape.dir/build -.PHONY : isis3_unit_test_NaifDskShape/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpectralDefinition2D - -# Build rule for target. -isis3_unit_test_SpectralDefinition2D: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinition2D -.PHONY : isis3_unit_test_SpectralDefinition2D - -# fast build rule for target. -isis3_unit_test_SpectralDefinition2D/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinition2D.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinition2D.dir/build -.PHONY : isis3_unit_test_SpectralDefinition2D/fast - -#============================================================================= -# Target rules for targets named dawnvir2isis_app - -# Build rule for target. -dawnvir2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dawnvir2isis_app -.PHONY : dawnvir2isis_app - -# fast build rule for target. -dawnvir2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/dawnvir2isis_app.dir/build.make objects/CMakeFiles/dawnvir2isis_app.dir/build -.PHONY : dawnvir2isis_app/fast - -#============================================================================= -# Target rules for targets named Chandrayaan1M3Camera - -# Build rule for target. -Chandrayaan1M3Camera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Chandrayaan1M3Camera -.PHONY : Chandrayaan1M3Camera - -# fast build rule for target. -Chandrayaan1M3Camera/fast: - $(MAKE) -f objects/CMakeFiles/Chandrayaan1M3Camera.dir/build.make objects/CMakeFiles/Chandrayaan1M3Camera.dir/build -.PHONY : Chandrayaan1M3Camera/fast - -#============================================================================= -# Target rules for targets named ratio_app - -# Build rule for target. -ratio_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ratio_app -.PHONY : ratio_app - -# fast build rule for target. -ratio_app/fast: - $(MAKE) -f objects/CMakeFiles/ratio_app.dir/build.make objects/CMakeFiles/ratio_app.dir/build -.PHONY : ratio_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NoNormalization - -# Build rule for target. -isis3_unit_test_NoNormalization: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NoNormalization -.PHONY : isis3_unit_test_NoNormalization - -# fast build rule for target. -isis3_unit_test_NoNormalization/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NoNormalization.dir/build.make objects/CMakeFiles/isis3_unit_test_NoNormalization.dir/build -.PHONY : isis3_unit_test_NoNormalization/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NoOperator - -# Build rule for target. -isis3_unit_test_NoOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NoOperator -.PHONY : isis3_unit_test_NoOperator - -# fast build rule for target. -isis3_unit_test_NoOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NoOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_NoOperator.dir/build -.PHONY : isis3_unit_test_NoOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TProjection - -# Build rule for target. -isis3_unit_test_TProjection: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TProjection -.PHONY : isis3_unit_test_TProjection - -# fast build rule for target. -isis3_unit_test_TProjection/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TProjection.dir/build.make objects/CMakeFiles/isis3_unit_test_TProjection.dir/build -.PHONY : isis3_unit_test_TProjection/fast - -#============================================================================= -# Target rules for targets named apollo_unit_test_ApolloPanoramicCamera - -# Build rule for target. -apollo_unit_test_ApolloPanoramicCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollo_unit_test_ApolloPanoramicCamera -.PHONY : apollo_unit_test_ApolloPanoramicCamera - -# fast build rule for target. -apollo_unit_test_ApolloPanoramicCamera/fast: - $(MAKE) -f objects/CMakeFiles/apollo_unit_test_ApolloPanoramicCamera.dir/build.make objects/CMakeFiles/apollo_unit_test_ApolloPanoramicCamera.dir/build -.PHONY : apollo_unit_test_ApolloPanoramicCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NormModel - -# Build rule for target. -isis3_unit_test_NormModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NormModel -.PHONY : isis3_unit_test_NormModel - -# fast build rule for target. -isis3_unit_test_NormModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NormModel.dir/build.make objects/CMakeFiles/isis3_unit_test_NormModel.dir/build -.PHONY : isis3_unit_test_NormModel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NormModelFactory - -# Build rule for target. -isis3_unit_test_NormModelFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NormModelFactory -.PHONY : isis3_unit_test_NormModelFactory - -# fast build rule for target. -isis3_unit_test_NormModelFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NormModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_NormModelFactory.dir/build -.PHONY : isis3_unit_test_NormModelFactory/fast - -#============================================================================= -# Target rules for targets named stats_app - -# Build rule for target. -stats_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 stats_app -.PHONY : stats_app - -# fast build rule for target. -stats_app/fast: - $(MAKE) -f objects/CMakeFiles/stats_app.dir/build.make objects/CMakeFiles/stats_app.dir/build -.PHONY : stats_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LeastSquares - -# Build rule for target. -isis3_unit_test_LeastSquares: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LeastSquares -.PHONY : isis3_unit_test_LeastSquares - -# fast build rule for target. -isis3_unit_test_LeastSquares/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LeastSquares.dir/build.make objects/CMakeFiles/isis3_unit_test_LeastSquares.dir/build -.PHONY : isis3_unit_test_LeastSquares/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Sensor - -# Build rule for target. -isis3_unit_test_Sensor: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Sensor -.PHONY : isis3_unit_test_Sensor - -# fast build rule for target. -isis3_unit_test_Sensor/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Sensor.dir/build.make objects/CMakeFiles/isis3_unit_test_Sensor.dir/build -.PHONY : isis3_unit_test_Sensor/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NumericalApproximation - -# Build rule for target. -isis3_unit_test_NumericalApproximation: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NumericalApproximation -.PHONY : isis3_unit_test_NumericalApproximation - -# fast build rule for target. -isis3_unit_test_NumericalApproximation/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NumericalApproximation.dir/build.make objects/CMakeFiles/isis3_unit_test_NumericalApproximation.dir/build -.PHONY : isis3_unit_test_NumericalApproximation/fast - -#============================================================================= -# Target rules for targets named hicubenorm_app - -# Build rule for target. -hicubenorm_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hicubenorm_app -.PHONY : hicubenorm_app - -# fast build rule for target. -hicubenorm_app/fast: - $(MAKE) -f objects/CMakeFiles/hicubenorm_app.dir/build.make objects/CMakeFiles/hicubenorm_app.dir/build -.PHONY : hicubenorm_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Lambert - -# Build rule for target. -isis3_unit_test_Lambert: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Lambert -.PHONY : isis3_unit_test_Lambert - -# fast build rule for target. -isis3_unit_test_Lambert/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Lambert.dir/build.make objects/CMakeFiles/isis3_unit_test_Lambert.dir/build -.PHONY : isis3_unit_test_Lambert/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PixelType - -# Build rule for target. -isis3_unit_test_PixelType: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PixelType -.PHONY : isis3_unit_test_PixelType - -# fast build rule for target. -isis3_unit_test_PixelType/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PixelType.dir/build.make objects/CMakeFiles/isis3_unit_test_PixelType.dir/build -.PHONY : isis3_unit_test_PixelType/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TableRecord - -# Build rule for target. -isis3_unit_test_TableRecord: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TableRecord -.PHONY : isis3_unit_test_TableRecord - -# fast build rule for target. -isis3_unit_test_TableRecord/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TableRecord.dir/build.make objects/CMakeFiles/isis3_unit_test_TableRecord.dir/build -.PHONY : isis3_unit_test_TableRecord/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SubArea - -# Build rule for target. -isis3_unit_test_SubArea: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SubArea -.PHONY : isis3_unit_test_SubArea - -# fast build rule for target. -isis3_unit_test_SubArea/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SubArea.dir/build.make objects/CMakeFiles/isis3_unit_test_SubArea.dir/build -.PHONY : isis3_unit_test_SubArea/fast - -#============================================================================= -# Target rules for targets named socetlinescankeywords_app - -# Build rule for target. -socetlinescankeywords_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 socetlinescankeywords_app -.PHONY : socetlinescankeywords_app - -# fast build rule for target. -socetlinescankeywords_app/fast: - $(MAKE) -f objects/CMakeFiles/socetlinescankeywords_app.dir/build.make objects/CMakeFiles/socetlinescankeywords_app.dir/build -.PHONY : socetlinescankeywords_app/fast - -#============================================================================= -# Target rules for targets named blobdump_app - -# Build rule for target. -blobdump_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 blobdump_app -.PHONY : blobdump_app - -# fast build rule for target. -blobdump_app/fast: - $(MAKE) -f objects/CMakeFiles/blobdump_app.dir/build.make objects/CMakeFiles/blobdump_app.dir/build -.PHONY : blobdump_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ObservationNumber - -# Build rule for target. -isis3_unit_test_ObservationNumber: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObservationNumber -.PHONY : isis3_unit_test_ObservationNumber - -# fast build rule for target. -isis3_unit_test_ObservationNumber/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObservationNumber.dir/build.make objects/CMakeFiles/isis3_unit_test_ObservationNumber.dir/build -.PHONY : isis3_unit_test_ObservationNumber/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ObservationNumberList - -# Build rule for target. -isis3_unit_test_ObservationNumberList: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ObservationNumberList -.PHONY : isis3_unit_test_ObservationNumberList - -# fast build rule for target. -isis3_unit_test_ObservationNumberList/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ObservationNumberList.dir/build.make objects/CMakeFiles/isis3_unit_test_ObservationNumberList.dir/build -.PHONY : isis3_unit_test_ObservationNumberList/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Orthographic - -# Build rule for target. -isis3_unit_test_Orthographic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Orthographic -.PHONY : isis3_unit_test_Orthographic - -# fast build rule for target. -isis3_unit_test_Orthographic/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Orthographic.dir/build.make objects/CMakeFiles/isis3_unit_test_Orthographic.dir/build -.PHONY : isis3_unit_test_Orthographic/fast - -#============================================================================= -# Target rules for targets named NewHorizonsLorriCamera - -# Build rule for target. -NewHorizonsLorriCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NewHorizonsLorriCamera -.PHONY : NewHorizonsLorriCamera - -# fast build rule for target. -NewHorizonsLorriCamera/fast: - $(MAKE) -f objects/CMakeFiles/NewHorizonsLorriCamera.dir/build.make objects/CMakeFiles/NewHorizonsLorriCamera.dir/build -.PHONY : NewHorizonsLorriCamera/fast - -#============================================================================= -# Target rules for targets named mdiscal_app - -# Build rule for target. -mdiscal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdiscal_app -.PHONY : mdiscal_app - -# fast build rule for target. -mdiscal_app/fast: - $(MAKE) -f objects/CMakeFiles/mdiscal_app.dir/build.make objects/CMakeFiles/mdiscal_app.dir/build -.PHONY : mdiscal_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_OverlapStatistics - -# Build rule for target. -isis3_unit_test_OverlapStatistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OverlapStatistics -.PHONY : isis3_unit_test_OverlapStatistics - -# fast build rule for target. -isis3_unit_test_OverlapStatistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OverlapStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_OverlapStatistics.dir/build -.PHONY : isis3_unit_test_OverlapStatistics/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Parabola - -# Build rule for target. -isis3_unit_test_Parabola: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Parabola -.PHONY : isis3_unit_test_Parabola - -# fast build rule for target. -isis3_unit_test_Parabola/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Parabola.dir/build.make objects/CMakeFiles/isis3_unit_test_Parabola.dir/build -.PHONY : isis3_unit_test_Parabola/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PhotoModel - -# Build rule for target. -isis3_unit_test_PhotoModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PhotoModel -.PHONY : isis3_unit_test_PhotoModel - -# fast build rule for target. -isis3_unit_test_PhotoModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PhotoModel.dir/build.make objects/CMakeFiles/isis3_unit_test_PhotoModel.dir/build -.PHONY : isis3_unit_test_PhotoModel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadialDistortionMap - -# Build rule for target. -isis3_unit_test_RadialDistortionMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadialDistortionMap -.PHONY : isis3_unit_test_RadialDistortionMap - -# fast build rule for target. -isis3_unit_test_RadialDistortionMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadialDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadialDistortionMap.dir/build -.PHONY : isis3_unit_test_RadialDistortionMap/fast - -#============================================================================= -# Target rules for targets named viknosalt_app - -# Build rule for target. -viknosalt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 viknosalt_app -.PHONY : viknosalt_app - -# fast build rule for target. -viknosalt_app/fast: - $(MAKE) -f objects/CMakeFiles/viknosalt_app.dir/build.make objects/CMakeFiles/viknosalt_app.dir/build -.PHONY : viknosalt_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PhotoModelFactory - -# Build rule for target. -isis3_unit_test_PhotoModelFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PhotoModelFactory -.PHONY : isis3_unit_test_PhotoModelFactory - -# fast build rule for target. -isis3_unit_test_PhotoModelFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PhotoModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_PhotoModelFactory.dir/build -.PHONY : isis3_unit_test_PhotoModelFactory/fast - -#============================================================================= -# Target rules for targets named cnetextract_app - -# Build rule for target. -cnetextract_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cnetextract_app -.PHONY : cnetextract_app - -# fast build rule for target. -cnetextract_app/fast: - $(MAKE) -f objects/CMakeFiles/cnetextract_app.dir/build.make objects/CMakeFiles/cnetextract_app.dir/build -.PHONY : cnetextract_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessByQuickFilter - -# Build rule for target. -isis3_unit_test_ProcessByQuickFilter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByQuickFilter -.PHONY : isis3_unit_test_ProcessByQuickFilter - -# fast build rule for target. -isis3_unit_test_ProcessByQuickFilter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByQuickFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByQuickFilter.dir/build -.PHONY : isis3_unit_test_ProcessByQuickFilter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SqlRecord - -# Build rule for target. -isis3_unit_test_SqlRecord: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SqlRecord -.PHONY : isis3_unit_test_SqlRecord - -# fast build rule for target. -isis3_unit_test_SqlRecord/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SqlRecord.dir/build.make objects/CMakeFiles/isis3_unit_test_SqlRecord.dir/build -.PHONY : isis3_unit_test_SqlRecord/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Photometry - -# Build rule for target. -isis3_unit_test_Photometry: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Photometry -.PHONY : isis3_unit_test_Photometry - -# fast build rule for target. -isis3_unit_test_Photometry/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Photometry.dir/build.make objects/CMakeFiles/isis3_unit_test_Photometry.dir/build -.PHONY : isis3_unit_test_Photometry/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Pixel - -# Build rule for target. -isis3_unit_test_Pixel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pixel -.PHONY : isis3_unit_test_Pixel - -# fast build rule for target. -isis3_unit_test_Pixel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pixel.dir/build.make objects/CMakeFiles/isis3_unit_test_Pixel.dir/build -.PHONY : isis3_unit_test_Pixel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PlaneShape - -# Build rule for target. -isis3_unit_test_PlaneShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PlaneShape -.PHONY : isis3_unit_test_PlaneShape - -# fast build rule for target. -isis3_unit_test_PlaneShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PlaneShape.dir/build.make objects/CMakeFiles/isis3_unit_test_PlaneShape.dir/build -.PHONY : isis3_unit_test_PlaneShape/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Plugin - -# Build rule for target. -isis3_unit_test_Plugin: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Plugin -.PHONY : isis3_unit_test_Plugin - -# fast build rule for target. -isis3_unit_test_Plugin/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Plugin.dir/build.make objects/CMakeFiles/isis3_unit_test_Plugin.dir/build -.PHONY : isis3_unit_test_Plugin/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PointPerspective - -# Build rule for target. -isis3_unit_test_PointPerspective: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PointPerspective -.PHONY : isis3_unit_test_PointPerspective - -# fast build rule for target. -isis3_unit_test_PointPerspective/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PointPerspective.dir/build.make objects/CMakeFiles/isis3_unit_test_PointPerspective.dir/build -.PHONY : isis3_unit_test_PointPerspective/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNetStatistics - -# Build rule for target. -isis3_unit_test_ControlNetStatistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetStatistics -.PHONY : isis3_unit_test_ControlNetStatistics - -# fast build rule for target. -isis3_unit_test_ControlNetStatistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetStatistics.dir/build -.PHONY : isis3_unit_test_ControlNetStatistics/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ShapeModel - -# Build rule for target. -isis3_unit_test_ShapeModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShapeModel -.PHONY : isis3_unit_test_ShapeModel - -# fast build rule for target. -isis3_unit_test_ShapeModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShapeModel.dir/build.make objects/CMakeFiles/isis3_unit_test_ShapeModel.dir/build -.PHONY : isis3_unit_test_ShapeModel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_CubeCachingAlgorithm - -# Build rule for target. -isis3_unit_test_CubeCachingAlgorithm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_CubeCachingAlgorithm -.PHONY : isis3_unit_test_CubeCachingAlgorithm - -# fast build rule for target. -isis3_unit_test_CubeCachingAlgorithm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_CubeCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_CubeCachingAlgorithm.dir/build -.PHONY : isis3_unit_test_CubeCachingAlgorithm/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessRubberSheet - -# Build rule for target. -isis3_unit_test_ProcessRubberSheet: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessRubberSheet -.PHONY : isis3_unit_test_ProcessRubberSheet - -# fast build rule for target. -isis3_unit_test_ProcessRubberSheet/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessRubberSheet.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessRubberSheet.dir/build -.PHONY : isis3_unit_test_ProcessRubberSheet/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_EndianSwapper - -# Build rule for target. -isis3_unit_test_EndianSwapper: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_EndianSwapper -.PHONY : isis3_unit_test_EndianSwapper - -# fast build rule for target. -isis3_unit_test_EndianSwapper/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_EndianSwapper.dir/build.make objects/CMakeFiles/isis3_unit_test_EndianSwapper.dir/build -.PHONY : isis3_unit_test_EndianSwapper/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolynomialBivariate - -# Build rule for target. -isis3_unit_test_PolynomialBivariate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolynomialBivariate -.PHONY : isis3_unit_test_PolynomialBivariate - -# fast build rule for target. -isis3_unit_test_PolynomialBivariate/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolynomialBivariate.dir/build.make objects/CMakeFiles/isis3_unit_test_PolynomialBivariate.dir/build -.PHONY : isis3_unit_test_PolynomialBivariate/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Robinson - -# Build rule for target. -isis3_unit_test_Robinson: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Robinson -.PHONY : isis3_unit_test_Robinson - -# fast build rule for target. -isis3_unit_test_Robinson/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Robinson.dir/build.make objects/CMakeFiles/isis3_unit_test_Robinson.dir/build -.PHONY : isis3_unit_test_Robinson/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolynomialUnivariate - -# Build rule for target. -isis3_unit_test_PolynomialUnivariate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolynomialUnivariate -.PHONY : isis3_unit_test_PolynomialUnivariate - -# fast build rule for target. -isis3_unit_test_PolynomialUnivariate/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolynomialUnivariate.dir/build.make objects/CMakeFiles/isis3_unit_test_PolynomialUnivariate.dir/build -.PHONY : isis3_unit_test_PolynomialUnivariate/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Target - -# Build rule for target. -isis3_unit_test_Target: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Target -.PHONY : isis3_unit_test_Target - -# fast build rule for target. -isis3_unit_test_Target/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Target.dir/build.make objects/CMakeFiles/isis3_unit_test_Target.dir/build -.PHONY : isis3_unit_test_Target/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BundleSettings - -# Build rule for target. -isis3_unit_test_BundleSettings: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleSettings -.PHONY : isis3_unit_test_BundleSettings - -# fast build rule for target. -isis3_unit_test_BundleSettings/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleSettings.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleSettings.dir/build -.PHONY : isis3_unit_test_BundleSettings/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RingCylindrical - -# Build rule for target. -isis3_unit_test_RingCylindrical: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RingCylindrical -.PHONY : isis3_unit_test_RingCylindrical - -# fast build rule for target. -isis3_unit_test_RingCylindrical/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RingCylindrical.dir/build.make objects/CMakeFiles/isis3_unit_test_RingCylindrical.dir/build -.PHONY : isis3_unit_test_RingCylindrical/fast - -#============================================================================= -# Target rules for targets named Anisotropic2 - -# Build rule for target. -Anisotropic2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Anisotropic2 -.PHONY : Anisotropic2 - -# fast build rule for target. -Anisotropic2/fast: - $(MAKE) -f objects/CMakeFiles/Anisotropic2.dir/build.make objects/CMakeFiles/Anisotropic2.dir/build -.PHONY : Anisotropic2/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Portal - -# Build rule for target. -isis3_unit_test_Portal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Portal -.PHONY : isis3_unit_test_Portal - -# fast build rule for target. -isis3_unit_test_Portal/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Portal.dir/build.make objects/CMakeFiles/isis3_unit_test_Portal.dir/build -.PHONY : isis3_unit_test_Portal/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Preference - -# Build rule for target. -isis3_unit_test_Preference: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Preference -.PHONY : isis3_unit_test_Preference - -# fast build rule for target. -isis3_unit_test_Preference/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Preference.dir/build.make objects/CMakeFiles/isis3_unit_test_Preference.dir/build -.PHONY : isis3_unit_test_Preference/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessByBoxcar - -# Build rule for target. -isis3_unit_test_ProcessByBoxcar: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByBoxcar -.PHONY : isis3_unit_test_ProcessByBoxcar - -# fast build rule for target. -isis3_unit_test_ProcessByBoxcar/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByBoxcar.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByBoxcar.dir/build -.PHONY : isis3_unit_test_ProcessByBoxcar/fast - -#============================================================================= -# Target rules for targets named histeq_app - -# Build rule for target. -histeq_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 histeq_app -.PHONY : histeq_app - -# fast build rule for target. -histeq_app/fast: - $(MAKE) -f objects/CMakeFiles/histeq_app.dir/build.make objects/CMakeFiles/histeq_app.dir/build -.PHONY : histeq_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessByBrick - -# Build rule for target. -isis3_unit_test_ProcessByBrick: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByBrick -.PHONY : isis3_unit_test_ProcessByBrick - -# fast build rule for target. -isis3_unit_test_ProcessByBrick/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByBrick.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByBrick.dir/build -.PHONY : isis3_unit_test_ProcessByBrick/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessBySample - -# Build rule for target. -isis3_unit_test_ProcessBySample: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessBySample -.PHONY : isis3_unit_test_ProcessBySample - -# fast build rule for target. -isis3_unit_test_ProcessBySample/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessBySample.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessBySample.dir/build -.PHONY : isis3_unit_test_ProcessBySample/fast - -#============================================================================= -# Target rules for targets named isis2gml_app - -# Build rule for target. -isis2gml_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2gml_app -.PHONY : isis2gml_app - -# fast build rule for target. -isis2gml_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2gml_app.dir/build.make objects/CMakeFiles/isis2gml_app.dir/build -.PHONY : isis2gml_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessBySpectra - -# Build rule for target. -isis3_unit_test_ProcessBySpectra: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessBySpectra -.PHONY : isis3_unit_test_ProcessBySpectra - -# fast build rule for target. -isis3_unit_test_ProcessBySpectra/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessBySpectra.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessBySpectra.dir/build -.PHONY : isis3_unit_test_ProcessBySpectra/fast - -#============================================================================= -# Target rules for targets named blend_app - -# Build rule for target. -blend_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 blend_app -.PHONY : blend_app - -# fast build rule for target. -blend_app/fast: - $(MAKE) -f objects/CMakeFiles/blend_app.dir/build.make objects/CMakeFiles/blend_app.dir/build -.PHONY : blend_app/fast - -#============================================================================= -# Target rules for targets named findrx_app - -# Build rule for target. -findrx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 findrx_app -.PHONY : findrx_app - -# fast build rule for target. -findrx_app/fast: - $(MAKE) -f objects/CMakeFiles/findrx_app.dir/build.make objects/CMakeFiles/findrx_app.dir/build -.PHONY : findrx_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessExport - -# Build rule for target. -isis3_unit_test_ProcessExport: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExport -.PHONY : isis3_unit_test_ProcessExport - -# fast build rule for target. -isis3_unit_test_ProcessExport/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExport.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExport.dir/build -.PHONY : isis3_unit_test_ProcessExport/fast - -#============================================================================= -# Target rules for targets named cam2map_app - -# Build rule for target. -cam2map_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cam2map_app -.PHONY : cam2map_app - -# fast build rule for target. -cam2map_app/fast: - $(MAKE) -f objects/CMakeFiles/cam2map_app.dir/build.make objects/CMakeFiles/cam2map_app.dir/build -.PHONY : cam2map_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Hapke - -# Build rule for target. -isis3_unit_test_Hapke: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Hapke -.PHONY : isis3_unit_test_Hapke - -# fast build rule for target. -isis3_unit_test_Hapke/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Hapke.dir/build.make objects/CMakeFiles/isis3_unit_test_Hapke.dir/build -.PHONY : isis3_unit_test_Hapke/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessExportPds4 - -# Build rule for target. -isis3_unit_test_ProcessExportPds4: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessExportPds4 -.PHONY : isis3_unit_test_ProcessExportPds4 - -# fast build rule for target. -isis3_unit_test_ProcessExportPds4/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessExportPds4.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessExportPds4.dir/build -.PHONY : isis3_unit_test_ProcessExportPds4/fast - -#============================================================================= -# Target rules for targets named kuwahara_app - -# Build rule for target. -kuwahara_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kuwahara_app -.PHONY : kuwahara_app - -# fast build rule for target. -kuwahara_app/fast: - $(MAKE) -f objects/CMakeFiles/kuwahara_app.dir/build.make objects/CMakeFiles/kuwahara_app.dir/build -.PHONY : kuwahara_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessGroundPolygons - -# Build rule for target. -isis3_unit_test_ProcessGroundPolygons: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessGroundPolygons -.PHONY : isis3_unit_test_ProcessGroundPolygons - -# fast build rule for target. -isis3_unit_test_ProcessGroundPolygons/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessGroundPolygons.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessGroundPolygons.dir/build -.PHONY : isis3_unit_test_ProcessGroundPolygons/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessImportFits - -# Build rule for target. -isis3_unit_test_ProcessImportFits: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportFits -.PHONY : isis3_unit_test_ProcessImportFits - -# fast build rule for target. -isis3_unit_test_ProcessImportFits/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportFits.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportFits.dir/build -.PHONY : isis3_unit_test_ProcessImportFits/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_OriginalLabel - -# Build rule for target. -isis3_unit_test_OriginalLabel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OriginalLabel -.PHONY : isis3_unit_test_OriginalLabel - -# fast build rule for target. -isis3_unit_test_OriginalLabel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OriginalLabel.dir/build.make objects/CMakeFiles/isis3_unit_test_OriginalLabel.dir/build -.PHONY : isis3_unit_test_OriginalLabel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PolarStereographic - -# Build rule for target. -isis3_unit_test_PolarStereographic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PolarStereographic -.PHONY : isis3_unit_test_PolarStereographic - -# fast build rule for target. -isis3_unit_test_PolarStereographic/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PolarStereographic.dir/build.make objects/CMakeFiles/isis3_unit_test_PolarStereographic.dir/build -.PHONY : isis3_unit_test_PolarStereographic/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessImportPds - -# Build rule for target. -isis3_unit_test_ProcessImportPds: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportPds -.PHONY : isis3_unit_test_ProcessImportPds - -# fast build rule for target. -isis3_unit_test_ProcessImportPds/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportPds.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportPds.dir/build -.PHONY : isis3_unit_test_ProcessImportPds/fast - -#============================================================================= -# Target rules for targets named specdivfilter_app - -# Build rule for target. -specdivfilter_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 specdivfilter_app -.PHONY : specdivfilter_app - -# fast build rule for target. -specdivfilter_app/fast: - $(MAKE) -f objects/CMakeFiles/specdivfilter_app.dir/build.make objects/CMakeFiles/specdivfilter_app.dir/build -.PHONY : specdivfilter_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_WorldMapper - -# Build rule for target. -isis3_unit_test_WorldMapper: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_WorldMapper -.PHONY : isis3_unit_test_WorldMapper - -# fast build rule for target. -isis3_unit_test_WorldMapper/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_WorldMapper.dir/build.make objects/CMakeFiles/isis3_unit_test_WorldMapper.dir/build -.PHONY : isis3_unit_test_WorldMapper/fast - -#============================================================================= -# Target rules for targets named clemhirescal_app - -# Build rule for target. -clemhirescal_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 clemhirescal_app -.PHONY : clemhirescal_app - -# fast build rule for target. -clemhirescal_app/fast: - $(MAKE) -f objects/CMakeFiles/clemhirescal_app.dir/build.make objects/CMakeFiles/clemhirescal_app.dir/build -.PHONY : clemhirescal_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessImportVicar - -# Build rule for target. -isis3_unit_test_ProcessImportVicar: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessImportVicar -.PHONY : isis3_unit_test_ProcessImportVicar - -# fast build rule for target. -isis3_unit_test_ProcessImportVicar/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessImportVicar.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessImportVicar.dir/build -.PHONY : isis3_unit_test_ProcessImportVicar/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_DbAccess - -# Build rule for target. -isis3_unit_test_DbAccess: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DbAccess -.PHONY : isis3_unit_test_DbAccess - -# fast build rule for target. -isis3_unit_test_DbAccess/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DbAccess.dir/build.make objects/CMakeFiles/isis3_unit_test_DbAccess.dir/build -.PHONY : isis3_unit_test_DbAccess/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessMapMosaic - -# Build rule for target. -isis3_unit_test_ProcessMapMosaic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessMapMosaic -.PHONY : isis3_unit_test_ProcessMapMosaic - -# fast build rule for target. -isis3_unit_test_ProcessMapMosaic/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessMapMosaic.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessMapMosaic.dir/build -.PHONY : isis3_unit_test_ProcessMapMosaic/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessMosaic - -# Build rule for target. -isis3_unit_test_ProcessMosaic: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessMosaic -.PHONY : isis3_unit_test_ProcessMosaic - -# fast build rule for target. -isis3_unit_test_ProcessMosaic/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessMosaic.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessMosaic.dir/build -.PHONY : isis3_unit_test_ProcessMosaic/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessPolygons - -# Build rule for target. -isis3_unit_test_ProcessPolygons: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessPolygons -.PHONY : isis3_unit_test_ProcessPolygons - -# fast build rule for target. -isis3_unit_test_ProcessPolygons/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessPolygons.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessPolygons.dir/build -.PHONY : isis3_unit_test_ProcessPolygons/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProgramLauncher - -# Build rule for target. -isis3_unit_test_ProgramLauncher: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProgramLauncher -.PHONY : isis3_unit_test_ProgramLauncher - -# fast build rule for target. -isis3_unit_test_ProgramLauncher/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProgramLauncher.dir/build.make objects/CMakeFiles/isis3_unit_test_ProgramLauncher.dir/build -.PHONY : isis3_unit_test_ProgramLauncher/fast - -#============================================================================= -# Target rules for targets named kaguyasp2ascii_app - -# Build rule for target. -kaguyasp2ascii_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 kaguyasp2ascii_app -.PHONY : kaguyasp2ascii_app - -# fast build rule for target. -kaguyasp2ascii_app/fast: - $(MAKE) -f objects/CMakeFiles/kaguyasp2ascii_app.dir/build.make objects/CMakeFiles/kaguyasp2ascii_app.dir/build -.PHONY : kaguyasp2ascii_app/fast - -#============================================================================= -# Target rules for targets named mvstats_app - -# Build rule for target. -mvstats_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mvstats_app -.PHONY : mvstats_app - -# fast build rule for target. -mvstats_app/fast: - $(MAKE) -f objects/CMakeFiles/mvstats_app.dir/build.make objects/CMakeFiles/mvstats_app.dir/build -.PHONY : mvstats_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PushFrameCamera - -# Build rule for target. -isis3_unit_test_PushFrameCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCamera -.PHONY : isis3_unit_test_PushFrameCamera - -# fast build rule for target. -isis3_unit_test_PushFrameCamera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCamera.dir/build -.PHONY : isis3_unit_test_PushFrameCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TriangularPlate - -# Build rule for target. -isis3_unit_test_TriangularPlate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TriangularPlate -.PHONY : isis3_unit_test_TriangularPlate - -# fast build rule for target. -isis3_unit_test_TriangularPlate/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TriangularPlate.dir/build.make objects/CMakeFiles/isis3_unit_test_TriangularPlate.dir/build -.PHONY : isis3_unit_test_TriangularPlate/fast - -#============================================================================= -# Target rules for targets named hidestripe_app - -# Build rule for target. -hidestripe_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hidestripe_app -.PHONY : hidestripe_app - -# fast build rule for target. -hidestripe_app/fast: - $(MAKE) -f objects/CMakeFiles/hidestripe_app.dir/build.make objects/CMakeFiles/hidestripe_app.dir/build -.PHONY : hidestripe_app/fast - -#============================================================================= -# Target rules for targets named center_app - -# Build rule for target. -center_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 center_app -.PHONY : center_app - -# fast build rule for target. -center_app/fast: - $(MAKE) -f objects/CMakeFiles/center_app.dir/build.make objects/CMakeFiles/center_app.dir/build -.PHONY : center_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AutoRegFactory - -# Build rule for target. -isis3_unit_test_AutoRegFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AutoRegFactory -.PHONY : isis3_unit_test_AutoRegFactory - -# fast build rule for target. -isis3_unit_test_AutoRegFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AutoRegFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_AutoRegFactory.dir/build -.PHONY : isis3_unit_test_AutoRegFactory/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MoravecOperator - -# Build rule for target. -isis3_unit_test_MoravecOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MoravecOperator -.PHONY : isis3_unit_test_MoravecOperator - -# fast build rule for target. -isis3_unit_test_MoravecOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MoravecOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_MoravecOperator.dir/build -.PHONY : isis3_unit_test_MoravecOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PushFrameCameraDetectorMap - -# Build rule for target. -isis3_unit_test_PushFrameCameraDetectorMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraDetectorMap -.PHONY : isis3_unit_test_PushFrameCameraDetectorMap - -# fast build rule for target. -isis3_unit_test_PushFrameCameraDetectorMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraDetectorMap.dir/build -.PHONY : isis3_unit_test_PushFrameCameraDetectorMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Pvl - -# Build rule for target. -isis3_unit_test_Pvl: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Pvl -.PHONY : isis3_unit_test_Pvl - -# fast build rule for target. -isis3_unit_test_Pvl/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Pvl.dir/build.make objects/CMakeFiles/isis3_unit_test_Pvl.dir/build -.PHONY : isis3_unit_test_Pvl/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlContainer - -# Build rule for target. -isis3_unit_test_PvlContainer: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlContainer -.PHONY : isis3_unit_test_PvlContainer - -# fast build rule for target. -isis3_unit_test_PvlContainer/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlContainer.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlContainer.dir/build -.PHONY : isis3_unit_test_PvlContainer/fast - -#============================================================================= -# Target rules for targets named fft_app - -# Build rule for target. -fft_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fft_app -.PHONY : fft_app - -# fast build rule for target. -fft_app/fast: - $(MAKE) -f objects/CMakeFiles/fft_app.dir/build.make objects/CMakeFiles/fft_app.dir/build -.PHONY : fft_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlEditDialog - -# Build rule for target. -isis3_unit_test_PvlEditDialog: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlEditDialog -.PHONY : isis3_unit_test_PvlEditDialog - -# fast build rule for target. -isis3_unit_test_PvlEditDialog/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlEditDialog.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlEditDialog.dir/build -.PHONY : isis3_unit_test_PvlEditDialog/fast - -#============================================================================= -# Target rules for targets named LimitPolygonSeeder - -# Build rule for target. -LimitPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LimitPolygonSeeder -.PHONY : LimitPolygonSeeder - -# fast build rule for target. -LimitPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/LimitPolygonSeeder.dir/build.make objects/CMakeFiles/LimitPolygonSeeder.dir/build -.PHONY : LimitPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlFlatMap - -# Build rule for target. -isis3_unit_test_PvlFlatMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFlatMap -.PHONY : isis3_unit_test_PvlFlatMap - -# fast build rule for target. -isis3_unit_test_PvlFlatMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFlatMap.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFlatMap.dir/build -.PHONY : isis3_unit_test_PvlFlatMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlFormat - -# Build rule for target. -isis3_unit_test_PvlFormat: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlFormat -.PHONY : isis3_unit_test_PvlFormat - -# fast build rule for target. -isis3_unit_test_PvlFormat/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlFormat.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlFormat.dir/build -.PHONY : isis3_unit_test_PvlFormat/fast - -#============================================================================= -# Target rules for targets named vikfixtrx_app - -# Build rule for target. -vikfixtrx_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 vikfixtrx_app -.PHONY : vikfixtrx_app - -# fast build rule for target. -vikfixtrx_app/fast: - $(MAKE) -f objects/CMakeFiles/vikfixtrx_app.dir/build.make objects/CMakeFiles/vikfixtrx_app.dir/build -.PHONY : vikfixtrx_app/fast - -#============================================================================= -# Target rules for targets named NoNormalization - -# Build rule for target. -NoNormalization: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NoNormalization -.PHONY : NoNormalization - -# fast build rule for target. -NoNormalization/fast: - $(MAKE) -f objects/CMakeFiles/NoNormalization.dir/build.make objects/CMakeFiles/NoNormalization.dir/build -.PHONY : NoNormalization/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RingPlaneProjection - -# Build rule for target. -isis3_unit_test_RingPlaneProjection: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RingPlaneProjection -.PHONY : isis3_unit_test_RingPlaneProjection - -# fast build rule for target. -isis3_unit_test_RingPlaneProjection/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RingPlaneProjection.dir/build.make objects/CMakeFiles/isis3_unit_test_RingPlaneProjection.dir/build -.PHONY : isis3_unit_test_RingPlaneProjection/fast - -#============================================================================= -# Target rules for targets named nocam2map_app - -# Build rule for target. -nocam2map_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 nocam2map_app -.PHONY : nocam2map_app - -# fast build rule for target. -nocam2map_app/fast: - $(MAKE) -f objects/CMakeFiles/nocam2map_app.dir/build.make objects/CMakeFiles/nocam2map_app.dir/build -.PHONY : nocam2map_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlGroup - -# Build rule for target. -isis3_unit_test_PvlGroup: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlGroup -.PHONY : isis3_unit_test_PvlGroup - -# fast build rule for target. -isis3_unit_test_PvlGroup/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlGroup.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlGroup.dir/build -.PHONY : isis3_unit_test_PvlGroup/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AbstractPlate - -# Build rule for target. -isis3_unit_test_AbstractPlate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AbstractPlate -.PHONY : isis3_unit_test_AbstractPlate - -# fast build rule for target. -isis3_unit_test_AbstractPlate/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AbstractPlate.dir/build.make objects/CMakeFiles/isis3_unit_test_AbstractPlate.dir/build -.PHONY : isis3_unit_test_AbstractPlate/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlKeyword - -# Build rule for target. -isis3_unit_test_PvlKeyword: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlKeyword -.PHONY : isis3_unit_test_PvlKeyword - -# fast build rule for target. -isis3_unit_test_PvlKeyword/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlKeyword.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlKeyword.dir/build -.PHONY : isis3_unit_test_PvlKeyword/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlObject - -# Build rule for target. -isis3_unit_test_PvlObject: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlObject -.PHONY : isis3_unit_test_PvlObject - -# fast build rule for target. -isis3_unit_test_PvlObject/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlObject.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlObject.dir/build -.PHONY : isis3_unit_test_PvlObject/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlToPvlTranslationManager - -# Build rule for target. -isis3_unit_test_PvlToPvlTranslationManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToPvlTranslationManager -.PHONY : isis3_unit_test_PvlToPvlTranslationManager - -# fast build rule for target. -isis3_unit_test_PvlToPvlTranslationManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToPvlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToPvlTranslationManager.dir/build -.PHONY : isis3_unit_test_PvlToPvlTranslationManager/fast - -#============================================================================= -# Target rules for targets named sharpen_app - -# Build rule for target. -sharpen_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 sharpen_app -.PHONY : sharpen_app - -# fast build rule for target. -sharpen_app/fast: - $(MAKE) -f objects/CMakeFiles/sharpen_app.dir/build.make objects/CMakeFiles/sharpen_app.dir/build -.PHONY : sharpen_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlToXmlTranslationManager - -# Build rule for target. -isis3_unit_test_PvlToXmlTranslationManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToXmlTranslationManager -.PHONY : isis3_unit_test_PvlToXmlTranslationManager - -# fast build rule for target. -isis3_unit_test_PvlToXmlTranslationManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToXmlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToXmlTranslationManager.dir/build -.PHONY : isis3_unit_test_PvlToXmlTranslationManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LunarAzimuthalEqualArea - -# Build rule for target. -isis3_unit_test_LunarAzimuthalEqualArea: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LunarAzimuthalEqualArea -.PHONY : isis3_unit_test_LunarAzimuthalEqualArea - -# fast build rule for target. -isis3_unit_test_LunarAzimuthalEqualArea/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LunarAzimuthalEqualArea.dir/build.make objects/CMakeFiles/isis3_unit_test_LunarAzimuthalEqualArea.dir/build -.PHONY : isis3_unit_test_LunarAzimuthalEqualArea/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlToken - -# Build rule for target. -isis3_unit_test_PvlToken: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlToken -.PHONY : isis3_unit_test_PvlToken - -# fast build rule for target. -isis3_unit_test_PvlToken/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlToken.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlToken.dir/build -.PHONY : isis3_unit_test_PvlToken/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BulletWorldManager - -# Build rule for target. -isis3_unit_test_BulletWorldManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BulletWorldManager -.PHONY : isis3_unit_test_BulletWorldManager - -# fast build rule for target. -isis3_unit_test_BulletWorldManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BulletWorldManager.dir/build.make objects/CMakeFiles/isis3_unit_test_BulletWorldManager.dir/build -.PHONY : isis3_unit_test_BulletWorldManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PvlTranslationTable - -# Build rule for target. -isis3_unit_test_PvlTranslationTable: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PvlTranslationTable -.PHONY : isis3_unit_test_PvlTranslationTable - -# fast build rule for target. -isis3_unit_test_PvlTranslationTable/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PvlTranslationTable.dir/build.make objects/CMakeFiles/isis3_unit_test_PvlTranslationTable.dir/build -.PHONY : isis3_unit_test_PvlTranslationTable/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SurfaceModel - -# Build rule for target. -isis3_unit_test_SurfaceModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SurfaceModel -.PHONY : isis3_unit_test_SurfaceModel - -# fast build rule for target. -isis3_unit_test_SurfaceModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SurfaceModel.dir/build.make objects/CMakeFiles/isis3_unit_test_SurfaceModel.dir/build -.PHONY : isis3_unit_test_SurfaceModel/fast - -#============================================================================= -# Target rules for targets named Albedo - -# Build rule for target. -Albedo: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Albedo -.PHONY : Albedo - -# fast build rule for target. -Albedo/fast: - $(MAKE) -f objects/CMakeFiles/Albedo.dir/build.make objects/CMakeFiles/Albedo.dir/build -.PHONY : Albedo/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_InterestOperator - -# Build rule for target. -isis3_unit_test_InterestOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InterestOperator -.PHONY : isis3_unit_test_InterestOperator - -# fast build rule for target. -isis3_unit_test_InterestOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InterestOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_InterestOperator.dir/build -.PHONY : isis3_unit_test_InterestOperator/fast - -#============================================================================= -# Target rules for targets named desmile_app - -# Build rule for target. -desmile_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 desmile_app -.PHONY : desmile_app - -# fast build rule for target. -desmile_app/fast: - $(MAKE) -f objects/CMakeFiles/desmile_app.dir/build.make objects/CMakeFiles/desmile_app.dir/build -.PHONY : desmile_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_QtImporter - -# Build rule for target. -isis3_unit_test_QtImporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QtImporter -.PHONY : isis3_unit_test_QtImporter - -# fast build rule for target. -isis3_unit_test_QtImporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QtImporter.dir/build.make objects/CMakeFiles/isis3_unit_test_QtImporter.dir/build -.PHONY : isis3_unit_test_QtImporter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_QuickFilter - -# Build rule for target. -isis3_unit_test_QuickFilter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_QuickFilter -.PHONY : isis3_unit_test_QuickFilter - -# fast build rule for target. -isis3_unit_test_QuickFilter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_QuickFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_QuickFilter.dir/build -.PHONY : isis3_unit_test_QuickFilter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarPulseMap - -# Build rule for target. -isis3_unit_test_RadarPulseMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarPulseMap -.PHONY : isis3_unit_test_RadarPulseMap - -# fast build rule for target. -isis3_unit_test_RadarPulseMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarPulseMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarPulseMap.dir/build -.PHONY : isis3_unit_test_RadarPulseMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Reduce - -# Build rule for target. -isis3_unit_test_Reduce: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Reduce -.PHONY : isis3_unit_test_Reduce - -# fast build rule for target. -isis3_unit_test_Reduce/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Reduce.dir/build.make objects/CMakeFiles/isis3_unit_test_Reduce.dir/build -.PHONY : isis3_unit_test_Reduce/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNetFilter - -# Build rule for target. -isis3_unit_test_ControlNetFilter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetFilter -.PHONY : isis3_unit_test_ControlNetFilter - -# fast build rule for target. -isis3_unit_test_ControlNetFilter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetFilter.dir/build -.PHONY : isis3_unit_test_ControlNetFilter/fast - -#============================================================================= -# Target rules for targets named cubefunc_app - -# Build rule for target. -cubefunc_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cubefunc_app -.PHONY : cubefunc_app - -# fast build rule for target. -cubefunc_app/fast: - $(MAKE) -f objects/CMakeFiles/cubefunc_app.dir/build.make objects/CMakeFiles/cubefunc_app.dir/build -.PHONY : cubefunc_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarSkyMap - -# Build rule for target. -isis3_unit_test_RadarSkyMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarSkyMap -.PHONY : isis3_unit_test_RadarSkyMap - -# fast build rule for target. -isis3_unit_test_RadarSkyMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarSkyMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarSkyMap.dir/build -.PHONY : isis3_unit_test_RadarSkyMap/fast - -#============================================================================= -# Target rules for targets named barscale_app - -# Build rule for target. -barscale_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 barscale_app -.PHONY : barscale_app - -# fast build rule for target. -barscale_app/fast: - $(MAKE) -f objects/CMakeFiles/barscale_app.dir/build.make objects/CMakeFiles/barscale_app.dir/build -.PHONY : barscale_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_OriginalXmlLabel - -# Build rule for target. -isis3_unit_test_OriginalXmlLabel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_OriginalXmlLabel -.PHONY : isis3_unit_test_OriginalXmlLabel - -# fast build rule for target. -isis3_unit_test_OriginalXmlLabel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_OriginalXmlLabel.dir/build.make objects/CMakeFiles/isis3_unit_test_OriginalXmlLabel.dir/build -.PHONY : isis3_unit_test_OriginalXmlLabel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarSlantRangeMap - -# Build rule for target. -isis3_unit_test_RadarSlantRangeMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarSlantRangeMap -.PHONY : isis3_unit_test_RadarSlantRangeMap - -# fast build rule for target. -isis3_unit_test_RadarSlantRangeMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarSlantRangeMap.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarSlantRangeMap.dir/build -.PHONY : isis3_unit_test_RadarSlantRangeMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ReseauDistortionMap - -# Build rule for target. -isis3_unit_test_ReseauDistortionMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ReseauDistortionMap -.PHONY : isis3_unit_test_ReseauDistortionMap - -# fast build rule for target. -isis3_unit_test_ReseauDistortionMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ReseauDistortionMap.dir/build.make objects/CMakeFiles/isis3_unit_test_ReseauDistortionMap.dir/build -.PHONY : isis3_unit_test_ReseauDistortionMap/fast - -#============================================================================= -# Target rules for targets named rgb2hsv_app - -# Build rule for target. -rgb2hsv_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 rgb2hsv_app -.PHONY : rgb2hsv_app - -# fast build rule for target. -rgb2hsv_app/fast: - $(MAKE) -f objects/CMakeFiles/rgb2hsv_app.dir/build.make objects/CMakeFiles/rgb2hsv_app.dir/build -.PHONY : rgb2hsv_app/fast - -#============================================================================= -# Target rules for targets named enlarge_app - -# Build rule for target. -enlarge_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 enlarge_app -.PHONY : enlarge_app - -# fast build rule for target. -enlarge_app/fast: - $(MAKE) -f objects/CMakeFiles/enlarge_app.dir/build.make objects/CMakeFiles/enlarge_app.dir/build -.PHONY : enlarge_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_AbstractShape - -# Build rule for target. -isis3_unit_test_AbstractShape: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_AbstractShape -.PHONY : isis3_unit_test_AbstractShape - -# fast build rule for target. -isis3_unit_test_AbstractShape/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_AbstractShape.dir/build.make objects/CMakeFiles/isis3_unit_test_AbstractShape.dir/build -.PHONY : isis3_unit_test_AbstractShape/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SerialNumber - -# Build rule for target. -isis3_unit_test_SerialNumber: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SerialNumber -.PHONY : isis3_unit_test_SerialNumber - -# fast build rule for target. -isis3_unit_test_SerialNumber/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SerialNumber.dir/build.make objects/CMakeFiles/isis3_unit_test_SerialNumber.dir/build -.PHONY : isis3_unit_test_SerialNumber/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ShadeAtm - -# Build rule for target. -isis3_unit_test_ShadeAtm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShadeAtm -.PHONY : isis3_unit_test_ShadeAtm - -# fast build rule for target. -isis3_unit_test_ShadeAtm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShadeAtm.dir/build.make objects/CMakeFiles/isis3_unit_test_ShadeAtm.dir/build -.PHONY : isis3_unit_test_ShadeAtm/fast - -#============================================================================= -# Target rules for targets named reduce_app - -# Build rule for target. -reduce_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 reduce_app -.PHONY : reduce_app - -# fast build rule for target. -reduce_app/fast: - $(MAKE) -f objects/CMakeFiles/reduce_app.dir/build.make objects/CMakeFiles/reduce_app.dir/build -.PHONY : reduce_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ShapeModelFactory - -# Build rule for target. -isis3_unit_test_ShapeModelFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ShapeModelFactory -.PHONY : isis3_unit_test_ShapeModelFactory - -# fast build rule for target. -isis3_unit_test_ShapeModelFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ShapeModelFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_ShapeModelFactory.dir/build -.PHONY : isis3_unit_test_ShapeModelFactory/fast - -#============================================================================= -# Target rules for targets named isis2raw_app - -# Build rule for target. -isis2raw_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2raw_app -.PHONY : isis2raw_app - -# fast build rule for target. -isis2raw_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2raw_app.dir/build.make objects/CMakeFiles/isis2raw_app.dir/build -.PHONY : isis2raw_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProcessByLine - -# Build rule for target. -isis3_unit_test_ProcessByLine: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProcessByLine -.PHONY : isis3_unit_test_ProcessByLine - -# fast build rule for target. -isis3_unit_test_ProcessByLine/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProcessByLine.dir/build.make objects/CMakeFiles/isis3_unit_test_ProcessByLine.dir/build -.PHONY : isis3_unit_test_ProcessByLine/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Sinusoidal - -# Build rule for target. -isis3_unit_test_Sinusoidal: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Sinusoidal -.PHONY : isis3_unit_test_Sinusoidal - -# fast build rule for target. -isis3_unit_test_Sinusoidal/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Sinusoidal.dir/build.make objects/CMakeFiles/isis3_unit_test_Sinusoidal.dir/build -.PHONY : isis3_unit_test_Sinusoidal/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SmtkMatcher - -# Build rule for target. -isis3_unit_test_SmtkMatcher: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SmtkMatcher -.PHONY : isis3_unit_test_SmtkMatcher - -# fast build rule for target. -isis3_unit_test_SmtkMatcher/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SmtkMatcher.dir/build.make objects/CMakeFiles/isis3_unit_test_SmtkMatcher.dir/build -.PHONY : isis3_unit_test_SmtkMatcher/fast - -#============================================================================= -# Target rules for targets named translate_app - -# Build rule for target. -translate_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 translate_app -.PHONY : translate_app - -# fast build rule for target. -translate_app/fast: - $(MAKE) -f objects/CMakeFiles/translate_app.dir/build.make objects/CMakeFiles/translate_app.dir/build -.PHONY : translate_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SparseBlockMatrix - -# Build rule for target. -isis3_unit_test_SparseBlockMatrix: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SparseBlockMatrix -.PHONY : isis3_unit_test_SparseBlockMatrix - -# fast build rule for target. -isis3_unit_test_SparseBlockMatrix/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SparseBlockMatrix.dir/build.make objects/CMakeFiles/isis3_unit_test_SparseBlockMatrix.dir/build -.PHONY : isis3_unit_test_SparseBlockMatrix/fast - -#============================================================================= -# Target rules for targets named spiceserver_app - -# Build rule for target. -spiceserver_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 spiceserver_app -.PHONY : spiceserver_app - -# fast build rule for target. -spiceserver_app/fast: - $(MAKE) -f objects/CMakeFiles/spiceserver_app.dir/build.make objects/CMakeFiles/spiceserver_app.dir/build -.PHONY : spiceserver_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Color - -# Build rule for target. -isis3_unit_test_Color: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Color -.PHONY : isis3_unit_test_Color - -# fast build rule for target. -isis3_unit_test_Color/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Color.dir/build.make objects/CMakeFiles/isis3_unit_test_Color.dir/build -.PHONY : isis3_unit_test_Color/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpecialPixel - -# Build rule for target. -isis3_unit_test_SpecialPixel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpecialPixel -.PHONY : isis3_unit_test_SpecialPixel - -# fast build rule for target. -isis3_unit_test_SpecialPixel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpecialPixel.dir/build.make objects/CMakeFiles/isis3_unit_test_SpecialPixel.dir/build -.PHONY : isis3_unit_test_SpecialPixel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Statistics - -# Build rule for target. -isis3_unit_test_Statistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Statistics -.PHONY : isis3_unit_test_Statistics - -# fast build rule for target. -isis3_unit_test_Statistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Statistics.dir/build.make objects/CMakeFiles/isis3_unit_test_Statistics.dir/build -.PHONY : isis3_unit_test_Statistics/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SampleManager - -# Build rule for target. -isis3_unit_test_SampleManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SampleManager -.PHONY : isis3_unit_test_SampleManager - -# fast build rule for target. -isis3_unit_test_SampleManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SampleManager.dir/build.make objects/CMakeFiles/isis3_unit_test_SampleManager.dir/build -.PHONY : isis3_unit_test_SampleManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Strategy - -# Build rule for target. -isis3_unit_test_Strategy: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Strategy -.PHONY : isis3_unit_test_Strategy - -# fast build rule for target. -isis3_unit_test_Strategy/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Strategy.dir/build.make objects/CMakeFiles/isis3_unit_test_Strategy.dir/build -.PHONY : isis3_unit_test_Strategy/fast - -#============================================================================= -# Target rules for targets named mar10nonoise_app - -# Build rule for target. -mar10nonoise_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mar10nonoise_app -.PHONY : mar10nonoise_app - -# fast build rule for target. -mar10nonoise_app/fast: - $(MAKE) -f objects/CMakeFiles/mar10nonoise_app.dir/build.make objects/CMakeFiles/mar10nonoise_app.dir/build -.PHONY : mar10nonoise_app/fast - -#============================================================================= -# Target rules for targets named Isotropic2 - -# Build rule for target. -Isotropic2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Isotropic2 -.PHONY : Isotropic2 - -# fast build rule for target. -Isotropic2/fast: - $(MAKE) -f objects/CMakeFiles/Isotropic2.dir/build.make objects/CMakeFiles/Isotropic2.dir/build -.PHONY : Isotropic2/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_StreamExporter - -# Build rule for target. -isis3_unit_test_StreamExporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StreamExporter -.PHONY : isis3_unit_test_StreamExporter - -# fast build rule for target. -isis3_unit_test_StreamExporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StreamExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_StreamExporter.dir/build -.PHONY : isis3_unit_test_StreamExporter/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SurfacePoint - -# Build rule for target. -isis3_unit_test_SurfacePoint: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SurfacePoint -.PHONY : isis3_unit_test_SurfacePoint - -# fast build rule for target. -isis3_unit_test_SurfacePoint/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SurfacePoint.dir/build.make objects/CMakeFiles/isis3_unit_test_SurfacePoint.dir/build -.PHONY : isis3_unit_test_SurfacePoint/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Table - -# Build rule for target. -isis3_unit_test_Table: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Table -.PHONY : isis3_unit_test_Table - -# fast build rule for target. -isis3_unit_test_Table/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Table.dir/build.make objects/CMakeFiles/isis3_unit_test_Table.dir/build -.PHONY : isis3_unit_test_Table/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpiceRotation - -# Build rule for target. -isis3_unit_test_SpiceRotation: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpiceRotation -.PHONY : isis3_unit_test_SpiceRotation - -# fast build rule for target. -isis3_unit_test_SpiceRotation/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpiceRotation.dir/build.make objects/CMakeFiles/isis3_unit_test_SpiceRotation.dir/build -.PHONY : isis3_unit_test_SpiceRotation/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TableField - -# Build rule for target. -isis3_unit_test_TableField: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TableField -.PHONY : isis3_unit_test_TableField - -# fast build rule for target. -isis3_unit_test_TableField/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TableField.dir/build.make objects/CMakeFiles/isis3_unit_test_TableField.dir/build -.PHONY : isis3_unit_test_TableField/fast - -#============================================================================= -# Target rules for targets named seedgrid_app - -# Build rule for target. -seedgrid_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 seedgrid_app -.PHONY : seedgrid_app - -# fast build rule for target. -seedgrid_app/fast: - $(MAKE) -f objects/CMakeFiles/seedgrid_app.dir/build.make objects/CMakeFiles/seedgrid_app.dir/build -.PHONY : seedgrid_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ProjectionFactory - -# Build rule for target. -isis3_unit_test_ProjectionFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ProjectionFactory -.PHONY : isis3_unit_test_ProjectionFactory - -# fast build rule for target. -isis3_unit_test_ProjectionFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ProjectionFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_ProjectionFactory.dir/build -.PHONY : isis3_unit_test_ProjectionFactory/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TextFile - -# Build rule for target. -isis3_unit_test_TextFile: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TextFile -.PHONY : isis3_unit_test_TextFile - -# fast build rule for target. -isis3_unit_test_TextFile/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TextFile.dir/build.make objects/CMakeFiles/isis3_unit_test_TextFile.dir/build -.PHONY : isis3_unit_test_TextFile/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_TiffExporter - -# Build rule for target. -isis3_unit_test_TiffExporter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_TiffExporter -.PHONY : isis3_unit_test_TiffExporter - -# fast build rule for target. -isis3_unit_test_TiffExporter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_TiffExporter.dir/build.make objects/CMakeFiles/isis3_unit_test_TiffExporter.dir/build -.PHONY : isis3_unit_test_TiffExporter/fast - -#============================================================================= -# Target rules for targets named mro_unit_test_HiEqualization - -# Build rule for target. -mro_unit_test_HiEqualization: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mro_unit_test_HiEqualization -.PHONY : mro_unit_test_HiEqualization - -# fast build rule for target. -mro_unit_test_HiEqualization/fast: - $(MAKE) -f objects/CMakeFiles/mro_unit_test_HiEqualization.dir/build.make objects/CMakeFiles/mro_unit_test_HiEqualization.dir/build -.PHONY : mro_unit_test_HiEqualization/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_InterestOperatorFactory - -# Build rule for target. -isis3_unit_test_InterestOperatorFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_InterestOperatorFactory -.PHONY : isis3_unit_test_InterestOperatorFactory - -# fast build rule for target. -isis3_unit_test_InterestOperatorFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_InterestOperatorFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_InterestOperatorFactory.dir/build -.PHONY : isis3_unit_test_InterestOperatorFactory/fast - -#============================================================================= -# Target rules for targets named gllssi2isis_app - -# Build rule for target. -gllssi2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gllssi2isis_app -.PHONY : gllssi2isis_app - -# fast build rule for target. -gllssi2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/gllssi2isis_app.dir/build.make objects/CMakeFiles/gllssi2isis_app.dir/build -.PHONY : gllssi2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LineScanCameraGroundMap - -# Build rule for target. -isis3_unit_test_LineScanCameraGroundMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LineScanCameraGroundMap -.PHONY : isis3_unit_test_LineScanCameraGroundMap - -# fast build rule for target. -isis3_unit_test_LineScanCameraGroundMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LineScanCameraGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_LineScanCameraGroundMap.dir/build -.PHONY : isis3_unit_test_LineScanCameraGroundMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_IsisAml - -# Build rule for target. -isis3_unit_test_IsisAml: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_IsisAml -.PHONY : isis3_unit_test_IsisAml - -# fast build rule for target. -isis3_unit_test_IsisAml/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_IsisAml.dir/build.make objects/CMakeFiles/isis3_unit_test_IsisAml.dir/build -.PHONY : isis3_unit_test_IsisAml/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Transform - -# Build rule for target. -isis3_unit_test_Transform: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Transform -.PHONY : isis3_unit_test_Transform - -# fast build rule for target. -isis3_unit_test_Transform/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Transform.dir/build.make objects/CMakeFiles/isis3_unit_test_Transform.dir/build -.PHONY : isis3_unit_test_Transform/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_UniqueIOCachingAlgorithm - -# Build rule for target. -isis3_unit_test_UniqueIOCachingAlgorithm: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UniqueIOCachingAlgorithm -.PHONY : isis3_unit_test_UniqueIOCachingAlgorithm - -# fast build rule for target. -isis3_unit_test_UniqueIOCachingAlgorithm/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UniqueIOCachingAlgorithm.dir/build.make objects/CMakeFiles/isis3_unit_test_UniqueIOCachingAlgorithm.dir/build -.PHONY : isis3_unit_test_UniqueIOCachingAlgorithm/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_UniversalGroundMap - -# Build rule for target. -isis3_unit_test_UniversalGroundMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_UniversalGroundMap -.PHONY : isis3_unit_test_UniversalGroundMap - -# fast build rule for target. -isis3_unit_test_UniversalGroundMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_UniversalGroundMap.dir/build.make objects/CMakeFiles/isis3_unit_test_UniversalGroundMap.dir/build -.PHONY : isis3_unit_test_UniversalGroundMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_VariableLineScanCameraDetectorMap - -# Build rule for target. -isis3_unit_test_VariableLineScanCameraDetectorMap: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_VariableLineScanCameraDetectorMap -.PHONY : isis3_unit_test_VariableLineScanCameraDetectorMap - -# fast build rule for target. -isis3_unit_test_VariableLineScanCameraDetectorMap/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_VariableLineScanCameraDetectorMap.dir/build.make objects/CMakeFiles/isis3_unit_test_VariableLineScanCameraDetectorMap.dir/build -.PHONY : isis3_unit_test_VariableLineScanCameraDetectorMap/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_VecFilter - -# Build rule for target. -isis3_unit_test_VecFilter: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_VecFilter -.PHONY : isis3_unit_test_VecFilter - -# fast build rule for target. -isis3_unit_test_VecFilter/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_VecFilter.dir/build.make objects/CMakeFiles/isis3_unit_test_VecFilter.dir/build -.PHONY : isis3_unit_test_VecFilter/fast - -#============================================================================= -# Target rules for targets named fakecube_app - -# Build rule for target. -fakecube_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 fakecube_app -.PHONY : fakecube_app - -# fast build rule for target. -fakecube_app/fast: - $(MAKE) -f objects/CMakeFiles/fakecube_app.dir/build.make objects/CMakeFiles/fakecube_app.dir/build -.PHONY : fakecube_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_XmlStackedHandler - -# Build rule for target. -isis3_unit_test_XmlStackedHandler: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlStackedHandler -.PHONY : isis3_unit_test_XmlStackedHandler - -# fast build rule for target. -isis3_unit_test_XmlStackedHandler/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlStackedHandler.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlStackedHandler.dir/build -.PHONY : isis3_unit_test_XmlStackedHandler/fast - -#============================================================================= -# Target rules for targets named isis2ascii_app - -# Build rule for target. -isis2ascii_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis2ascii_app -.PHONY : isis2ascii_app - -# fast build rule for target. -isis2ascii_app/fast: - $(MAKE) -f objects/CMakeFiles/isis2ascii_app.dir/build.make objects/CMakeFiles/isis2ascii_app.dir/build -.PHONY : isis2ascii_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_XmlStackedHandlerReader - -# Build rule for target. -isis3_unit_test_XmlStackedHandlerReader: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlStackedHandlerReader -.PHONY : isis3_unit_test_XmlStackedHandlerReader - -# fast build rule for target. -isis3_unit_test_XmlStackedHandlerReader/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlStackedHandlerReader.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlStackedHandlerReader.dir/build -.PHONY : isis3_unit_test_XmlStackedHandlerReader/fast - -#============================================================================= -# Target rules for targets named mapgrid_app - -# Build rule for target. -mapgrid_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mapgrid_app -.PHONY : mapgrid_app - -# fast build rule for target. -mapgrid_app/fast: - $(MAKE) -f objects/CMakeFiles/mapgrid_app.dir/build.make objects/CMakeFiles/mapgrid_app.dir/build -.PHONY : mapgrid_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_StripPolygonSeeder - -# Build rule for target. -isis3_unit_test_StripPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_StripPolygonSeeder -.PHONY : isis3_unit_test_StripPolygonSeeder - -# fast build rule for target. -isis3_unit_test_StripPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_StripPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_StripPolygonSeeder.dir/build -.PHONY : isis3_unit_test_StripPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_XmlToPvlTranslationManager - -# Build rule for target. -isis3_unit_test_XmlToPvlTranslationManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_XmlToPvlTranslationManager -.PHONY : isis3_unit_test_XmlToPvlTranslationManager - -# fast build rule for target. -isis3_unit_test_XmlToPvlTranslationManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_XmlToPvlTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_XmlToPvlTranslationManager.dir/build -.PHONY : isis3_unit_test_XmlToPvlTranslationManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Progress - -# Build rule for target. -isis3_unit_test_Progress: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Progress -.PHONY : isis3_unit_test_Progress - -# fast build rule for target. -isis3_unit_test_Progress/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Progress.dir/build.make objects/CMakeFiles/isis3_unit_test_Progress.dir/build -.PHONY : isis3_unit_test_Progress/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_iTime - -# Build rule for target. -isis3_unit_test_iTime: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_iTime -.PHONY : isis3_unit_test_iTime - -# fast build rule for target. -isis3_unit_test_iTime/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_iTime.dir/build.make objects/CMakeFiles/isis3_unit_test_iTime.dir/build -.PHONY : isis3_unit_test_iTime/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_KernelDb - -# Build rule for target. -isis3_unit_test_KernelDb: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_KernelDb -.PHONY : isis3_unit_test_KernelDb - -# fast build rule for target. -isis3_unit_test_KernelDb/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_KernelDb.dir/build.make objects/CMakeFiles/isis3_unit_test_KernelDb.dir/build -.PHONY : isis3_unit_test_KernelDb/fast - -#============================================================================= -# Target rules for targets named gllnims2isis_app - -# Build rule for target. -gllnims2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 gllnims2isis_app -.PHONY : gllnims2isis_app - -# fast build rule for target. -gllnims2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/gllnims2isis_app.dir/build.make objects/CMakeFiles/gllnims2isis_app.dir/build -.PHONY : gllnims2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Database - -# Build rule for target. -isis3_unit_test_Database: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Database -.PHONY : isis3_unit_test_Database - -# fast build rule for target. -isis3_unit_test_Database/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Database.dir/build.make objects/CMakeFiles/isis3_unit_test_Database.dir/build -.PHONY : isis3_unit_test_Database/fast - -#============================================================================= -# Target rules for targets named mdisddr_app - -# Build rule for target. -mdisddr_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdisddr_app -.PHONY : mdisddr_app - -# fast build rule for target. -mdisddr_app/fast: - $(MAKE) -f objects/CMakeFiles/mdisddr_app.dir/build.make objects/CMakeFiles/mdisddr_app.dir/build -.PHONY : mdisddr_app/fast - -#============================================================================= -# Target rules for targets named HapkeAtm2 - -# Build rule for target. -HapkeAtm2: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 HapkeAtm2 -.PHONY : HapkeAtm2 - -# fast build rule for target. -HapkeAtm2/fast: - $(MAKE) -f objects/CMakeFiles/HapkeAtm2.dir/build.make objects/CMakeFiles/HapkeAtm2.dir/build -.PHONY : HapkeAtm2/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_DbProfile - -# Build rule for target. -isis3_unit_test_DbProfile: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_DbProfile -.PHONY : isis3_unit_test_DbProfile - -# fast build rule for target. -isis3_unit_test_DbProfile/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_DbProfile.dir/build.make objects/CMakeFiles/isis3_unit_test_DbProfile.dir/build -.PHONY : isis3_unit_test_DbProfile/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SpectralDefinitionFactory - -# Build rule for target. -isis3_unit_test_SpectralDefinitionFactory: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SpectralDefinitionFactory -.PHONY : isis3_unit_test_SpectralDefinitionFactory - -# fast build rule for target. -isis3_unit_test_SpectralDefinitionFactory/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SpectralDefinitionFactory.dir/build.make objects/CMakeFiles/isis3_unit_test_SpectralDefinitionFactory.dir/build -.PHONY : isis3_unit_test_SpectralDefinitionFactory/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_SqlQuery - -# Build rule for target. -isis3_unit_test_SqlQuery: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_SqlQuery -.PHONY : isis3_unit_test_SqlQuery - -# fast build rule for target. -isis3_unit_test_SqlQuery/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_SqlQuery.dir/build.make objects/CMakeFiles/isis3_unit_test_SqlQuery.dir/build -.PHONY : isis3_unit_test_SqlQuery/fast - -#============================================================================= -# Target rules for targets named mgs - -# Build rule for target. -mgs: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mgs -.PHONY : mgs - -# fast build rule for target. -mgs/fast: - $(MAKE) -f objects/CMakeFiles/mgs.dir/build.make objects/CMakeFiles/mgs.dir/build -.PHONY : mgs/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_RadarCamera - -# Build rule for target. -isis3_unit_test_RadarCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_RadarCamera -.PHONY : isis3_unit_test_RadarCamera - -# fast build rule for target. -isis3_unit_test_RadarCamera/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_RadarCamera.dir/build.make objects/CMakeFiles/isis3_unit_test_RadarCamera.dir/build -.PHONY : isis3_unit_test_RadarCamera/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BundleAdjust - -# Build rule for target. -isis3_unit_test_BundleAdjust: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleAdjust -.PHONY : isis3_unit_test_BundleAdjust - -# fast build rule for target. -isis3_unit_test_BundleAdjust/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleAdjust.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleAdjust.dir/build -.PHONY : isis3_unit_test_BundleAdjust/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ForstnerOperator - -# Build rule for target. -isis3_unit_test_ForstnerOperator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ForstnerOperator -.PHONY : isis3_unit_test_ForstnerOperator - -# fast build rule for target. -isis3_unit_test_ForstnerOperator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ForstnerOperator.dir/build.make objects/CMakeFiles/isis3_unit_test_ForstnerOperator.dir/build -.PHONY : isis3_unit_test_ForstnerOperator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_BundleResults - -# Build rule for target. -isis3_unit_test_BundleResults: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_BundleResults -.PHONY : isis3_unit_test_BundleResults - -# fast build rule for target. -isis3_unit_test_BundleResults/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_BundleResults.dir/build.make objects/CMakeFiles/isis3_unit_test_BundleResults.dir/build -.PHONY : isis3_unit_test_BundleResults/fast - -#============================================================================= -# Target rules for targets named mgs_unit_test_MocNarrowAngleCamera - -# Build rule for target. -mgs_unit_test_MocNarrowAngleCamera: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mgs_unit_test_MocNarrowAngleCamera -.PHONY : mgs_unit_test_MocNarrowAngleCamera - -# fast build rule for target. -mgs_unit_test_MocNarrowAngleCamera/fast: - $(MAKE) -f objects/CMakeFiles/mgs_unit_test_MocNarrowAngleCamera.dir/build.make objects/CMakeFiles/mgs_unit_test_MocNarrowAngleCamera.dir/build -.PHONY : mgs_unit_test_MocNarrowAngleCamera/fast - -#============================================================================= -# Target rules for targets named apollopanstitcher_app - -# Build rule for target. -apollopanstitcher_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 apollopanstitcher_app -.PHONY : apollopanstitcher_app - -# fast build rule for target. -apollopanstitcher_app/fast: - $(MAKE) -f objects/CMakeFiles/apollopanstitcher_app.dir/build.make objects/CMakeFiles/apollopanstitcher_app.dir/build -.PHONY : apollopanstitcher_app/fast - -#============================================================================= -# Target rules for targets named bandnorm_app - -# Build rule for target. -bandnorm_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 bandnorm_app -.PHONY : bandnorm_app - -# fast build rule for target. -bandnorm_app/fast: - $(MAKE) -f objects/CMakeFiles/bandnorm_app.dir/build.make objects/CMakeFiles/bandnorm_app.dir/build -.PHONY : bandnorm_app/fast - -#============================================================================= -# Target rules for targets named mdis2isis_app - -# Build rule for target. -mdis2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mdis2isis_app -.PHONY : mdis2isis_app - -# fast build rule for target. -mdis2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/mdis2isis_app.dir/build.make objects/CMakeFiles/mdis2isis_app.dir/build -.PHONY : mdis2isis_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_MultivariateStatistics - -# Build rule for target. -isis3_unit_test_MultivariateStatistics: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_MultivariateStatistics -.PHONY : isis3_unit_test_MultivariateStatistics - -# fast build rule for target. -isis3_unit_test_MultivariateStatistics/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_MultivariateStatistics.dir/build.make objects/CMakeFiles/isis3_unit_test_MultivariateStatistics.dir/build -.PHONY : isis3_unit_test_MultivariateStatistics/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlMeasure - -# Build rule for target. -isis3_unit_test_ControlMeasure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlMeasure -.PHONY : isis3_unit_test_ControlMeasure - -# fast build rule for target. -isis3_unit_test_ControlMeasure/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlMeasure.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlMeasure.dir/build -.PHONY : isis3_unit_test_ControlMeasure/fast - -#============================================================================= -# Target rules for targets named marciflip_app - -# Build rule for target. -marciflip_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 marciflip_app -.PHONY : marciflip_app - -# fast build rule for target. -marciflip_app/fast: - $(MAKE) -f objects/CMakeFiles/marciflip_app.dir/build.make objects/CMakeFiles/marciflip_app.dir/build -.PHONY : marciflip_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlMeasureLogData - -# Build rule for target. -isis3_unit_test_ControlMeasureLogData: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlMeasureLogData -.PHONY : isis3_unit_test_ControlMeasureLogData - -# fast build rule for target. -isis3_unit_test_ControlMeasureLogData/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlMeasureLogData.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlMeasureLogData.dir/build -.PHONY : isis3_unit_test_ControlMeasureLogData/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNet - -# Build rule for target. -isis3_unit_test_ControlNet: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNet -.PHONY : isis3_unit_test_ControlNet - -# fast build rule for target. -isis3_unit_test_ControlNet/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNet.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNet.dir/build -.PHONY : isis3_unit_test_ControlNet/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_Mercator - -# Build rule for target. -isis3_unit_test_Mercator: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_Mercator -.PHONY : isis3_unit_test_Mercator - -# fast build rule for target. -isis3_unit_test_Mercator/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_Mercator.dir/build.make objects/CMakeFiles/isis3_unit_test_Mercator.dir/build -.PHONY : isis3_unit_test_Mercator/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_NaifDskPlateModel - -# Build rule for target. -isis3_unit_test_NaifDskPlateModel: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_NaifDskPlateModel -.PHONY : isis3_unit_test_NaifDskPlateModel - -# fast build rule for target. -isis3_unit_test_NaifDskPlateModel/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_NaifDskPlateModel.dir/build.make objects/CMakeFiles/isis3_unit_test_NaifDskPlateModel.dir/build -.PHONY : isis3_unit_test_NaifDskPlateModel/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNetDiff - -# Build rule for target. -isis3_unit_test_ControlNetDiff: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetDiff -.PHONY : isis3_unit_test_ControlNetDiff - -# fast build rule for target. -isis3_unit_test_ControlNetDiff/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetDiff.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetDiff.dir/build -.PHONY : isis3_unit_test_ControlNetDiff/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_LabelTranslationManager - -# Build rule for target. -isis3_unit_test_LabelTranslationManager: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_LabelTranslationManager -.PHONY : isis3_unit_test_LabelTranslationManager - -# fast build rule for target. -isis3_unit_test_LabelTranslationManager/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_LabelTranslationManager.dir/build.make objects/CMakeFiles/isis3_unit_test_LabelTranslationManager.dir/build -.PHONY : isis3_unit_test_LabelTranslationManager/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlNetValidMeasure - -# Build rule for target. -isis3_unit_test_ControlNetValidMeasure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlNetValidMeasure -.PHONY : isis3_unit_test_ControlNetValidMeasure - -# fast build rule for target. -isis3_unit_test_ControlNetValidMeasure/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlNetValidMeasure.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlNetValidMeasure.dir/build -.PHONY : isis3_unit_test_ControlNetValidMeasure/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_GridPolygonSeeder - -# Build rule for target. -isis3_unit_test_GridPolygonSeeder: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_GridPolygonSeeder -.PHONY : isis3_unit_test_GridPolygonSeeder - -# fast build rule for target. -isis3_unit_test_GridPolygonSeeder/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_GridPolygonSeeder.dir/build.make objects/CMakeFiles/isis3_unit_test_GridPolygonSeeder.dir/build -.PHONY : isis3_unit_test_GridPolygonSeeder/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_ControlPoint - -# Build rule for target. -isis3_unit_test_ControlPoint: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_ControlPoint -.PHONY : isis3_unit_test_ControlPoint - -# fast build rule for target. -isis3_unit_test_ControlPoint/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_ControlPoint.dir/build.make objects/CMakeFiles/isis3_unit_test_ControlPoint.dir/build -.PHONY : isis3_unit_test_ControlPoint/fast - -#============================================================================= -# Target rules for targets named ascii2isis_app - -# Build rule for target. -ascii2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ascii2isis_app -.PHONY : ascii2isis_app - -# fast build rule for target. -ascii2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/ascii2isis_app.dir/build.make objects/CMakeFiles/ascii2isis_app.dir/build -.PHONY : ascii2isis_app/fast - -#============================================================================= -# Target rules for targets named hist_app - -# Build rule for target. -hist_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 hist_app -.PHONY : hist_app - -# fast build rule for target. -hist_app/fast: - $(MAKE) -f objects/CMakeFiles/hist_app.dir/build.make objects/CMakeFiles/hist_app.dir/build -.PHONY : hist_app/fast - -#============================================================================= -# Target rules for targets named isis3_unit_test_PushFrameCameraCcdLayout - -# Build rule for target. -isis3_unit_test_PushFrameCameraCcdLayout: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 isis3_unit_test_PushFrameCameraCcdLayout -.PHONY : isis3_unit_test_PushFrameCameraCcdLayout - -# fast build rule for target. -isis3_unit_test_PushFrameCameraCcdLayout/fast: - $(MAKE) -f objects/CMakeFiles/isis3_unit_test_PushFrameCameraCcdLayout.dir/build.make objects/CMakeFiles/isis3_unit_test_PushFrameCameraCcdLayout.dir/build -.PHONY : isis3_unit_test_PushFrameCameraCcdLayout/fast - -#============================================================================= -# Target rules for targets named automos_app - -# Build rule for target. -automos_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 automos_app -.PHONY : automos_app - -# fast build rule for target. -automos_app/fast: - $(MAKE) -f objects/CMakeFiles/automos_app.dir/build.make objects/CMakeFiles/automos_app.dir/build -.PHONY : automos_app/fast - -#============================================================================= -# Target rules for targets named autoregtemplate_app - -# Build rule for target. -autoregtemplate_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 autoregtemplate_app -.PHONY : autoregtemplate_app - -# fast build rule for target. -autoregtemplate_app/fast: - $(MAKE) -f objects/CMakeFiles/autoregtemplate_app.dir/build.make objects/CMakeFiles/autoregtemplate_app.dir/build -.PHONY : autoregtemplate_app/fast - -#============================================================================= -# Target rules for targets named bandtrim_app - -# Build rule for target. -bandtrim_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 bandtrim_app -.PHONY : bandtrim_app - -# fast build rule for target. -bandtrim_app/fast: - $(MAKE) -f objects/CMakeFiles/bandtrim_app.dir/build.make objects/CMakeFiles/bandtrim_app.dir/build -.PHONY : bandtrim_app/fast - -#============================================================================= -# Target rules for targets named msi2isis_app - -# Build rule for target. -msi2isis_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 msi2isis_app -.PHONY : msi2isis_app - -# fast build rule for target. -msi2isis_app/fast: - $(MAKE) -f objects/CMakeFiles/msi2isis_app.dir/build.make objects/CMakeFiles/msi2isis_app.dir/build -.PHONY : msi2isis_app/fast - -#============================================================================= -# Target rules for targets named butterworth_app - -# Build rule for target. -butterworth_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 butterworth_app -.PHONY : butterworth_app - -# fast build rule for target. -butterworth_app/fast: - $(MAKE) -f objects/CMakeFiles/butterworth_app.dir/build.make objects/CMakeFiles/butterworth_app.dir/build -.PHONY : butterworth_app/fast - -#============================================================================= -# Target rules for targets named mapsize_app - -# Build rule for target. -mapsize_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 mapsize_app -.PHONY : mapsize_app - -# fast build rule for target. -mapsize_app/fast: - $(MAKE) -f objects/CMakeFiles/mapsize_app.dir/build.make objects/CMakeFiles/mapsize_app.dir/build -.PHONY : mapsize_app/fast - -#============================================================================= -# Target rules for targets named cam2cam_app - -# Build rule for target. -cam2cam_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cam2cam_app -.PHONY : cam2cam_app - -# fast build rule for target. -cam2cam_app/fast: - $(MAKE) -f objects/CMakeFiles/cam2cam_app.dir/build.make objects/CMakeFiles/cam2cam_app.dir/build -.PHONY : cam2cam_app/fast - -#============================================================================= -# Target rules for targets named campt_app - -# Build rule for target. -campt_app: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 campt_app -.PHONY : campt_app - -# fast build rule for target. -campt_app/fast: - $(MAKE) -f objects/CMakeFiles/campt_app.dir/build.make objects/CMakeFiles/campt_app.dir/build -.PHONY : campt_app/fast - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... install/strip" - @echo "... install" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... edit_cache" - @echo "... docs" - @echo "... ContinuousSubmit" - @echo "... ContinuousCoverage" - @echo "... ContinuousTest" - @echo "... ContinuousBuild" - @echo "... ContinuousMemCheck" - @echo "... Nightly" - @echo "... NightlyTest" - @echo "... NightlyUpdate" - @echo "... install/local" - @echo "... Continuous" - @echo "... NightlyBuild" - @echo "... NightlyStart" - @echo "... NightlyMemoryCheck" - @echo "... NightlyMemCheck" - @echo "... clean_source" - @echo "... ExperimentalStart" - @echo "... ContinuousConfigure" - @echo "... NightlyCoverage" - @echo "... ExperimentalUpdate" - @echo "... test" - @echo "... ExperimentalConfigure" - @echo "... ExperimentalCoverage" - @echo "... ExperimentalBuild" - @echo "... NightlyConfigure" - @echo "... ExperimentalTest" - @echo "... ExperimentalMemCheck" - @echo "... Experimental" - @echo "... NightlySubmit" - @echo "... ExperimentalSubmit" - @echo "... ContinuousStart" - @echo "... ContinuousUpdate" - @echo "... VoyagerCamera" - @echo "... viknonoodle_app" - @echo "... vikcal_app" - @echo "... vik2isis_app" - @echo "... rososiris2isis_app" - @echo "... RosettaVirtisCamera" - @echo "... thmvisflat_app" - @echo "... ThemisVisCamera" - @echo "... mroctx2isis_app" - @echo "... marcical_app" - @echo "... marci2isis_app" - @echo "... histitch_app" - @echo "... histat_app" - @echo "... hirdrgen_app" - @echo "... hinoise_app" - @echo "... hisharpen_app" - @echo "... hijitter_app" - @echo "... hifringe_app" - @echo "... hidtmgen_app" - @echo "... hicrop_app" - @echo "... hiccdstitch_app" - @echo "... hicalproc_app" - @echo "... hical_app" - @echo "... ctxcal_app" - @echo "... crism2isis_app" - @echo "... mro_unit_test_MarciCamera" - @echo "... mro_unit_test_HiriseCamera" - @echo "... mro_unit_test_CTXCamera" - @echo "... mro" - @echo "... HiriseCamera" - @echo "... CrismCamera" - @echo "... mocuncompress_app" - @echo "... mocproc_app" - @echo "... mocnoise50_app" - @echo "... mocgap_app" - @echo "... moccal_app" - @echo "... mgs_unit_test_MocWideAngleCamera" - @echo "... mgs_unit_test_MocLabels" - @echo "... mdisedrinfo_app" - @echo "... mdis2pds_app" - @echo "... mer2isis_app" - @echo "... mar10restore_app" - @echo "... mar10cal_app" - @echo "... lrowacpho_app" - @echo "... lrowaccal_app" - @echo "... lronacpho_app" - @echo "... lronac2pds_app" - @echo "... lromakeflat_app" - @echo "... hicalbeta_app" - @echo "... MiniRF" - @echo "... LroWideAngleCamera" - @echo "... lo_unit_test_LoMediumCamera" - @echo "... lo_unit_test_LoHighCamera" - @echo "... lo_unit_test_LoCameraFiducialMap" - @echo "... lo" - @echo "... kaguyatc2isis_app" - @echo "... kaguyasp2isis_app" - @echo "... nirs2isis_app" - @echo "... HayabusaNirsCamera" - @echo "... voyramp_app" - @echo "... gllssical_app" - @echo "... dawnfc2isis_app" - @echo "... clemnircal_app" - @echo "... clem2isis_app" - @echo "... LwirCamera" - @echo "... vimscal_app" - @echo "... vims2isis_app" - @echo "... cisscal_app" - @echo "... cassini_unit_test_IssWACamera" - @echo "... vikclean_app" - @echo "... cassini" - @echo "... IssNACamera" - @echo "... apollowarp_app" - @echo "... lorri2isis_app" - @echo "... apolloremrx_app" - @echo "... apollopaninit_app" - @echo "... apollofindrx_app" - @echo "... apollo2isis_app" - @echo "... apollo_unit_test_CentroidApolloPan" - @echo "... ApolloPanoramicCamera" - @echo "... ApolloMetricCamera" - @echo "... kerneldbgen_app" - @echo "... isiscomplete_app" - @echo "... dempack_app" - @echo "... hi2isis_app" - @echo "... csspckgen_app" - @echo "... qtie_app" - @echo "... qnet_app" - @echo "... qmos_app" - @echo "... warp_app" - @echo "... sumspice_app" - @echo "... slither_app" - @echo "... prtloganalyzer_app" - @echo "... jigsaw_app" - @echo "... fplanemap_app" - @echo "... findfeatures_app" - @echo "... coreg_app" - @echo "... cnetwinnow_app" - @echo "... cnetthinner_app" - @echo "... cnetpvl2bin_app" - @echo "... MsiCamera" - @echo "... cnetmerge_app" - @echo "... cnetnewradii_app" - @echo "... cnethist_app" - @echo "... cnetcombinept_app" - @echo "... cnetbin2pvl_app" - @echo "... cnet2mat_app" - @echo "... cnet2dem_app" - @echo "... vicar2isis_app" - @echo "... NewHorizonsMvicFrameCamera" - @echo "... uncrop_app" - @echo "... trim_app" - @echo "... tonematch_app" - @echo "... tabledump_app" - @echo "... cassini_unit_test_VimsCamera" - @echo "... table2cube_app" - @echo "... hideal2pds_app" - @echo "... stretch_app" - @echo "... lrowac2isis_app" - @echo "... apollo" - @echo "... spicefit_app" - @echo "... speclowpass_app" - @echo "... chan1m32isis_app" - @echo "... spechighpass_app" - @echo "... specadd_app" - @echo "... smtk_app" - @echo "... slpmap_app" - @echo "... skypt_app" - @echo "... skymap_app" - @echo "... clemuvviscal_app" - @echo "... sigmastretch_app" - @echo "... shadow_app" - @echo "... shade_app" - @echo "... mar102isis_app" - @echo "... segment_app" - @echo "... pointreg_app" - @echo "... rotate_app" - @echo "... ringspt_app" - @echo "... ringscam2map_app" - @echo "... cnetstats_app" - @echo "... ringsautomos_app" - @echo "... raw2isis_app" - @echo "... autoseed_app" - @echo "... pixel2map_app" - @echo "... thmproc_app" - @echo "... photomet_app" - @echo "... clemnirclean_app" - @echo "... photemplate_app" - @echo "... phohillier_app" - @echo "... thm2isis_app" - @echo "... phoempglobal_app" - @echo "... viknobutter_app" - @echo "... phocube_app" - @echo "... pca_app" - @echo "... pad_app" - @echo "... outline_app" - @echo "... cneteditor_app" - @echo "... noseam_app" - @echo "... mocevenodd_app" - @echo "... mosrange_app" - @echo "... mode_app" - @echo "... minmax_app" - @echo "... median_app" - @echo "... maptrim_app" - @echo "... mappt_app" - @echo "... mapmos_app" - @echo "... socetframesettings_app" - @echo "... apollo_unit_test_ApolloMetricCamera" - @echo "... maplab_app" - @echo "... amicacal_app" - @echo "... map2map_app" - @echo "... hiequal_app" - @echo "... map2cam_app" - @echo "... lowpass_app" - @echo "... lineeq_app" - @echo "... kernfilter_app" - @echo "... isisui_app" - @echo "... isisminer_app" - @echo "... interestcube_app" - @echo "... CTXCamera" - @echo "... ifft_app" - @echo "... hifurrows_app" - @echo "... histmatch_app" - @echo "... highpass_app" - @echo "... mro_unit_test_HiLab" - @echo "... grid_app" - @echo "... greyscale_app" - @echo "... IssWACamera" - @echo "... isis2std_app" - @echo "... gradient_app" - @echo "... getsn_app" - @echo "... getkey_app" - @echo "... footprintmerge_app" - @echo "... thmdriftcor_app" - @echo "... lronaccal_app" - @echo "... footprintinit_app" - @echo "... HiresCamera" - @echo "... fits2isis_app" - @echo "... findimageoverlaps_app" - @echo "... findgaps_app" - @echo "... errors_app" - @echo "... higlob_app" - @echo "... skyrange_app" - @echo "... equalizer_app" - @echo "... edrget_app" - @echo "... VikingCamera" - @echo "... phoemplocal_app" - @echo "... editlab_app" - @echo "... poly_app" - @echo "... dstripe_app" - @echo "... dsk2isis_app" - @echo "... divfilter_app" - @echo "... MdisCamera" - @echo "... desmear_app" - @echo "... demprep_app" - @echo "... ddd2isis_app" - @echo "... cubeit_app" - @echo "... cubeavg_app" - @echo "... messckgen_app" - @echo "... cropspecial_app" - @echo "... KaguyaMiCamera" - @echo "... svfilter_app" - @echo "... crop_app" - @echo "... copylabel_app" - @echo "... circle_app" - @echo "... catlab_app" - @echo "... camtrim_app" - @echo "... isis3_unit_test_MaximumCorrelation" - @echo "... isis3_unit_test_Gruen" - @echo "... isis3_unit_test_LunarLambertMcEwen" - @echo "... isis3_unit_test_Mixed" - @echo "... isis3_unit_test_LunarLambertEmpirical" - @echo "... isis3_unit_test_PolygonSeederFactory" - @echo "... HayabusaAmicaCamera" - @echo "... deltack_app" - @echo "... isis3_unit_test_Longitude" - @echo "... isis3_unit_test_Matrix" - @echo "... isis3_unit_test_CubeInfixToPostfix" - @echo "... qview_app" - @echo "... isis3_unit_test_LineEquation" - @echo "... cosi_app" - @echo "... isis3_unit_test_LambertAzimuthalEqualArea" - @echo "... isis3_unit_test_LineScanCameraSkyMap" - @echo "... isis3_unit_test_JP2Importer" - @echo "... isis3_unit_test_ControlPointList" - @echo "... mimap2isis_app" - @echo "... kaguyami2isis_app" - @echo "... remrx_app" - @echo "... isis3_unit_test_JP2Exporter" - @echo "... cnettable_app" - @echo "... isis3_unit_test_JP2Error" - @echo "... leisa2isis_app" - @echo "... isis3_unit_test_Isis" - @echo "... spkwriter_app" - @echo "... isis3_unit_test_MinnaertEmpirical" - @echo "... isis3_unit_test_Intercept" - @echo "... ringsmappt_app" - @echo "... isis3_unit_test_BandManager" - @echo "... isis3_unit_test_InfixToPostfix" - @echo "... isis3_unit_test_Planar" - @echo "... isis3_unit_test_ImportPdsTable" - @echo "... mro_unit_test_CrismCamera" - @echo "... isis3_unit_test_Resource" - @echo "... UvvisCamera" - @echo "... cnetdiff_app" - @echo "... cubeatt_app" - @echo "... isis3_unit_test_ImageImporter" - @echo "... makecube_app" - @echo "... isis2fits_app" - @echo "... Mercator" - @echo "... UpturnedEllipsoidTransverseAzimuthal" - @echo "... isis3_unit_test_SerialNumberList" - @echo "... isis3_unit_test_ImageExporter" - @echo "... DawnFcCamera" - @echo "... apollocal_app" - @echo "... isis3_unit_test_ImageOverlapSet" - @echo "... isis3_unit_test_UpturnedEllipsoidTransverseAzimuthal" - @echo "... hirdr2isis_app" - @echo "... isis3_unit_test_IdealCamera" - @echo "... isis3_unit_test_ProcessExportPds" - @echo "... isis3_unit_test_IException" - @echo "... isis3_unit_test_HapkeAtm1" - @echo "... mar10clean_app" - @echo "... isis3_unit_test_Gui" - @echo "... thmnoseam_app" - @echo "... fx_app" - @echo "... isis3_unit_test_Ransac" - @echo "... RosettaOsirisCamera" - @echo "... isis3_unit_test_Histogram" - @echo "... isis3_unit_test_GroupedStatistics" - @echo "... apollo_unit_test_Apollo" - @echo "... isis3_unit_test_GaussianStretch" - @echo "... isis3_unit_test_GroundGrid" - @echo "... isis3_unit_test_GSLUtility" - @echo "... isis3_unit_test_FramingCamera" - @echo "... isis3_unit_test_Stretch" - @echo "... isis3_unit_test_FileName" - @echo "... SsiCamera" - @echo "... isis3_unit_test_Isotropic2" - @echo "... NewHorizonsMvicTdiCamera" - @echo "... mrf2pds_app" - @echo "... isis3_unit_test_Pipeline" - @echo "... mask_app" - @echo "... isis3_unit_test_FileList" - @echo "... isis3_unit_test_HapkeAtm2" - @echo "... algebra_app" - @echo "... isis3_unit_test_Isotropic1" - @echo "... isis3_unit_test_InlineInfixToPostfix" - @echo "... bit2bit_app" - @echo "... isis3_unit_test_ExportPdsTable" - @echo "... isis3_unit_test_PrincipalComponentAnalysis" - @echo "... isis3_unit_test_Equirectangular" - @echo "... isis3_unit_test_TopoAtm" - @echo "... isis3_unit_test_Environment" - @echo "... isis3_unit_test_Enlarge" - @echo "... isis3_unit_test_OverlapNormalization" - @echo "... himos_app" - @echo "... StandardDeviationOperator" - @echo "... isis3_unit_test_SessionLog" - @echo "... makeflat_app" - @echo "... isis3_unit_test_LunarLambert" - @echo "... isis3_unit_test_Distance" - @echo "... isis3_unit_test_Displacement" - @echo "... isis3_unit_test_JP2Encoder" - @echo "... cassini_unit_test_CisscalFile" - @echo "... isis3_unit_test_ImageOverlap" - @echo "... isis3_unit_test_DemShape" - @echo "... trimfilter_app" - @echo "... MoonAlbedo" - @echo "... isis3_unit_test_GisBlob" - @echo "... noisefilter_app" - @echo "... isis3_unit_test_CubeManager" - @echo "... lo2isis_app" - @echo "... isis3_unit_test_AutoReg" - @echo "... isis3_unit_test_Stereo" - @echo "... LunarLambertEmpirical" - @echo "... isis3_unit_test_Latitude" - @echo "... isis3_unit_test_MaximumLikelihoodWFunctions" - @echo "... LoMediumCamera" - @echo "... isis3_unit_test_Constants" - @echo "... isis3_unit_test_EmbreeShapeModel" - @echo "... NoOperator" - @echo "... isis3_unit_test_IString" - @echo "... ThemisIrCamera" - @echo "... isis3_unit_test_Column" - @echo "... MarciCamera" - @echo "... cnetadd_app" - @echo "... isis3_unit_test_CollectorMap" - @echo "... HrscCamera" - @echo "... MoravecOperator" - @echo "... hicolormos_app" - @echo "... isis3_unit_test_CSVReader" - @echo "... isis3_unit_test_Interpolator" - @echo "... isis3_unit_test_SpectralDefinition" - @echo "... StripPolygonSeeder" - @echo "... isis3_unit_test_MosaicSceneWidget" - @echo "... explode_app" - @echo "... ObliqueCylindrical" - @echo "... LunarLambertMcEwen" - @echo "... PolarStereographic" - @echo "... MocNarrowAngleCamera" - @echo "... PointPerspective" - @echo "... mical_app" - @echo "... isis3_unit_test_TransverseMercator" - @echo "... LoHighCamera" - @echo "... AdaptiveGruen" - @echo "... isis3_unit_test_Spice" - @echo "... LambertAzimuthalEqualArea" - @echo "... mirror_app" - @echo "... isis3_unit_test_History" - @echo "... rosvirtis2isis_app" - @echo "... isis3_unit_test_MinimumDifference" - @echo "... isis3_unit_test_ProcessByTile" - @echo "... isis3_unit_test_PvlTokenizer" - @echo "... thmvistrim_app" - @echo "... MocWideAngleCamera" - @echo "... mdisproc_app" - @echo "... Planar" - @echo "... hijitreg_app" - @echo "... MaximumCorrelation" - @echo "... Hapke" - @echo "... isis3_unit_test_PvlFormatPds" - @echo "... cnetsplit_app" - @echo "... TransverseMercator" - @echo "... ciss2isis_app" - @echo "... isis3_unit_test_Cube" - @echo "... isis3_unit_test_AdaptiveGruen" - @echo "... cubenorm_app" - @echo "... isis3_unit_test_Chip" - @echo "... isis3_unit_test_ExportDescription" - @echo "... appjit_app" - @echo "... ckwriter_app" - @echo "... ForstnerOperator" - @echo "... Lambert" - @echo "... mrf2isis_app" - @echo "... isis3_unit_test_Spectel" - @echo "... isis3_unit_test_Topo" - @echo "... isis3_unit_test_Equalization" - @echo "... isis3_unit_test_Hillshade" - @echo "... DawnVirCamera" - @echo "... Sinusoidal" - @echo "... isis3_unit_test_Projection" - @echo "... isis3_unit_test_RadarGroundMap" - @echo "... cathist_app" - @echo "... LommelSeeliger" - @echo "... isis3_unit_test_SimpleCylindrical" - @echo "... isis3_unit_test_GisTopology" - @echo "... HapkeAtm1" - @echo "... isis3_unit_test_Message" - @echo "... isis3_unit_test_DatabaseFactory" - @echo "... rolo2isis_app" - @echo "... LroNarrowAngleCamera" - @echo "... isis3_unit_test_FunctionTools" - @echo "... noproj_app" - @echo "... isis3_unit_test_Minnaert" - @echo "... mat2cnet_app" - @echo "... camrange_app" - @echo "... Orthographic" - @echo "... camstats_app" - @echo "... isis3_unit_test_ObliqueCylindrical" - @echo "... NirCamera" - @echo "... RingCylindrical" - @echo "... isis3_unit_test_LimitPolygonSeeder" - @echo "... clemnirnoise_app" - @echo "... isis3_unit_test_CameraDistortionMap" - @echo "... isis3_unit_test_SpectralDefinition1D" - @echo "... lronacecho_app" - @echo "... overlapstats_app" - @echo "... isis3_unit_test_ControlGraph" - @echo "... vdcomp_app" - @echo "... isis3_unit_test_ProcessImport" - @echo "... messspkgen_app" - @echo "... isis3_unit_test_Endian" - @echo "... isis3_unit_test_Application" - @echo "... isis3_unit_test_QtExporter" - @echo "... isis3_unit_test_Kernels" - @echo "... isis3_unit_test_TiffImporter" - @echo "... isis3_unit_test_CubeCalculator" - @echo "... isis3_unit_test_CameraDetectorMap" - @echo "... flip_app" - @echo "... LambertConformal" - @echo "... lrowac2pds_app" - @echo "... isis3_unit_test_GisGeometry" - @echo "... amica2isis_app" - @echo "... isis3_unit_test_PvlSequence" - @echo "... isis3_unit_test_Quaternion" - @echo "... isis3_unit_test_EllipsoidShape" - @echo "... GridPolygonSeeder" - @echo "... maptemplate_app" - @echo "... decorstretch_app" - @echo "... isis3_unit_test_LineScanCamera" - @echo "... cassini_unit_test_CissLabels" - @echo "... isis3_unit_test_FilterCachingAlgorithm" - @echo "... SimpleCylindrical" - @echo "... isis3_unit_test_AtmosModel" - @echo "... mvic2isis_app" - @echo "... lronac2isis_app" - @echo "... isis3_unit_test_BasisFunction" - @echo "... AlbedoAtm" - @echo "... catoriglab_app" - @echo "... isis3_unit_test_AlphaCube" - @echo "... isis3_unit_test_JP2Decoder" - @echo "... Topo" - @echo "... Equirectangular" - @echo "... Shade" - @echo "... isis3_unit_test_InlineCalculator" - @echo "... isis3_unit_test_Process" - @echo "... viknopepper_app" - @echo "... isis3_unit_test_UserInterface" - @echo "... isis3_unit_test_ID" - @echo "... GradientOperator" - @echo "... isis3_unit_test_PolygonSeeder" - @echo "... pds2isis_app" - @echo "... IdealCamera" - @echo "... isis3_unit_test_LambertConformal" - @echo "... isis3_unit_test_Shade" - @echo "... isis3_unit_test_EmbreeTargetShape" - @echo "... voy2isis_app" - @echo "... Mixed" - @echo "... isis3_unit_test_CameraPointInfo" - @echo "... isis3_unit_test_StandardDeviationOperator" - @echo "... isis3_unit_test_LommelSeeliger" - @echo "... ShadeAtm" - @echo "... thmbasemap1_app" - @echo "... isis3_unit_test_NaifStatus" - @echo "... handmos_app" - @echo "... isis3_unit_test_BundleUtilities" - @echo "... isis3_unit_test_EmbreeTargetManager" - @echo "... pvldiff_app" - @echo "... isis3_unit_test_CorrelationMatrix" - @echo "... isis3_unit_test_ImagePolygon" - @echo "... LunarAzimuthalEqualArea" - @echo "... isis3_unit_test_LinearAlgebra" - @echo "... isis3_unit_test_CameraFactory" - @echo "... LunarLambert" - @echo "... hrsc2isis_app" - @echo "... isis3_unit_test_BoxcarManager" - @echo "... TopoAtm" - @echo "... hsv2rgb_app" - @echo "... Isotropic1" - @echo "... isis3_unit_test_PolygonTools" - @echo "... mgs_unit_test_MocNarrowAngleSumming" - @echo "... isis3_unit_test_CameraSkyMap" - @echo "... moc2isis_app" - @echo "... isis3_unit_test_CubeDataThread" - @echo "... isis3_unit_test_LineManager" - @echo "... isis3_unit_test_CameraFocalPlaneMap" - @echo "... isis3_unit_test_StatCumProbDistDynCalc" - @echo "... isis3_unit_test_RadarGroundRangeMap" - @echo "... isis3_unit_test_CameraGroundMap" - @echo "... voycal_app" - @echo "... isis3_unit_test_Affine" - @echo "... isis3_unit_test_ControlCubeGraphNode" - @echo "... isis3_unit_test_Albedo" - @echo "... isis3_unit_test_CameraStatistics" - @echo "... pds2hideal_app" - @echo "... isis3_unit_test_NaifDskApi" - @echo "... isis2pds_app" - @echo "... isis3_unit_test_Selection" - @echo "... isis3_unit_test_Angle" - @echo "... Mariner10Camera" - @echo "... isis3_unit_test_GaussianDistribution" - @echo "... MinimumDifference" - @echo "... isis3_unit_test_Anisotropic2" - @echo "... isis3_unit_test_Area3D" - @echo "... isis3_unit_test_GradientOperator" - @echo "... cnetcheck_app" - @echo "... percent_app" - @echo "... isis3_unit_test_AlbedoAtm" - @echo "... isis3" - @echo "... NewHorizonsLeisaCamera" - @echo "... isis3_unit_test_PushFrameCameraGroundMap" - @echo "... isis3_unit_test_BufferManager" - @echo "... isis3_unit_test_CubeAttribute" - @echo "... gaussstretch_app" - @echo "... MinnaertEmpirical" - @echo "... hicubeit_app" - @echo "... lopdsgen_app" - @echo "... cnetedit_app" - @echo "... isis3_unit_test_Kernel" - @echo "... fillgap_app" - @echo "... isis3_unit_test_Basis1VariableFunction" - @echo "... cassini_unit_test_IssNACamera" - @echo "... isis3_unit_test_Blobber" - @echo "... VimsCamera" - @echo "... cnetref_app" - @echo "... specpix_app" - @echo "... isis3_unit_test_BoxcarCachingAlgorithm" - @echo "... ctxevenodd_app" - @echo "... isis3_unit_test_Calculator" - @echo "... isis3_unit_test_EquatorialCylindricalShape" - @echo "... spiceinit_app" - @echo "... photrim_app" - @echo "... Robinson" - @echo "... deriv_app" - @echo "... isis3_unit_test_Brick" - @echo "... isis3_unit_test_Buffer" - @echo "... isis3_unit_test_ControlNetVersioner" - @echo "... isis3_unit_test_Anisotropic1" - @echo "... isis3_unit_test_LineScanCameraDetectorMap" - @echo "... shadowtau_app" - @echo "... Anisotropic1" - @echo "... isis3_unit_test_AtmosModelFactory" - @echo "... isis3_unit_test_Blob" - @echo "... isis3_unit_test_SpicePosition" - @echo "... isis3_unit_test_BundleSolutionInfo" - @echo "... gauss_app" - @echo "... isis3_unit_test_BulletDskShape" - @echo "... cubediff_app" - @echo "... Minnaert" - @echo "... isis3_unit_test_BulletShapeModel" - @echo "... std2isis_app" - @echo "... isis3_unit_test_TileManager" - @echo "... isis3_unit_test_BulletTargetShape" - @echo "... caminfo_app" - @echo "... isis3_unit_test_Camera" - @echo "... Mollweide" - @echo "... isis3_unit_test_Centroid" - @echo "... isis3_unit_test_PixelFOV" - @echo "... isis3_unit_test_Mollweide" - @echo "... isis3_unit_test_MoonAlbedo" - @echo "... isis3_unit_test_FourierTransform" - @echo "... isis3_unit_test_NaifDskShape" - @echo "... isis3_unit_test_SpectralDefinition2D" - @echo "... dawnvir2isis_app" - @echo "... Chandrayaan1M3Camera" - @echo "... ratio_app" - @echo "... isis3_unit_test_NoNormalization" - @echo "... isis3_unit_test_NoOperator" - @echo "... isis3_unit_test_TProjection" - @echo "... apollo_unit_test_ApolloPanoramicCamera" - @echo "... isis3_unit_test_NormModel" - @echo "... isis3_unit_test_NormModelFactory" - @echo "... stats_app" - @echo "... isis3_unit_test_LeastSquares" - @echo "... isis3_unit_test_Sensor" - @echo "... isis3_unit_test_NumericalApproximation" - @echo "... hicubenorm_app" - @echo "... isis3_unit_test_Lambert" - @echo "... isis3_unit_test_PixelType" - @echo "... isis3_unit_test_TableRecord" - @echo "... isis3_unit_test_SubArea" - @echo "... socetlinescankeywords_app" - @echo "... blobdump_app" - @echo "... isis3_unit_test_ObservationNumber" - @echo "... isis3_unit_test_ObservationNumberList" - @echo "... isis3_unit_test_Orthographic" - @echo "... NewHorizonsLorriCamera" - @echo "... mdiscal_app" - @echo "... isis3_unit_test_OverlapStatistics" - @echo "... isis3_unit_test_Parabola" - @echo "... isis3_unit_test_PhotoModel" - @echo "... isis3_unit_test_RadialDistortionMap" - @echo "... viknosalt_app" - @echo "... isis3_unit_test_PhotoModelFactory" - @echo "... cnetextract_app" - @echo "... isis3_unit_test_ProcessByQuickFilter" - @echo "... isis3_unit_test_SqlRecord" - @echo "... isis3_unit_test_Photometry" - @echo "... isis3_unit_test_Pixel" - @echo "... isis3_unit_test_PlaneShape" - @echo "... isis3_unit_test_Plugin" - @echo "... isis3_unit_test_PointPerspective" - @echo "... isis3_unit_test_ControlNetStatistics" - @echo "... isis3_unit_test_ShapeModel" - @echo "... isis3_unit_test_CubeCachingAlgorithm" - @echo "... isis3_unit_test_ProcessRubberSheet" - @echo "... isis3_unit_test_EndianSwapper" - @echo "... isis3_unit_test_PolynomialBivariate" - @echo "... isis3_unit_test_Robinson" - @echo "... isis3_unit_test_PolynomialUnivariate" - @echo "... isis3_unit_test_Target" - @echo "... isis3_unit_test_BundleSettings" - @echo "... isis3_unit_test_RingCylindrical" - @echo "... Anisotropic2" - @echo "... isis3_unit_test_Portal" - @echo "... isis3_unit_test_Preference" - @echo "... isis3_unit_test_ProcessByBoxcar" - @echo "... histeq_app" - @echo "... isis3_unit_test_ProcessByBrick" - @echo "... isis3_unit_test_ProcessBySample" - @echo "... isis2gml_app" - @echo "... isis3_unit_test_ProcessBySpectra" - @echo "... blend_app" - @echo "... findrx_app" - @echo "... isis3_unit_test_ProcessExport" - @echo "... cam2map_app" - @echo "... isis3_unit_test_Hapke" - @echo "... isis3_unit_test_ProcessExportPds4" - @echo "... kuwahara_app" - @echo "... isis3_unit_test_ProcessGroundPolygons" - @echo "... isis3_unit_test_ProcessImportFits" - @echo "... isis3_unit_test_OriginalLabel" - @echo "... isis3_unit_test_PolarStereographic" - @echo "... isis3_unit_test_ProcessImportPds" - @echo "... specdivfilter_app" - @echo "... isis3_unit_test_WorldMapper" - @echo "... clemhirescal_app" - @echo "... isis3_unit_test_ProcessImportVicar" - @echo "... isis3_unit_test_DbAccess" - @echo "... isis3_unit_test_ProcessMapMosaic" - @echo "... isis3_unit_test_ProcessMosaic" - @echo "... isis3_unit_test_ProcessPolygons" - @echo "... isis3_unit_test_ProgramLauncher" - @echo "... kaguyasp2ascii_app" - @echo "... mvstats_app" - @echo "... isis3_unit_test_PushFrameCamera" - @echo "... isis3_unit_test_TriangularPlate" - @echo "... hidestripe_app" - @echo "... center_app" - @echo "... isis3_unit_test_AutoRegFactory" - @echo "... isis3_unit_test_MoravecOperator" - @echo "... isis3_unit_test_PushFrameCameraDetectorMap" - @echo "... isis3_unit_test_Pvl" - @echo "... isis3_unit_test_PvlContainer" - @echo "... fft_app" - @echo "... isis3_unit_test_PvlEditDialog" - @echo "... LimitPolygonSeeder" - @echo "... isis3_unit_test_PvlFlatMap" - @echo "... isis3_unit_test_PvlFormat" - @echo "... vikfixtrx_app" - @echo "... NoNormalization" - @echo "... isis3_unit_test_RingPlaneProjection" - @echo "... nocam2map_app" - @echo "... isis3_unit_test_PvlGroup" - @echo "... isis3_unit_test_AbstractPlate" - @echo "... isis3_unit_test_PvlKeyword" - @echo "... isis3_unit_test_PvlObject" - @echo "... isis3_unit_test_PvlToPvlTranslationManager" - @echo "... sharpen_app" - @echo "... isis3_unit_test_PvlToXmlTranslationManager" - @echo "... isis3_unit_test_LunarAzimuthalEqualArea" - @echo "... isis3_unit_test_PvlToken" - @echo "... isis3_unit_test_BulletWorldManager" - @echo "... isis3_unit_test_PvlTranslationTable" - @echo "... isis3_unit_test_SurfaceModel" - @echo "... Albedo" - @echo "... isis3_unit_test_InterestOperator" - @echo "... desmile_app" - @echo "... isis3_unit_test_QtImporter" - @echo "... isis3_unit_test_QuickFilter" - @echo "... isis3_unit_test_RadarPulseMap" - @echo "... isis3_unit_test_Reduce" - @echo "... isis3_unit_test_ControlNetFilter" - @echo "... cubefunc_app" - @echo "... isis3_unit_test_RadarSkyMap" - @echo "... barscale_app" - @echo "... isis3_unit_test_OriginalXmlLabel" - @echo "... isis3_unit_test_RadarSlantRangeMap" - @echo "... isis3_unit_test_ReseauDistortionMap" - @echo "... rgb2hsv_app" - @echo "... enlarge_app" - @echo "... isis3_unit_test_AbstractShape" - @echo "... isis3_unit_test_SerialNumber" - @echo "... isis3_unit_test_ShadeAtm" - @echo "... reduce_app" - @echo "... isis3_unit_test_ShapeModelFactory" - @echo "... isis2raw_app" - @echo "... isis3_unit_test_ProcessByLine" - @echo "... isis3_unit_test_Sinusoidal" - @echo "... isis3_unit_test_SmtkMatcher" - @echo "... translate_app" - @echo "... isis3_unit_test_SparseBlockMatrix" - @echo "... spiceserver_app" - @echo "... isis3_unit_test_Color" - @echo "... isis3_unit_test_SpecialPixel" - @echo "... isis3_unit_test_Statistics" - @echo "... isis3_unit_test_SampleManager" - @echo "... isis3_unit_test_Strategy" - @echo "... mar10nonoise_app" - @echo "... Isotropic2" - @echo "... isis3_unit_test_StreamExporter" - @echo "... isis3_unit_test_SurfacePoint" - @echo "... isis3_unit_test_Table" - @echo "... isis3_unit_test_SpiceRotation" - @echo "... isis3_unit_test_TableField" - @echo "... seedgrid_app" - @echo "... isis3_unit_test_ProjectionFactory" - @echo "... isis3_unit_test_TextFile" - @echo "... isis3_unit_test_TiffExporter" - @echo "... mro_unit_test_HiEqualization" - @echo "... isis3_unit_test_InterestOperatorFactory" - @echo "... gllssi2isis_app" - @echo "... isis3_unit_test_LineScanCameraGroundMap" - @echo "... isis3_unit_test_IsisAml" - @echo "... isis3_unit_test_Transform" - @echo "... isis3_unit_test_UniqueIOCachingAlgorithm" - @echo "... isis3_unit_test_UniversalGroundMap" - @echo "... isis3_unit_test_VariableLineScanCameraDetectorMap" - @echo "... isis3_unit_test_VecFilter" - @echo "... fakecube_app" - @echo "... isis3_unit_test_XmlStackedHandler" - @echo "... isis2ascii_app" - @echo "... isis3_unit_test_XmlStackedHandlerReader" - @echo "... mapgrid_app" - @echo "... isis3_unit_test_StripPolygonSeeder" - @echo "... isis3_unit_test_XmlToPvlTranslationManager" - @echo "... isis3_unit_test_Progress" - @echo "... isis3_unit_test_iTime" - @echo "... isis3_unit_test_KernelDb" - @echo "... gllnims2isis_app" - @echo "... isis3_unit_test_Database" - @echo "... mdisddr_app" - @echo "... HapkeAtm2" - @echo "... isis3_unit_test_DbProfile" - @echo "... isis3_unit_test_SpectralDefinitionFactory" - @echo "... isis3_unit_test_SqlQuery" - @echo "... mgs" - @echo "... isis3_unit_test_RadarCamera" - @echo "... isis3_unit_test_BundleAdjust" - @echo "... isis3_unit_test_ForstnerOperator" - @echo "... isis3_unit_test_BundleResults" - @echo "... mgs_unit_test_MocNarrowAngleCamera" - @echo "... apollopanstitcher_app" - @echo "... bandnorm_app" - @echo "... mdis2isis_app" - @echo "... isis3_unit_test_MultivariateStatistics" - @echo "... isis3_unit_test_ControlMeasure" - @echo "... marciflip_app" - @echo "... isis3_unit_test_ControlMeasureLogData" - @echo "... isis3_unit_test_ControlNet" - @echo "... isis3_unit_test_Mercator" - @echo "... isis3_unit_test_NaifDskPlateModel" - @echo "... isis3_unit_test_ControlNetDiff" - @echo "... isis3_unit_test_LabelTranslationManager" - @echo "... isis3_unit_test_ControlNetValidMeasure" - @echo "... isis3_unit_test_GridPolygonSeeder" - @echo "... isis3_unit_test_ControlPoint" - @echo "... ascii2isis_app" - @echo "... hist_app" - @echo "... isis3_unit_test_PushFrameCameraCcdLayout" - @echo "... automos_app" - @echo "... autoregtemplate_app" - @echo "... bandtrim_app" - @echo "... msi2isis_app" - @echo "... butterworth_app" - @echo "... mapsize_app" - @echo "... cam2cam_app" - @echo "... campt_app" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - + echo $(CURTIMESTAMP) "Cleaning Isis"; \ + $(MAKE) cleansrc; \ + rm -rf inc; \ + rm -rf doc; \ + rm -rf bin; \ + rm -rf lib; \ + rm -rf scripts/tabcomplete.csh; \ + rm -rf scopecoverage scopecoverage.html linecoverage linecoverage.html \ + functioncoverage functioncoverage.html *.csmes *.csexe; \ + $(MAKE) --directory=3rdParty clean; \ + echo $(CURTIMESTAMP) "Finished cleaning Isis"; + +cleansrc: + $(MAKE) --directory=src clean + +tabcomplete: + if [ ! -d bin ]; then \ + echo $(CURTIMESTAMP) "You must build the applications first"; \ + elif [ ! -f bin/isiscomplete ]; then \ + echo $(CURTIMESTAMP) "Isis application 'isiscomplete' is missing"; \ + else \ + echo "#!/bin/csh" > $$ISISROOT/scripts/tabcomplete.csh; \ + isiscomplete `ls $$ISISROOT/bin | grep -v xml` | sed 's/; /;~/g' | \ + tr '~' '\n' > $$ISISROOT/scripts/tabcomplete.csh; \ + fi; + +#---------------------------------------------------------------------------- +# Target = unitTest appTest appTest2 catTest +# Dependencies = none +# +# This target traverses both the objs and apps directories. In the object +# directories it will build the unitTest executable, run it, and difference +# the results with the unitTest truth data. In the application directories +# it will run the appTest script to ensure the program generates the proper +# output data (whether it be a cube, text file, postscript file, etc) +#---------------------------------------------------------------------------- +unitTest: + echo $(CURTIMESTAMP) "Testing Isis API" + $(MAKE) --directory=src unitTest + echo $(CURTIMESTAMP) "Finished testing Isis API" + +appTest: + echo $(CURTIMESTAMP) "Testing Isis Applications version 2" + $(MAKE) --directory=src appTest + echo $(CURTIMESTAMP) "Finished testing Isis Applications version 2" + +catTest: + echo $(CURTIMESTAMP) "Testing Isis Category" + $(MAKE) --directory=src catTest + echo $(CURTIMESTAMP) "Finished testing Isis Category" + +#---------------------------------------------------------------------------- +# Target = thirdParty +# Dependencies = none +# +# This target is used only for external distributions that do not have +# the need to program. As a convenience we provide the shared libraries +# for 3rdParty packages used in ISIS so that external customers do +# not have to download and install RPMs. +#---------------------------------------------------------------------------- +HOST_ARCH ?= $(shell uname -s) +HOST_MACH ?= $(shell uname -m) + +thirdParty: + echo $(CURTIMESTAMP) "Installing 3rdParty libraries" + rm -f $(ISISROOT)/3rdParty/lib/lib* + $(MAKE) -C $(ISISROOT)/3rdParty install + echo $(CURTIMESTAMP) "Finished installing 3rdParty libraries" + echo $(CURTIMESTAMP) " " + + +#---------------------------------------------------------------------------- +# Use to see values of variables +# Example: make print-HOST_OS +# Will print the make variable HOST_OS +#---------------------------------------------------------------------------- +#print-% : +# @echo '$* = $($*)' + +#---------------------------------------------------------------------------- +# Standard make FORCE target. Do not remove unless you know what you are doing +#---------------------------------------------------------------------------- + +FORCE: + +#---------------------------------------------------------------------------- +# Include the make file debugging targets +#---------------------------------------------------------------------------- +include $(ISISROOT)/make/isismake.print diff --git a/isis/src/Makefile b/isis/src/Makefile index 150207051b..1652458951 100644 --- a/isis/src/Makefile +++ b/isis/src/Makefile @@ -7,7 +7,7 @@ else .NOTPARALLEL: endif -PACKAGES = $(filter-out Makefile docsys CVS IsisObjectConvert.xsl, $(wildcard *)) +PACKAGES = $(filter-out Makefile CMakeLists.txt docsys CVS IsisObjectConvert.xsl, $(wildcard *)) PACKAGESCLEAN := $(PACKAGES:%=%-clean) PACKAGESQUICKCLEAN := $(PACKAGES:%=%-quickclean) @@ -21,7 +21,7 @@ PACKAGESCATTEST := $(filter-out qisis-catTest, $(PACKAGES:%=%-catTest)) # Allow parallel builds of applications applications: $(PACKAGESAPPS) - + %-apps: PACKAGE=`$(ECHO) $@ | $(SED) 's/-apps//'`; \ echo $(CURTIMESTAMP) " Working on Package [$$PACKAGE]"; \ -- GitLab From 08140e3e14b266f32a3a85c9b9f2ffed2fa5a1db Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Wed, 21 Mar 2018 10:28:20 -0700 Subject: [PATCH 0160/1212] Copied TestPreferences to ISIS source root --- isis/TestPreferences | 216 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 isis/TestPreferences diff --git a/isis/TestPreferences b/isis/TestPreferences new file mode 100644 index 0000000000..47a0bf8cad --- /dev/null +++ b/isis/TestPreferences @@ -0,0 +1,216 @@ +####################################################### +# This file allows the user to customize their Isis +# configuration. See the Isis Preference Dictionary +# on our website isis.astrogeology.usgs.gov for a +# full description of each group. +######################################################## + +######################################################## +# Customize elements of the user interface +# +# ProgressBarPercent = 1 | 2 | 5 | 10 +# ProgressBar = On | Off +# GuiStyle = windows | motif | cde | motifplus | +# platinum | sgi | kde | aqua +# GuiHelpBrowser = { your preferred browser, may need path } +# GuiFontName = helvetica | times | charter | any legal font +# GuiFontSize = 10 | 12 | 14 | any font point size +# HistoryPath = { your preferred loaction for the application +# .par files } +# HistoryRecording = On | Off +# HistoryLength = (your preferred count of history entries +# to remember) +######################################################## + +Group=UserInterface + ProgressBarPercent = 10 + ProgressBar = Off + GuiHelpBrowser = firefox + GuiFontName = helvetica + GuiFontSize = 10 + GuiWidth = 460 + GuiHeight = 600 + HistoryPath = $HOME/.Isis/history + HistoryRecording = On + HistoryLength = 10 +EndGroup + +######################################################## +# Customize how errors are reported +# +# FileLine = On | Off +# Format = Standard | Pvl +# StackTrace = On | Off +######################################################## + +Group = ErrorFacility + FileLine = Off + Format = Standard + StackTrace = Off +EndGroup + +######################################################## +# Specify which ray-tracing engine to use for shape +# models. +# +# Leave the ShapeModel Group commented-out to continue +# using the ISIS3 default. +# +# RayTraceEngine = Bullet | Embree +# OnError = Continue | Fail +# Tolerance = { numerical value that will be set as the +# tolerance for the Bullet or Embree shape +# model } +# +######################################################## + +#Group = ShapeModel +# RayTraceEngine = Embree +# OnError = Continue +# CubeSupported = False +# Tolerance = DBL_MAX +#EndGroup + +######################################################## +# Customize how session logging is handled +# +# TerminalOutput = On | Off +# On - in command-line mode - user input parameters, +# results, and accounting are +# reported to the terminal. +# Errors are reported in Pvl +# also to the terminal. +# - in interactive mode - same as command-line +# mode, but output is directed +# to the gui. In the case of +# an error, nothing is reported +# to the gui except a pop-up +# window displaying the error. +# Off - in command-line mode - only the results are +# reported to the terminal, or +# in the case of an error, +# the error is reported in Pvl +# to the terminal. +# - in interactive mode - same as command-line mode, +# but the error is reported in +# a pop-up window in the gui. +# FileOutput = On | Off +# FileName = print.prt | /mydirectory/myfile.prt +# FileAccess = Append | Overwrite +######################################################## + +Group = SessionLog + TerminalOutput = Off + FileOutput = On + FileName = print.prt + FileAccess = Append +EndGroup + +######################################################## +# Customize how cubes are created +# +# Overwrite = Error | Allow +# Format = Attached | Detached +# History = On | Off +# MaximumSize = max # of gigabytes +######################################################## + +Group = CubeCustomization + Overwrite = Allow + Format = Attached + History = On + MaximumSize = 12 +EndGroup + +######################################################## +# Customize how other files are created +# +# Overwrite = Error | Allow +# +# If Error, then overwrites of any non-cube +# file will be disallowed and an error will be thrown +######################################################## + +Group = FileCustomization + Overwrite = Allow +EndGroup + +######################################################## +# Customize how Isis uses your computer's resources. +# +# CubeWriteThread = Always | Optimized | Never +# Always - Override Isis program defaults and always +# use a separate thread for writing out cubes. This +# will probably improve performance for some +# programs, will probably negatively impact programs +# that read/write the same file. This option should +# be used with caution. +# Optimized - Let the Isis program decide based on +# it's own internal knowledge. +# Never - Revert to the original method of writing +# cubes always. +# +# GlobalThreads = Optimized | N +# Optimized - The number of global (active processing) +# threads used will match the current system's number +# of CPU cores. +# N - +# Global (processing threads) encapsulate most of Isis' +# CPU-intensive operations. This should be a +# positive whole number greater than 0. This number +# does not cull the number of other thread-types in +# Isis, for example the cube write thread, but it +# should fairly accurately reflect overall potential +# CPU usage in Isis. +######################################################## +Group = Performance + CubeWriteThread = Optimized + GlobalThreads = Optimized +EndGroup + +######################################################## +# Customize the location of mission specific data +# files (calibration and spice kernels). Usually this +# should be left to the Isis administrator +######################################################## + +Group = DataDirectory + Apollo15 = $ISIS3DATA/apollo15 + Apollo16 = $ISIS3DATA/apollo16 + Apollo17 = $ISIS3DATA/apollo17 + Base = $ISIS3DATA/base + Cassini = $ISIS3DATA/cassini + Chan1 = $ISIS3DATA/chan1 + Chandrayaan1 = $ISIS3DATA/chandrayaan1 + Clementine1 = $ISIS3DATA/clementine1 + Control = $ISIS3DATA/control + Dawn = $ISIS3DATA/dawn + Galileo = $ISIS3DATA/galileo + Hayabusa = $ISIS3DATA/hayabusa + Hayabusa2 = $ISIS3DATA/hayabusa2 + Juno = $ISIS3DATA/juno + Kaguya = $ISIS3DATA/kaguya + Lo = $ISIS3DATA/lo + Lro = $ISIS3DATA/lro + Mariner10 = $ISIS3DATA/mariner10 + Mer = $ISIS3DATA/mer + Mex = $ISIS3DATA/mex + Messenger = $ISIS3DATA/messenger + Mgs = $ISIS3DATA/mgs + Mro = $ISIS3DATA/mro + Near = $ISIS3DATA/near + NewHorizons = $ISIS3DATA/newhorizons + Odyssey = $ISIS3DATA/odyssey + OsirisRex = $ISIS3DATA/../datalocal/osirisrex + Rolo = $ISIS3DATA/rolo + Rosetta = $ISIS3DATA/rosetta + Smart1 = $ISIS3DATA/smart1 + Tgo = $ISIS3DATA/tgo + Viking1 = $ISIS3DATA/viking1 + Viking2 = $ISIS3DATA/viking2 + Voyager1 = $ISIS3DATA/voyager1 + Voyager2 = $ISIS3DATA/voyager2 + Temporary = . +EndGroup + +End -- GitLab From ad6399888adc510f7349e14b53ad7aa741f2d7c8 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 13:48:02 -0700 Subject: [PATCH 0161/1212] fixed rpath issues for conda --- isis/CMakeLists.txt | 8 +- isis/cmake/AddIsisModule.cmake | 2 - isis/cmake/FindAllDependencies.cmake | 2 - isis/cmake/FindOpenGL.cmake | 8 +- isis/cmake/InstallThirdParty.cmake | 6 - isis/cmake/RunMakeFileTest.cmake | 2 +- isis/scripts/finalizeInstalledOsxRpaths.py | 240 ++++++++++----------- isis/scripts/fixOsxRpaths.py | 216 +++++++++---------- 8 files changed, 236 insertions(+), 248 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index bcc49036b0..434bb834a0 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -100,7 +100,7 @@ else() endif() if(develop) - + endif() if(${testOutputDir} STREQUAL "OFF") @@ -150,11 +150,11 @@ set(CORE_LIB_NAME isis3) # Specify relative library include paths which will be set up on # the installed files. if(APPLE) - set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@loader_path/../3rdParty/lib") + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};@loader_path/../lib;@loader_path/../3rdParty/lib") else() - set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") endif() -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index a15a5ba348..7f7e187e0d 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -62,8 +62,6 @@ function(add_isis_app folder libDependencies) endfunction(add_isis_app) - - # Set up the lone unit test in an obj folder function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index e11aa39144..9664407eae 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -62,7 +62,6 @@ find_program(RCC rcc REQUIRED) find_program(PROTOC protoc REQUIRED) if(APPLE) - find_package(OpenGL REQUIRED) find_package(Qt5 COMPONENTS Core Concurrent @@ -231,4 +230,3 @@ endforeach() list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS) - diff --git a/isis/cmake/FindOpenGL.cmake b/isis/cmake/FindOpenGL.cmake index 8fc3f41d2f..e7329ad920 100644 --- a/isis/cmake/FindOpenGL.cmake +++ b/isis/cmake/FindOpenGL.cmake @@ -19,9 +19,9 @@ find_library(GL_LIBRARY find_library(GLU_LIBRARY NAMES GLU ) -message("==================") -message(${OPENGL_INCLUDE_DIR}) -message(${GL_LIBRARY}) -message(${GLU_LIBRARY}) + +message( "-- OPENGL INCLUDE DIR: ${OPENGL_INCLUDE_DIR}") +message( "-- OPENGL LIB: ${GL_LIBRARY}") +message( "-- OPENGLU LIB: ${GLU_LIBRARY}") get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake index 29a4f01c02..c4e5c55082 100644 --- a/isis/cmake/InstallThirdParty.cmake +++ b/isis/cmake/InstallThirdParty.cmake @@ -25,11 +25,6 @@ function(install_third_party_libs) execute_process(COMMAND cp -L ${library} ${installLibFolder}) endif() endforeach() - - # Copy over QT Frameworks - if(APPLE) - # execute_process(COMMAND cp -Lr ${library} ${installLibFolder}) - endif(APPLE) endfunction() # Plugin portion of the installation @@ -59,7 +54,6 @@ function(install_third_party_license) install(CODE "execute_process(COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/3rdParty/)") endif() install(CODE "execute_process(COMMAND cp -r ${LIC_DIR} ${CMAKE_INSTALL_PREFIX}/3rdParty/license)") - endfunction() diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake index 8e84d53a94..8f275e22a9 100644 --- a/isis/cmake/RunMakeFileTest.cmake +++ b/isis/cmake/RunMakeFileTest.cmake @@ -50,7 +50,7 @@ function(run_app_makefile_test makefile inputFolder outputFolder truthFolder bin # execute_process(COMMAND rm -rf ${outputFolder}) # execute_process(COMMAND rm -f ${logFile}) - execute_process(COMMAND make test WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) + execute_process(COMMAND make test MODE=LOUD WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) message("result: ${result}") if (result MATCHES "OK") set(failed "OFF") diff --git a/isis/scripts/finalizeInstalledOsxRpaths.py b/isis/scripts/finalizeInstalledOsxRpaths.py index 1f4b4754b2..e1b644400c 100644 --- a/isis/scripts/finalizeInstalledOsxRpaths.py +++ b/isis/scripts/finalizeInstalledOsxRpaths.py @@ -1,120 +1,120 @@ - -''' This script will replace all "long" library paths such as -@rpath/a/long/path/libExample.dylib with shortened paths such as -@rpath/libExample.dylib. It does not change the rpaths themselves, -just the references to them. -''' - -import os, sys, subprocess, stat - -def fixOneFile(inputPath, resetRpath): - '''Correct a single file''' - - # Get list of libraries loaded by this library - cmd = ['otool', '-l', inputPath] - p = subprocess.Popen(cmd, stdout=subprocess.PIPE) - otoolOutput, err = p.communicate() - - #print otoolOutput - - # Search for abs paths to the USGS hard coded location - needRpath = False - lines = [l.decode('utf-8') for l in otoolOutput.split()] - numUpdates = 0 - for line in lines: - - # Keep track of whether the next change step is for an ID or a LOAD operation. - if line == 'LC_ID_DYLIB': - idLine = True - if line == 'LC_LOAD_DYLIB': - idLine = False - - # Only change lines containing @rpath - if '@rpath' not in line: - continue - - # Trim off just the library name and prepend @rpath - #print line - if 'framework' in line: # Need whole framework part - posF = line.rfind('framework') - pos = line.rfind('/', 0, posF) - else: # Simple case - pos = line.rfind('/') - end = line[pos:] - - #print 'CROPPED: ' + end - #continue - - newPath = '@rpath' + end - - if newPath == line: # Skip already correct lines - continue - - # Replace the line - if idLine: # Handle LC_ID_DYLIB lines - cmd = ' '.join(['install_name_tool', '-id', newPath, inputPath]) - else: # Handle LC_LOAD_DYLIB lines - cmd = ' '.join(['install_name_tool', '-change', line, newPath, inputPath]) - #print cmd - os.system(cmd) - numUpdates += 1 - - # TODO: Delete any existing rpaths to keep things clean! - # If this option is set, reset the RPATH to look only in the local folder. - if resetRpath: - cmd = 'install_name_tool -add_rpath ./ ' + inputPath - #print cmd - os.system(cmd) - numUpdates += 1 - - return numUpdates - -def main(): - '''Main program corrects all files in a folder''' - - # Check input arguments - usage = 'python finalizeInstalledOsxRpaths.py folder [resetRpath]' - if len(sys.argv) < 2: - print(usage) - return -1 - - inputFolder= sys.argv[1] - resetRpath = False - if len(sys.argv) == 3: - resetRpath = True - if not os.path.exists(inputFolder): - print ('Input folder '+inputFolder+' does not exist!') - return -1 - - # Fix all of the .dylib files in the given folder - files = os.listdir(inputFolder) - for f in files: - - if '.plugin' in f: - continue - - fullPath = os.path.join(inputFolder, f) - - isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) - isLib = ('.dylib' in f) - isFrame = 'framework' in f - - # Dig into framework folders to correct the rpaths in the underlying lib file - if isFrame: - name = f.replace('.framework', '') - path = f+'/Versions/Current/'+name - fullPath = os.path.join(inputFolder, path) - isLib = True - - if isBinary or isLib: - #print fullPath - numUpdates = fixOneFile(fullPath, resetRpath) - if numUpdates > 0: - print (f + ' --> ' + str(numUpdates) + ' changes made.') - #raise Exception('DEBUG') - - - -# Execute main() when called from command line -if __name__ == "__main__": - sys.exit(main()) +# +# ''' This script will replace all "long" library paths such as +# @rpath/a/long/path/libExample.dylib with shortened paths such as +# @rpath/libExample.dylib. It does not change the rpaths themselves, +# just the references to them. +# ''' +# +# import os, sys, subprocess, stat +# +# def fixOneFile(inputPath, resetRpath): +# '''Correct a single file''' +# +# # Get list of libraries loaded by this library +# cmd = ['otool', '-l', inputPath] +# p = subprocess.Popen(cmd, stdout=subprocess.PIPE) +# otoolOutput, err = p.communicate() +# +# #print otoolOutput +# +# # Search for abs paths to the USGS hard coded location +# needRpath = False +# lines = [l.decode('utf-8') for l in otoolOutput.split()] +# numUpdates = 0 +# for line in lines: +# +# # Keep track of whether the next change step is for an ID or a LOAD operation. +# if line == 'LC_ID_DYLIB': +# idLine = True +# if line == 'LC_LOAD_DYLIB': +# idLine = False +# +# # Only change lines containing @rpath +# if '@rpath' not in line: +# continue +# +# # Trim off just the library name and prepend @rpath +# #print line +# if 'framework' in line: # Need whole framework part +# posF = line.rfind('framework') +# pos = line.rfind('/', 0, posF) +# else: # Simple case +# pos = line.rfind('/') +# end = line[pos:] +# +# #print 'CROPPED: ' + end +# #continue +# +# newPath = '@rpath' + end +# +# if newPath == line: # Skip already correct lines +# continue +# +# # Replace the line +# if idLine: # Handle LC_ID_DYLIB lines +# cmd = ' '.join(['install_name_tool', '-id', newPath, inputPath]) +# else: # Handle LC_LOAD_DYLIB lines +# cmd = ' '.join(['install_name_tool', '-change', line, newPath, inputPath]) +# #print cmd +# os.system(cmd) +# numUpdates += 1 +# +# # TODO: Delete any existing rpaths to keep things clean! +# # If this option is set, reset the RPATH to look only in the local folder. +# if resetRpath: +# cmd = 'install_name_tool -add_rpath ./ ' + inputPath +# #print cmd +# os.system(cmd) +# numUpdates += 1 +# +# return numUpdates +# +# def main(): +# '''Main program corrects all files in a folder''' +# +# # Check input arguments +# usage = 'python finalizeInstalledOsxRpaths.py folder [resetRpath]' +# if len(sys.argv) < 2: +# print(usage) +# return -1 +# +# inputFolder= sys.argv[1] +# resetRpath = False +# if len(sys.argv) == 3: +# resetRpath = True +# if not os.path.exists(inputFolder): +# print ('Input folder '+inputFolder+' does not exist!') +# return -1 +# +# # Fix all of the .dylib files in the given folder +# files = os.listdir(inputFolder) +# for f in files: +# +# if '.plugin' in f: +# continue +# +# fullPath = os.path.join(inputFolder, f) +# +# isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) +# isLib = ('.dylib' in f) +# isFrame = 'framework' in f +# +# # Dig into framework folders to correct the rpaths in the underlying lib file +# if isFrame: +# name = f.replace('.framework', '') +# path = f+'/Versions/Current/'+name +# fullPath = os.path.join(inputFolder, path) +# isLib = True +# +# if isBinary or isLib: +# #print fullPath +# numUpdates = fixOneFile(fullPath, resetRpath) +# if numUpdates > 0: +# print (f + ' --> ' + str(numUpdates) + ' changes made.') +# #raise Exception('DEBUG') +# +# +# +# # Execute main() when called from command line +# if __name__ == "__main__": +# sys.exit(main()) diff --git a/isis/scripts/fixOsxRpaths.py b/isis/scripts/fixOsxRpaths.py index a7e0541e30..df4085857e 100644 --- a/isis/scripts/fixOsxRpaths.py +++ b/isis/scripts/fixOsxRpaths.py @@ -1,109 +1,107 @@ - -# TODO: Clean up this file! - -import os, sys, subprocess - -# Constants - - -libFolders = ['/Users/smcmich1/isis_cmake/opt/usgs/v006/3rdParty/lib', - '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/lib', - '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/libexec'] -#individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore'] - -qtLibs = ('QtXmlPatterns QtXml QtNetwork '+ - 'QtSql QtGui QtCore QtSvg '+ - 'QtTest QtWebKit QtOpenGL '+ - 'QtConcurrent QtDBus '+ - 'QtMultimedia QtMultimediaWidgets '+ - 'QtNfc QtPositioning QtPrintSupport '+ - 'QtQml QtQuick QtQuickParticles '+ - 'QtQuickTest QtQuickWidgets QtScript '+ - 'QtScriptTools QtSensors QtSerialPort '+ - 'QtWebKitWidgets QtWebSockets QtWidgets '+ - 'QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets').split() -individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/'+x+'.framework/Versions/5/'+x for x in qtLibs] -print individualLibs - -usgFolder = '/opt/usgs/v006/' - -rpathFolder = '/Users/smcmich1/isis_cmake/' -ignoreFolder = '/Users/smcmich1/isis_cmake/' - - -# Process one file - -def fixFile(fullPath, libName): - '''Fix the paths of a single library file''' - - # Get list of libraries loaded by this library - cmd = ['otool', '-l', fullPath] - p = subprocess.Popen(cmd, stdout=subprocess.PIPE) - otoolOutput, err = p.communicate() - - #print otoolOutput - - # Search for abs paths to the USGS hard coded location - needRpath = False - lines = otoolOutput.split() - for line in lines: - - # Some lines need to be skipped - if (usgFolder not in line) or (ignoreFolder in line) or ('@rpath' in line): - continue - - needRpath = True - - # Set up the command to fix this line - if libName in line: # Hande LC_ID_DYLIB lines - cmd = ' '.join(['install_name_tool', '-id', '@rpath'+line, fullPath]) - else: # Handle LC_LOAD_DYLIB lines - cmd = ' '.join(['install_name_tool', '-change', line, '@rpath'+line, fullPath]) - print cmd - os.system(cmd) - - # If any paths were changed, add the rpath. - if needRpath: - # Make sure this rpath is not there - cmd = ' '.join(['install_name_tool', '-delete_rpath', '/opt/usgs/v006/ports/lib', fullPath]) - print cmd - os.system(cmd) - # Add the correct rpath - cmd = ' '.join(['install_name_tool', '-add_rpath', rpathFolder, fullPath]) - print cmd - os.system(cmd) - print 'Fixed file ' + fullPath - -# Main function - -for folder in libFolders: - - libs = os.listdir(folder) - for lib in libs: - - # Only modify .dylib files - if 'dylib' not in lib: - continue - - # Get the full path - fullPath = os.path.join(folder, lib) - #print lib - - fixFile(fullPath, lib) - - -for fullPath in individualLibs: - - ## Only modify .dylib files - #if 'dylib' not in lib: - # continue - - # Get the full path - libName = os.path.basename(fullPath) - #print lib - - fixFile(fullPath, libName) - -print 'Finished modifying files!' - - +# +# # TODO: Clean up this file! +# +# import os, sys, subprocess +# +# # Constants +# +# +# libFolders = ['/Users/smcmich1/isis_cmake/opt/usgs/v006/3rdParty/lib', +# '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/lib', +# '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/libexec'] +# #individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore'] +# +# qtLibs = ('QtXmlPatterns QtXml QtNetwork '+ +# 'QtSql QtGui QtCore QtSvg '+ +# 'QtTest QtWebKit QtOpenGL '+ +# 'QtConcurrent QtDBus '+ +# 'QtMultimedia QtMultimediaWidgets '+ +# 'QtNfc QtPositioning QtPrintSupport '+ +# 'QtQml QtQuick QtQuickParticles '+ +# 'QtQuickTest QtQuickWidgets QtScript '+ +# 'QtScriptTools QtSensors QtSerialPort '+ +# 'QtWebKitWidgets QtWebSockets QtWidgets '+ +# 'QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets').split() +# individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/'+x+'.framework/Versions/5/'+x for x in qtLibs] +# print individualLibs +# +# usgFolder = '/opt/usgs/v006/' +# +# rpathFolder = '/Users/smcmich1/isis_cmake/' +# ignoreFolder = '/Users/smcmich1/isis_cmake/' +# +# +# # Process one file +# +# def fixFile(fullPath, libName): +# '''Fix the paths of a single library file''' +# +# # Get list of libraries loaded by this library +# cmd = ['otool', '-l', fullPath] +# p = subprocess.Popen(cmd, stdout=subprocess.PIPE) +# otoolOutput, err = p.communicate() +# +# #print otoolOutput +# +# # Search for abs paths to the USGS hard coded location +# needRpath = False +# lines = otoolOutput.split() +# for line in lines: +# +# # Some lines need to be skipped +# if (usgFolder not in line) or (ignoreFolder in line) or ('@rpath' in line): +# continue +# +# needRpath = True +# +# # Set up the command to fix this line +# if libName in line: # Hande LC_ID_DYLIB lines +# cmd = ' '.join(['install_name_tool', '-id', '@rpath'+line, fullPath]) +# else: # Handle LC_LOAD_DYLIB lines +# cmd = ' '.join(['install_name_tool', '-change', line, '@rpath'+line, fullPath]) +# print cmd +# os.system(cmd) +# +# # If any paths were changed, add the rpath. +# if needRpath: +# # Make sure this rpath is not there +# cmd = ' '.join(['install_name_tool', '-delete_rpath', '/opt/usgs/v006/ports/lib', fullPath]) +# print cmd +# os.system(cmd) +# # Add the correct rpath +# cmd = ' '.join(['install_name_tool', '-add_rpath', rpathFolder, fullPath]) +# print cmd +# os.system(cmd) +# print 'Fixed file ' + fullPath +# +# # Main function +# +# for folder in libFolders: +# +# libs = os.listdir(folder) +# for lib in libs: +# +# # Only modify .dylib files +# if 'dylib' not in lib: +# continue +# +# # Get the full path +# fullPath = os.path.join(folder, lib) +# #print lib +# +# fixFile(fullPath, lib) +# +# +# for fullPath in individualLibs: +# +# ## Only modify .dylib files +# #if 'dylib' not in lib: +# # continue +# +# # Get the full path +# libName = os.path.basename(fullPath) +# #print lib +# +# fixFile(fullPath, libName) +# +# print 'Finished modifying files!' -- GitLab From b24ea7846fb77ce3ff763f1acc63d8c6e6c38fe4 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 15:09:37 -0700 Subject: [PATCH 0162/1212] updated macos spec file --- macos-spec.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macos-spec.txt b/macos-spec.txt index e59a6ce537..2af2397a2f 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,7 +2,7 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT -https://conda.anaconda.org/usgs-astrogeology/osx-64/bullet-2.86.1-he2aa7b0_0.tar.bz2 +https://conda.anaconda.org/krodriguez/osx-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 -- GitLab From a52259c65abda84c3b14124cee68fc676ebed710 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 20:29:55 -0700 Subject: [PATCH 0163/1212] removed uneeded opengl find script, now defaults to conda env if no install directory is set and conda env is activated --- isis/CMakeLists.txt | 10 ++ isis/cmake/FindAllDependencies.cmake | 158 ++++----------------------- isis/cmake/FindOpenGL.cmake | 27 ----- isis/cmake/InstallThirdParty.cmake | 3 +- isis/cmake/TestSetup.cmake | 3 + 5 files changed, 38 insertions(+), 163 deletions(-) delete mode 100644 isis/cmake/FindOpenGL.cmake diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 434bb834a0..b0d7e80e55 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -71,6 +71,14 @@ option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) option(develop "Use a devleopment configuration" ON ) +# if cmake install prefix is not set, and conda env is activated, use the +# conda env as the install directory +if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") + set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) +endif() + +message("Installing in: ${CMAKE_INSTALL_PREFIX}") + # options only allow on/off but this flag is piped into ISIS as ENABLEJP2K # needs to be either 1 or 0 for C style true false if(JP2KFLAG) @@ -80,9 +88,11 @@ endif() # Prioritize passed in variables over env vars, probably a better way to do this if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) set(isis3Data $ENV{ISIS3DATA}) + set(isis3Data ON) endif() if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) set(isis3TestData $ENV{ISIS3TESTDATA}) + set(isis3TestData ON) endif() if(EXISTS ${isis3Data}) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 9664407eae..04b303e17b 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -4,45 +4,9 @@ # go looking for them if they are not? #=============================================================================== -message("CONDA PREFIX: $ENV{CONDA_PREFIX}") +message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) -# Add search USGS maintained libraries -list(APPEND CMAKE_INCLUDE_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/objects/ - /usgs/pkgs/local/v007/include/googleprotobuf/protobuf2.6.1/ - /usgs/pkgs/local/v007/include/xercesc/xercesc3.1.2/ - /usgs/pkgs/local/v007/include/tiff/tiff4.0.5/ - /usr/lib64/ -) - -set(CMAKE_PREFIX_PATH - /usgs/pkgs/local/v007/include/ - /usgs/pkgs/local/v007/bin/ - /usgs/pkgs/local/v007/lib/ - /usgs/pkgs/local/v007/libexec/ - /opt/usgs/v007/ports/Library/Frameworks/ - /opt/usgs/v007/ports/libexec/ - /opt/usgs/v007/ports/bin/ - /opt/usgs/v007/ports/lib/ - /opt/usgs/v007/ports/include/ - /opt/usgs/v007/ports/libexec/qt5 - /opt/usgs/v007/ports/libexec/qt5/bin/ - /opt/usgs/v007/ports/libexec/qt5/lib/ - /opt/usgs/v007/3rdparty/bin - /opt/usgs/v007/3rdparty/include/ - /opt/usgs/v007/3rdparty/lib/ - /opt/usgs/v007/proprietary/ - /opt/usgs/v007/proprietary/include/ - /opt/usgs/v007/proprietary/lib/ - /usr/lib/ - /usr/lib64/ - /usr/local/lib/ -) - # Add thirdPartyCppFlags set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") @@ -61,86 +25,28 @@ find_program(MOC moc REQUIRED) find_program(RCC rcc REQUIRED) find_program(PROTOC protoc REQUIRED) -if(APPLE) - find_package(Qt5 COMPONENTS - Core - Concurrent - # DBus - Gui - Multimedia - MultimediaWidgets - Network - OpenGL # Needed to install mesa-common-dev for this! - # Positioning - PrintSupport - Qml - Quick - Script - ScriptTools - # Sensors - Sql - Svg - Test - WebChannel - #WebKit - #WebKitWidgets - Widgets - Xml - XmlPatterns REQUIRED) -else() # oh god why - find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) - find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) - find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) - find_path(QT5_GUI_INCLUDE_DIR NAMES qpainter.h PATH_SUFFIXES qt/qt5.7.1/QtGui) - find_path(QT5_MULTIMEDIA_INCLUDE_DIR NAMES qmediacontent.h PATH_SUFFIXES qt/qt5.7.1/QtMultimedia) - find_path(QT5_MULTIMEDIAWIDGETS_INCLUDE_DIR NAMES qvideowidget.h PATH_SUFFIXES qt/qt5.7.1/QtMultimediaWidgets) - find_path(QT5_NETWORK_INCLUDE_DIR NAMES qsslsocket.h PATH_SUFFIXES qt/qt5.7.1/QtNetwork) - find_path(QT5_OPENGL_INCLUDE_DIR NAMES qtopenglglobal.h PATH_SUFFIXES qt/qt5.7.1/QtOpenGL) - find_path(QT5_POSITIONING_INCLUDE_DIR NAMES qgeocoordinate.h PATH_SUFFIXES qt/qt5.7.1/QtPositioning) - find_path(QT5_PRINTSUPPORT_INCLUDE_DIR NAMES qprinter.h PATH_SUFFIXES qt/qt5.7.1/QtPrintSupport) - find_path(QT5_QML_INCLUDE_DIR NAMES qqmlinfo.h PATH_SUFFIXES qt/qt5.7.1/QtQml) - find_path(QT5_QUICK_INCLUDE_DIR NAMES qquickview.h PATH_SUFFIXES qt/qt5.7.1/QtQuick) -# find_path(QT5_SCRIPT_INCLUDE_DIR NAMES qscriptengine.h PATH_SUFFIXES qt/qt5.7.1/QtScript) -#find_path(QT5_SCRIPTTOOLS_INCLUDE_DIR NAMES qtscripttoolsversion.h PATH_SUFFIXES qt/qt5.7.1/QtScriptTools) - find_path(QT5_SENSORS_INCLUDE_DIR NAMES qgyroscope.h PATH_SUFFIXES qt/qt5.7.1/QtSensors) - find_path(QT5_SQL_INCLUDE_DIR NAMES qsql.h PATH_SUFFIXES qt/qt5.7.1/QtSql) - find_path(QT5_SVG_INCLUDE_DIR NAMES qsvgwidget.h PATH_SUFFIXES qt/qt5.7.1/QtSvg) - find_path(QT5_TEST_INCLUDE_DIR NAMES qtest.h PATH_SUFFIXES qt/qt5.7.1/QtTest) - find_path(QT5_WEBCHANNEL_INCLUDE_DIR NAMES qwebchannel.h PATH_SUFFIXES qt/qt5.7.1/QtWebChannel) - find_path(QT5_WEBENGINE_INCLUDE_DIR NAMES qtwebengineglobal.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngine) - find_path(QT5_WEBENGINEWIDGETS_INCLUDE_DIR NAMES qwebenginescript.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngineWidgets) - find_path(QT5_WIDGETS_INCLUDE_DIR NAMES qwidget.h PATH_SUFFIXES qt/qt5.7.1/QtWidgets) - find_path(QT5_XML_INCLUDE_DIR NAMES qxml.h PATH_SUFFIXES qt/qt5.7.1/QtXml) - find_path(QT5_XMLPATTERNS_INCLUDE_DIR NAMES qtxmlpatternsglobal.h PATH_SUFFIXES qt/qt5.7.1/QtXmlPatterns) - - get_filename_component(QT5_ROOT_INCLUDE_DIR "${QT5_CORE_INCLUDE_DIR}" DIRECTORY) - - find_library(QT5_CORE_LIBRARY NAMES Qt5Core) - find_library(QT5_CONCURRENT_LIBRARY NAMES Qt5Concurrent) - find_library(QT5_DBUS_LIBRARY NAMES Qt5DBus) - find_library(QT5_GUI_LIBRARY NAMES Qt5Gui) - find_library(QT5_MULTIMEDIA_LIBRARY NAMES Qt5Multimedia) - find_library(QT5_MULTIMEDIAWIDGETS_LIBRARY NAMES Qt5MultimediaWidgets) - find_library(QT5_NETWORK_LIBRARY NAMES Qt5Network) - find_library(QT5_OPENGL_LIBRARY NAMES Qt5OpenGL) - find_library(QT5_POSITIONING_LIBRARY NAMES Qt5Positioning) - find_library(QT5_PRINTSUPPORT_LIBRARY NAMES Qt5PrintSupport) - find_library(QT5_QML_LIBRARY NAMES Qt5Qml) - find_library(QT5_QUICK_LIBRARY NAMES Qt5Quick) - find_library(QT5_SCRIPT_LIBRARY NAMES Qt5Script) - find_library(QT5_SCRIPTTOOLS_LIBRARY NAMES Qt5ScriptTools) - find_library(QT5_SENSORS_LIBRARY NAMES Qt5Sensors) - find_library(QT5_SQL_LIBRARY NAMES Qt5Sql) - find_library(QT5_SVG_LIBRARY NAMES Qt5Svg) - find_library(QT5_TEST_LIBRARY NAMES Qt5Test) - find_library(QT5_WEBCHANNEL_LIBRARY NAMES Qt5WebChannel) - find_library(QT5_WEBENGINE_LIBRARY NAMES Qt5WebEngine) - find_library(QT5_WEBENGINECORE_LIBRARY NAMES Qt5WebEngineCore) - find_library(QT5_WEBENGINEWIDGETS_LIBRARY NAMES Qt5WebEngineWidgets) - find_library(QT5_WIDGETS_LIBRARY NAMES Qt5Widgets) - find_library(QT5_XML_LIBRARY NAMES Qt5Xml) - find_library(QT5_XMLPATTERNS_LIBRARY NAMES Qt5XmlPatterns) -endif(APPLE) +find_package(Qt5 COMPONENTS + Core + Concurrent + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + PrintSupport + Qml + Quick + Script + ScriptTools + Sql + Svg + Test + WebChannel + #WebKit + #WebKitWidgets + Widgets + Xml + XmlPatterns REQUIRED) # Some of these will have non-traditional installs with version numbers in the paths in v007 # For these, we pass in a version number, and use it in the path suffix @@ -170,15 +76,12 @@ find_package(X11 6 REQUIRED) find_package(nanoflann REQUIRED) find_package(PNG REQUIRED) find_package(Kakadu) +find_package(Geos 3.5.0 REQUIRED) -# v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) - find_package(Geos 3.5.0 REQUIRED) find_package(OpenGL REQUIRED) -else(APPLE) - find_package(Geos 3.5.1 REQUIRED) endif(APPLE) get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES @@ -193,8 +96,6 @@ endforeach() foreach (_variableName ${_variableNames}) if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES "^BULLET$") - # We need to skip Bullet since the order needs to be very specific elseif (_variableName MATCHES ".+_LIB$") list(APPEND ALLLIBS "${${_variableName}}") elseif (_variableName MATCHES ".+_LIBRARY$") @@ -204,17 +105,6 @@ foreach (_variableName ${_variableNames}) endif() endforeach() -list(APPEND ALLLIBS "${BULLET_OPENCL_LIBRARY}") -list(APPEND ALLLIBS "${BULLET3_COMMON_LIBRARY}") -list(APPEND ALLLIBS "${BULLET3_GEOMETRY_LIBRARY}") -list(APPEND ALLLIBS "${BULLET_SOFTBODY_LIBRARY}") -list(APPEND ALLLIBS "${BULLET_DYNAMICS_LIBRARY}") -list(APPEND ALLLIBS "${BULLET3_3DYNAMICS_LIBRARY}") -list(APPEND ALLLIBS "${BULLET_INVERSEDYNAMICS_LIBRARY}") -list(APPEND ALLLIBS "${BULLET_COLLISION_LIBRARY}") -list(APPEND ALLLIBS "${BULLET3_3COLLISION_LIBRARY}") -list(APPEND ALLLIBS "${BULLET3_LINEARMATH_LIBRARY}") - foreach (_variableName ${_variableNames}) get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) if (_variableName MATCHES "^CMAKE+") diff --git a/isis/cmake/FindOpenGL.cmake b/isis/cmake/FindOpenGL.cmake deleted file mode 100644 index e7329ad920..0000000000 --- a/isis/cmake/FindOpenGL.cmake +++ /dev/null @@ -1,27 +0,0 @@ -# CMake module for find_package(OpenGL) -# Finds include directory and all applicable libraries -# -# Sets the following: -# KAKADU_INCLUDE_DIR -# KAKADU_A_LIBRARY -# KAKADU_V_LIBRARY - -find_path(OPENGL_INCLUDE_DIR - NAME gl.h - PATH_SUFFIXES GL - HINTS GL -) - -find_library(GL_LIBRARY - NAMES GL -) - -find_library(GLU_LIBRARY - NAMES GLU -) - -message( "-- OPENGL INCLUDE DIR: ${OPENGL_INCLUDE_DIR}") -message( "-- OPENGL LIB: ${GL_LIBRARY}") -message( "-- OPENGLU LIB: ${GLU_LIBRARY}") - -get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/InstallThirdParty.cmake b/isis/cmake/InstallThirdParty.cmake index c4e5c55082..209b3610a6 100644 --- a/isis/cmake/InstallThirdParty.cmake +++ b/isis/cmake/InstallThirdParty.cmake @@ -11,8 +11,7 @@ function(install_third_party_libs) # Loop through all the library files in our list foreach(library ${ALLLIBS}) - get_filename_component(extension ${library} EXT) - if ("${extension}" STREQUAL ".so" OR "${extension}" STREQUAL ".dylib" ) + if (EXISTS ${library}) #get path to library in libararypath get_filename_component(librarypath ${library} PATH) diff --git a/isis/cmake/TestSetup.cmake b/isis/cmake/TestSetup.cmake index 16f08c890f..25c658fa3b 100644 --- a/isis/cmake/TestSetup.cmake +++ b/isis/cmake/TestSetup.cmake @@ -58,6 +58,7 @@ macro(add_makefile_test_target testName makeFile inputDir outputDir truthDir) -DTRUTH_DIR=${truthDir} -DBIN_DIR=${CMAKE_BINARY_DIR}/bin -P ${thisFolder}/RunMakeFileTest.cmake) + set_tests_properties(${testName} PROPERTIES LABELS "app") endmacro() @@ -78,4 +79,6 @@ macro(add_unit_test_target testFile truthFile) -DDATA_ROOT=$ENV{ISIS3DATA} -DCODE_ROOT=${PROJECT_SOURCE_DIR} -P ${thisFolder}/RunUnitTest.cmake) + + set_tests_properties(${testName} PROPERTIES LABELS "unit") endmacro() -- GitLab From 25d06130e427c87ec3c4dc4c3edc85fe5342cb44 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 20:35:46 -0700 Subject: [PATCH 0164/1212] removing third party install --- isis/CMakeLists.txt | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index b0d7e80e55..cee097e120 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -210,18 +210,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/make DESTINATION ${CMAKE_INSTALL_PREFIX}) add_subdirectory(src objects) # Set up third party libraries for installation -install_third_party() - -# # Create a link from the build/objects directory to each folder in 3rdPartyLibs/plugins. -# # - This is required so that the plugins can be found during unit tests. -# # TIP: Set "export QT_DEBUG_PLUGINS=1" to help debug plugin errors. -# foreach(plugin ${THIRDPARTYPLUGINFOLDERS}) -# get_filename_component(pluginName ${plugin} NAME) -# if(NOT EXISTS ${CMAKE_BINARY_DIR}/lib/${pluginName}) -# execute_process(COMMAND ln -s "${plugin}" ${pluginName} -# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/lib") -# endif() -# endforeach() +# install_third_party() # Set up documentation build target. # - This script is called by running "make docs". -- GitLab From 0ffef397c0b21433450c0d273d3f899958b6a6ed Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 20:38:54 -0700 Subject: [PATCH 0165/1212] removed OSX RPATH fixing scripts --- isis/scripts/finalizeInstalledOsxRpaths.py | 120 --------------------- isis/scripts/fixOsxRpaths.py | 107 ------------------ 2 files changed, 227 deletions(-) delete mode 100644 isis/scripts/finalizeInstalledOsxRpaths.py delete mode 100644 isis/scripts/fixOsxRpaths.py diff --git a/isis/scripts/finalizeInstalledOsxRpaths.py b/isis/scripts/finalizeInstalledOsxRpaths.py deleted file mode 100644 index e1b644400c..0000000000 --- a/isis/scripts/finalizeInstalledOsxRpaths.py +++ /dev/null @@ -1,120 +0,0 @@ -# -# ''' This script will replace all "long" library paths such as -# @rpath/a/long/path/libExample.dylib with shortened paths such as -# @rpath/libExample.dylib. It does not change the rpaths themselves, -# just the references to them. -# ''' -# -# import os, sys, subprocess, stat -# -# def fixOneFile(inputPath, resetRpath): -# '''Correct a single file''' -# -# # Get list of libraries loaded by this library -# cmd = ['otool', '-l', inputPath] -# p = subprocess.Popen(cmd, stdout=subprocess.PIPE) -# otoolOutput, err = p.communicate() -# -# #print otoolOutput -# -# # Search for abs paths to the USGS hard coded location -# needRpath = False -# lines = [l.decode('utf-8') for l in otoolOutput.split()] -# numUpdates = 0 -# for line in lines: -# -# # Keep track of whether the next change step is for an ID or a LOAD operation. -# if line == 'LC_ID_DYLIB': -# idLine = True -# if line == 'LC_LOAD_DYLIB': -# idLine = False -# -# # Only change lines containing @rpath -# if '@rpath' not in line: -# continue -# -# # Trim off just the library name and prepend @rpath -# #print line -# if 'framework' in line: # Need whole framework part -# posF = line.rfind('framework') -# pos = line.rfind('/', 0, posF) -# else: # Simple case -# pos = line.rfind('/') -# end = line[pos:] -# -# #print 'CROPPED: ' + end -# #continue -# -# newPath = '@rpath' + end -# -# if newPath == line: # Skip already correct lines -# continue -# -# # Replace the line -# if idLine: # Handle LC_ID_DYLIB lines -# cmd = ' '.join(['install_name_tool', '-id', newPath, inputPath]) -# else: # Handle LC_LOAD_DYLIB lines -# cmd = ' '.join(['install_name_tool', '-change', line, newPath, inputPath]) -# #print cmd -# os.system(cmd) -# numUpdates += 1 -# -# # TODO: Delete any existing rpaths to keep things clean! -# # If this option is set, reset the RPATH to look only in the local folder. -# if resetRpath: -# cmd = 'install_name_tool -add_rpath ./ ' + inputPath -# #print cmd -# os.system(cmd) -# numUpdates += 1 -# -# return numUpdates -# -# def main(): -# '''Main program corrects all files in a folder''' -# -# # Check input arguments -# usage = 'python finalizeInstalledOsxRpaths.py folder [resetRpath]' -# if len(sys.argv) < 2: -# print(usage) -# return -1 -# -# inputFolder= sys.argv[1] -# resetRpath = False -# if len(sys.argv) == 3: -# resetRpath = True -# if not os.path.exists(inputFolder): -# print ('Input folder '+inputFolder+' does not exist!') -# return -1 -# -# # Fix all of the .dylib files in the given folder -# files = os.listdir(inputFolder) -# for f in files: -# -# if '.plugin' in f: -# continue -# -# fullPath = os.path.join(inputFolder, f) -# -# isBinary = (os.path.isfile(fullPath) and (stat.S_IXUSR & os.stat(fullPath)[stat.ST_MODE])) -# isLib = ('.dylib' in f) -# isFrame = 'framework' in f -# -# # Dig into framework folders to correct the rpaths in the underlying lib file -# if isFrame: -# name = f.replace('.framework', '') -# path = f+'/Versions/Current/'+name -# fullPath = os.path.join(inputFolder, path) -# isLib = True -# -# if isBinary or isLib: -# #print fullPath -# numUpdates = fixOneFile(fullPath, resetRpath) -# if numUpdates > 0: -# print (f + ' --> ' + str(numUpdates) + ' changes made.') -# #raise Exception('DEBUG') -# -# -# -# # Execute main() when called from command line -# if __name__ == "__main__": -# sys.exit(main()) diff --git a/isis/scripts/fixOsxRpaths.py b/isis/scripts/fixOsxRpaths.py deleted file mode 100644 index df4085857e..0000000000 --- a/isis/scripts/fixOsxRpaths.py +++ /dev/null @@ -1,107 +0,0 @@ -# -# # TODO: Clean up this file! -# -# import os, sys, subprocess -# -# # Constants -# -# -# libFolders = ['/Users/smcmich1/isis_cmake/opt/usgs/v006/3rdParty/lib', -# '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/lib', -# '/Users/smcmich1/isis_cmake/opt/usgs/v006/ports/libexec'] -# #individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore'] -# -# qtLibs = ('QtXmlPatterns QtXml QtNetwork '+ -# 'QtSql QtGui QtCore QtSvg '+ -# 'QtTest QtWebKit QtOpenGL '+ -# 'QtConcurrent QtDBus '+ -# 'QtMultimedia QtMultimediaWidgets '+ -# 'QtNfc QtPositioning QtPrintSupport '+ -# 'QtQml QtQuick QtQuickParticles '+ -# 'QtQuickTest QtQuickWidgets QtScript '+ -# 'QtScriptTools QtSensors QtSerialPort '+ -# 'QtWebKitWidgets QtWebSockets QtWidgets '+ -# 'QtTest QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineWidgets').split() -# individualLibs = ['/Users/smcmich1/isis_cmake//opt/usgs/v006/ports/libexec/qt5/lib/'+x+'.framework/Versions/5/'+x for x in qtLibs] -# print individualLibs -# -# usgFolder = '/opt/usgs/v006/' -# -# rpathFolder = '/Users/smcmich1/isis_cmake/' -# ignoreFolder = '/Users/smcmich1/isis_cmake/' -# -# -# # Process one file -# -# def fixFile(fullPath, libName): -# '''Fix the paths of a single library file''' -# -# # Get list of libraries loaded by this library -# cmd = ['otool', '-l', fullPath] -# p = subprocess.Popen(cmd, stdout=subprocess.PIPE) -# otoolOutput, err = p.communicate() -# -# #print otoolOutput -# -# # Search for abs paths to the USGS hard coded location -# needRpath = False -# lines = otoolOutput.split() -# for line in lines: -# -# # Some lines need to be skipped -# if (usgFolder not in line) or (ignoreFolder in line) or ('@rpath' in line): -# continue -# -# needRpath = True -# -# # Set up the command to fix this line -# if libName in line: # Hande LC_ID_DYLIB lines -# cmd = ' '.join(['install_name_tool', '-id', '@rpath'+line, fullPath]) -# else: # Handle LC_LOAD_DYLIB lines -# cmd = ' '.join(['install_name_tool', '-change', line, '@rpath'+line, fullPath]) -# print cmd -# os.system(cmd) -# -# # If any paths were changed, add the rpath. -# if needRpath: -# # Make sure this rpath is not there -# cmd = ' '.join(['install_name_tool', '-delete_rpath', '/opt/usgs/v006/ports/lib', fullPath]) -# print cmd -# os.system(cmd) -# # Add the correct rpath -# cmd = ' '.join(['install_name_tool', '-add_rpath', rpathFolder, fullPath]) -# print cmd -# os.system(cmd) -# print 'Fixed file ' + fullPath -# -# # Main function -# -# for folder in libFolders: -# -# libs = os.listdir(folder) -# for lib in libs: -# -# # Only modify .dylib files -# if 'dylib' not in lib: -# continue -# -# # Get the full path -# fullPath = os.path.join(folder, lib) -# #print lib -# -# fixFile(fullPath, lib) -# -# -# for fullPath in individualLibs: -# -# ## Only modify .dylib files -# #if 'dylib' not in lib: -# # continue -# -# # Get the full path -# libName = os.path.basename(fullPath) -# #print lib -# -# fixFile(fullPath, libName) -# -# print 'Finished modifying files!' -- GitLab From 81e114438bf7ded165e5d261d8e4ac4a59cb8751 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 21:12:58 -0700 Subject: [PATCH 0166/1212] added labels for modules and app vs unit tests --- isis/cmake/AddIsisModule.cmake | 10 +++++++--- isis/cmake/TestSetup.cmake | 5 ++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 7f7e187e0d..844e65d758 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -79,7 +79,7 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) endforeach() # Generate a name for the executable - set(executableName "${moduleName}_unit_test_${filename}") + set(executableName "unitTest_${filename}") # Create the executable and link it to the module library add_executable( ${executableName} ${testFile}) @@ -87,7 +87,7 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) target_link_libraries(${executableName} ${moduleName} ${depLibs}) # Call function to add the test - add_unit_test_target(${executableName} ${truthFile}) + add_unit_test_target(${executableName} ${truthFile} ${moduleName}) endfunction(make_obj_unit_test) @@ -271,7 +271,11 @@ function(add_isis_module name) foreach(val RANGE ${numTests}) list(GET unitTestFiles ${val} testFile ) list(GET truthFiles ${val} truthFile) - make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") + if(name STREQUAL "isis3") + make_obj_unit_test("core" ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") + else() + make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") + endif() endforeach() endif() diff --git a/isis/cmake/TestSetup.cmake b/isis/cmake/TestSetup.cmake index 25c658fa3b..c3c3e202b1 100644 --- a/isis/cmake/TestSetup.cmake +++ b/isis/cmake/TestSetup.cmake @@ -64,7 +64,7 @@ endmacro() # Add a class based unit test with an executable and a truth file. -macro(add_unit_test_target testFile truthFile) +macro(add_unit_test_target testFile truthFile labels) set(thisFolder "${PROJECT_SOURCE_DIR}/cmake") set(fullTestPath "${CMAKE_BINARY_DIR}/unitTest/${testFile}") # The binary that the script will execute @@ -79,6 +79,5 @@ macro(add_unit_test_target testFile truthFile) -DDATA_ROOT=$ENV{ISIS3DATA} -DCODE_ROOT=${PROJECT_SOURCE_DIR} -P ${thisFolder}/RunUnitTest.cmake) - - set_tests_properties(${testName} PROPERTIES LABELS "unit") + set_tests_properties(${testName} PROPERTIES LABELS "unit;${labels}") endmacro() -- GitLab From 4595caeb2b661b649fb9d15fbc5cc33fce0aeb26 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 21:20:17 -0700 Subject: [PATCH 0167/1212] typo, core->base --- isis/cmake/AddIsisModule.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 844e65d758..3e0b89a7ac 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -271,8 +271,9 @@ function(add_isis_module name) foreach(val RANGE ${numTests}) list(GET unitTestFiles ${val} testFile ) list(GET truthFiles ${val} truthFile) + if(name STREQUAL "isis3") - make_obj_unit_test("core" ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") + make_obj_unit_test("base" ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") else() make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") endif() -- GitLab From 9769a235a8ada58bc44377c8061da01200bcba60 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 21 Mar 2018 23:22:19 -0700 Subject: [PATCH 0168/1212] turns out changing isis3 module name to base was not a good idea --- isis/cmake/AddIsisModule.cmake | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index 3e0b89a7ac..aa403db34f 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -79,7 +79,7 @@ function(make_obj_unit_test moduleName testFile truthFile reqLibs pluginLibs) endforeach() # Generate a name for the executable - set(executableName "unitTest_${filename}") + set(executableName "${moduleName}_unit_test_${filename}") # Create the executable and link it to the module library add_executable( ${executableName} ${testFile}) @@ -272,11 +272,7 @@ function(add_isis_module name) list(GET unitTestFiles ${val} testFile ) list(GET truthFiles ${val} truthFile) - if(name STREQUAL "isis3") - make_obj_unit_test("base" ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") - else() - make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") - endif() + make_obj_unit_test(${name} ${testFile} ${truthFile} "${reqLibs}" "${pluginLibs}") endforeach() endif() -- GitLab From 0797b6f6bd4e4f514e3f0158a65b427c81f812d1 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 09:25:30 -0700 Subject: [PATCH 0169/1212] PROG: Added capability to display either csv or text files. Fixed problem for display of multi-line headers for csv files. Set SectionResizeMode to QHeaderView::ResizeToContents so columns are displayed at the width of the maximum size of the column content. --- .../BundleObservationView.cpp | 164 +++++++++++++----- .../BundleObservationView.h | 12 +- 2 files changed, 132 insertions(+), 44 deletions(-) diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp index cb3f0ec51c..ecaddc5578 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp @@ -30,71 +30,117 @@ #include #include #include +#include #include #include - namespace Isis { - - /** - * Creates a view showing the CSV file from BundleObservation. + * Creates a view showing the CSV or text files from BundleSolutionInfo. * - * @param FileItemQsp fileItem QSharedPointer to the fileItem from the ProjectItemModel + * @param FileItemQsp fileItem QSharedPointer to the fileItem from the ProjectItemModel */ BundleObservationView::BundleObservationView(FileItemQsp fileItem, QWidget *parent): AbstractProjectItemView(parent) { - QStandardItemModel *model = new QStandardItemModel; - QFile file(fileItem->fileName()); + if (fileItem->fileName().contains(".csv")) { + displayCsvFile(fileItem); + } + else if (fileItem->fileName().contains(".txt")) { + displayTextFile(fileItem); + } + } - if (file.open(QIODevice::ReadOnly)) { - int lineindex = 0; // file line counter - QTextStream in(&file); // read to text stream + /** + * Creates a view showing the CSV file from BundleSolutionInfo. + * + * @param FileItemQsp fileItem QSharedPointer to the fileItem from the ProjectItemModel + */ + void BundleObservationView::displayCsvFile(FileItemQsp fileItem) { + QStandardItemModel *model = new QStandardItemModel; - while (!in.atEnd()) { + if (!QFile::exists(fileItem->fileName())) { + return; + } - // read one line from textstream(separated by "\n") - QString fileLine = in.readLine(); + QFile file(fileItem->fileName()); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + return; + } + + int numHeaderLines = 3; + if (fileItem->fileName().contains("images")) { + numHeaderLines = 2; + } - // parse the read line into separate pieces(tokens) with "," as the delimiter - QStringList lineToken = fileLine.split(",", QString::SkipEmptyParts); + QTextStream in(&file); // read to text stream + + // read and populate header from first two or three lines + QString header1; + QString header2; + QString header3; + QStringList lineToken1; + QStringList lineToken2; + QStringList lineToken3; + + header1 = in.readLine(); + lineToken1 = header1.split(","); + header2 = in.readLine(); + lineToken2 = header2.split(","); + + if (numHeaderLines == 2) { + for (int i = 0; i < lineToken1.size(); i++) { + QString t1 = lineToken1.at(i); + QString t2 = lineToken2.at(i); + QString head = t1 + "\n" + t2; + QStandardItem *v1 = new QStandardItem(head); + model->setHorizontalHeaderItem(i,v1); + } + } + if (numHeaderLines == 3) { + header3 = in.readLine(); + lineToken3 = header3.split(","); + + for (int i = 0; i < lineToken1.size(); i++) { + QString t1 = lineToken1.at(i); + QString t2 = lineToken2.at(i); + QString t3 = lineToken3.at(i); + QString head = t1 + "\n" + t2 + "\n" + t3; + QStandardItem *v1 = new QStandardItem(head); + model->setHorizontalHeaderItem(i,v1); + } + } - // load parsed data to model accordingly - for (int j = 0; j < lineToken.size(); j++) { - QString value = lineToken.at(j); + // populate remainder of table + int lineindex = 0; + while (!in.atEnd()) { + QString fileLine = in.readLine(); - // First 2 lines are header, load into model header data - if (lineindex < 2) { - //qDebug()<<"header = "<setHeaderData(j, Qt::Horizontal, value); - //qDebug()<<"header = "<setHorizontalHeaderItem(j,v1); - //model->setHeaderData(j, Qt::Horizontal, value); - } - else { - QStandardItem *item = new QStandardItem(value); - model->setItem(lineindex, j, item); - } - } + // load parsed data to model accordingly + for (int i = 0; i < lineToken.size(); i++) { + QString value = lineToken.at(i); - lineindex++; + QStandardItem *item = new QStandardItem(value); + model->setItem(lineindex, i, item); } - - file.close(); + lineindex++; } + file.close(); + QTableView *qtable=new QTableView(); qtable->setModel(model); qtable->setSortingEnabled(true); - - QHeaderView *headerView = qtable->horizontalHeader(); - headerView->setStretchLastSection(true); + + // resizes to contents based on entire column + // NOTE: QHeaderView::ResizeToContents does not allow user to resize by dragging column divider + qtable->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); QVBoxLayout *layout = new QVBoxLayout; setLayout(layout); @@ -104,17 +150,53 @@ namespace Isis { policy.setHorizontalPolicy(QSizePolicy::Expanding); policy.setVerticalPolicy(QSizePolicy::Expanding); setSizePolicy(policy); - } + } /** - * Destructor + * Creates a view showing a text file from BundleSolutionInfo. + * + * @param FileItemQsp fileItem QSharedPointer to the fileItem from the ProjectItemModel */ - BundleObservationView::~BundleObservationView() { + void BundleObservationView::displayTextFile(FileItemQsp fileItem) { + + if (!QFile::exists(fileItem->fileName())) { + return; + } + + QFile file(fileItem->fileName()); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + return; + } + + QTextStream in(&file); + QTextEdit *qText=new QTextEdit(); + qText->setFontFamily("Courier"); + + while (!in.atEnd()) { + qText->append(in.readLine()); + } + + file.close(); + + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); + layout->addWidget(qText); + + qText->moveCursor(QTextCursor::Start); + QSizePolicy policy = sizePolicy(); + policy.setHorizontalPolicy(QSizePolicy::Expanding); + policy.setVerticalPolicy(QSizePolicy::Expanding); + setSizePolicy(policy); } + /** + * Destructor + */ + BundleObservationView::~BundleObservationView() { + } } diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h index 2a5b0f267f..c7a01c93e8 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h @@ -22,7 +22,6 @@ */ #include "AbstractProjectItemView.h" - #include "FileItem.h" namespace Isis{ @@ -36,8 +35,12 @@ namespace Isis{ * @internal * @history 2017-05-01 Tyler Wilson - Original version. * @history 2017-05-05 Tracie Sucharski - Changed for the serialization of BundleObservation - * files. This was implemented create a new ProjectItem type called + * files. This was implemented create a new ProjectItem type called * FileItemQsp. Fixes #4839, #4840. + * @history 2018-03-21 Ken Edmundson - Added capability to display either csv or text files. + * Fixed problem for display of multi-line headers for csv files. + * Set SectionResizeMode to QHeaderView::ResizeToContents so columns are + * displayed at the width of the maximum size of the column content. */ class BundleObservationView : public AbstractProjectItemView @@ -45,8 +48,11 @@ namespace Isis{ Q_OBJECT public: BundleObservationView(FileItemQsp fileItem, QWidget *parent=0); - //BundleObservationView(const BundleObservationView &other); ~BundleObservationView(); + + private: + void displayCsvFile(FileItemQsp fileItem); + void displayTextFile(FileItemQsp fileItem); }; } #endif -- GitLab From a3875f0c08be1ce350c30dda595eff3909b55889 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 09:48:26 -0700 Subject: [PATCH 0170/1212] PROG: 1) Temporarily set default for m_createInverseMatrix to false. This is for creating and displaying the correlation matrix, which is currently not working; 2) commented out hdf5 header includes in cpp as we are not using --- isis/src/control/objs/BundleSettings/BundleSettings.cpp | 9 +++++---- isis/src/control/objs/BundleSettings/BundleSettings.h | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/isis/src/control/objs/BundleSettings/BundleSettings.cpp b/isis/src/control/objs/BundleSettings/BundleSettings.cpp index 7434226a2a..313432dcbb 100644 --- a/isis/src/control/objs/BundleSettings/BundleSettings.cpp +++ b/isis/src/control/objs/BundleSettings/BundleSettings.cpp @@ -10,9 +10,10 @@ #include #include -#include -#include -#include +// NOTE: Ken Edmundson - not using hdf5 and may not +//#include +//#include +//#include #include "BundleObservationSolveSettings.h" //#include "FileName.h"currently only used in commented code @@ -52,7 +53,7 @@ namespace Isis { m_solveRadius = false; m_updateCubeLabel = false; m_errorPropagation = false; - m_createInverseMatrix = true; + m_createInverseMatrix = false; m_outlierRejection = false; m_outlierRejectionMultiplier = 1.0; diff --git a/isis/src/control/objs/BundleSettings/BundleSettings.h b/isis/src/control/objs/BundleSettings/BundleSettings.h index 3475474b7f..88db2ff4c7 100644 --- a/isis/src/control/objs/BundleSettings/BundleSettings.h +++ b/isis/src/control/objs/BundleSettings/BundleSettings.h @@ -101,6 +101,11 @@ namespace Isis { * @history 2016-10-17 Jesse Mapel - Removed m_SCPVLFilename parameter in accordance with * USEPVL being removed from jigsaw. References #4316. * @history 2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797. + * @history 2018-03-20 Ken Edmundson + * 1) Temporarily set default for m_createInverseMatrix to false. This + * is for creating and displaying the correlation matrix, which is + * currently not working. + * 2) commented out hdf5 header includes in cpp * * @todo Determine which XmlStackedHandlerReader constructor is preferred * @todo Determine which XmlStackedHandler needs a Project pointer (see constructors) -- GitLab From b418ca2d68c86a38779a133954c959f1a6a6bd92 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 10:16:58 -0700 Subject: [PATCH 0171/1212] removed all hdf5 header includes --- isis/src/control/objs/BundleSettings/BundleSettings.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/isis/src/control/objs/BundleSettings/BundleSettings.cpp b/isis/src/control/objs/BundleSettings/BundleSettings.cpp index 313432dcbb..b2e9d2ab97 100644 --- a/isis/src/control/objs/BundleSettings/BundleSettings.cpp +++ b/isis/src/control/objs/BundleSettings/BundleSettings.cpp @@ -10,11 +10,6 @@ #include #include -// NOTE: Ken Edmundson - not using hdf5 and may not -//#include -//#include -//#include - #include "BundleObservationSolveSettings.h" //#include "FileName.h"currently only used in commented code #include "IException.h" -- GitLab From fca7243c7c4331e5d7eab60206c95af75e798b57 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:05:01 -0700 Subject: [PATCH 0172/1212] PROG: Modified m_controlMap value from QWidget to CnetEditorWidget. Added ability to view bundleout.txt file in method addBundleObservationView. Changed connection to take signal from a CnetEditorWidget instead of a QWidget for destruction of a CnetEditorWidget. --- isis/src/qisis/objs/Directory/Directory.cpp | 12 +++++++++--- isis/src/qisis/objs/Directory/Directory.h | 7 ++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index c7a2dafc82..569287a5f5 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -568,6 +568,11 @@ namespace Isis { QString str = fileItem->fileName(); + if (str.contains("bundleout")) { + result->setWindowTitle( tr("Summary"). + arg( m_bundleObservationViews.count() ) ); + result->setObjectName( result->windowTitle() ); + } if (str.contains("residuals")) { result->setWindowTitle( tr("Measure Residuals"). arg( m_bundleObservationViews.count() ) ); @@ -673,8 +678,9 @@ namespace Isis { mainWidget->pointTableView()->content()->setActiveControlNet(true); mainWidget->measureTableView()->content()->setActiveControlNet(true); } - connect( result, SIGNAL( destroyed(QObject *) ), - this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); + + connect(mainWidget, SIGNAL( destroyed(QObject *) ), + this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); // Connections for control point editing between views connect(mainWidget, SIGNAL(editControlPoint(ControlPoint *, QString)), @@ -692,7 +698,7 @@ namespace Isis { connect(this, SIGNAL(cnetModified()), mainWidget, SLOT(rebuildModels())); m_cnetEditorViewWidgets.append(mainWidget); - m_controlMap.insertMulti(network, result); + m_controlMap.insertMulti(network, mainWidget); result->setWindowTitle(title); result->setObjectName(title); diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 4f10a760e3..298095166f 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -206,6 +206,11 @@ namespace Isis { * projects. Fixes #5216. * @history 2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and * TemplateEditViewWorkOrder. Fixes #5168. + * @history 2018-03-22 Ken Edmundson - Modified m_controlMap value from QWidget to + * CnetEditorWidget. Added ability to view bundleout.txt file in method + * addBundleObservationView. Changed connection to take signal from + * a CnetEditorWidget instead of a QWidget for destruction of a + * CnetEditorWidget. */ class Directory : public QObject { Q_OBJECT @@ -458,7 +463,7 @@ namespace Isis { QList m_activeToolBarActions; //!< List of active ToolBar actions QList m_toolPadActions; //!< List of ToolPad actions - QMultiMap m_controlMap; //!< Map to hold every view with an open Control + QMultiMap m_controlMap; //!< Map to hold every view with an open Control QString m_editPointId; //!< Current control point that is in the ControlPointEditWidget -- GitLab From e0648c15c9904bb3bab08edd28fda67a396e4ad3 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:24:32 -0700 Subject: [PATCH 0173/1212] PROG: removed unwanted file AS15_16_test_bundleout_images.csv from BundleObservationView directory --- .../AS15_16_test_bundleout_images.csv | 8 -------- 1 file changed, 8 deletions(-) delete mode 100755 isis/src/qisis/objs/BundleObservationView/AS15_16_test_bundleout_images.csv diff --git a/isis/src/qisis/objs/BundleObservationView/AS15_16_test_bundleout_images.csv b/isis/src/qisis/objs/BundleObservationView/AS15_16_test_bundleout_images.csv deleted file mode 100755 index d80600ac85..0000000000 --- a/isis/src/qisis/objs/BundleObservationView/AS15_16_test_bundleout_images.csv +++ /dev/null @@ -1,8 +0,0 @@ -Image,rms,rms,rms,X,X,X,X,X,Y,Y,Y,Y,Y,Z,Z,Z,Z,Z,RA,RA,RA,RA,RA,DEC,DEC,DEC,DEC,DEC,TWIST,TWIST,TWIST,TWIST,TWIST, -Filename,sample res,line res,total res,Initial,Correction,Final,Apriori Sigma,Adj Sigma,Initial,Correction,Final,Apriori Sigma,Adj Sigma,Initial,Correction,Final,Apriori Sigma,Adj Sigma,Initial,Correction,Final,Apriori Sigma,Adj Sigma,Initial,Correction,Final,Apriori Sigma,Adj Sigma,Initial,Correction,Final,Apriori Sigma,Adj Sigma, -/work/projects/ApolloMetric/METRIC/Calibrated/AS15/SUB4_MSK_InstrumentStartTime/Sub4-AS15-M-1757_msk.cub,0.51845694436147,0.97524424269876,0.78099261714619,-1676.1866244276,0.3170026774516,-1675.8696217502,500.0,0.1690797492717,776.01842700262,0.18308214004334,776.20150914267,500.0,0.17709880748748,190.83692567603,0.67934738703117,191.51627306306,500.0,0.16934724936719,-114.81847479623,0.14786430851052,-114.67061048772,0.5,0.097887257746279,84.286744189607,0.14301001677591,84.429754206383,0.5,0.085518977881851,135.10580640169,-0.073755435116957,135.03205096657,0.5,0.10209077775713 -/work/projects/ApolloMetric/METRIC/Calibrated/AS15/SUB4_MSK_InstrumentStartTime/Sub4-AS15-M-1758_msk.cub,0.48914157340128,0.96409831563102,0.76444262081337,-1661.0556247296,0.24305052799097,-1660.8125742016,500.0,0.17883341616719,800.60462193458,0.26766384701447,800.87228578159,500.0,0.17894270116668,219.62524418461,0.81713498430798,220.44237916892,500.0,0.17548613324839,-115.68927691479,0.15112876410579,-115.53814815068,0.5,0.097663328471951,83.287864615961,0.14571379590631,83.433578411867,0.5,0.085317156538059,135.24236174012,-0.081063071500818,135.16129866862,0.5,0.10243445718908 -/work/projects/ApolloMetric/METRIC/Calibrated/AS15/SUB4_MSK_InstrumentStartTime/Sub4-AS15-M-1759_msk.cub,0.3234786200299,1.0445725353158,0.77323030177063,-1645.118297281,0.18547301310201,-1644.9328242679,500.0,0.20684835804294,824.80203432912,0.37787280348465,825.17990713261,500.0,0.20520137756462,248.30682152756,0.97427898916589,249.28110051673,500.0,0.20458947672359,-116.55201321842,0.1414520464547,-116.41056117197,0.5,0.097506040940435,82.310079123292,0.14270993562181,82.452789058913,0.5,0.085163168400858,135.38610126297,-0.069324655588454,135.31677660738,0.5,0.10281378780214 -/work/projects/ApolloMetric/METRIC/Calibrated/AS16/SUB4_MSK_NewStartTime/Sub4-AS16-M-0392_msk.cub,0.49188485000562,1.1397636203373,0.8777846592159,1747.0424536016,-0.25503937331921,1746.7874142282,500.0,0.18429641470036,633.3492820035,0.49395906374671,633.84324106725,500.0,0.1830184566499,81.070798243394,-0.49125912498146,80.579539118413,500.0,0.19512758266095,110.34149860419,0.3735945369789,110.71509314116,0.5,0.088850090823099,87.09334362033,-0.10691005392567,86.986433566404,0.5,0.094783462079425,-149.90233460871,-0.036238357509029,-149.93857296621,0.5,0.10327678221121 -/work/projects/ApolloMetric/METRIC/Calibrated/AS16/SUB4_MSK_NewStartTime/Sub4-AS16-M-0393_msk.cub,0.745496019873,1.1426404871033,0.96472576373138,1760.2742054268,-0.034511936246684,1760.2396934906,500.0,0.17301063061067,597.66419620361,0.45091683878255,598.11511304239,500.0,0.1749682885975,58.98892575481,-0.51847411988065,58.47045163493,500.0,0.17712241769798,109.18883286426,0.37607709864275,109.56490996291,0.5,0.088840587895256,87.796840611543,-0.09134753252743,87.705493079016,0.5,0.094319465492397,-149.84701529934,-0.033154227141492,-149.88016952649,0.5,0.10364410342365 -/work/projects/ApolloMetric/METRIC/Calibrated/AS16/SUB4_MSK_NewStartTime/Sub4-AS16-M-0394_msk.cub,0.57994567220543,1.0445737373178,0.84482876235478,1772.5152690217,0.19274695792245,1772.7080159796,500.0,0.18900862793942,561.64149498279,0.39235269508021,562.03384767787,500.0,0.19507829017625,36.873141324453,-0.50650471222111,36.366636612232,500.0,0.18962962942032,108.01512683489,0.38747308139741,108.40259991629,0.5,0.088957785858698,88.534523650897,-0.1083766713918,88.426146979505,0.5,0.093815486035816,-149.80439189401,-0.018129130140166,-149.82252102415,0.5,0.10404865355201 -- GitLab From 1615c5d1b3f1c153f972642e5d951adab4d3e4b7 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:30:46 -0700 Subject: [PATCH 0174/1212] PROG: Modified constructor taking a BundleSolutionInfo to append a row for a Control object containing the output control net from the bundle adjustment. --- isis/src/qisis/objs/ProjectItem/ProjectItem.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp b/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp index 50df8540ee..acca2e2ac7 100644 --- a/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp +++ b/isis/src/qisis/objs/ProjectItem/ProjectItem.cpp @@ -142,10 +142,7 @@ namespace Isis { setBundleSolutionInfo(bundleSolutionInfo); appendRow( new ProjectItem( bundleSolutionInfo->bundleSettings() ) ); - QString cNetFileName = bundleSolutionInfo->controlNetworkFileName(); - Control *control = new Control(cNetFileName); - appendRow( new ProjectItem(control) ); - + appendRow( new ProjectItem(bundleSolutionInfo->control()) ); appendRow( new ProjectItem( bundleSolutionInfo->bundleResults() ) ); appendRow( new ProjectItem( bundleSolutionInfo->adjustedImages() ) ); } -- GitLab From a01635bca44bee36773851faca5842e63f837a7d Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:36:08 -0700 Subject: [PATCH 0175/1212] PROG: Modified method onBundleSolutionInfoAdded to append the bundleoutput.txt (Summary) file to the BundleSolution Statistics node. Also changed the name of the Images node under Statistics to Image to prevent Import Images to appear on it's context menu. --- .../qisis/objs/ProjectItemModel/ProjectItemModel.cpp | 10 ++++++++-- .../src/qisis/objs/ProjectItemModel/ProjectItemModel.h | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.cpp b/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.cpp index 806cebafbb..091c7508c9 100644 --- a/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.cpp +++ b/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.cpp @@ -384,7 +384,13 @@ namespace Isis { ProjectItem *pItem = new ProjectItem(bundleSolutionInfo); resultsItem->appendRow( pItem ); - // Append the CSV files to the Statistics in the project + // Append text bundle summary and CSV files to the Statistics in the project + ProjectItem *bundleSummaryItem = new ProjectItem(FileItemQsp( + new FileItem(bundleSolutionInfo->savedBundleOutputFilename())), + "Summary", bundleSolutionInfo->savedBundleOutputFilename(), + QIcon(FileName("$base/icons/office-chart-pie.png") + .expanded())); + pItem->child(2)->appendRow(bundleSummaryItem); ProjectItem *residualsItem = new ProjectItem(FileItemQsp( new FileItem(bundleSolutionInfo->savedResidualsFilename())), "Measure Residuals", bundleSolutionInfo->savedResidualsFilename(), @@ -393,7 +399,7 @@ namespace Isis { pItem->child(2)->appendRow(residualsItem); ProjectItem *imagesItem = new ProjectItem(FileItemQsp( new FileItem(bundleSolutionInfo->savedImagesFilename())), - "Images", bundleSolutionInfo->savedImagesFilename(), + "Image", bundleSolutionInfo->savedImagesFilename(), QIcon(FileName("$base/icons/office-chart-pie.png") .expanded())); pItem->child(2)->appendRow(imagesItem); diff --git a/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.h b/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.h index 242f166cf9..820c7643b8 100644 --- a/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.h +++ b/isis/src/qisis/objs/ProjectItemModel/ProjectItemModel.h @@ -126,6 +126,10 @@ namespace Isis { * not clean. Fixes #5174. * @history 2017-11-03 Christopher Combs - Added support for new Template and TemplateList * classes. Fixes #5117. + * @history 2018-03-22 Ken Edmundson - Modified method onBundleSolutionInfoAdded to append the + * bundleoutput.txt (Summary) file to the BundleSolution Statistics + * node. Also changed the name of the Images node under Statistics to + * Image to prevent Import Images to appear on it's context menu. */ class ProjectItemModel : public QStandardItemModel { -- GitLab From 5f144b2b0da79072b5a8b83674afba7f23735b91 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:37:00 -0700 Subject: [PATCH 0176/1212] PROG: added history entry --- isis/src/qisis/objs/ProjectItem/ProjectItem.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/isis/src/qisis/objs/ProjectItem/ProjectItem.h b/isis/src/qisis/objs/ProjectItem/ProjectItem.h index fab1135a81..9c648e60c0 100644 --- a/isis/src/qisis/objs/ProjectItem/ProjectItem.h +++ b/isis/src/qisis/objs/ProjectItem/ProjectItem.h @@ -136,6 +136,9 @@ namespace Isis { * taking a BundleSolutionInfo. Fixes #4849. * @history 2017-11-03 Christopher Combs - Added support for new Template and TemplateList * classes. Fixes #5117. + * @history 2018-03-22 Ken Edmundson - Modified constructor taking a BundleSolutionInfo to + * append a row for a Control object containing the output control + * net from the bundle adjustment. * */ class ProjectItem : public QStandardItem { -- GitLab From 8b6bc1421b103b6ce90f25262f5d7a1d7958d132 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 11:40:42 -0700 Subject: [PATCH 0177/1212] PROG: Added 1) member variable m_inputControlNetFileName, accessor method, and serialization support. Also added input control net filename to constructor; 2) member variable m_outputControl, associated mutator/accessor, and serialization support; 3) member variable m_txtBundleOutputFilename and associated accessor for bundleout.txt file. --- .../BundleSolutionInfo/BundleSolutionInfo.cpp | 178 ++++++++++++++---- .../BundleSolutionInfo/BundleSolutionInfo.h | 35 +++- 2 files changed, 167 insertions(+), 46 deletions(-) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp index a0a83357b1..418a0913d5 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp @@ -10,6 +10,7 @@ #include #include "BundleResults.h" +#include "ControlList.h" #include "ControlMeasure.h" #include "ControlNet.h" #include "ControlPoint.h" @@ -39,19 +40,13 @@ namespace Isis { QList imgList, QObject *parent) : QObject(parent) { m_id = new QUuid(QUuid::createUuid()); - m_runTime = ""; - m_name = m_runTime; - - m_controlNetworkFileName = new FileName(controlNetworkFileName); - + m_inputControlNetFileName = new FileName(controlNetworkFileName); + m_outputControl = NULL; m_settings = inputSettings; - m_statisticsResults = new BundleResults(outputStatistics); - m_images = new QList(imgList); - m_adjustedImages = new QList; } @@ -70,7 +65,8 @@ namespace Isis { m_id = new QUuid(QUuid::createUuid()); m_runTime = ""; m_name = m_runTime; - m_controlNetworkFileName = NULL; + m_inputControlNetFileName = NULL; + m_outputControl = NULL; m_statisticsResults = NULL; // what about the rest of the member data ? should we set defaults ??? CREATE INITIALIZE METHOD m_images = new QList; @@ -90,14 +86,17 @@ namespace Isis { : m_id(new QUuid(QUuid::createUuid())), m_name(src.m_name), m_runTime(src.m_runTime), - m_controlNetworkFileName(new FileName(src.m_controlNetworkFileName->expanded())), + m_inputControlNetFileName(new FileName(src.m_inputControlNetFileName->expanded())), m_settings(new BundleSettings(*src.m_settings)), m_statisticsResults(new BundleResults(*src.m_statisticsResults)), m_images(new QList(*src.m_images)), m_adjustedImages(new QList(*src.m_adjustedImages)), + m_txtBundleOutputFilename(src.m_txtBundleOutputFilename), m_csvSavedImagesFilename(src.m_csvSavedImagesFilename), m_csvSavedPointsFilename(src.m_csvSavedPointsFilename), m_csvSavedResidualsFilename(src.m_csvSavedResidualsFilename) { + + m_outputControl = new Control(src.m_outputControl->fileName()); } @@ -107,8 +106,11 @@ namespace Isis { BundleSolutionInfo::~BundleSolutionInfo() { delete m_id; - delete m_controlNetworkFileName; - m_controlNetworkFileName = NULL; + delete m_inputControlNetFileName; + m_inputControlNetFileName = NULL; + + delete m_outputControl; + m_outputControl = NULL; delete m_statisticsResults; m_statisticsResults = NULL; @@ -150,8 +152,11 @@ namespace Isis { m_name = src.m_name; } - delete m_controlNetworkFileName; - m_controlNetworkFileName = new FileName(src.m_controlNetworkFileName->expanded()); + delete m_inputControlNetFileName; + m_inputControlNetFileName = new FileName(src.m_inputControlNetFileName->expanded()); + + delete m_outputControl; + m_outputControl = new Control(src.m_outputControl->fileName()); m_settings = src.m_settings; @@ -167,14 +172,42 @@ namespace Isis { return *this; } + + /** + * Returns bundleout text filename. + * + * @return QString Bundleout text filename. + */ + QString BundleSolutionInfo::savedBundleOutputFilename() { + return m_txtBundleOutputFilename; + } + + + /** + * Returns filename of output bundle images csv file. + * + * @return QString filename of output bundle images csv file. + */ QString BundleSolutionInfo::savedImagesFilename() { return m_csvSavedImagesFilename; } + + /** + * Returns filename of output bundle points csv file. + * + * @return QString filename of output bundle points csv file. + */ QString BundleSolutionInfo::savedPointsFilename() { return m_csvSavedPointsFilename; } + + /** + * Returns filename of output bundle residuals csv file. + * + * @return QString filename of output bundle residuals csv file. + */ QString BundleSolutionInfo::savedResidualsFilename() { return m_csvSavedResidualsFilename; } @@ -203,6 +236,8 @@ namespace Isis { /** + * TODO: change description below to something more like english. + * * Change the on-disk file name for the control network used to be where the control network * ought to be in the given project. * @@ -216,10 +251,19 @@ namespace Isis { //TODO do we need to close anything here? - FileName oldFileName(*m_controlNetworkFileName); - FileName newName(project->cnetRoot() + "/" + - oldFileName.dir().dirName() + "/" + oldFileName.name()); - *m_controlNetworkFileName = newName.expanded(); + FileName oldInputFileName(*m_inputControlNetFileName); + FileName newInputFileName(project->cnetRoot() + "/" + + oldInputFileName.dir().dirName() + "/" + oldInputFileName.name()); + *m_inputControlNetFileName = newInputFileName.expanded(); + + FileName oldOutputFileName(m_outputControl->fileName()); + FileName newOutputFileName(project->cnetRoot() + "/" + + oldOutputFileName.dir().dirName() + "/" + oldOutputFileName.name()); + + if (m_outputControl) { + delete m_outputControl; + } + m_outputControl = new Control(newOutputFileName.expanded()); } @@ -277,19 +321,39 @@ namespace Isis { /** - * Returns the name of the control network. + * Returns the name of the input control network. * - * @return @b QString The name of the control network. + * @return @b QString The name of the input control network. */ - QString BundleSolutionInfo::controlNetworkFileName() const { - return m_controlNetworkFileName->expanded(); + QString BundleSolutionInfo::inputControlNetFileName() const { + return m_inputControlNetFileName->expanded(); } /** - * Returns the bundle settings. + * Returns the name of the output control network. * - * @return @b BundleSettingsQsp The bundle settings. + * @return @b QString The name of the output control network. + */ + QString BundleSolutionInfo::outputControlNetFileName() const { + return m_outputControl->fileName(); + } + + + /** + * Returns bundle output Control object. + * + * @return Control* Pointer to bundle output Control object. + */ + Control *BundleSolutionInfo::control() const { + return m_outputControl; + } + + + /** + * Returns bundle settings. + * + * @return BundleSettingsQsp Bundle settings. */ BundleSettingsQsp BundleSolutionInfo::bundleSettings() { return m_settings; @@ -538,7 +602,7 @@ namespace Isis { Isis::iTime::CurrentLocalTime().toLatin1().data()); fpOut << buf; sprintf(buf, "\n Network Filename: %s", - m_controlNetworkFileName->expanded().toLatin1().data()); + m_inputControlNetFileName->expanded().toLatin1().data()); fpOut << buf; sprintf(buf, "\n Network Id: %s", m_statisticsResults->outputControlNet()->GetNetworkId().toLatin1().data()); @@ -1116,6 +1180,8 @@ namespace Isis { return false; } + m_txtBundleOutputFilename = ofname; + char buf[1056]; BundleObservationQsp observation; @@ -1502,6 +1568,7 @@ namespace Isis { void BundleSolutionInfo::save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const { + // TODO: comment below not clear, why is this done? // This is done for unitTest which has no Project QString relativeBundlePath; FileName bundleSolutionInfoRoot; @@ -1521,14 +1588,28 @@ namespace Isis { .arg(bundleSolutionInfoRoot.path()), _FILEINFO_); } - QString oldFile = oldPath + "/" + m_controlNetworkFileName->name(); - QString newFile = newPath + "/" + m_controlNetworkFileName->name(); - //QString outputControlFile = m_statisticsResults->outputControlNet()-> + QString oldFile = oldPath + "/" + m_inputControlNetFileName->name(); + QString newFile = newPath + "/" + m_inputControlNetFileName->name(); if (!QFile::copy(oldFile, newFile)) { throw IException(IException::Io, QString("Failed to copy file [%1] to new file [%2]") - .arg(m_controlNetworkFileName->name()).arg(newFile), - _FILEINFO_); + .arg(m_inputControlNetFileName->name()).arg(newFile), + _FILEINFO_); + } + oldFile = oldPath + "/" + m_outputControl->fileName(); + newFile = newPath + "/" + m_outputControl->fileName(); + if (!QFile::copy(oldFile, newFile)) { + throw IException(IException::Io, + QString("Failed to copy file [%1] to new file [%2]") + .arg(m_outputControl->fileName()).arg(newFile), + _FILEINFO_); + } + newFile = newPath + "/" + FileName(m_txtBundleOutputFilename).name(); + if (!QFile::copy(m_txtBundleOutputFilename, newFile)) { + throw IException(IException::Io, + QString("Failed to copy file [%1] to new file [%2]") + .arg(m_txtBundleOutputFilename).arg(newFile), + _FILEINFO_); } newFile = newPath + "/" + FileName(m_csvSavedImagesFilename).name(); if (!QFile::copy(m_csvSavedImagesFilename, newFile)) { @@ -1562,14 +1643,29 @@ namespace Isis { relativeBundlePath += "/"; } + // TODO: so, we can do the stuff below if project is NULL? + stream.writeStartElement("bundleSolutionInfo"); // save ID, cnet file name, and run time to stream stream.writeStartElement("generalAttributes"); stream.writeTextElement("id", m_id->toString()); stream.writeTextElement("name", m_name); stream.writeTextElement("runTime", runTime()); - stream.writeTextElement("fileName", - relativeBundlePath + m_controlNetworkFileName->name()); +// stream.writeTextElement("inputFileName", +// relativeBundlePath + m_inputControlNetFileName->name()); + + QString relativePath = m_inputControlNetFileName->expanded().remove(project->newProjectRoot()); + // Get rid of any preceding "/" , but add on ending "/" + if (relativePath.startsWith("/")) { + relativePath.remove(0,1); + } + + stream.writeTextElement("inputFileName", + relativePath); + stream.writeTextElement("outputFileName", + relativeBundlePath + FileName(m_outputControl->fileName()).name()); + stream.writeTextElement("bundleOutTXT", + relativeBundlePath + FileName(m_txtBundleOutputFilename).name()); stream.writeTextElement("imagesCSV", relativeBundlePath + FileName(m_csvSavedImagesFilename).name()); stream.writeTextElement("pointsCSV", @@ -1660,7 +1756,6 @@ namespace Isis { reader()); } else if (localName == "imageList") { - // m_xmlHandlerBundleSolutionInfo->m_images->append(new ImageList(m_xmlHandlerProject, reader())); m_xmlHandlerBundleSolutionInfo->m_adjustedImages->append( new ImageList(m_xmlHandlerProject, reader())); } @@ -1699,11 +1794,22 @@ namespace Isis { else if (localName == "runTime") { m_xmlHandlerBundleSolutionInfo->m_runTime = m_xmlHandlerCharacters; } - else if (localName == "fileName") { - assert(m_xmlHandlerBundleSolutionInfo->m_controlNetworkFileName == NULL); - m_xmlHandlerBundleSolutionInfo->m_controlNetworkFileName = new FileName( + else if (localName == "inputFileName") { + assert(m_xmlHandlerBundleSolutionInfo->m_inputControlNetFileName == NULL); + m_xmlHandlerBundleSolutionInfo->m_inputControlNetFileName = new FileName( projectRoot + m_xmlHandlerCharacters); } + else if (localName == "outputFileName") { + assert(m_xmlHandlerBundleSolutionInfo->m_outputControl == NULL); + delete m_xmlHandlerBundleSolutionInfo->m_outputControl; + FileName fname(projectRoot + m_xmlHandlerCharacters); + m_xmlHandlerBundleSolutionInfo->m_outputControl + = new Control(fname.expanded()); + } + else if (localName == "bundleOutTXT") { + m_xmlHandlerBundleSolutionInfo->m_txtBundleOutputFilename = + projectRoot + m_xmlHandlerCharacters; + } else if (localName == "imagesCSV") { m_xmlHandlerBundleSolutionInfo->m_csvSavedImagesFilename = projectRoot + m_xmlHandlerCharacters; diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h index 1d63e18fc3..fbc9a9a3b3 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h @@ -36,6 +36,7 @@ class QXmlStreamWriter; namespace Isis { class BundleResults; + class Control; class FileName; class ImageList; class Project; //TODO does xml stuff need project??? @@ -119,6 +120,14 @@ namespace Isis { * @history 2018-01-17 Tracie Sucharski - Added conditional code to check for null project in * xml serialization to allow the unitTest to use xml serialization * without having a project. References #5104. + * @history 2018-03-21 Ken Edmundson - Added... + * 1) member variable m_inputControlNetFileName, accessor method, and + * serialization support. Also added input control net filename to + * constructor. + * 2) member variable m_outputControl, associated mutator/accessor, and + * serialization support. + * 3) member variable m_txtBundleOutputFilename and associated accessor + * for bundleout.txt file. */ class BundleSolutionInfo : public QObject { Q_OBJECT @@ -135,18 +144,22 @@ namespace Isis { ~BundleSolutionInfo(); BundleSolutionInfo &operator=(const BundleSolutionInfo &src); + QString savedBundleOutputFilename(); QString savedImagesFilename(); QString savedPointsFilename(); QString savedResidualsFilename(); void addAdjustedImages(ImageList *images); void setOutputStatistics(BundleResults statisticsResults); + void setOutputControl(Control *outputControl) {m_outputControl = outputControl;} void setRunTime(QString runTime); void setName(QString name); QList adjustedImages() const; QString id() const; - QString controlNetworkFileName() const; + QString inputControlNetFileName() const; + QString outputControlNetFileName() const; + Control *control() const; BundleSettingsQsp bundleSettings(); BundleResults bundleResults(); QList imageList(); @@ -203,16 +216,18 @@ namespace Isis { //! A unique ID for this BundleSolutionInfo object (useful for others to reference this //! object when saving to disk). QUuid *m_id; - QString m_name; //!< The name of the bundle. Defaults to the id - QString m_runTime; //!< The run time of the bundle adjust - FileName *m_controlNetworkFileName; //!< The name of the control network - BundleSettingsQsp m_settings; //!< The settings from the bundle adjust - BundleResults *m_statisticsResults; //!< The results of the bundle adjust - QList *m_images; //!< The list of images as input to the bundle - QList *m_adjustedImages; //!< The list of images that were adjsuted - - // In theory the path in the BundlesSettings can change while running. So we save the + QString m_name; //!< Name of the bundle. Defaults to the id + QString m_runTime; //!< Run time of the bundle adjustment + FileName *m_inputControlNetFileName; //!< Input control network file name + Control *m_outputControl; //!< Output control + BundleSettingsQsp m_settings; //!< Bundle settings + BundleResults *m_statisticsResults; //!< Bundle statistical results + QList *m_images; //!< Input image list + QList *m_adjustedImages; //!< Adjusted image list + + // In theory the path in the BundleSettings can change while running. So we save the // filenames actually used when the most recent save of the file was done. + QString m_txtBundleOutputFilename; QString m_csvSavedImagesFilename; QString m_csvSavedPointsFilename; QString m_csvSavedResidualsFilename; -- GitLab From 7f2a5d742759e41d67f1ae8bb67a980a5e6b40d9 Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Thu, 22 Mar 2018 13:08:09 -0700 Subject: [PATCH 0178/1212] added rpath line for third party flags --- isis/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index cee097e120..72064f2eb4 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -21,6 +21,8 @@ include(InstallThirdParty) #=============================================================================== # Project information +execute_process(COMMAND export LD_LIBRARY_PATH="$ENV{LD_LIBRARY_PATH}:$ENV{CONDA_PREFIX}/lib") + project (USGS_ISIS) # Short and long name of this package @@ -58,7 +60,7 @@ message("Detected Operating System: ${osVersionString}") set(BUILD_SHARED_LIBS ON) # Specify flags used -set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) +set(thirdPartyCppFlags -Wl,-rpath,$ENV{CONDA_PREFIX}/lib -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) -- GitLab From d1a9f468bcfbc5eab341fad40a90825fd97ff170 Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Thu, 22 Mar 2018 13:13:28 -0700 Subject: [PATCH 0179/1212] updated linux specs --- linux-spec.txt | 121 +++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 60 deletions(-) diff --git a/linux-spec.txt b/linux-spec.txt index 15545fa82f..529ab58395 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -2,117 +2,118 @@ # $ conda create --name --file # platform: linux-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/ds9-7.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.5-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.0.0-4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geos-3.5.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/giflib-5.1.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/gmm-5.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gmp-6.1.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/icu-58.2-0.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/jama-125-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jbig-2.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/noarch/llvm-meta-5.0.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.17-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mysql-connector-c-6.1.6-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nanoflann-1.2.2-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ncurses-5.9-10.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nn-1.86.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pcre-8.39-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/proj4-4.9.3-5.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/rhash-1.3.4-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.13.0-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 https://repo.continuum.io/pkgs/free/linux-64/system-5.8-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tbb-4.4_20160526-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tk-8.5.19-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/tnt-126-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.2-3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-6.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/xz-5.2.3-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/bz2file-0.98-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 -- GitLab From fb767979e60181595f978b95a20546d4c56ec848 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 22 Mar 2018 13:20:20 -0700 Subject: [PATCH 0180/1212] added rpath link for linker to handle janky third party libs --- isis/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 72064f2eb4..0846b1b7fa 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -21,8 +21,6 @@ include(InstallThirdParty) #=============================================================================== # Project information -execute_process(COMMAND export LD_LIBRARY_PATH="$ENV{LD_LIBRARY_PATH}:$ENV{CONDA_PREFIX}/lib") - project (USGS_ISIS) # Short and long name of this package @@ -60,7 +58,12 @@ message("Detected Operating System: ${osVersionString}") set(BUILD_SHARED_LIBS ON) # Specify flags used -set(thirdPartyCppFlags -Wl,-rpath,$ENV{CONDA_PREFIX}/lib -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) +set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) +# on linux, add the conda prefix to handle possible issues with rpaths at link time +# sometimes third parties do not set their rpaths correctly +if(LINUX) + set(thirdPartyCppFlags -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) +endif() # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) -- GitLab From 1b0d4c88b910c01ebe1e4d69cb2abcb492ddbdfb Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 22 Mar 2018 13:36:24 -0700 Subject: [PATCH 0181/1212] fixed error where third party flags were being overwritten --- isis/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 0846b1b7fa..f17bd85493 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -62,7 +62,7 @@ set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused # on linux, add the conda prefix to handle possible issues with rpaths at link time # sometimes third parties do not set their rpaths correctly if(LINUX) - set(thirdPartyCppFlags -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) endif() # Specify user options that can be passed in with the initial CMake command. -- GitLab From c80b09673dfe00135e87dea4d320f277e3699f00 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 22 Mar 2018 13:38:47 -0700 Subject: [PATCH 0182/1212] simpler 3rd party flags --- isis/CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index f17bd85493..480f3c7d1e 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -58,12 +58,10 @@ message("Detected Operating System: ${osVersionString}") set(BUILD_SHARED_LIBS ON) # Specify flags used -set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual) # on linux, add the conda prefix to handle possible issues with rpaths at link time # sometimes third parties do not set their rpaths correctly -if(LINUX) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) -endif() +set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) + # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) -- GitLab From a03013a975017c6e3c873d445dca54e6987a5581 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 13:41:38 -0700 Subject: [PATCH 0183/1212] Added member variable QString m_outputControlName. Added argument QString outputControlFileName to constructor. --- .../qisis/objs/JigsawDialog/JigsawDialog.cpp | 33 +++++++++++++++---- .../qisis/objs/JigsawDialog/JigsawDialog.h | 4 +++ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp index 00a725104e..094f80cc60 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp @@ -56,12 +56,13 @@ namespace Isis { JigsawDialog::JigsawDialog(Project *project, BundleSettingsQsp bundleSettings, Control *selectedControl, + QString outputControlFileName, QWidget *parent) : QDialog(parent), m_ui(new Ui::JigsawDialog) { - m_project = project; m_bundleSettings = bundleSettings; m_selectedControl = selectedControl; m_selectedControlName = FileName(selectedControl->fileName()).name(); + m_outputControlName = outputControlFileName; init(); } @@ -175,6 +176,7 @@ namespace Isis { if (setupdlg.exec() == QDialog::Accepted) { m_selectedControlName = setupdlg.selectedControlName(); + m_outputControlName = setupdlg.outputControlName(); m_selectedControl = setupdlg.selectedControl(); m_bundleSettings = setupdlg.bundleSettings(); // The settings have been modified, might be misleading to keep this check after setup. @@ -209,7 +211,8 @@ namespace Isis { } // Grab the control name that was used in that bundle adjustment. - m_selectedControlName = FileName(bundleSolutionInfo.last()->controlNetworkFileName()).name(); + m_selectedControlName + = FileName(bundleSolutionInfo.last()->inputControlNetFileName()).name(); } // Clear the dialog displays. @@ -379,12 +382,28 @@ namespace Isis { // Write text summary file m_bundleSolutionInfo->outputText(); - // create output control net - // Write the new jigged control net with correct path to results folder + runtime - FileName jiggedControlName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/" + - FileName(m_bundleSolutionInfo->controlNetworkFileName()).name()); + // create output control net file name + FileName outputControlName; + if (!m_outputControlName.isEmpty()) { + outputControlName + = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/" + + m_outputControlName + ".net"); + } + else { + outputControlName = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/Out-" + + runTime + "-" + + FileName(m_bundleSolutionInfo->inputControlNetFileName()).name()); + } + + // Write output control net with correct path to results folder + runtime + m_bundleSolutionInfo->bundleResults().outputControlNet()->Write(outputControlName.toString()); + + // create Control with output control net and add to m_bundleSolutionInfo + m_bundleSolutionInfo->setOutputControl(new Control(m_project, outputControlName.expanded())); - m_bundleSolutionInfo->bundleResults().outputControlNet()->Write(jiggedControlName.toString()); + // TODO: it seems like this new Control should be added to the Project, but this doesn't work + // need to make it work, the alternative is the kluge in the JigsawWorkOrder::execute + // method // Iterate through all of the image lists (the "imports" in the project). QList imageLists = m_bundleSolutionInfo->imageList(); diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h index d120cdf7f5..66892b7503 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h @@ -79,6 +79,8 @@ namespace Isis { * accepted. Fixes #4960 * @history 2017-11-01 Ian Humphrey - Create ecubs in the bundle results directory which contain * updated SPICE. Fixes #4804, #4849. + * @history 2018-03-22 Ken Edmundson - Added member variable QString m_outputControlName. + * Added argument QString outputControlFileName to constructor. */ class JigsawDialog : public QDialog { Q_OBJECT @@ -88,6 +90,7 @@ namespace Isis { explicit JigsawDialog(Project *project, BundleSettingsQsp bundleSettings, Control *selectedControl, + QString outputControlFileName, QWidget *parent = 0); ~JigsawDialog(); @@ -106,6 +109,7 @@ namespace Isis { Project *m_project; Control *m_selectedControl; QString m_selectedControlName; + QString m_outputControlName; BundleSettingsQsp m_bundleSettings; private: -- GitLab From 8ee7386e72170b90b4a876f07b0ac139de44f5bb Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Thu, 22 Mar 2018 14:06:19 -0700 Subject: [PATCH 0184/1212] updated env file --- environment.yml | 225 ++++++++++++++++++++++++++---------------------- 1 file changed, 124 insertions(+), 101 deletions(-) diff --git a/environment.yml b/environment.yml index 93c08c5f1f..a75840556a 100644 --- a/environment.yml +++ b/environment.yml @@ -1,104 +1,127 @@ -name: isisdeps +name: isis channels: -- anaconda -- inria-pro-sed -- krodriguez -- conda-forge -- usgs-astrogeology -- defaults + - probcomp + - anaconda + - usgs-astrogeology + - jlaura + - krodriguez + - conda-forge + - defaults dependencies: -- libgcc=4.8.5=1 -- blas=1.1=openblas -- boost=1.65.1=py27_0 -- boost-cpp=1.65.1=1 -- bzip2=1.0.6=1 -- ca-certificates=2018.1.18=0 -- cairo=1.14.6=4 -- certifi=2018.1.18=py27_0 -- cmake=3.9.1=0 -- cspice=66=0 -- curl=7.55.1=0 -- dbus=1.10.22=0 -- doxygen=1.8.14=0 -- eigen=3.3.3=0 -- expat=2.2.5=0 -- ffmpeg=3.2.4=3 -- flann=1.8.4=0 -- fontconfig=2.12.1=4 -- freetype=2.7=1 -- geos=3.5.1=1 -- geotiff=1.4.2=1 -- gettext=0.19.8.1=0 -- giflib=5.1.4=0 -- glib=2.51.4=0 -- gsl=2.2.1=blas_openblas_3 -- harfbuzz=1.3.4=2 -- hdf5=1.8.18=3 -- icu=58.2=0 -- jasper=1.900.1=4 -- jpeg=9b=2 -- krb5=1.14.2=0 -- lapack=3.6.1=1 -- libffi=3.2.1=3 -- libgfortran=3.0.0=0 -- libiconv=1.15=0 -- libpng=1.6.28=2 -- libssh2=1.8.0=2 -- libtiff=4.0.9=0 -- libuv=1.11.0=0 -- libwebp=0.5.2=7 -- libxcb=1.12=1 -- libxml2=2.9.7=0 -- m4=1.4.17=1 -- metis=5.1.0=3 -- nanoflann=1.2.2=0 -- ncurses=5.9=10 -- ninja=1.7.2=0 -- nn=1.86.0=2 -- numpy=1.13.3=py27_blas_openblas_200 -- openblas=0.2.19=2 -- opencv=3.3.0=py27_blas_openblas_200 -- openssl=1.0.2n=0 -- pcre=8.39=0 -- pip=9.0.1=py27_1 -- pixman=0.34.0=1 -- proj4=4.9.3=5 -- protobuf=3.2.0=py27_0 -- python=2.7.14=4 -- qt=5.6.2=h9e3eb04_4 -- qwt=6.1.3=1 -- readline=7.0=0 -- rhash=1.3.4=0 -- setuptools=38.5.1=py27_0 -- six=1.11.0=py27_1 -- sqlite=3.20.1=2 -- suitesparse=4.5.4=blas_openblas_200 -- superlu=5.2.1=blas_openblas_201 -- tk=8.6.7=0 -- wheel=0.30.0=py27_2 -- x264=20131217=3 -- xorg-kbproto=1.0.7=1 -- xorg-libx11=1.6.4=6 -- xorg-libxau=1.0.8=3 -- xorg-libxdmcp=1.1.2=3 -- xorg-xproto=7.0.31=6 -- xz=5.2.3=0 -- zlib=1.2.11=0 -- openmpi=1.8.6=4 -- parmetis=4.0.3p2=1 -- jama=125=0 -- tnt=126=0 -- bullet=2.86.1=he2aa7b0_0 -- ds9=7.5=h35e3669_0 -- embree=2.16.0=h6834224_0 -- gmm=5.0=h6aef312_0 -- naif=n0066 -- patchelf=0.9=h879b6ae_0 -- pcl=1.8.1=h7a71350_0 -- qhull=7.2.0=h396fa31_0 -- tbb=4.4=hf7780a4_0 -- vtk=7.1.1=py27h56fd973_0 -- xalan-c=1.11=h1922a5c_0 -- xerces-c=3.1.4=h10f7eb2_0 -prefix: /Users/krodriguez-pr/anaconda3/envs/isisdeps + - ca-certificates=2017.08.26=h1d4fec5_0 + - dbus=1.10.20=0 + - future=0.16.0=py27_1 + - gst-plugins-base=1.8.0=0 + - gstreamer=1.8.0=0 + - jsoncpp=1.8.3=h3a67955_0 + - libgcc=4.8.5=1 + - libgcc-ng=7.2.0=h7cc24e2_2 + - libgfortran=3.0=0 + - libstdcxx-ng=7.2.0=h7a57d05_2 + - libxcb=1.12=1 + - mysql=5.7.20=h55eaa98_0 + - ncurses=5.9=10 + - ninja=1.7.2=0 + - patchelf=0.9=hf79760b_2 + - pip=9.0.1=py27_1 + - setuptools=38.5.1=py27_0 + - wheel=0.30.0=py27h2bc6bb2_1 + - xerces-c=3.1.4=0 + - xz=5.2.3=0 + - zlib=1.2.11=0 + - blas=1.1=openblas + - boost=1.65.1=py27_0 + - boost-cpp=1.65.1=1 + - bzip2=1.0.6=1 + - cairo=1.14.6=4 + - certifi=2018.1.18=py27_0 + - cmake=3.9.1=0 + - cspice=66=0 + - curl=7.55.1=0 + - doxygen=1.8.14=0 + - eigen=3.3.3=0 + - embree=2.14.0=0 + - expat=2.2.5=0 + - ffmpeg=3.2.4=3 + - flann=1.8.4=0 + - fontconfig=2.12.1=4 + - freeglut=3.0.0=4 + - freetype=2.7=1 + - geos=3.5.1=1 + - geotiff=1.4.2=1 + - gettext=0.19.8.1=0 + - giflib=5.1.4=0 + - glib=2.51.4=0 + - gmp=6.1.2=0 + - gsl=2.2.1=blas_openblas_3 + - harfbuzz=1.3.4=2 + - hdf5=1.8.18=2 + - icu=58.2=0 + - jasper=1.900.1=1 + - jbig=2.1=0 + - jpeg=9b=2 + - krb5=1.14.2=0 + - lapack=3.6.1=1 + - libffi=3.2.1=3 + - libiconv=1.15=0 + - libpng=1.6.28=2 + - libssh2=1.8.0=2 + - libtiff=4.0.9=0 + - libuv=1.11.0=0 + - libwebp=0.5.2=7 + - libxml2=2.9.7=0 + - llvm-meta=5.0.0=0 + - llvmdev=5.0.0=default_1 + - m4=1.4.17=1 + - mesalib=17.2.0=0 + - metis=5.1.0=3 + - mpc=1.0.3=4 + - mpfr=3.1.5=0 + - mysql-connector-c=6.1.6=0 + - nanoflann=1.2.2=0 + - nn=1.86.0=2 + - numpy=1.13.3=py27_blas_openblas_200 + - openblas=0.2.19=2 + - opencv=3.2.0=np113py27_blas_openblas_203 + - openssl=1.0.2n=0 + - pcre=8.39=0 + - pixman=0.34.0=1 + - proj4=4.9.3=5 + - pthread-stubs=0.3=1 + - python=2.7.14=2 + - readline=6.2=0 + - rhash=1.3.4=0 + - six=1.11.0=py27_1 + - sqlite=3.13.0=1 + - suitesparse=4.5.4=blas_openblas_200 + - superlu=5.2.1=blas_openblas_201 + - tbb=4.4_20160526=1 + - tk=8.5.19=2 + - vtk=8.1.0=py27_mesalib_0 + - x264=20131217=3 + - xorg-kbproto=1.0.7=1 + - xorg-libx11=1.6.4=6 + - xorg-libxau=1.0.8=3 + - xorg-libxdmcp=1.1.2=3 + - xorg-libxrender=0.9.10=0 + - xorg-renderproto=0.11.1=1 + - xorg-xproto=7.0.31=6 + - bz2file=0.98=py27_0 + - cloog=0.18.0=0 + - gcc=4.8.5=7 + - isl=0.12.2=0 + - protobuf=2.6.1=py27_1 + - system=5.8=2 + - libprotobuf=2.6.1=0 + - bullet=2.86.1=0 + - ds9=7.5=0 + - gmm=5.0=0 + - jama=125=0 + - pcl=1.8.1=0 + - qhull=7.2.0=0 + - qt=5.7.1=0 + - qwt=6.1.3=0 + - tnt=126=0 + - xalan-c=1.11=0 +prefix: /scratch/anaconda3/envs/isis -- GitLab From a5f6ef46844913f0d147efd47cff7b5c8aa9da9b Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 15:00:02 -0700 Subject: [PATCH 0185/1212] PROG: modified commit message to include associated redmine ticket --- .../src/qisis/objs/BundleObservationView/BundleObservationView.h | 1 + 1 file changed, 1 insertion(+) diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h index c7a01c93e8..92044be9c7 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h @@ -41,6 +41,7 @@ namespace Isis{ * Fixed problem for display of multi-line headers for csv files. * Set SectionResizeMode to QHeaderView::ResizeToContents so columns are * displayed at the width of the maximum size of the column content. + * Fixes #4850. */ class BundleObservationView : public AbstractProjectItemView -- GitLab From 8a9ff5e944bf9b7b09ee490bfda8c58668cf4a8c Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 15:01:23 -0700 Subject: [PATCH 0186/1212] PROG: added history entry --- isis/src/qisis/objs/JigsawDialog/JigsawDialog.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h index 66892b7503..ff65d01843 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h @@ -79,8 +79,8 @@ namespace Isis { * accepted. Fixes #4960 * @history 2017-11-01 Ian Humphrey - Create ecubs in the bundle results directory which contain * updated SPICE. Fixes #4804, #4849. - * @history 2018-03-22 Ken Edmundson - Added member variable QString m_outputControlName. - * Added argument QString outputControlFileName to constructor. + * @history 2018-03-22 Ken Edmundson - Added member variable QString m_outputControlName. Added + * argument QString outputControlFileName to constructor. */ class JigsawDialog : public QDialog { Q_OBJECT -- GitLab From 218dd1a75b5bfa0a7dbb5ebaa468465e6783a091 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 22 Mar 2018 15:33:17 -0700 Subject: [PATCH 0187/1212] updated env and removed findlibc line --- environment.yml | 233 +++++++++++++-------------- isis/CMakeLists.txt | 1 - isis/cmake/FindAllDependencies.cmake | 22 +-- isis/cmake/FindBoost.cmake | 8 - isis/cmake/RunMakeFileTest.cmake | 4 +- 5 files changed, 129 insertions(+), 139 deletions(-) diff --git a/environment.yml b/environment.yml index a75840556a..543eb509e1 100644 --- a/environment.yml +++ b/environment.yml @@ -1,127 +1,126 @@ name: isis channels: + - krodriguez + - usgs-astrogeology + - conda-forge - probcomp - anaconda - - usgs-astrogeology - jlaura - - krodriguez - - conda-forge - defaults dependencies: - - ca-certificates=2017.08.26=h1d4fec5_0 - - dbus=1.10.20=0 - - future=0.16.0=py27_1 + - ca-certificates==2017.08.26=h1d4fec5_0 + - dbus==1.10.20=0 + - future==0.16.0=y27_1 - gst-plugins-base=1.8.0=0 - - gstreamer=1.8.0=0 - - jsoncpp=1.8.3=h3a67955_0 - - libgcc=4.8.5=1 - - libgcc-ng=7.2.0=h7cc24e2_2 - - libgfortran=3.0=0 - - libstdcxx-ng=7.2.0=h7a57d05_2 - - libxcb=1.12=1 - - mysql=5.7.20=h55eaa98_0 - - ncurses=5.9=10 - - ninja=1.7.2=0 - - patchelf=0.9=hf79760b_2 - - pip=9.0.1=py27_1 + - gstreamer==1.8.0=0 + - jsoncpp==1.8.3=h3a67955_0 + - libgcc==4.8.5=1 + - libgcc-ng==7.2.0=h7cc24e2_2 + - libgfortran==3.0=0 + - libstdcxx-ng==7.2.0=h7a57d05_2 + - libxcb==1.12=1 + - mysql==5.7.20=h55eaa98_0 + - ncurses==5.9=10 + - ninja==1.7.2=0 + - patchelf==0.9=hf79760b_2 + - pip==9.0.1=py27_1 - setuptools=38.5.1=py27_0 - - wheel=0.30.0=py27h2bc6bb2_1 - - xerces-c=3.1.4=0 - - xz=5.2.3=0 - - zlib=1.2.11=0 - - blas=1.1=openblas - - boost=1.65.1=py27_0 - - boost-cpp=1.65.1=1 - - bzip2=1.0.6=1 - - cairo=1.14.6=4 - - certifi=2018.1.18=py27_0 - - cmake=3.9.1=0 - - cspice=66=0 - - curl=7.55.1=0 - - doxygen=1.8.14=0 - - eigen=3.3.3=0 - - embree=2.14.0=0 - - expat=2.2.5=0 - - ffmpeg=3.2.4=3 - - flann=1.8.4=0 - - fontconfig=2.12.1=4 - - freeglut=3.0.0=4 - - freetype=2.7=1 - - geos=3.5.1=1 - - geotiff=1.4.2=1 - - gettext=0.19.8.1=0 - - giflib=5.1.4=0 - - glib=2.51.4=0 - - gmp=6.1.2=0 - - gsl=2.2.1=blas_openblas_3 - - harfbuzz=1.3.4=2 - - hdf5=1.8.18=2 - - icu=58.2=0 - - jasper=1.900.1=1 - - jbig=2.1=0 - - jpeg=9b=2 - - krb5=1.14.2=0 - - lapack=3.6.1=1 - - libffi=3.2.1=3 - - libiconv=1.15=0 - - libpng=1.6.28=2 - - libssh2=1.8.0=2 - - libtiff=4.0.9=0 - - libuv=1.11.0=0 - - libwebp=0.5.2=7 - - libxml2=2.9.7=0 - - llvm-meta=5.0.0=0 - - llvmdev=5.0.0=default_1 - - m4=1.4.17=1 - - mesalib=17.2.0=0 - - metis=5.1.0=3 - - mpc=1.0.3=4 - - mpfr=3.1.5=0 - - mysql-connector-c=6.1.6=0 - - nanoflann=1.2.2=0 - - nn=1.86.0=2 - - numpy=1.13.3=py27_blas_openblas_200 - - openblas=0.2.19=2 - - opencv=3.2.0=np113py27_blas_openblas_203 - - openssl=1.0.2n=0 - - pcre=8.39=0 - - pixman=0.34.0=1 - - proj4=4.9.3=5 - - pthread-stubs=0.3=1 - - python=2.7.14=2 - - readline=6.2=0 - - rhash=1.3.4=0 - - six=1.11.0=py27_1 - - sqlite=3.13.0=1 - - suitesparse=4.5.4=blas_openblas_200 - - superlu=5.2.1=blas_openblas_201 - - tbb=4.4_20160526=1 - - tk=8.5.19=2 - - vtk=8.1.0=py27_mesalib_0 - - x264=20131217=3 - - xorg-kbproto=1.0.7=1 - - xorg-libx11=1.6.4=6 - - xorg-libxau=1.0.8=3 - - xorg-libxdmcp=1.1.2=3 - - xorg-libxrender=0.9.10=0 - - xorg-renderproto=0.11.1=1 - - xorg-xproto=7.0.31=6 - - bz2file=0.98=py27_0 - - cloog=0.18.0=0 - - gcc=4.8.5=7 - - isl=0.12.2=0 - - protobuf=2.6.1=py27_1 - - system=5.8=2 - - libprotobuf=2.6.1=0 - - bullet=2.86.1=0 - - ds9=7.5=0 - - gmm=5.0=0 - - jama=125=0 - - pcl=1.8.1=0 - - qhull=7.2.0=0 - - qt=5.7.1=0 - - qwt=6.1.3=0 - - tnt=126=0 - - xalan-c=1.11=0 + - wheel==0.30.0=py27h2bc6bb2_1 + - xerces-c==3.1.4=0 + - xz==5.2.3=0 + - zlib==1.2.11=0 + - blas==1.1=openblas + - boost==1.65.1=py27_0 + - boost-cpp==1.65.1=1 + - bzip2==1.0.6=1 + - cairo==1.14.6=4 + - certifi==2018.1.18=py27_0 + - cmake==3.9.1=0 + - cspice==66=0 + - curl==7.55.1=0 + - doxygen==1.8.14=0 + - eigen==3.3.3=0 + - embree==2.14.0=0 + - expat==2.2.5=0 + - ffmpeg==3.2.4=3 + - flann==1.8.4=0 + - fontconfig==2.12.1=4 + - freeglut==3.0.0=4 + - freetype==2.7=1 + - geos==3.5.1=1 + - geotiff==1.4.2=1 + - gettext==0.19.8.1=0 + - giflib==5.1.4=0 + - glib==2.51.4=0 + - gmp==6.1.2=0 + - gsl==2.2.1=blas_openblas_3 + - harfbuzz==1.3.4=2 + - hdf5==1.8.18=2 + - icu==58.2=0 + - jasper==1.900.1=1 + - jbig==2.1=0 + - jpeg==9b=2 + - krb5==1.14.2=0 + - lapack==3.6.1=1 + - libffi==3.2.1=3 + - libiconv==1.15=0 + - libpng==1.6.28=2 + - libssh2==1.8.0=2 + - libtiff==4.0.9=0 + - libuv==1.11.0=0 + - libwebp==0.5.2=7 + - libxml2==2.9.7=0 + - llvm-meta==5.0.0=0 + - llvmdev==5.0.0=default_1 + - m4==1.4.17=1 + - mesalib==17.2.0=0 + - metis==5.1.0=3 + - mpc==1.0.3=4 + - mpfr==3.1.5=0 + - mysql-connector-c==6.1.6=0 + - nanoflann==1.2.2=0 + - nn==1.86.0=2 + - numpy==1.13.3=py27_blas_openblas_200 + - openblas==0.2.19=2 + - opencv==3.2.0=np113py27_blas_openblas_203 + - openssl==1.0.2n=0 + - pcre==8.39=0 + - pixman==0.34.0=1 + - proj4==4.9.3=5 + - pthread-stubs==0.3=1 + - python==2.7.14=2 + - readline==6.2=0 + - rhash==1.3.4=0 + - six==1.11.0=py27_1 + - sqlite==3.13.0=1 + - suitesparse==4.5.4=blas_openblas_200 + - superlu==5.2.1=blas_openblas_201 + - tbb==4.4_20160526=1 + - tk==8.5.19=2 + - vtk==8.1.0=py27_mesalib_0 + - x264==20131217=3 + - xorg-kbproto==1.0.7=1 + - xorg-libx11==1.6.4=6 + - xorg-libxau==1.0.8=3 + - xorg-libxdmcp==1.1.2=3 + - xorg-libxrender==0.9.10=0 + - xorg-renderproto==0.11.1=1 + - xorg-xproto==7.0.31=6 + - bz2file==0.98=py27_0 + - cloog==0.18.0=0 + - gcc==4.8.5=7 + - isl==0.12.2=0 + - protobuf==2.6.1=py27_1 + - system==5.8=2 + - libprotobuf==2.6.1=0 + - bullet==2.86.1=0 + - ds9==7.5=0 + - gmm==5.0=0 + - jama==125=0 + - pcl==1.8.1=0 + - qhull==7.2.0=0 + - qt==5.7.1=0 + - qwt==6.1.3=0 + - tnt==126=0 + - xalan-c==1.11=0 prefix: /scratch/anaconda3/envs/isis - diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 480f3c7d1e..47d86789a1 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -62,7 +62,6 @@ set(BUILD_SHARED_LIBS ON) # sometimes third parties do not set their rpaths correctly set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) - # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) option(isis3TestData "Directory containing Isis3TestData" OFF ) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake index 04b303e17b..6440e2d679 100644 --- a/isis/cmake/FindAllDependencies.cmake +++ b/isis/cmake/FindAllDependencies.cmake @@ -52,26 +52,26 @@ find_package(Qt5 COMPONENTS # For these, we pass in a version number, and use it in the path suffix # This only applies to v007, and outside of the building, we should only expect standard installs # The v007-specific installs are listed beside their find_package calls below: -find_package(Boost 1.59.0 REQUIRED) # "boost/boost${Boost_FIND_VERSION}/boost/" +find_package(Boost 1.59.0 REQUIRED) find_package(Bullet 2.86 REQUIRED) -find_package(Cholmod 4.4.5 REQUIRED) # "SuiteSparse/SuiteSparse${Cholmod_FIND_VERSION}/SuiteSparse/" +find_package(Cholmod 4.4.5 REQUIRED) find_package(CSPICE 65 REQUIRED) find_package(Eigen REQUIRED) find_package(Embree 2.15.0 REQUIRED) find_package(GeoTIFF 2 REQUIRED) -find_package(GMM 5.0 REQUIRED) # "/gmm/gmm-${GMM_FIND_VERSION}/gmm/" +find_package(GMM 5.0 REQUIRED) find_package(GSL 19 REQUIRED) find_package(HDF5 1.8.15 REQUIRED) -find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" +find_package(Jama 125 REQUIRED) find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) -find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" -find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" -find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" -find_package(SuperLU 4.3 REQUIRED) # "superlu/superlu${SuperLU_FIND_VERSION}/superlu/" -find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}" -find_package(TNT 126 REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/" -find_package(XercesC 3.1.2 REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/" +find_package(PCL 1.8 REQUIRED) +find_package(Protobuf 2.6.1 REQUIRED) +find_package(Qwt 6 REQUIRED) +find_package(SuperLU 4.3 REQUIRED) +find_package(TIFF 4.0.5 REQUIRED) +find_package(TNT 126 REQUIRED) +find_package(XercesC 3.1.2 REQUIRED) find_package(X11 6 REQUIRED) find_package(nanoflann REQUIRED) find_package(PNG REQUIRED) diff --git a/isis/cmake/FindBoost.cmake b/isis/cmake/FindBoost.cmake index 47c2e1d6ba..b8c4db1228 100644 --- a/isis/cmake/FindBoost.cmake +++ b/isis/cmake/FindBoost.cmake @@ -136,11 +136,3 @@ find_library(BOOST_RANDOM_MT_LIBRARY find_library(BOOST_WSERIALIZATION_MT_LIBRARY NAMES boost_wserialization-mt boost_wserialization ) - -find_library(PYTHON_LIBRARY - NAMES python2 python2.7 python3 -) - -find_library(C_LIBRARY - NAMES c -) diff --git a/isis/cmake/RunMakeFileTest.cmake b/isis/cmake/RunMakeFileTest.cmake index 8f275e22a9..242a9dc1ca 100644 --- a/isis/cmake/RunMakeFileTest.cmake +++ b/isis/cmake/RunMakeFileTest.cmake @@ -49,8 +49,8 @@ function(run_app_makefile_test makefile inputFolder outputFolder truthFolder bin # set(code "") # execute_process(COMMAND rm -rf ${outputFolder}) # execute_process(COMMAND rm -f ${logFile}) - - execute_process(COMMAND make test MODE=LOUD WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) + message("SOURCE FOLDER ${sourceFolder}") + execute_process(COMMAND make test WORKING_DIRECTORY ${sourceFolder} OUTPUT_VARIABLE result) message("result: ${result}") if (result MATCHES "OK") set(failed "OFF") -- GitLab From c9f7017e4fdbee80817ab43ccbb6934f2f274584 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 15:49:33 -0700 Subject: [PATCH 0188/1212] PROG: Modified acceptBundleResults method to take output control network filename from the JigsawSetupDialog. --- isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp | 3 +-- isis/src/qisis/objs/JigsawDialog/JigsawDialog.h | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp index 094f80cc60..9c94a09c49 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp @@ -386,8 +386,7 @@ namespace Isis { FileName outputControlName; if (!m_outputControlName.isEmpty()) { outputControlName - = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/" + - m_outputControlName + ".net"); + = FileName(m_project->bundleSolutionInfoRoot() + "/" + m_outputControlName ); } else { outputControlName = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/Out-" + diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h index ff65d01843..fc3c0db5f0 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.h @@ -80,7 +80,9 @@ namespace Isis { * @history 2017-11-01 Ian Humphrey - Create ecubs in the bundle results directory which contain * updated SPICE. Fixes #4804, #4849. * @history 2018-03-22 Ken Edmundson - Added member variable QString m_outputControlName. Added - * argument QString outputControlFileName to constructor. + * argument QString outputControlFileName to constructor. Modified + * acceptBundleResults method to take output control network filename + * from the JigsawSetupDialog. */ class JigsawDialog : public QDialog { Q_OBJECT -- GitLab From c0385d84356bfe5fdf148e5ef455150304c9cb46 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 16:40:48 -0700 Subject: [PATCH 0189/1212] PROG: Added bundle output control network file name. Added method on_controlNetworkComboBox_currentTextChanged to update the output control network filename when the input control network selected filename changes. E.g. if input control net name is fred.net, the output filename QLineEdit is automatically changed to fred-out.net. The user can always manually change the output control net name to anything they choose. --- .../JigsawSetupDialog/JigsawSetupDialog.cpp | 27 ++++++++++++++++--- .../JigsawSetupDialog/JigsawSetupDialog.h | 15 ++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp index 1d5109eb27..97cbd74ea6 100644 --- a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp +++ b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.cpp @@ -60,6 +60,19 @@ namespace Isis { m_ui->controlNetworkComboBox->addItem(control->displayProperties()->displayName(), v); } } + // add control nets from bundle solutions, if any + int numBundles = project->bundleSolutionInfo().size(); + for (int i = 0; i < numBundles; i++) { + Control *bundleControl = project->bundleSolutionInfo().at(i)->control(); + + QVariant v = qVariantFromValue((void*)bundleControl); + + m_ui->controlNetworkComboBox->addItem(bundleControl->displayProperties()->displayName(), v); + } + + // initialize default output control network filename + FileName fname = m_ui->controlNetworkComboBox->currentText(); + m_ui->outputControlNet->setText(fname.baseName() + "-out.net"); QList bundleSolutionInfo = m_project->bundleSolutionInfo(); if (useLastSettings && bundleSolutionInfo.size() > 0) { @@ -67,7 +80,7 @@ namespace Isis { // Retrieve the control net name used in the last bundle adjustment. // Note that this returns a fully specified path and filename, while the cnet combo box // only stores file names. - selectControl(bundleSolutionInfo.last()->controlNetworkFileName()); + selectControl(bundleSolutionInfo.last()->inputControlNetFileName()); fillFromSettings(lastBundleSettings); } @@ -86,8 +99,6 @@ namespace Isis { m_ui->pointingAprioriSigmaTable->setHorizontalHeaderLabels(tableHeaders); - - // initializations for target body tab // fill target combo box from project @@ -679,6 +690,11 @@ namespace Isis { } + QString JigsawSetupDialog::outputControlName() { + return QString(m_ui->outputControlNet->text()); + } + + void JigsawSetupDialog::makeReadOnly() { m_ui->controlNetworkComboBox->setEnabled(false); m_ui->observationModeCheckBox->setEnabled(false); @@ -1100,4 +1116,9 @@ namespace Isis { void JigsawSetupDialog::hideTargetParametersGroupBox() { m_ui->targetParametersGroupBox->setEnabled(false); } + + void Isis::JigsawSetupDialog::on_controlNetworkComboBox_currentTextChanged(const QString &arg1) { + FileName fname = arg1; + m_ui->outputControlNet->setText(fname.baseName() + "-out.net"); + } } diff --git a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h index ce80da8d40..7cc6e2e540 100644 --- a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h +++ b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.h @@ -50,6 +50,13 @@ namespace Isis { * allows for proper restoring of user defined weightings. * @history 2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open * source images. Fixes #5105. + * @history 2018-03-19 Ken Edmundson - Added bundle output control network file name. Added + * method on_controlNetworkComboBox_currentTextChanged to update the + * output control network filename when the input control network + * selected filename changes. E.g. if input control net name is + * fred.net, the output filename QLineEdit is automatically changed to + * fred-out.net. The user can always manually change the output control + * net name to anything they choose. */ class JigsawSetupDialog : public QDialog { @@ -63,9 +70,10 @@ namespace Isis { QWidget *parent = 0); ~JigsawSetupDialog(); - Control *selectedControl();// TODO: return const references ??? - QString selectedControlName();// TODO: return const references ??? - BundleSettingsQsp bundleSettings();// TODO: return const references ??? + Control *selectedControl(); // TODO: return const references ??? + QString selectedControlName(); // TODO: return const references ??? + QString outputControlName(); // TODO: return const references ??? + BundleSettingsQsp bundleSettings(); // TODO: return const references ??? void loadSettings(const BundleSettingsQsp settings); void selectControl(const QString &controlName); @@ -78,6 +86,7 @@ namespace Isis { // general tab void on_positionComboBox_currentIndexChanged(int index); void on_pointingComboBox_currentIndexChanged(int index); + void on_controlNetworkComboBox_currentTextChanged(const QString &arg1); // maximum liklihood tab void on_maximumLikelihoodModel1ComboBox_currentIndexChanged(int index); -- GitLab From 89df6e2cbdb95c32ef2ddbf164a1b3525f1da59f Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 16:42:23 -0700 Subject: [PATCH 0190/1212] PROG: added QLineEdit allowing user to enter output control network filename --- .../JigsawSetupDialog/JigsawSetupDialog.ui | 438 ++++++++++-------- 1 file changed, 235 insertions(+), 203 deletions(-) diff --git a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.ui b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.ui index ff00971a6f..6a06c372c3 100644 --- a/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.ui +++ b/isis/src/qisis/objs/JigsawSetupDialog/JigsawSetupDialog.ui @@ -43,7 +43,7 @@ - 5 + 0 @@ -94,8 +94,13 @@ false + + + false + + - Multiplier + &Multiplier Qt::AlignCenter @@ -172,7 +177,7 @@ - Sigma0Threshold + Sigma&0 Threshold sigma0ThresholdLineEdit @@ -182,7 +187,7 @@ - Maximum Iterations + Ma&ximum Iterations maximumIterationsLineEdit @@ -264,64 +269,39 @@ - - - - - 0 - 0 - - - - - 269 - 0 - - - - Fit Polynomial over Existing Pointing - - - - - + + true - SPKDegree + SPKSolveDegree - spkDegreeSpinBox + spkSolveDegreeSpinBox - - + + + + true + - + 0 0 - - - 269 - 0 - - - - <html><head/><body><p><span style=" font-weight:600;">Instrument Pointing Solve Options</span></p></body></html> - - - false + + 1 - - Qt::AlignCenter + + 2 - + false @@ -337,56 +317,107 @@ - - - - true + + + + Qt::Vertical - - SPKSolveDegree + + QSizePolicy::Preferred - - spkSolveDegreeSpinBox + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + + 269 + 0 + + + + Fit Polynomial over Existing Pointing - - - - true + + + + Output + + + + 0 0 - - 1 + + <html><head/><body><p>Instrument Pointing Options</p></body></html> - - 2 + + 0 + + + true + + + ANGLES + + + + + NONE + + + + + VELOCITIES + + + + + ACCELERATIONS + + + + + ALL + + - - - - Qt::Vertical + + + + true - - QSizePolicy::Preferred + + SPKDegree - - - 20 - 40 - + + spkDegreeSpinBox - + - - + + 0 @@ -395,63 +426,79 @@ - - + + - <html><head/><body><p><span style=" font-weight:600;">Instrument Solve Options</span></p></body></html> - - - false + Input - Qt::AlignCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - <html><head/><body><p><span style=" font-weight:600;">Control Network</span></p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Instrument Solve Options</span></p></body></html> + + + false Qt::AlignCenter - - - - true - + + 0 0 - - 1 - - - 2 + + <html><head/><body><p>Instrument Solve Options</p></body></html> + + + NONE + + + + + POSITIONS + + + + + VELOCITIES + + + + + ACCELERATIONS + + + + + ALL + + - - - - true - + + - CKDegree + <html><head/><body><p><span style=" font-weight:600;">Control Networks</span></p></body></html> - - ckDegreeSpinBox + + Qt::AlignCenter - - + + Qt::Vertical @@ -466,39 +513,74 @@ - - + + true + + C&KSolveDegree + + + ckSolveDegreeSpinBox + + + + + + + true + + + CKDegree + + + ckDegreeSpinBox + + + + + - + 0 0 - - 1 + + Twist - - 2 + + true - - - - true + + + + + 0 + 0 + + + + + 269 + 0 + - CKSolveDegree + <html><head/><body><p><span style=" font-weight:600;">Instrument Pointing Solve Options</span></p></body></html> - - ckSolveDegreeSpinBox + + false + + + Qt::AlignCenter - + true @@ -517,102 +599,52 @@ - - + + + + true + 0 0 - - <html><head/><body><p>Instrument Solve Options</p></body></html> + + 1 + + + 2 - - - NONE - - - - - POSITIONS - - - - - VELOCITIES - - - - - ACCELERATIONS - - - - - ALL - - - - + + + + true + 0 0 - - <html><head/><body><p>Instrument Pointing Options</p></body></html> - - - 0 + + 1 - - true + + 2 - - - ANGLES - - - - - NONE - - - - - VELOCITIES - - - - - ACCELERATIONS - - - - - ALL - - - - + + - + 0 0 - - Twist - - - true - @@ -644,7 +676,7 @@ true - SPK Initialization Polynomial Degree + SPK Initiali&zation Polynomial Degree true @@ -785,7 +817,7 @@ true - CK Initialization Polynomial Degree + C&K Initialization Polynomial Degree true @@ -839,7 +871,7 @@ true - CK Solve Polynomial Degree + CK Solve Polyno&mial Degree true @@ -959,7 +991,7 @@ - meters + &meters pointLatitudeSigmaLineEdit @@ -1365,7 +1397,7 @@ - meters per second squared + meters per second s&quared accelerationSigmaLineEdit @@ -1456,7 +1488,7 @@ - Maximum Likelihood Estimator Model 1 + &Maximum Likelihood Estimator Model 1 maximumLikelihoodModel1ComboBox @@ -1481,7 +1513,7 @@ - Maximum Likelihood Estimator Model 3 + Ma&ximum Likelihood Estimator Model 3 maximumLikelihoodModel3ComboBox @@ -1544,7 +1576,7 @@ false - Model 1 C Quantile + Model &1 C Quantile maximumLikelihoodModel1QuantileLineEdit @@ -1573,7 +1605,7 @@ false - Model 2 C Quantile + Model &2 C Quantile maximumLikelihoodModel2QuantileLineEdit @@ -1678,7 +1710,7 @@ false - Model 3 C Quantile + Model &3 C Quantile maximumLikelihoodModel3QuantileLineEdit @@ -2296,7 +2328,7 @@ - mean radius + &mean radius radiiButtonGroup @@ -2460,7 +2492,7 @@ - triaxial radii + tria&xial radii radiiButtonGroup -- GitLab From d05113cbb1e8f56a5a090be43404facfa29e3e35 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Thu, 22 Mar 2018 16:53:43 -0700 Subject: [PATCH 0191/1212] PROG: Modified setupExecution method to append output control network filename to internalData. Modified execute method to look for input control network in BundleSolutionInfos if not found under main part of project tree. --- .../qisis/objs/Directory/JigsawWorkOrder.cpp | 48 +++++++++++++++++-- .../qisis/objs/Directory/JigsawWorkOrder.h | 6 ++- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp b/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp index 2df93cfc6b..c79d088b20 100644 --- a/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp @@ -30,6 +30,7 @@ #include #include +#include "BundleSolutionInfo.h" #include "Control.h" #include "Directory.h" #include "JigsawDialog.h" @@ -114,12 +115,15 @@ namespace Isis { bool success = WorkOrder::setupExecution(); if (success) { + + QStringList internalData; + // Create a blocking setup dialog initially and check to make sure we get valid info JigsawSetupDialog setup(project()); if (setup.exec() == QDialog::Accepted) { m_bundleSettings = setup.bundleSettings(); if (setup.selectedControl()) { - setInternalData(QStringList(setup.selectedControl()->id())); + internalData.append(QStringList(setup.selectedControl()->id())); } // This else should not happen, the work order should be disabled if there are no controls. else { @@ -127,13 +131,22 @@ namespace Isis { QMessageBox::critical(qobject_cast(parent()), "Error", msg); success = false; } + // set output control network file name + if (!setup.outputControlName().isEmpty()) { + internalData.append(setup.outputControlName()); + } + else { + QString msg = "You must set an output control network filename."; + QMessageBox::critical(qobject_cast(parent()), "Error", msg); + success = false; + } } else { success = false; } + setInternalData(internalData); } - return success; } @@ -159,9 +172,36 @@ namespace Isis { * @see WorkOrder::execute() */ void JigsawWorkOrder::execute() { + + Project *proj = project(); + // Get the selected control and bundle settings and give them to the JigsawDialog for now. - Control *selectedControl = project()->control(internalData().first()); - JigsawDialog *runDialog = new JigsawDialog(project(), m_bundleSettings, selectedControl); + Control *selectedControl = proj->control(internalData().first()); + + // if selectedControl is NULL, maybe the Control we want is an output Control in a + // BundleSolutionInfo, so let's look there (I think the project()->control() method above should + // look in the results area for this automatically + // this is a workaround because the BundleSolutionInfo's Control is not in the project's control + // list + if (!selectedControl) { + int nBundles = proj->bundleSolutionInfo().size(); + for (int i = 0; i < nBundles; i++) { + BundleSolutionInfo *bundleSolution = proj->bundleSolutionInfo().at(i); + Control *bundleControl = bundleSolution->control(); + if (bundleControl->id() != internalData().first()) { + continue; + } + else { + selectedControl = bundleControl; + } + } + } + + QString outputControlFileName = internalData().at(1); + +// JigsawDialog *runDialog = new JigsawDialog(project(), m_bundleSettings, selectedControl); + JigsawDialog *runDialog = new JigsawDialog(project(), m_bundleSettings, selectedControl, + outputControlFileName); runDialog->setAttribute(Qt::WA_DeleteOnClose); runDialog->show(); } diff --git a/isis/src/qisis/objs/Directory/JigsawWorkOrder.h b/isis/src/qisis/objs/Directory/JigsawWorkOrder.h index 3d480e8149..a32576da08 100644 --- a/isis/src/qisis/objs/Directory/JigsawWorkOrder.h +++ b/isis/src/qisis/objs/Directory/JigsawWorkOrder.h @@ -48,7 +48,11 @@ namespace Isis { * @history 2017-04-25 Ian Humphrey - Modified tool tip text. Fixes #4819. * @history 2017-07-25 Cole Neubauer - Added project()->setClean call #4969 * @history 2017-07-25 Cole Neubauer - Moved project()->setClean call to JigsawDialog because - * the workorder does not actually execute the bundle adjustment #4960 + * the workorder does not actually execute the bundle adjustment #4960 + * @history 2018-03-22 Ken Edmundson - Modified setupExecution method to append output control + * network filename to internalData. Modified execute method to look for + * input control network in BundleSolutionInfos if not found under main + * part of project tree. */ class JigsawWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From d60171925982f76823b79f1945f96e4a4a7ddf4c Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Fri, 23 Mar 2018 09:14:39 -0700 Subject: [PATCH 0192/1212] PROG: corrected error in output control net location --- isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp index 63360135f8..a6cc459299 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp @@ -386,12 +386,13 @@ namespace Isis { FileName outputControlName; if (!m_outputControlName.isEmpty()) { outputControlName - = FileName(m_project->bundleSolutionInfoRoot() + "/" + m_outputControlName ); + = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/" + + m_outputControlName); } else { - outputControlName = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/Out-" + - runTime + "-" + - FileName(m_bundleSolutionInfo->inputControlNetFileName()).name()); + outputControlName + = FileName(m_project->bundleSolutionInfoRoot() + "/" + runTime + "/Out-" + runTime + "-" + + FileName(m_bundleSolutionInfo->inputControlNetFileName()).name()); } // Write output control net with correct path to results folder + runtime -- GitLab From 476fd45fcb6c62aceeef45f4b2cd2c21ea12e073 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Fri, 23 Mar 2018 09:15:46 -0700 Subject: [PATCH 0193/1212] PROG: corrected headers for bundle points csv output --- .../BundleSolutionInfo/BundleSolutionInfo.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp index cdb6caa728..fc56f5dc33 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp @@ -1387,19 +1387,16 @@ namespace Isis { // print column headers if (m_settings->errorPropagation()) { - sprintf(buf, "Point,Point,Accepted,Rejected,Residual,3-d,3-d,3-d,Sigma," - "Sigma,Sigma,Correction,Correction,Correction,Coordinate," - "Coordinate,Coordinate\nID,,,,,Latitude,Longitude,Radius," - "Latitude,Longitude,Radius,Latitude,Longitude,Radius,X,Y,Z\n" - "Label,Status,Measures,Measures,RMS,(dd),(dd),(km),(m),(m),(m)," - "(m),(m),(m),(km),(km),(km)\n"); + sprintf(buf, ",,,,,3-d,3-d,3-d,Sigma,Sigma,Sigma,Correction,Correction,Correction,Coordinate," + "Coordinate,Coordinate\nPoint,Point,Accepted,Rejected,Residual,Latitude,Longitude," + "Radius,Latitude,Longitude,Radius,Latitude,Longitude,Radius,X,Y,Z\nLabel,Status," + "Measures,Measures,RMS,(dd),(dd),(km),(m),(m),(m),(m),(m),(m),(km),(km),(km)\n"); } else { - sprintf(buf, "Point,Point,Accepted,Rejected,Residual,3-d,3-d,3-d," - "Correction,Correction,Correction,Coordinate,Coordinate," - "Coordinate\n,,,,,Latitude,Longitude,Radius,Latitude," - "Longitude,Radius,X,Y,Z\nLabel,Status,Measures,Measures," - "RMS,(dd),(dd),(km),(m),(m),(m),(km),(km),(km)\n"); + sprintf(buf, ",,,,,3-d,3-d,3-d,Correction,Correction,Correction,Coordinate,Coordinate," + "Coordinate\nPoint,Point,Accepted,Rejected,Residual,Latitude,Longitude,Radius," + "Latitude,Longitude,Radius,X,Y,Z\nLabel,Status,Measures,Measures,RMS,(dd),(dd),(km)," + "(m),(m),(m),(km),(km),(km)\n"); } fpOut << buf; -- GitLab From b21e6beb43a1980308e74147a43f284de12d5a07 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 10:32:36 -0700 Subject: [PATCH 0194/1212] PROG: Modified loadBundleSolutionInfo method to add the BundleSolutionInfo's output control id to the project member variable m_idToControlMap. --- isis/src/qisis/objs/Project/Project.cpp | 6 ++++++ isis/src/qisis/objs/Project/Project.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index f973499500..9d68b909b6 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -1102,13 +1102,18 @@ namespace Isis { /** * Loads bundle solution info into project + * * @param BundleSolutionInfo */ void Project::loadBundleSolutionInfo(BundleSolutionInfo *bundleSolutionInfo) { m_bundleSolutionInfo->append(bundleSolutionInfo); + // add BundleSolutionInfo to project's m_idToBundleSolutionInfoMap (*m_idToBundleSolutionInfoMap)[bundleSolutionInfo->id()] = bundleSolutionInfo; + // add BundleSolutionInfo's control to project's m_idToControlMap + (*m_idToControlMap)[bundleSolutionInfo->control()->id()] = bundleSolutionInfo->control(); + emit bundleSolutionInfoAdded(bundleSolutionInfo); } @@ -2904,6 +2909,7 @@ namespace Isis { else if (localName == "results") { foreach (BundleSolutionInfo *bundleInfo, m_bundleSolutionInfos) { m_project->addBundleSolutionInfo(bundleInfo); + // If BundleSolutionInfo contains adjusted images, add to the project id map. if (bundleInfo->adjustedImages().count()) { foreach (ImageList *adjustedImageList, bundleInfo->adjustedImages()) { diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index b82b89c6b8..9b2004dce7 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -229,6 +229,9 @@ namespace Isis { * activeControl and activeImageList when returning a default value. * This ensures that all the proper error checking is handled and * prevents duplicate code. + * @history 2018-03-23 Ken Edmundson - Modified loadBundleSolutionInfo method to add the + * BundleSolutionInfo's output control id to the project member variable + * m_idToControlMap. */ class Project : public QObject { Q_OBJECT -- GitLab From 39502ad8cdd3898dcd2cc1c9e75057b17ae28af8 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 10:44:53 -0700 Subject: [PATCH 0195/1212] PROG: Removed serialization of output control filename. Modified serialization of output control to be more robust, ensuring that the control's id is added to project upon reading back in. Also ensures that an open cneteditor widget containing a bundlesolutioninfo's output control is serialized properly. --- .../BundleSolutionInfo/BundleSolutionInfo.cpp | 29 ++++++++++++------- .../BundleSolutionInfo/BundleSolutionInfo.h | 6 ++++ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp index fc56f5dc33..c4c839c836 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp @@ -1658,8 +1658,6 @@ namespace Isis { stream.writeTextElement("id", m_id->toString()); stream.writeTextElement("name", m_name); stream.writeTextElement("runTime", runTime()); -// stream.writeTextElement("inputFileName", -// relativeBundlePath + m_inputControlNetFileName->name()); QString relativePath = m_inputControlNetFileName->expanded().remove(project->newProjectRoot()); // Get rid of any preceding "/" , but add on ending "/" @@ -1669,8 +1667,6 @@ namespace Isis { stream.writeTextElement("inputFileName", relativePath); - stream.writeTextElement("outputFileName", - relativeBundlePath + FileName(m_outputControl->fileName()).name()); stream.writeTextElement("bundleOutTXT", relativeBundlePath + FileName(m_txtBundleOutputFilename).name()); stream.writeTextElement("imagesCSV", @@ -1696,7 +1692,13 @@ namespace Isis { } stream.writeEndElement(); } + + // save output control + stream.writeStartElement("outputControl"); + m_outputControl->save(stream, project, relativeBundlePath); + stream.writeEndElement(); } + stream.writeEndElement(); //end bundleSolutionInfo } @@ -1766,6 +1768,18 @@ namespace Isis { m_xmlHandlerBundleSolutionInfo->m_adjustedImages->append( new ImageList(m_xmlHandlerProject, reader())); } + // TODO: Ken Edmundson - Need to make file handling more automatic instead of always having to + // explicitly create these paths, do we need a + // project->projectBundleSolutionPath() method? And can we let the BundleSolutionInfo + // object create the full path automatically by adding the runTime to the + // projectBundleSolutionPath()? + else if (localName == "outputControl") { + FileName outputControlPath + = FileName(m_xmlHandlerProject->projectRoot() + "/results/bundle/" + + m_xmlHandlerBundleSolutionInfo->runTime()); + m_xmlHandlerBundleSolutionInfo->m_outputControl = + new Control(outputControlPath, reader()); + } } return true; } @@ -1806,13 +1820,6 @@ namespace Isis { m_xmlHandlerBundleSolutionInfo->m_inputControlNetFileName = new FileName( projectRoot + m_xmlHandlerCharacters); } - else if (localName == "outputFileName") { - assert(m_xmlHandlerBundleSolutionInfo->m_outputControl == NULL); - delete m_xmlHandlerBundleSolutionInfo->m_outputControl; - FileName fname(projectRoot + m_xmlHandlerCharacters); - m_xmlHandlerBundleSolutionInfo->m_outputControl - = new Control(fname.expanded()); - } else if (localName == "bundleOutTXT") { m_xmlHandlerBundleSolutionInfo->m_txtBundleOutputFilename = projectRoot + m_xmlHandlerCharacters; diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h index bd28a7d3f1..6aaba8526a 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h @@ -128,6 +128,12 @@ namespace Isis { * serialization support. * 3) member variable m_txtBundleOutputFilename and associated accessor * for bundleout.txt file. + * @history 2018-03-23 Ken Edmundson - modified... + * 1) removed serialization of output control filename + * 2) serialization of output control to be more robust, ensuring that + * the control's id is added to project upon reading back in. Also + * ensures that an open cneteditor widget containing a + * bundlesolutioninfo's output control is serialized properly. */ class BundleSolutionInfo : public QObject { Q_OBJECT -- GitLab From 6894256f6df8025dcc2a57fd99f2d46cb2f31797 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 11:00:19 -0700 Subject: [PATCH 0196/1212] PROG: In execute method, removed search for input control network in BundleSolutionInfos. No longer needed as control is now properly saved in projects m_idToControlMap. --- .../qisis/objs/Directory/JigsawWorkOrder.cpp | 20 ------------------- .../qisis/objs/Directory/JigsawWorkOrder.h | 3 +++ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp b/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp index c79d088b20..f08ae306d9 100644 --- a/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/JigsawWorkOrder.cpp @@ -178,28 +178,8 @@ namespace Isis { // Get the selected control and bundle settings and give them to the JigsawDialog for now. Control *selectedControl = proj->control(internalData().first()); - // if selectedControl is NULL, maybe the Control we want is an output Control in a - // BundleSolutionInfo, so let's look there (I think the project()->control() method above should - // look in the results area for this automatically - // this is a workaround because the BundleSolutionInfo's Control is not in the project's control - // list - if (!selectedControl) { - int nBundles = proj->bundleSolutionInfo().size(); - for (int i = 0; i < nBundles; i++) { - BundleSolutionInfo *bundleSolution = proj->bundleSolutionInfo().at(i); - Control *bundleControl = bundleSolution->control(); - if (bundleControl->id() != internalData().first()) { - continue; - } - else { - selectedControl = bundleControl; - } - } - } - QString outputControlFileName = internalData().at(1); -// JigsawDialog *runDialog = new JigsawDialog(project(), m_bundleSettings, selectedControl); JigsawDialog *runDialog = new JigsawDialog(project(), m_bundleSettings, selectedControl, outputControlFileName); runDialog->setAttribute(Qt::WA_DeleteOnClose); diff --git a/isis/src/qisis/objs/Directory/JigsawWorkOrder.h b/isis/src/qisis/objs/Directory/JigsawWorkOrder.h index a32576da08..49f3d81f72 100644 --- a/isis/src/qisis/objs/Directory/JigsawWorkOrder.h +++ b/isis/src/qisis/objs/Directory/JigsawWorkOrder.h @@ -53,6 +53,9 @@ namespace Isis { * network filename to internalData. Modified execute method to look for * input control network in BundleSolutionInfos if not found under main * part of project tree. + * @history 2018-03-23 Ken Edmundson - In execute method, removed search for input control + * network in BundleSolutionInfos. No longer needed as control is now + * properly saved in projects m_idToControlMap. */ class JigsawWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From 0c0f69cde1b320a96952e4fcd9cf794f501adfe7 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 11:02:05 -0700 Subject: [PATCH 0197/1212] PROG: Removed commented code. --- isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp index a6cc459299..5b18bd9299 100644 --- a/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp +++ b/isis/src/qisis/objs/JigsawDialog/JigsawDialog.cpp @@ -401,12 +401,6 @@ namespace Isis { // create Control with output control net and add to m_bundleSolutionInfo m_bundleSolutionInfo->setOutputControl(new Control(m_project, outputControlName.expanded())); - // TODO: it seems like this new Control should be added to the Project, but this doesn't work - // need to make it work, the alternative is the kluge in the JigsawWorkOrder::execute - // method - -// m_bundleSolutionInfo->setOutputControlNetworkFileName(jiggedControlName); - // Iterate through all of the image lists (the "imports" in the project). QList imageLists = m_bundleSolutionInfo->imageList(); foreach (ImageList *imageList, imageLists) { -- GitLab From 63f97b4775154aa1fd7436987ba8dd295bae8381 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 13:44:38 -0700 Subject: [PATCH 0198/1212] PROG: Simplified serialization of BundleSolutionInfo output Control. --- .../objs/BundleSolutionInfo/BundleSolutionInfo.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp index c4c839c836..49f4cb95f0 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp @@ -1768,17 +1768,11 @@ namespace Isis { m_xmlHandlerBundleSolutionInfo->m_adjustedImages->append( new ImageList(m_xmlHandlerProject, reader())); } - // TODO: Ken Edmundson - Need to make file handling more automatic instead of always having to - // explicitly create these paths, do we need a - // project->projectBundleSolutionPath() method? And can we let the BundleSolutionInfo - // object create the full path automatically by adding the runTime to the - // projectBundleSolutionPath()? else if (localName == "outputControl") { - FileName outputControlPath - = FileName(m_xmlHandlerProject->projectRoot() + "/results/bundle/" - + m_xmlHandlerBundleSolutionInfo->runTime()); - m_xmlHandlerBundleSolutionInfo->m_outputControl = - new Control(outputControlPath, reader()); + FileName outputControlPath = FileName(m_xmlHandlerProject->bundleSolutionInfoRoot() + "/" + + m_xmlHandlerBundleSolutionInfo->runTime()); + + m_xmlHandlerBundleSolutionInfo->m_outputControl = new Control(outputControlPath, reader()); } } return true; -- GitLab From cad3eff279cc24082f43df726953ba03e28fd742 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Sat, 24 Mar 2018 13:46:12 -0700 Subject: [PATCH 0199/1212] removed unnecessary blank lines --- isis/src/qisis/objs/Project/Project.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index 9d68b909b6..9478193725 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -111,7 +111,6 @@ namespace Isis { m_activeControl = NULL; m_activeImageList = NULL; - m_numImagesCurrentlyReading = 0; m_mutex = NULL; @@ -131,7 +130,6 @@ namespace Isis { m_name = "Project"; - // Look for old projects QDir tempDir = QDir::temp(); QStringList nameFilters; -- GitLab From 569e00a96163bf042fa4d95f4848412d954bbcf6 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Sat, 24 Mar 2018 18:05:18 -0700 Subject: [PATCH 0200/1212] Update linux-spec.txt --- linux-spec.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/linux-spec.txt b/linux-spec.txt index 529ab58395..07f700f8dd 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -21,8 +21,6 @@ https://conda.anaconda.org/conda-forge/linux-64/jbig-2.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 @@ -97,7 +95,6 @@ https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -- GitLab From ba9da10092cfba2484467784082afaaa391902f1 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Mon, 26 Mar 2018 08:10:34 -0700 Subject: [PATCH 0201/1212] PROG: modified displayTextFile method to query for systems fixed width font --- .../objs/BundleObservationView/BundleObservationView.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp index ecaddc5578..aadb516ed7 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -171,7 +172,12 @@ namespace Isis { QTextStream in(&file); QTextEdit *qText=new QTextEdit(); - qText->setFontFamily("Courier"); + + // From QFontDatabase::systemFont(SystemFont type) method description: returns most adequate + // font for a given typecase (here FixedFont) for proper integration with system's look and + // feel. + const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont); + qText->setFontFamily(fixedFont.family()); while (!in.atEnd()) { qText->append(in.readLine()); -- GitLab From 0156afc7acd60c858f19fe4c686b7621ed951841 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Mon, 26 Mar 2018 08:11:39 -0700 Subject: [PATCH 0202/1212] PROG: modified BundleSolutionInfo::save method to properly save output control file --- .../objs/BundleSolutionInfo/BundleSolutionInfo.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp index 49f4cb95f0..2c372f64a2 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.cpp @@ -1595,16 +1595,8 @@ namespace Isis { .arg(bundleSolutionInfoRoot.path()), _FILEINFO_); } - QString oldFile = oldPath + "/" + m_inputControlNetFileName->name(); - QString newFile = newPath + "/" + m_inputControlNetFileName->name(); - if (!QFile::copy(oldFile, newFile)) { - throw IException(IException::Io, - QString("Failed to copy file [%1] to new file [%2]") - .arg(m_inputControlNetFileName->name()).arg(newFile), - _FILEINFO_); - } - oldFile = oldPath + "/" + m_outputControl->fileName(); - newFile = newPath + "/" + m_outputControl->fileName(); + QString oldFile = oldPath + "/" + FileName(m_outputControl->fileName()).name(); + QString newFile = newPath + "/" + FileName(m_outputControl->fileName()).name(); if (!QFile::copy(oldFile, newFile)) { throw IException(IException::Io, QString("Failed to copy file [%1] to new file [%2]") -- GitLab From 75fe5800a7963ce3e868b31b23088ecdec0cf258 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Mon, 26 Mar 2018 08:18:05 -0700 Subject: [PATCH 0203/1212] PROG: updated history entries --- isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h | 2 ++ .../qisis/objs/BundleObservationView/BundleObservationView.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h index 6aaba8526a..1482f422da 100755 --- a/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h +++ b/isis/src/control/objs/BundleSolutionInfo/BundleSolutionInfo.h @@ -134,6 +134,8 @@ namespace Isis { * the control's id is added to project upon reading back in. Also * ensures that an open cneteditor widget containing a * bundlesolutioninfo's output control is serialized properly. + * @history 2018-03-26 Ken Edmundson - modified save method to properly save output control + * network file. */ class BundleSolutionInfo : public QObject { Q_OBJECT diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h index 92044be9c7..82e9fb59a2 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h @@ -42,6 +42,8 @@ namespace Isis{ * Set SectionResizeMode to QHeaderView::ResizeToContents so columns are * displayed at the width of the maximum size of the column content. * Fixes #4850. + * @history 2018-03-26 Ken Edmundson - Modified displayTextFile method to query for system's + * fixed width font. */ class BundleObservationView : public AbstractProjectItemView -- GitLab From 6259e1aee6b3e126f4b3ab460dea69bd3059eb0c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 09:01:21 -0700 Subject: [PATCH 0204/1212] PROG: Redraw measures on viewports when a new control net is loaded. --- isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp | 9 ++++++--- isis/src/qisis/objs/ControlNetTool/ControlNetTool.h | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp index 6877d75fb0..9849180b7a 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp @@ -99,9 +99,12 @@ namespace Isis { */ void ControlNetTool::setControlNet(ControlNet *cnet) { m_controlNet = cnet; - // TODO: TLS 7-25-17 This method is called by Project::open before there are any viewports, - // so the following command seg faults. Need to add check for viewports or ?? - //paintAllViewports(); + + // Cannot use Tool::cubeViewportList() because it does not properly return a NULL if viewports + // don't exist. + if (workspace() && workspace()->cubeViewportList()) { + paintAllViewports(); + } } diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h index 00b8f82b8e..02539f3dd0 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h @@ -54,6 +54,8 @@ namespace Isis { * networks Fixes #4567 * @history 2018-03-12 Tracie Sucharski - Fixed some documentation leftover from renaming from * IpceTool. References #5090. + * @history 2018-03-27 Tracie Sucharski - Redraw cube viewports when a new control net is + * loaded. */ class ControlNetTool : public Tool { Q_OBJECT -- GitLab From d8475862f72146eb7f560724565ebe4d67a395d4 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 09:02:34 -0700 Subject: [PATCH 0205/1212] Update the control net when a new active control is set in ipce. References #4567. --- .../ControlPointEditWidget.cpp | 27 ++++++++++++++++--- .../ControlPointEditWidget.h | 10 ++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index 0622c49712..ad53e404b6 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -579,21 +579,42 @@ namespace Isis { /** * New control network being edited * - * @param cnet (ControlNet *) The control network to edit - * @param filename (Qstring) Need filename to write to widget label. ControlNet doesn't - * contain a filename. + * @param cnet (Control *) The control network to edit + * * @internal */ void ControlPointEditWidget::setControl(Control *control) { // TODO more error checking m_controlNet = control->controlNet(); m_cnetFileName = control->fileName(); + + m_cnetFileNameLabel->setText("Control Network: " + m_cnetFileName); setWindowTitle("Control Point Editor- Control Network File: " + m_cnetFileName); emit newControlNetwork(m_controlNet); } + /** + * New active control was set from ipce + * + * TODO: This will need to be redesigned with the ::setControl method to better handle editing + * points from different cnets. + */ + void ControlPointEditWidget::setControlFromActive() { + + if (m_directory->project()->activeControl()) { + m_controlNet = m_directory->project()->activeControl()->controlNet(); + m_cnetFileName = m_directory->project()->activeControl()->fileName(); + + m_cnetFileNameLabel->setText("Control Network: " + m_cnetFileName); + setWindowTitle("Control Point Editor- Control Network File: " + m_cnetFileName); + + emit newControlNetwork(m_controlNet); + } + } + + /** * @brief Create a temporary measure to hold the ground point info for ground source * diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index 735120a675..286bf0c663 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -66,8 +66,8 @@ namespace Isis { * @history 2017-08-02 Tracie Sucharski - Added methods to return the current editPoint and * current editPoint Id. Removed measure table methods. Fixes #5007, * #5008. - * @history 2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to - * SerialNumberList.remove() + * @history 2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to + * SerialNumberList.remove() * @history 2017-08-09 Christopher Combs - Added QPushButton and slot for reloading a point's * measures in the ChipViewports. Fixes #5070. * @history 2017-08-09 Christopher Combs - Added Apriori Latitude, Longitude, and Radius to @@ -77,7 +77,10 @@ namespace Isis { * @history 2017-08-11 Tracie Sucharski - Fixed save point and colorization of buttons. * Fixes #4984. * @history 2017-08-15 Tracie Sucharski - When ControlPoint is deleted, set the visibility of - * this widget to false, then to true in loadPoint(). Fixes #5073. + * this widget to false, then to true in loadPoint(). Fixes #5073. + * @history 2018-03-23 Tracie Sucharski - Update the cnet filename with current cnet. + * @history 2018-03-26 Tracie Sucharski - Update editor if a new active control net is set in + * ipce. References #4567. */ class ControlPointEditWidget : public QWidget { Q_OBJECT @@ -104,6 +107,7 @@ namespace Isis { public slots: void setSerialNumberList(SerialNumberList *snList); void setControl(Control *control); + void setControlFromActive(); void setEditPoint(ControlPoint *controlPoint, QString serialNumber = ""); void deletePoint(ControlPoint *controlPoint); -- GitLab From 06187d695f4b9aaaa7e1b28010c6f8333d7b4e94 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 09:04:09 -0700 Subject: [PATCH 0206/1212] PROG: Changed MosaicControlNetTool to ControlNetTool in addCubeDnView. Added a method to determine if a control is being used in a CnetEditor view before closing the control net. References #5026. --- isis/src/qisis/objs/Directory/Directory.cpp | 66 +++++++++++++++------ isis/src/qisis/objs/Directory/Directory.h | 7 ++- 2 files changed, 54 insertions(+), 19 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index de7a7f71a4..8e53b28d11 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -533,6 +533,9 @@ namespace Isis { void Directory::newActiveControl(bool newControl) { + + // If the new active control is the same as what is showing in the cnetEditorWidget, allow + // editing of control points from the widget, otherwise turnoff from context menu foreach(CnetEditorWidget *cnetEditorView, m_cnetEditorViewWidgets) { if (cnetEditorView->control() == project()->activeControl()->controlNet()) { cnetEditorView->pointTableView()->content()->setActiveControlNet(true); @@ -618,6 +621,7 @@ namespace Isis { QMenuBar *menuBar = new QMenuBar; resultLayout->addWidget(menuBar, row, 0, 1, 2); row++; + CnetEditorWidget *mainWidget = new CnetEditorWidget(network, configFile.expanded()); resultLayout->addWidget(mainWidget, row, 0, 1, 2); row++; @@ -743,16 +747,19 @@ namespace Isis { connect(this, SIGNAL(redrawMeasures()), result, SIGNAL(redrawMeasures())); connect(this, SIGNAL(cnetModified()), result, SIGNAL(redrawMeasures())); - if (!project()->activeControl()) { - QList toolbar = result->toolPadActions(); - QAction* cnetAction = toolbar[0]; - ControlNetTool *cnetTool = static_cast(cnetAction->parent()); + // Note: This assumes the Control Net tool is the 1st in the toolpad. + QList toolbar = result->toolPadActions(); + QAction* cnetAction = toolbar[0]; + ControlNetTool *cnetTool = static_cast(cnetAction->parent()); + connect (project(), SIGNAL(activeControlSet(bool)), + cnetAction, SLOT(setEnabled(bool))); + connect (project(), SIGNAL(activeControlSet(bool)), + cnetTool, SLOT(loadNetwork())); + + // If an active control has not been set, make the control net tool inactive + if (!project()->activeControl()) { cnetAction->setEnabled(false); - connect (project(), SIGNAL(activeControlSet(bool)), - cnetAction, SLOT(setEnabled(bool))); - connect (project(), SIGNAL(activeControlSet(bool)), - cnetTool, SLOT(loadNetwork())); } return result; @@ -796,18 +803,19 @@ namespace Isis { // to be drawn with different color/shape. connect(this, SIGNAL(redrawMeasures()), result, SIGNAL(redrawMeasures())); - // Control Net tool will only be active if the project has an active Control. Note: This - // assumes the Control Net tool is the 4th in the toolpad. - if (!project()->activeControl()) { - QList toolbar = result->toolPadActions(); - QAction* cnetAction = toolbar[3]; - MosaicControlNetTool *cnetButton = static_cast(cnetAction->parent()); + // Note: This assumes the Control Net tool is the 4th in the toolpad. + QList toolbar = result->toolPadActions(); + QAction* cnetAction = toolbar[3]; + MosaicControlNetTool *cnetTool = static_cast(cnetAction->parent()); + + connect (project(), SIGNAL(activeControlSet(bool)), + cnetAction, SLOT(setEnabled(bool))); + connect (project(), SIGNAL(activeControlSet(bool)), + cnetTool, SLOT(loadNetwork())); + // Control Net tool will only be active if the project has an active Control. + if (!project()->activeControl()) { cnetAction->setEnabled(false); - connect (project(), SIGNAL(activeControlSet(bool)), - cnetAction, SLOT(setEnabled(bool))); - connect (project(), SIGNAL(activeControlSet(bool)), - cnetButton, SLOT(loadNetwork())); } return result; @@ -865,6 +873,8 @@ namespace Isis { connect(result->controlPointEditWidget(), SIGNAL(saveControlNet()), this, SLOT(makeBackupActiveControl())); + connect (project(), SIGNAL(activeControlSet(bool)), + result->controlPointEditWidget(), SLOT(setControlFromActive())); } return controlPointEditView(); @@ -1080,6 +1090,26 @@ namespace Isis { } + /** + * @description Return true if control is not currently being viewed in a CnetEditorWidget + * + * @param Control * Control used to search current CnetEditorWidgets + * + * @return @b (bool) Returns true if control is currently being viewed in CnetEditorWidget + */ + bool Directory::controlUsedInCnetEditorWidget(Control *control) { + + bool result; + if ( m_controlMap.count(control) == 0) { + result = false; + } + else { + result = true; + } + return result; + } + + /** * @brief Removes pointers to deleted CubeDnView objects. */ diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 54a89d19d2..4205c54e9a 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -212,7 +212,10 @@ namespace Isis { * CnetEditorWidgets. Added ability to view bundleout.txt file in method * addBundleObservationView. * @history 2018-03-14 Tracie Sucharski - Changed MosaicControlNetTool to ControlNetTool in - * addCubeDnView. References #5026. + * addCubeDnView. Added method controlUsedInCnetEditorWidget so Project + * knows whether it is safe to close a control net when a new active is + * set. References #5026. + * */ class Directory : public QObject { Q_OBJECT @@ -268,6 +271,8 @@ namespace Isis { ControlPointEditView *controlPointEditView(); // ChipViewportsWidget *controlPointChipViewports(); + bool controlUsedInCnetEditorWidget(Control *control); + // Return the control point Id currently in the ControlPointEditWidget, if it exists QString editPointId(); -- GitLab From 219ec554261e25f98669ffe8d5bc8e2fdfaa46ed Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 09:05:14 -0700 Subject: [PATCH 0207/1212] PROG: When setting new active control, do not close old active if it is being used in a CnetEditor view. References #5026. --- isis/src/qisis/objs/Project/Project.cpp | 5 ++++- isis/src/qisis/objs/Project/Project.h | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index 9478193725..d4368bafb9 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -1711,7 +1711,10 @@ namespace Isis { ProjectItem *item = directory()->model()->findItemData(m_activeControl-> displayProperties()->displayName(), Qt::DisplayRole); item->setTextColor(Qt::black); - m_activeControl->closeControlNet(); + // Make sure active not used in a CnetEditorWidget before closing + if (!directory()->controlUsedInCnetEditorWidget(m_activeControl)) { + m_activeControl->closeControlNet(); + } } ProjectItem *item = directory()->model()->findItemData(displayName, Qt::DisplayRole); diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 9b2004dce7..0adb822f0f 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -232,6 +232,9 @@ namespace Isis { * @history 2018-03-23 Ken Edmundson - Modified loadBundleSolutionInfo method to add the * BundleSolutionInfo's output control id to the project member variable * m_idToControlMap. + * @history 2018-03-26 Tracie Sucharski - When setting a new active control do not close the old + * active control net if it is still being viewed in a CnetEditorWidget. + * References #5026. */ class Project : public QObject { Q_OBJECT -- GitLab From 85ea81f9980737fd164fd05693bcb8d18187f20f Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Tue, 27 Mar 2018 12:09:42 -0700 Subject: [PATCH 0208/1212] first copypasta for python binding support --- .gitignore | 162 ++++++++++ isis/Jenkinsfile => Jenkinsfile | 0 configure.py | 88 +++++ isis/sipfiles/BundleAdjust.sip | 31 ++ isis/sipfiles/BundleControlPoint.sip | 68 ++++ isis/sipfiles/BundleImage.sip | 16 + isis/sipfiles/BundleMeasure.sip | 30 ++ .../BundleObservationSolveSettings.sip | 59 ++++ isis/sipfiles/BundleResults.sip | 125 ++++++++ isis/sipfiles/BundleSettings.sip | 113 +++++++ isis/sipfiles/BundleSolutionInfo.sip | 28 ++ isis/sipfiles/ControlNet.sip | 32 ++ isis/sipfiles/ControlPoint.sip | 302 ++++++++++++++++++ isis/sipfiles/MaximumLikelihoodWFunctions.sip | 52 +++ isis/sipfiles/Statistics.sip | 41 +++ isis/sipfiles/master.sip | 85 +++++ isis/sipfiles/type_conversions.sip | 292 +++++++++++++++++ 17 files changed, 1524 insertions(+) rename isis/Jenkinsfile => Jenkinsfile (100%) create mode 100644 configure.py create mode 100644 isis/sipfiles/BundleAdjust.sip create mode 100644 isis/sipfiles/BundleControlPoint.sip create mode 100644 isis/sipfiles/BundleImage.sip create mode 100644 isis/sipfiles/BundleMeasure.sip create mode 100644 isis/sipfiles/BundleObservationSolveSettings.sip create mode 100644 isis/sipfiles/BundleResults.sip create mode 100644 isis/sipfiles/BundleSettings.sip create mode 100644 isis/sipfiles/BundleSolutionInfo.sip create mode 100644 isis/sipfiles/ControlNet.sip create mode 100644 isis/sipfiles/ControlPoint.sip create mode 100644 isis/sipfiles/MaximumLikelihoodWFunctions.sip create mode 100644 isis/sipfiles/Statistics.sip create mode 100644 isis/sipfiles/master.sip create mode 100644 isis/sipfiles/type_conversions.sip diff --git a/.gitignore b/.gitignore index 789cc4093c..c2d153b74e 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,165 @@ print.prt */tsts/*/output/* */build/ */install/ + +# Created by https://www.gitignore.io/api/c++ + +### C++ ### +# Prerequisites +*.d +*.cpp +*.c +*.hpp +*.sbf + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + + +# Created by https://www.gitignore.io/api/osx + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon +# Thumbnails +._* +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +# Created by https://www.gitignore.io/api/python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +.venv/ +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject diff --git a/isis/Jenkinsfile b/Jenkinsfile similarity index 100% rename from isis/Jenkinsfile rename to Jenkinsfile diff --git a/configure.py b/configure.py new file mode 100644 index 0000000000..4a3c84d735 --- /dev/null +++ b/configure.py @@ -0,0 +1,88 @@ +import os +import sys +import sipconfig +import sipdistutils +import PyQt5 +import subprocess +import argparse + +from os.path import splitext +from os.path import dirname +from glob import glob +from distutils.spawn import find_executable + +from PyQt5.QtCore import PYQT_CONFIGURATION +from plio.utils.utils import find_in_dict +from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict +from sipconfig import ModuleMakefile + +def main (module): + # The name of the SIP build file generated by SIP and used by the build + # system. + sipy_sip_dir = "sipfiles/" + module = sipy_sip_dir+module + '.sip' + build_file = "bundle"+".sbf" + target = module+".so" + + # Get the extra SIP flags needed by the imported qt module. Note that + # this normally only includes those flags (-x and -t) that relate to SIP's + # versioning system. + qt_sip_flags = qtconfigdict["sip_flags"] + + # sip_bin = current_env_path + "/bin/sip" + sip_bin = find_executable('sip') + pyqt_sip_dir = dirname(dirname(sip_bin)) + "/share/sip/PyQt5" + + # Get the PyQt configuration information. + config = sipconfig.Configuration() + + # Run SIP to generate the code. Note that we tell SIP where to find the qt + # module's specification files using the -I flag. + + errcode = os.system(" ".join([sip_bin, "-e","-c", ".", "-b", build_file, "-I", + pyqt_sip_dir, qt_sip_flags, module])) + + if errcode != 0: + print('sip exited with non zero error code: {}'.format(errcode)) + + # We are going to install the SIP specification file for this module and + # its configuration module. + installs = [] + installs.append([module, os.path.join(pyqt_sip_dir, "isis3")]) + + isis_root = os.getenv("ISISROOT") + if not isis_root: + raise("Please set ISIS") + + extra_libs = ["$(ALLLIBS)", "-Wl,-rpath,"+isis_root+"/lib", "-Wl,-rpath,"+isis_root+"/3rdParty/lib"] + + makefile = ModuleMakefile(configuration=config, build_file=build_file, installs=installs) + makefile.extra_cxxflags = ["$(ALLINCDIRS)", "-Wstrict-aliasing=0", "-Wno-unused-variable"] + makefile.extra_lflags = ["$(ALLLIBDIRS)"] + makefile.extra_include_dirs = [x[0] for x in os.walk('incs/')] + makefile.extra_lib_dirs = [isis_root + '/3rdParty/lib', isis_root + 'lib'] + makefile.generate() + + # add import line for isismake.os + isis_makefile = "include " + isis_root + "/make/isismake.os" + + with open("Makefile", 'r+') as f: + content = f.read() + content = content.replace("LIBS =", "LIBS = " + ' '.join(extra_libs)) + f.seek(0, 0) + f.write(isis_makefile + '\n\n' + content) + +if __name__ == "__main__": + clean = ['cpp', 'c', 'h', 'hpp', 'o', 'sbf'] + + # If clean is passed in, clear up all the files genreated by the scripts + if len(sys.argv) > 1 and sys.argv[1] == 'clean': + files = [] + for filetype in clean: + files.extend(glob('*.{}'.format(filetype))) + + for f in files: + os.remove(f) + exit() + + main('master') diff --git a/isis/sipfiles/BundleAdjust.sip b/isis/sipfiles/BundleAdjust.sip new file mode 100644 index 0000000000..098d7cab9c --- /dev/null +++ b/isis/sipfiles/BundleAdjust.sip @@ -0,0 +1,31 @@ +// SIP Wrapper to the ISIS3 bundle class +%Include type_conversions.sip + + +namespace Isis { + class BundleAdjust : public QObject { + %TypeHeaderCode + #include "BundleAdjust.h" + #include "IException.h" + %End + + public: + BundleAdjust(PyObject* settings, const QString &cnetFile, const QString &cubeList, bool printSummary = true) throw(Isis::IException) [(QSharedPointer, QString, QString, bool)]; + %MethodCode + int sipErr = 0; + QSharedPointer *wrappedSettings = new QSharedPointer(); + + Isis::BundleSettings *settings = (Isis::BundleSettings*) sipConvertToType(a0, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + wrappedSettings->reset(settings); + try { + sipCpp = new sipIsis_BundleAdjust(*wrappedSettings, *a1, *a2, a3); + } + catch (Isis::IException &error) { + PyErr_SetString(sipException_Isis_IException, error.what()); + return NULL; + } + %End + + Isis::BundleSolutionInfo solveCholeskyBR() throw(Isis::IException) ; + }; +}; diff --git a/isis/sipfiles/BundleControlPoint.sip b/isis/sipfiles/BundleControlPoint.sip new file mode 100644 index 0000000000..934b00bc94 --- /dev/null +++ b/isis/sipfiles/BundleControlPoint.sip @@ -0,0 +1,68 @@ +namespace Isis { + class BundleControlPoint { + + %TypeHeaderCode + #include "BundleControlPoint.h" + #include + %End + + public: + + SIP_PYTYPE measures() throw(Isis::IException); + %MethodCode + size_t size = sipCpp->size(); + + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + Isis::BundleMeasure* cppMeasure = sipCpp->at(i).data(); + + PyObject *pyMeasure = sipConvertFromType((void*)(cppMeasure), sipType_Isis_BundleMeasure, NULL); + PyList_SetItem(l, i, pyMeasure); + } + + return l; + + %End + + // BundleControlPoint(ControlPoint *point); // default constructor + BundleControlPoint(const Isis::BundleControlPoint &src) throw(Isis::IException); + ~BundleControlPoint(); + + // copy + void copy(const Isis::BundleControlPoint &src) throw(Isis::IException); + + // mutators + // QSharedPointer addMeasure(ControlMeasure *controlMeasure); + void computeResiduals() throw(Isis::IException); + void setNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); + void setRejected(bool reject) throw(Isis::IException); + void setWeights(const QSharedPointer settings, double metersToRadians) throw(Isis::IException); + void zeroNumberOfRejectedMeasures() throw(Isis::IException); + + // accessors + bool isRejected() const throw(Isis::IException); + int numberOfMeasures() const throw(Isis::IException); + int numberOfRejectedMeasures() const throw(Isis::IException); + double residualRms() const throw(Isis::IException); + QString id() const throw(Isis::IException); + Isis::ControlPoint::PointType type() const throw(Isis::IException); + + // string format methods + QString formatBundleOutputSummaryString(bool errorPropagation) const throw(Isis::IException); + QString formatBundleOutputDetailString(bool errorPropagation, double RTM, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatValue(double value, int fieldWidth, int precision) throw(Isis::IException); + QString formatAprioriSigmaString(int type, int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatLatitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); + QString formatLongitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); + QString formatRadiusAprioriSigmaString(int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatAdjustedSigmaString(int type, int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatLatitudeAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatLongitudeAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + + }; +}; diff --git a/isis/sipfiles/BundleImage.sip b/isis/sipfiles/BundleImage.sip new file mode 100644 index 0000000000..bf8d975d4c --- /dev/null +++ b/isis/sipfiles/BundleImage.sip @@ -0,0 +1,16 @@ +namespace Isis { + class BundleImage /NoDefaultCtors/ { + %TypeHeaderCode + #include "BundleImage.h" + %End + %InstanceCode + sipCpp = new Isis::BundleImage(NULL, "", ""); + %End + public: + + + // QSharedPointer parentObservation(); + QString serialNumber() throw(Isis::IException); + QString fileName() throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/BundleMeasure.sip b/isis/sipfiles/BundleMeasure.sip new file mode 100644 index 0000000000..fd2a02942c --- /dev/null +++ b/isis/sipfiles/BundleMeasure.sip @@ -0,0 +1,30 @@ +%Include type_conversions.sip + +namespace Isis { + class BundleMeasure /NoDefaultCtors/ { + %TypeHeaderCode + #include "BundleMeasure.h" + %End + + public: + + bool isRejected() const throw(Isis::IException); + // Camera *camera() const; + // Isis::BundleControlPoint *parentControlPoint(); + QSharedPointer parentBundleImage() throw(Isis::IException); + // QSharedPointer parentBundleObservation(); + // const QSharedPointer observationSolveSettings(); + + double sample() const throw(Isis::IException); + double sampleResidual() const throw(Isis::IException); + double line() const throw(Isis::IException); + double lineResidual() const throw(Isis::IException); + double residualMagnitude() const throw(Isis::IException); + QString cubeSerialNumber() const throw(Isis::IException); + double focalPlaneComputedX() const throw(Isis::IException); + double focalPlaneComputedY() const throw(Isis::IException); + double focalPlaneMeasuredX() const throw(Isis::IException); + double focalPlaneMeasuredY() const throw(Isis::IException); + int observationIndex() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/BundleObservationSolveSettings.sip b/isis/sipfiles/BundleObservationSolveSettings.sip new file mode 100644 index 0000000000..89b28277c0 --- /dev/null +++ b/isis/sipfiles/BundleObservationSolveSettings.sip @@ -0,0 +1,59 @@ + +%Import QtCore/QtCoremod.sip +%Import QtXml/QtXmlmod.sip + +namespace Isis{ + class BundleObservationSolveSettings { + %TypeHeaderCode + #include "BundleObservationSolveSettings.h" + %End + public: + + enum InstrumentPointingSolveOption { + NoPointingFactors = 0, /**< Solve for none of the pointing factors.*/ + AnglesOnly = 1, /**< Solve for pointing angles: right ascension, declination + and, optionally, twist.*/ + AnglesVelocity = 2, //!< Solve for pointing angles and their angular velocities. + AnglesVelocityAcceleration = 3, /**< Solve for pointing angles, their velocities and their + accelerations.*/ + AllPointingCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to + the pointing angles.*/ + }; + + //! Options for how to solve for instrument position + enum InstrumentPositionSolveOption { + NoPositionFactors = 0, /**< Solve for none of the position factors.*/ + PositionOnly = 1, /**< Solve for instrument positions only.*/ + PositionVelocity = 2, /**< Solve for instrument positions and velocities.*/ + PositionVelocityAcceleration = 3, /**< Solve for instrument positions, velocities, and + accelerations.*/ + AllPositionCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to + the instrument positions.*/ + }; + + BundleObservationSolveSettings() throw(Isis::IException); + InstrumentPositionSolveOption stringToInstrumentPositionSolveOption(QString option) throw(Isis::IException); + InstrumentPointingSolveOption stringToInstrumentPointingSolveOption(QString option) throw(Isis::IException); + + void setInstrumentPositionSettings(InstrumentPositionSolveOption option, + int spkDegree = 2, + int spkSolveDegree = 2, + bool positionOverHermite = false, + double positionAprioriSigma = -1.0, + double velocityAprioriSigma = -1.0, + double accelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; + + + void setInstrumentPointingSettings(InstrumentPointingSolveOption option, + bool solveTwist, + int ckDegree = 2, + int ckSolveDegree = 2, + bool solvePolynomialOverExisting = false, + double anglesAprioriSigma = -1.0, + double angularVelocityAprioriSigma = -1.0, + double angularAccelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; + + + + }; +}; diff --git a/isis/sipfiles/BundleResults.sip b/isis/sipfiles/BundleResults.sip new file mode 100644 index 0000000000..777ae54aed --- /dev/null +++ b/isis/sipfiles/BundleResults.sip @@ -0,0 +1,125 @@ +%Include Statistics.sip +%Include type_conversions.sip + + +namespace Isis { + class BundleResults : public QObject { + %TypeHeaderCode + #include "BundleResults.h" + %End + + public: + BundleResults(const Isis::BundleResults &src); + void initialize(); + + void resizeSigmaStatisticsVectors(int numberImages); + // void setRmsImageResidualLists(QList rmsImageLineResiduals, + // QList rmsImageSampleResiduals, + // QList rmsImageResiduals); + // void setRmsImageResidualLists(QVector rmsImageLineResiduals, + // QVector rmsImageSampleResiduals, + // QVector rmsImageResiduals); + // void setSigmaLatitudeRange(Distance minLatDist, Distance maxLatDist, + // QString minLatPointId, QString maxLatPointId); + // void setSigmaLongitudeRange(Distance minLonDist, Distance maxLonDist, + // QString minLonPointId, QString maxLonPointId); + // void setSigmaRadiusRange(Distance minRadDist, Distance maxRadDist, + // QString minRadPointId, QString maxRadPointId); + void setRmsFromSigmaStatistics(double rmsFromSigmaLatStats, + double rmsFromSigmaLonStats, + double rmsFromSigmaRadStats); + + void printMaximumLikelihoodTierInformation() throw(Isis::IException); + void incrementMaximumLikelihoodModelIndex() throw(Isis::IException); + + void incrementFixedPoints() throw(Isis::IException); + int numberFixedPoints() const throw(Isis::IException); + void incrementHeldImages() throw(Isis::IException); + int numberHeldImages() const throw(Isis::IException); + void incrementIgnoredPoints() throw(Isis::IException); + int numberIgnoredPoints() const throw(Isis::IException); // currently unused ??? + void setRejectionLimit(double rejectionLimit) throw(Isis::IException); + void setRmsXYResiduals(double rx, double ry, double rxy) throw(Isis::IException); + + void setNumberRejectedObservations(int numberObservations) throw(Isis::IException); + void setNumberObservations(int numberObservations) throw(Isis::IException); + void setNumberImageParameters(int numberParameters) throw(Isis::IException); // ??? this is the same value an m_nRank + void resetNumberConstrainedPointParameters() throw(Isis::IException); + void incrementNumberConstrainedPointParameters(int incrementAmount) throw(Isis::IException); + void resetNumberConstrainedImageParameters() throw(Isis::IException); + void incrementNumberConstrainedImageParameters(int incrementAmount) throw(Isis::IException); + void resetNumberConstrainedTargetParameters() throw(Isis::IException); + void incrementNumberConstrainedTargetParameters(int incrementAmount) throw(Isis::IException); + void setNumberUnknownParameters(int numberParameters) throw(Isis::IException); + void computeDegreesOfFreedom() throw(Isis::IException); + + void computeSigma0(double dvtpv, Isis::BundleSettings::ConvergenceCriteria criteria) throw(Isis::IException); + void setDegreesOfFreedom(double degreesOfFreedom) throw(Isis::IException); + void setSigma0(double sigma0) throw(Isis::IException); + void setElapsedTime(double time) throw(Isis::IException); + void setElapsedTimeErrorProp(double time) throw(Isis::IException); + void setRadiansToMeters(double rtm) throw(Isis::IException); + void setConverged(bool converged) throw(Isis::IException); // or initialze method + // void setBundleControlPoints(QVector controlPoints); + // void setOutputControlNet(QSharedPointer outNet); + void setIterations(int iterations) throw(Isis::IException); + // void setObservations(BundleObservationVector observations) throw(Isis::IException); + + QList rmsImageSampleResiduals() const throw(Isis::IException); + QList rmsImageLineResiduals() const throw(Isis::IException); + QList rmsImageResiduals() const throw(Isis::IException); + QVector rmsImageXSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageYSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageZSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageRASigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageDECSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageTWISTSigmas() const throw(Isis::IException); // currently unused ??? + + // Distance minSigmaLatitudeDistance() const throw(Isis::IException); + // Distance maxSigmaLatitudeDistance() const throw(Isis::IException); + // Distance minSigmaLongitudeDistance() const throw(Isis::IException); + // Distance maxSigmaLongitudeDistance() const throw(Isis::IException); + // Distance minSigmaRadiusDistance() const throw(Isis::IException); + // Distance maxSigmaRadiusDistance() const throw(Isis::IException); + + QString maxSigmaLatitudePointId() const throw(Isis::IException); + QString minSigmaLatitudePointId() const throw(Isis::IException); + QString minSigmaLongitudePointId() const throw(Isis::IException); + QString maxSigmaLongitudePointId() const throw(Isis::IException); + QString minSigmaRadiusPointId() const throw(Isis::IException); + QString maxSigmaRadiusPointId() const throw(Isis::IException); + double sigmaLatitudeStatisticsRms() const throw(Isis::IException); + double sigmaLongitudeStatisticsRms() const throw(Isis::IException); + double sigmaRadiusStatisticsRms() const throw(Isis::IException); + double rmsRx() const throw(Isis::IException); // currently unused ??? + double rmsRy() const throw(Isis::IException); // currently unused ??? + double rmsRxy() const throw(Isis::IException); // currently unused ??? + double rejectionLimit() const throw(Isis::IException); + double radiansToMeters() const throw(Isis::IException); + int numberRejectedObservations() const throw(Isis::IException); + int numberObservations() const throw(Isis::IException); + + int numberImageParameters() const throw(Isis::IException); // ??? this is the same value an m_nRank + int numberConstrainedPointParameters() const throw(Isis::IException); + int numberConstrainedImageParameters() const throw(Isis::IException); + int numberConstrainedTargetParameters() const throw(Isis::IException); + int numberUnknownParameters() const throw(Isis::IException); + int degreesOfFreedom() const throw(Isis::IException); + double sigma0() const throw(Isis::IException); + double elapsedTime() const throw(Isis::IException); + double elapsedTimeErrorProp() const throw(Isis::IException); + bool converged() const throw(Isis::IException); // or initialze method + + QVector > &bundleControlPoints(); + QSharedPointer outputControlNet() const throw(Isis::IException); + + int iterations() const throw(Isis::IException); + + int numberMaximumLikelihoodModels() const throw(Isis::IException); + int maximumLikelihoodModelIndex() const throw(Isis::IException); + double maximumLikelihoodMedianR2Residuals() const throw(Isis::IException); + double maximumLikelihoodModelQuantile(int modelIndex) const throw(Isis::IException); + + }; + +}; diff --git a/isis/sipfiles/BundleSettings.sip b/isis/sipfiles/BundleSettings.sip new file mode 100644 index 0000000000..b6f9799ab4 --- /dev/null +++ b/isis/sipfiles/BundleSettings.sip @@ -0,0 +1,113 @@ +%Include BundleObservationSolveSettings.sip +%Include MaximumLikelihoodWFunctions.sip + +%Include type_conversions.sip + +namespace Isis { + + class BundleSettings { + %TypeHeaderCode + #include "BundleSettings.h" + #include "BundleObservationSolveSettings.h" + #include + %End + public: + + enum ConvergenceCriteria { + Sigma0, /**< The value of sigma0 will be used to determine that the bundle + adjustment has converged.*/ + ParameterCorrections /**< All parameter corrections will be used to determine that the + bundle adjustment has converged.*/ + }; + + // enum MaximumLikelihoodModel { + // NoMaximumLikelihoodEstimator, + // Huber, + // ModifiedHuber, + // Welsch, + // Chen + // }; + + BundleSettings() throw(Isis::IException); + + void setValidateNetwork(bool) throw(Isis::IException); + + void setSolveOptions(bool solveObservationMode = false, + bool updateCubeLabel = false, + bool errorPropagation = false, + bool solveRadius = false, + double globalLatitudeAprioriSigma = Isis::Null, + double globalLongitudeAprioriSigma = Isis::Null, + double globalRadiusAprioriSigma = Isis::Null) throw(Isis::IException) /KeywordArgs="Optional"/; + + void setOutlierRejection(bool outlierRejection, + double multiplier = 1.0) throw(Isis::IException); + + bool solveObservationMode() const throw(Isis::IException); + bool solveRadius() const throw(Isis::IException); + bool updateCubeLabel() const throw(Isis::IException); + bool errorPropagation() const throw(Isis::IException); + bool outlierRejection() const throw(Isis::IException); + double outlierRejectionMultiplier() const throw(Isis::IException); + double globalLatitudeAprioriSigma() const throw(Isis::IException); + double globalLongitudeAprioriSigma() const throw(Isis::IException); + double globalRadiusAprioriSigma() const throw(Isis::IException); + + int numberSolveSettings() const throw(Isis::IException); + Isis::BundleObservationSolveSettings observationSolveSettings(QString instrumentId) const throw(Isis::IException); + Isis::BundleObservationSolveSettings observationSolveSettings(int n) const throw(Isis::IException); + + void setObservationSolveOptions(QList); + // %MethodCode + // Py_ssize_t size = PyList_Size(a0); + // QList *cppSettingsList = new QList(); + // int sipErr = 0; + // for(int i = 0; i < size; i++) { + // PyObject *pyStat = PyList_GET_ITEM(a0, i); + // Isis::BundleObservationSolveSettings *settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pyStat, sipType_Isis_BundleObservationSolveSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + // cppSettingsList->append(*settings); + // } + // + // sipCpp->setObservationSolveOptions(*cppSettingsList); + // %End + + SIP_PYLIST maximumLikelihoodEstimatorModels() const throw(Isis::IException); + %MethodCode // convert QList to Python list if tuples + typedef Isis::MaximumLikelihoodWFunctions::Model Model; + size_t size = sipCpp->maximumLikelihoodEstimatorModels().size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + // get the two items from the QPair + Model *model = new Model(sipCpp->maximumLikelihoodEstimatorModels()[i].first); + double doubl = sipCpp->maximumLikelihoodEstimatorModels()[i].second; + + // Convert the two items to PyObjects + PyObject *first = sipConvertFromType((void*)(model), sipType_Isis_MaximumLikelihoodWFunctions_Model, NULL); + PyObject *second = PyFloat_FromDouble(doubl); + + // set the tuple items + PyObject *tuple = PyTuple_New(2); + PyTuple_SetItem(tuple, 0, first); + PyTuple_SetItem(tuple, 1, second); + + // Add new tuple to list + PyList_SetItem(l, i, tuple); + } + return l; + %End + + + int numberTargetBodyParameters() const throw(Isis::IException); + bool solveTargetBody() const throw(Isis::IException); + bool solvePoleRA() const throw(Isis::IException); + bool solvePoleRAVelocity() const throw(Isis::IException); + bool solvePoleDec() const throw(Isis::IException); + bool solvePoleDecVelocity() const throw(Isis::IException); + bool solvePM() const throw(Isis::IException); + bool solvePMVelocity() const throw(Isis::IException); + bool solvePMAcceleration() const throw(Isis::IException); + bool solveTriaxialRadii() const throw(Isis::IException); + bool solveMeanRadius() const throw(Isis::IException); + + }; +}; diff --git a/isis/sipfiles/BundleSolutionInfo.sip b/isis/sipfiles/BundleSolutionInfo.sip new file mode 100644 index 0000000000..7f1c27ba14 --- /dev/null +++ b/isis/sipfiles/BundleSolutionInfo.sip @@ -0,0 +1,28 @@ + +%Include type_conversions.sip + +namespace Isis{ + +class BundleSolutionInfo : public QObject { + %TypeHeaderCode + #include "BundleSolutionInfo.h" + %End + + public: + BundleSolutionInfo(const Isis::BundleSolutionInfo &src) throw(Isis::IException); + + void setOutputStatistics(Isis::BundleResults statisticsResults) throw(Isis::IException); + void setRunTime(QString runTime) throw(Isis::IException); + + QString id() const throw(Isis::IException); + QString controlNetworkFileName() const throw(Isis::IException); + QSharedPointer bundleSettings() throw(Isis::IException); + Isis::BundleResults bundleResults() throw(Isis::IException); + QString runTime() const throw(Isis::IException); + + bool outputText() throw(Isis::IException); + bool outputPointsCSV() throw(Isis::IException); + bool outputResiduals() throw(Isis::IException); + + }; // end namespace Isis +}; diff --git a/isis/sipfiles/ControlNet.sip b/isis/sipfiles/ControlNet.sip new file mode 100644 index 0000000000..51ae49eff3 --- /dev/null +++ b/isis/sipfiles/ControlNet.sip @@ -0,0 +1,32 @@ +namespace Isis { + class ControlNet : public QObject { + %TypeHeaderCode + #include "ControlNet.h" + %End + public: + ControlNet() throw(Isis::IException); + ControlNet(const Isis::ControlNet &other) throw(Isis::IException); + + void clear() throw(Isis::IException); + + void Write(const QString &filename, bool pvl = false) throw(Isis::IException); + + bool IsValid() const throw(Isis::IException); + double GetMaximumResidual() throw(Isis::IException); + QString GetNetworkId() const throw(Isis::IException); + int GetNumEditLockMeasures() throw(Isis::IException); + int GetNumEditLockPoints() throw(Isis::IException); + int GetNumIgnoredMeasures() throw(Isis::IException); + int GetNumberOfValidMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + int GetNumberOfJigsawRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + void ClearJigsawRejected() throw(Isis::IException); + void IncrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + void DecrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + int GetNumMeasures() const throw(Isis::IException); + int GetNumPoints() const throw(Isis::IException); + int GetNumValidMeasures() throw(Isis::IException); + int GetNumValidPoints() throw(Isis::IException); + QString GetTarget() const throw(Isis::IException); + QString GetUserName() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/ControlPoint.sip b/isis/sipfiles/ControlPoint.sip new file mode 100644 index 0000000000..9efd2942e4 --- /dev/null +++ b/isis/sipfiles/ControlPoint.sip @@ -0,0 +1,302 @@ +namespace Isis { + + class ControlPoint : public QObject { + %TypeHeaderCode + #include "ControlPoint.h" + %End + public: + enum PointType { + Fixed = 0, + Constrained = 1, + Free = 2 + }; + + + enum Status { + Failure, + Success, + PointLocked + }; + + enum ConstraintStatus { + LatitudeConstrained = 0, + LongitudeConstrained = 1, + RadiusConstrained = 2, +// XConstrained = 3, +// YConstrained = 4, +// ZConstrained = 5; + }; + + // This stuff input to jigsaw + // How did apriori source get computed?? + struct SurfacePointSource { + enum Source { + None, + User, + AverageOfMeasures, + Reference, + Basemap, + BundleSolution + }; + }; + + struct RadiusSource { + enum Source { + None, + User, + AverageOfMeasures, + Ellipsoid, + DEM, + BundleSolution + }; + }; + + ControlPoint() throw(Isis::IException); + ControlPoint(const QString &id) throw(Isis::IException); + + // Isis::ControlNet *Parent() { return parentNetwork; } + + // void Load(PvlObject &p) throw(Isis::IException); + + // void Add(ControlMeasure *measure) throw(Isis::IException); + // int Delete(ControlMeasure *measure) throw(Isis::IException); + // int Delete(QString serialNumber) throw(Isis::IException); + // int Delete(int index) throw(Isis::IException); + // Status ResetApriori() throw(Isis::IException); + + // const Isis::ControlMeasure *GetMeasure(QString serialNumber) const throw(Isis::IException); + // ControlMeasure *GetMeasure(QString serialNumber) throw(Isis::IException); + + // const ControlMeasure *GetMeasure(int index) const throw(Isis::IException); + // ControlMeasure *GetMeasure(int index) throw(Isis::IException); + + // const ControlMeasure *GetRefMeasure() const throw(Isis::IException); + // ControlMeasure *GetRefMeasure() throw(Isis::IException); + + // Status SetChooserName(QString name) throw(Isis::IException); + // Status SetDateTime(QString newDateTime) throw(Isis::IException); + // Status SetEditLock(bool editLock) throw(Isis::IException); + // Status SetId(QString id) throw(Isis::IException); + // Status SetRefMeasure(ControlMeasure *cm) throw(Isis::IException); + // Status SetRefMeasure(int index) throw(Isis::IException); + // Status SetRefMeasure(QString sn) throw(Isis::IException); + // Status SetRejected(bool rejected) throw(Isis::IException); + // Status SetIgnored(bool newIgnoreStatus) throw(Isis::IException); + // Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint) throw(Isis::IException); + // Status SetType(PointType newType) throw(Isis::IException); + // + // Status SetAprioriRadiusSource(RadiusSource::Source source) throw(Isis::IException); + // Status SetAprioriRadiusSourceFile(QString sourceFile) throw(Isis::IException); + // Status SetAprioriSurfacePoint(SurfacePoint aprioriSP) throw(Isis::IException); + // Status SetAprioriSurfacePointSource(SurfacePointSource::Source source) throw(Isis::IException); + // Status SetAprioriSurfacePointSourceFile(QString sourceFile) throw(Isis::IException); + +// Status UpdateSphericalPointCoordinates(const Latitude &lat, const Longitude &lon, +// const Distance &radius) throw(Isis::IException); + + // Status ComputeApriori() throw(Isis::IException); + // Status ComputeResiduals() throw(Isis::IException); + // Status ComputeResiduals_Millimeters() throw(Isis::IException); + // + // SurfacePoint GetAdjustedSurfacePoint() const throw(Isis::IException); + // SurfacePoint GetBestSurfacePoint() const throw(Isis::IException); + + QString GetChooserName() const throw(Isis::IException); + QString GetDateTime() const throw(Isis::IException); + bool IsEditLocked() const throw(Isis::IException); + bool IsRejected() const throw(Isis::IException); + QString GetId() const throw(Isis::IException); + bool IsIgnored() const throw(Isis::IException); + bool IsValid() const throw(Isis::IException); + bool IsInvalid() const throw(Isis::IException); + bool IsFixed() const throw(Isis::IException); + + bool HasAprioriCoordinates() throw(Isis::IException); + bool IsConstrained() throw(Isis::IException); + bool IsLatitudeConstrained() throw(Isis::IException); + bool IsLongitudeConstrained() throw(Isis::IException); + bool IsRadiusConstrained() throw(Isis::IException); + int NumberOfConstrainedCoordinates() throw(Isis::IException); + + static QString PointTypeToString(PointType type) throw(Isis::IException); + static PointType StringToPointType(QString pointTypeString) throw(Isis::IException); + + QString GetPointTypeString() const throw(Isis::IException); + // PointType GetType() const throw(Isis::IException); + + static QString RadiusSourceToString(RadiusSource::Source source) throw(Isis::IException); + static RadiusSource::Source StringToRadiusSource(QString str) throw(Isis::IException); + QString GetRadiusSourceString() const throw(Isis::IException); + static QString SurfacePointSourceToString(SurfacePointSource::Source source) throw(Isis::IException); + // static SurfacePointSource::Source StringToSurfacePointSource(QString str) throw(Isis::IException); + QString GetSurfacePointSourceString() const throw(Isis::IException); + + // SurfacePoint GetAprioriSurfacePoint() const throw(Isis::IException); + // RadiusSource::Source GetAprioriRadiusSource() const throw(Isis::IException); + // QString GetAprioriRadiusSourceFile() const throw(Isis::IException); + // SurfacePointSource::Source GetAprioriSurfacePointSource() const throw(Isis::IException); + // QString GetAprioriSurfacePointSourceFile() const throw(Isis::IException); + + int GetNumMeasures() const throw(Isis::IException); + int GetNumValidMeasures() const throw(Isis::IException); + int GetNumLockedMeasures() const throw(Isis::IException); + bool HasSerialNumber(QString serialNumber) const throw(Isis::IException); + // int IndexOf(ControlMeasure *, bool throws = true) const throw(Isis::IException); + int IndexOf(QString sn, bool throws = true) const throw(Isis::IException); + int IndexOfRefMeasure() const throw(Isis::IException); + bool IsReferenceExplicit() const throw(Isis::IException); + QString GetReferenceSN() const throw(Isis::IException); + + // Statistics GetStatistic(double(ControlMeasure::*statFunc)() const) const throw(Isis::IException); + // Statistics GetStatistic(long dataType) const throw(Isis::IException); + + // QList< ControlMeasure * > getMeasures(bool excludeIgnored = false) const throw(Isis::IException); + // QList< QString > getCubeSerialNumbers() const throw(Isis::IException); + + // const ControlMeasure *operator[](QString serialNumber) const throw(Isis::IException); + // ControlMeasure *operator[](QString serialNumber) throw(Isis::IException); + + // const ControlMeasure *operator[](int index) const throw(Isis::IException); + // ControlMeasure *operator[](int index) throw(Isis::IException); + + // bool operator!=(const ControlPoint &pPoint) const throw(Isis::IException); + // bool operator==(const ControlPoint &pPoint) const throw(Isis::IException); + // const ControlPoint &operator=(const ControlPoint &pPoint) throw(Isis::IException); + + // The next 7 methods are specifically to support BundleAdjust + void ZeroNumberOfRejectedMeasures() throw(Isis::IException); + void SetNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); + int GetNumberOfRejectedMeasures() const throw(Isis::IException); + double GetSampleResidualRms() const throw(Isis::IException); + double GetLineResidualRms() const throw(Isis::IException); + double GetResidualRms() const throw(Isis::IException); + void ClearJigsawRejected() throw(Isis::IException); + + // ControlPointFileEntryV0002 ToFileEntry() const throw(Isis::IException); + + private: + // void SetExplicitReference(ControlMeasure *measure) throw(Isis::IException); + void ValidateMeasure(QString serialNumber) const throw(Isis::IException); + // void AddMeasure(ControlMeasure *measure) throw(Isis::IException); + void PointModified() throw(Isis::IException); + + + // private: + // ControlNet *parentNetwork; + // + // //!< List of Control Measures + // QHash< QString, ControlMeasure * > * measures; + // + // QStringList *cubeSerials; + // + // ControlMeasure *referenceMeasure; + // + // /** + // * This is the control point ID. This is supposed to be a unique + // * identifier for control points. This often has a number in it, and + // * looks like "T0052" where the next one is "T0053" and so on. + // */ + // QString id; + // + // /** + // * This is the user name of the person who last modified this control + // * point. Modifications are things like updating the surface point, but + // * not things like updating the last modified time. The calculations + // * relating to this control point have to actually change for this to + // * be updated. This is an empty string if we need to dynamically + // * get the username of the caller when asked for (or written to file). + // */ + // QString chooserName; + // + // /** + // * This is the last modified date and time. This is updated automatically + // * and works virtually in the same way as chooserName. + // */ + // QString dateTime; + // + // /** + // * What this control point is tying together. + // * @see PointType + // */ + // PointType type; + // + // /** + // * If we forced a build that we would normally have thrown an exception + // * for then this is set to true. Otherwise, and most of the time, this + // * is false. + // */ + // bool invalid; + // + // /** + // * This stores the edit lock state. + // * @see SetEditLock + // */ + // bool editLock; + // + // /** + // * This stores the jigsaw rejected state. + // * @see SetJigsawReject + // */ + // bool jigsawRejected; + // + // /** + // * This stores the constraint status of the a priori SurfacePoint + // * @todo Eventually add x, y, and z + // */ + // std::bitset<6> constraintStatus; + // + // /** + // * This indicates if a program has explicitely set the reference in this + // * point or the implicit reference is still the current reference. This + // * is useful for programs that want to choose the reference for all + // * points where this hasn't happened yet. + // */ + // bool referenceExplicitlySet; + // + // /** + // * True if we should preserve but ignore the entire control point and its + // * measures. + // */ + // bool ignore; + // + // //! Where the apriori surface point originated from + // SurfacePointSource::Source aprioriSurfacePointSource; + // + // //! FileName where the apriori surface point originated from + // QString aprioriSurfacePointSourceFile; + // + // /** + // * Where the apriori surface point's radius originated from, most commonly + // * used by jigsaw. + // */ + // RadiusSource::Source aprioriRadiusSource; + // + // /** + // * The name of the file that derives the apriori surface point's radius + // */ + // QString aprioriRadiusSourceFile; + // + // /** + // * The apriori surface point. This is the "known truth" or trustworthy + // * point that should not be modified unless done very explicitely. This + // * comes from places like hand picking where you really don't want the + // * surface point to vary far from this point, but some variation is + // * okay (1/10th of a pixel is fair for human accuracy for example). Very + // * often this point does not exist. + // */ + // SurfacePoint aprioriSurfacePoint; + // + // /** + // * This is the calculated, or aposterori, surface point. This is what most + // * programs should be working with and updating. + // */ + // SurfacePoint adjustedSurfacePoint; + // + // /** + // * This parameter is used and maintained by BundleAdjust for the jigsaw + // * application. It is stored here because ControlPoint contains the index + // * of the measures. + // */ + // int numberOfRejectedMeasures; + }; +}; diff --git a/isis/sipfiles/MaximumLikelihoodWFunctions.sip b/isis/sipfiles/MaximumLikelihoodWFunctions.sip new file mode 100644 index 0000000000..cbc668d80d --- /dev/null +++ b/isis/sipfiles/MaximumLikelihoodWFunctions.sip @@ -0,0 +1,52 @@ +namespace Isis { + + class MaximumLikelihoodWFunctions { + %TypeHeaderCode + #include "MaximumLikelihoodWFunctions.h" + %End + + public: + + enum Model { + Huber, + HuberModified, + Welsch, + Chen + }; + + static QString modelToString(Model model) throw(Isis::IException); + static Isis::MaximumLikelihoodWFunctions::Model stringToModel(QString modelName) throw(Isis::IException); + + MaximumLikelihoodWFunctions() throw(Isis::IException); + MaximumLikelihoodWFunctions(Model modelSelection) throw(Isis::IException); + MaximumLikelihoodWFunctions(Model modelSelection, double tweakingConstant) throw(Isis::IException); + MaximumLikelihoodWFunctions(const Isis::MaximumLikelihoodWFunctions &other) throw(Isis::IException); + + void setModel(Model modelSelection) throw(Isis::IException); // uses default tweaking constant + void setTweakingConstantDefault() throw(Isis::IException); + + void setModel(Model modelSelection, double tweakingConstant) throw(Isis::IException); + void setTweakingConstant(double tweakingConstant) throw(Isis::IException); + + Model model() const throw(Isis::IException); + double tweakingConstant() const throw(Isis::IException); + + // the W functions provide an additional weighting factor W which is used + // to 're-weight' each observation dynamically during an adjustment, the + // scalar functions provide access to various flavors of this scalar (as + // a function of the residual divided by the residuals sigma) + + double sqrtWeightScaler(double residualZScore) throw(Isis::IException); //it is often convient to use square roots of + //weights when building normals, this function + // provides the scaler for the square root of + // the weight directly + double tweakingConstantQuantile() throw(Isis::IException); // returns which quantile of the residuals is recommended to + // use as the tweaking constant, this varies as a function of + // the model being employed + + QString weightedResidualCutoff() throw(Isis::IException); + + QDataStream &write(QDataStream &stream) const throw(Isis::IException); + QDataStream &read(QDataStream &stream) throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/Statistics.sip b/isis/sipfiles/Statistics.sip new file mode 100644 index 0000000000..089b76a636 --- /dev/null +++ b/isis/sipfiles/Statistics.sip @@ -0,0 +1,41 @@ + +namespace Isis { + class Statistics : public QObject { + %TypeHeaderCode + #include "Statistics.h" + %End + public: + Statistics(const Isis::Statistics &other) throw(Isis::IException); + + void Reset() throw(Isis::IException); + + void AddData(const double *data, const unsigned int count) throw(Isis::IException); + void AddData(const double data) throw(Isis::IException); + + void RemoveData(const double *data, const unsigned int count) throw(Isis::IException); + void RemoveData(const double data) throw(Isis::IException); + + double ValidMinimum() const throw(Isis::IException); + double ValidMaximum() const throw(Isis::IException); + bool InRange(const double value) throw(Isis::IException); + bool AboveRange(const double value) throw(Isis::IException); + bool BelowRange(const double value) throw(Isis::IException); + + double Average() const throw(Isis::IException); + double StandardDeviation() const throw(Isis::IException); + double Variance() const throw(Isis::IException); + double Sum() const throw(Isis::IException); + double SumSquare() const throw(Isis::IException); + double Rms() const throw(Isis::IException); + + double Minimum() const throw(Isis::IException); + double Maximum() const throw(Isis::IException); + double ChebyshevMinimum(const double percent = 99.5) const throw(Isis::IException); + double ChebyshevMaximum(const double percent = 99.5) const throw(Isis::IException); + double BestMinimum(const double percent = 99.5) const throw(Isis::IException); + double BestMaximum(const double percent = 99.5) const throw(Isis::IException); + double ZScore(const double value) const throw(Isis::IException); + + bool RemovedData() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/master.sip b/isis/sipfiles/master.sip new file mode 100644 index 0000000000..8eb5eb7064 --- /dev/null +++ b/isis/sipfiles/master.sip @@ -0,0 +1,85 @@ +%Module(name=bundle, + version=0, + keyword_arguments="Optional") + +%ExportedHeaderCode + #include + #include + #include + #include + #include + + using namespace std; + + // Wraps glob to return a STD vector to avoid dealing with C style globbing + inline vector glob(const QString& pat){ + glob_t glob_result; + glob(pat.toLatin1().data(),GLOB_TILDE,NULL,&glob_result); + vector ret; + for(unsigned int i=0;i libs = glob(pat); + QLibrary lib_loader; + + for (vector::const_iterator i = libs.begin(); i != libs.end(); ++i) { + // Strip extension + QFileInfo file(*i); + QString lib_dir = file.path() + "/" + file.completeBaseName(); + + lib_loader.setFileName(lib_dir); + + // Load hint required for symbols to be accessible to other libraries loaded later + lib_loader.setLoadHints(QLibrary::ExportExternalSymbolsHint); + + bool load_ok = lib_loader.load(); + + // if verbose is true, print out load info + if (verbose) { + if (load_ok) { + cout << "Loaded " + lib_dir.toStdString() + " : OK" << endl; + } + else if (!load_ok) { + cout << "Loaded " + lib_dir.toStdString() + " : FAILED" << endl + << lib_loader.errorString().toStdString() << endl; + } + } + + } + + } +%End + +%InitialisationCode + QString isis_root = QString::fromStdString(getenv("ISISROOT")); + + load_libs(isis_root + "/3rdParty/lib/lib*"); + load_libs(isis_root + "/lib/libisis*"); +%End + +%Include type_conversions.sip + +%Include ControlPoint.sip +%Include BundleMeasure.sip +%Include BundleControlPoint.sip +%Include BundleImage.sip +%Include ControlNet.sip +%Include Statistics.sip +%Include BundleResults.sip +%Include BundleSolutionInfo.sip +%Include BundleObservationSolveSettings.sip +%Include BundleSettings.sip +%Include BundleAdjust.sip +%Include MaximumLikelihoodWFunctions.sip diff --git a/isis/sipfiles/type_conversions.sip b/isis/sipfiles/type_conversions.sip new file mode 100644 index 0000000000..7a337c444f --- /dev/null +++ b/isis/sipfiles/type_conversions.sip @@ -0,0 +1,292 @@ + +%Import QtCore/QtCoremod.sip +%Import QtXml/QtXmlmod.sip + + + +%Exception Isis::IException(SIP_Exception) /PyName=IException/ +{ +%TypeHeaderCode +#include "IException.h" +%End +%RaiseCode + const char *detail = sipExceptionRef.what(); + + SIP_BLOCK_THREADS + PyErr_SetString(sipException_Isis_IException, detail); + SIP_UNBLOCK_THREADS +%End +}; + + +%MappedType QVector > +{ + %TypeHeaderCode + #include "BundleControlPoint.h" + #include + %End + + %ConvertFromTypeCode + size_t size = sipCpp->size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + + Isis::BundleControlPoint* cppCPoint = sipCpp->at(i).data(); + + PyObject *pyCPoint = sipConvertFromType((void*)(cppCPoint), sipType_Isis_BundleControlPoint, NULL); + PyList_SetItem(l, i, pyCPoint); + } + + return l; + %End + + %ConvertToTypeCode + Py_ssize_t size = PyList_Size(sipPy); + QVector > *cppPointList = new QVector > (); + int sipErr = 0; + for(int i = 0; i < size; i++) { + PyObject *pyCPoint = PyList_GET_ITEM(sipPy, i); + Isis::BundleControlPoint *cppCPoint = (Isis::BundleControlPoint*)sipConvertToType(pyCPoint, sipType_Isis_BundleControlPoint, NULL, SIP_NOT_NONE, NULL, &sipErr); + cppPointList->append(QSharedPointer(cppCPoint)); + } + + *sipCppPtr = cppPointList; + return sipGetState(sipTransferObj); + %End + +}; + +%MappedType QList +{ + %TypeHeaderCode + #include "Statistics.h" + #include + %End + + %ConvertFromTypeCode + size_t size = sipCpp->size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + Isis::Statistics* cppStats = new Isis::Statistics(sipCpp->at(i)); + PyObject *pyStats = sipConvertFromType((void*)(cppStats), sipType_Isis_Statistics, NULL); + PyList_SetItem(l, i, pyStats); + } + + return l; + %End + + %ConvertToTypeCode + Py_ssize_t size = PyList_Size(sipPy); + QList *cppStatList = new QList(); + int sipErr = 0; + for(int i = 0; i < size; i++) { + PyObject *pyStat = PyList_GET_ITEM(sipPy, i); + Isis::Statistics *stats = (Isis::Statistics*)sipConvertToType(pyStat, sipType_Isis_Statistics, NULL, SIP_NOT_NONE, NULL, &sipErr); + cppStatList->append(*stats); + } + + *sipCppPtr = cppStatList; + return sipGetState(sipTransferObj); + %End +}; + + + +%MappedType QList +{ + %TypeHeaderCode + #include "BundleObservationSolveSettings.h" + #include + %End + + %ConvertFromTypeCode + PyObject *l; + + // Create the Python list of the correct length. + if ((l = PyList_New(sipCpp->size())) == NULL) + return NULL; + + for (int i = 0; i < sipCpp->size(); ++i) { + Isis::BundleObservationSolveSettings *settings = new Isis::BundleObservationSolveSettings(sipCpp->at(i)); + + PyObject *pySettings = sipConvertFromType((void*)(settings), sipType_Isis_BundleObservationSolveSettings, NULL); + PyList_SetItem(l, i, pySettings); + } + + return l; + %End + + + %ConvertToTypeCode + if (!sipIsErr) { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), + sipType_Isis_BundleObservationSolveSettings, SIP_NOT_NONE)) + return 0; + + return 1; + } + + Py_ssize_t size = PyList_Size(sipPy); + + QList *cppSettingsList = new QList(); + int state; + + for(Py_ssize_t i = 0; i < size; i++) { + PyObject *pySettings = PyList_GET_ITEM(sipPy, i); + Isis::BundleObservationSolveSettings *settings; + + settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pySettings, sipType_Isis_BundleObservationSolveSettings, 0, SIP_NOT_NONE, &state, sipIsErr); + + if (*sipIsErr) { + sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); + delete cppSettingsList; + return 0; + } + + cppSettingsList->append(*settings); + sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); + } + + *sipCppPtr = cppSettingsList; + return sipGetState(sipTransferObj); + %End +}; + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "BundleImage.h" + #include + %End + + %ConvertFromTypeCode + Isis::BundleImage *cpp = sipCpp->data(); + PyObject *py = sipConvertFromType(cpp, sipType_Isis_BundleImage, NULL); + return py; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer* cpp_qsp = new QSharedPointer(); + Isis::BundleImage *cpp = (Isis::BundleImage*)sipConvertToType(sipPy, sipType_Isis_BundleImage, NULL, SIP_NOT_NONE, NULL, &sipErr); + cpp_qsp->reset(cpp); + *sipCppPtr = cpp_qsp; + + return sipGetState(sipTransferObj); + %End +}; + + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "BundleSettings.h" + #include + using namespace std; + %End + + %ConvertFromTypeCode + Isis::BundleSettings *settings = sipCpp->data(); + PyObject *pySettings = sipConvertFromType(settings, sipType_Isis_BundleSettings, NULL); + return pySettings; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer* wrappedSettings = new QSharedPointer(); + + Isis::BundleSettings *settings = (BundleSettings*) sipConvertToType(sipPy, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + wrappedSettings->reset(settings); + *sipCppPtr = wrappedSettings; + + return sipGetState(sipTransferObj); + %End +}; + + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "ControlNet.h" + #include + using namespace std; + %End + + %ConvertFromTypeCode + PyObject *pySettings = sipConvertFromType(sipCpp, sipType_Isis_ControlNet, NULL); + return pySettings; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer *qspControlNet = NULL; + if (!sipCanConvertToType(sipPy, sipType_Isis_ControlNet, SIP_NOT_NONE)) { + sipErr = 1; + } + else { + Isis::ControlNet *cppControlNet = (Isis::ControlNet*)sipConvertToType(sipPy, sipType_Isis_ControlNet, NULL, SIP_NOT_NONE, NULL, &sipErr); + qspControlNet->reset(cppControlNet); + } + + *sipCppPtr = qspControlNet; + return sipGetState(sipTransferObj); + %End +}; + + + +// Convert a python str object to a std::string. +%MappedType std::string +{ + %TypeHeaderCode + #include + %End + + %ConvertFromTypeCode + // convert an std::string to a Python (unicode) string + PyObject* newstring; + newstring = PyUnicode_DecodeUTF8(sipCpp->c_str(), sipCpp->length(), NULL); + if(newstring == NULL) { + PyErr_Clear(); + newstring = PyBytes_FromString(sipCpp->c_str()); + } + return newstring; + %End + + %ConvertToTypeCode + // Allow a Python string (or a unicode string) whenever a string is + // expected. + // If argument is a Unicode string, just decode it to UTF-8 + // If argument is a Python string, assume it's UTF-8 + if (sipIsErr == NULL) + return (PyBytes_Check(sipPy) || PyUnicode_Check(sipPy)); + + if (sipPy == Py_None) + { + *sipCppPtr = new std::string; + return 1; + } + + if (PyUnicode_Check(sipPy)) + { + PyObject* s = PyUnicode_AsEncodedString(sipPy, "UTF-8", ""); + *sipCppPtr = new std::string(PyBytes_AS_STRING(s)); + Py_DECREF(s); + return 1; + } + + if (PyBytes_Check(sipPy)) + { + *sipCppPtr = new std::string(PyBytes_AS_STRING(sipPy)); + return 1; + } + return 0; + %End +}; -- GitLab From f0dad08aa9ab743b12b42dd0249d6742db90904a Mon Sep 17 00:00:00 2001 From: Kristin Berry Date: Tue, 27 Mar 2018 13:51:52 -0700 Subject: [PATCH 0209/1212] Fixed junocam2isis too many open files error. Fixes #5232 --- .../juno/apps/junocam2isis/junocam2isis.cpp | 51 +++++++++++++++++-- .../juno/apps/junocam2isis/junocam2isis.xml | 3 ++ 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/isis/src/juno/apps/junocam2isis/junocam2isis.cpp b/isis/src/juno/apps/junocam2isis/junocam2isis.cpp index b593686592..bac45bad14 100644 --- a/isis/src/juno/apps/junocam2isis/junocam2isis.cpp +++ b/isis/src/juno/apps/junocam2isis/junocam2isis.cpp @@ -27,8 +27,10 @@ using namespace Isis; void translateLabel(Pvl &inputLabel, Pvl &outputLabel); void processFramelets(Buffer &in); void processFullFrames(Buffer &in); +void openNextCube(int index); QList g_outputCubes; +QList g_outputCubeFileNames; int g_frameletLines = 0; QStringList g_filterList; QList g_filterOffsetList; @@ -125,6 +127,8 @@ void IsisMain() { + ".cub"); fullFrameCube->create(fullFrameCubeFileName.expanded()); g_outputCubes.append(fullFrameCube); + fullFrameCube->close(); + g_outputCubeFileNames.append(fullFrameCubeFileName.expanded()); allCubesListWriter << fullFrameCubeFileName.baseName() << ".cub\n"; } progress.CheckStatus(); @@ -141,7 +145,10 @@ void IsisMain() { for (int i = 0; i < numFullFrames; i++) { progress.CheckStatus(); for (int j = 0; j < outputLabel.findObject("IsisCube").groups(); j++) { - g_outputCubes[i]->putGroup(outputLabel.findObject("IsisCube").group(j)); + if (!g_outputCubes[i]->isOpen()) { + g_outputCubes[i]->open(g_outputCubeFileNames[i], "rw"); + } + g_outputCubes[i]->putGroup(outputLabel.findObject("IsisCube").group(j)); } // Update the labels Pvl *fullFrameLabel = g_outputCubes[i]->label(); @@ -163,7 +170,6 @@ void IsisMain() { progress.CheckStatus(); } else { - // Process individual framelets: For now, keep processing the "old" way. int numSubimages = importPds.Lines() / g_frameletLines; int frameletsPerFilter = numSubimages / g_filterList.size(); @@ -184,6 +190,7 @@ void IsisMain() { Progress progress; progress.SetText("Setting up output framelet cubes."); progress.SetMaximumSteps(numSubimages); + for (int i = 0; i < numSubimages; i++) { progress.CheckStatus(); Cube *frameletCube = new Cube(); @@ -196,10 +203,12 @@ void IsisMain() { + "_" + g_filterList[filterIndex] + "_" + frameletNumString + ".cub"); - frameletCube->create(frameletCubeFileName.expanded()); + frameletCube->create(frameletCubeFileName.expanded()); g_outputCubes.append(frameletCube); - + frameletCube->close(); + g_outputCubeFileNames.append(frameletCubeFileName.expanded()); + QFile filterListFile(outputBaseName + "_" + g_filterList[filterIndex] + ".lis"); if ( (frameletNumber == 1 && !filterListFile.open(QFile::WriteOnly | QFile::Text)) || (frameletNumber > 1 && !filterListFile.open(QFile::Append | QFile::Text)) ) { @@ -212,6 +221,7 @@ void IsisMain() { filterListWriter << frameletCubeFileName.baseName() << ".cub\n"; filterListFile.close(); } + progress.CheckStatus(); allCubesListFile.close(); @@ -224,7 +234,12 @@ void IsisMain() { progress.SetText("Updating labels of output cubes."); progress.SetMaximumSteps(numSubimages); for (int i = 0; i < numSubimages; i++) { - // fix labels + // re-open cube + QString cubeFileName = g_outputCubes[i]->fileName(); + if ( !g_outputCubes[i]->isOpen() ) { + g_outputCubes[i]->open(g_outputCubeFileNames[i], "rw"); + } + // fromeix labels progress.CheckStatus(); for (int j = 0; j < outputLabel.findObject("IsisCube").groups(); j++) { g_outputCubes[i]->putGroup(outputLabel.findObject("IsisCube").group(j)); @@ -349,6 +364,20 @@ void translateLabel(Pvl &inputLabel, Pvl &outputLabel) { } +/** + * Opens cube from g_outputCubes at provided index, closes cube at index-1 (last cube) + */ +void openNextCube(int nextCubeIndex) { + if (nextCubeIndex >= 1) { + if (g_outputCubes[nextCubeIndex-1]->isOpen()) { + g_outputCubes[nextCubeIndex - 1]->close(); + } + } + if (!g_outputCubes[nextCubeIndex]->isOpen()) { + g_outputCubes[nextCubeIndex]->open(g_outputCubeFileNames[nextCubeIndex], "rw"); + } +} + /** * Separates each of the individual frames into their own file. @@ -359,6 +388,12 @@ void processFramelets(Buffer &in) { // get the index for the correct output cube int outputCube = (in.Line() - 1) / g_frameletLines % g_outputCubes.size(); + // When we move to a new framlet, close the old cube and open the next one to avoid + // having too many cubes open and hitting the open file limit. + if( ((in.Line() - 1) % g_frameletLines) == 0 ) { + openNextCube(outputCube); + } + LineManager mgr(*g_outputCubes[outputCube]); int outputCubeLineNumber = (in.Line()-1) % g_frameletLines + 1; mgr.SetLine(outputCubeLineNumber, 1); @@ -379,6 +414,12 @@ void processFullFrames(Buffer &in) { // get the index for the correct output cube int outputCube = (in.Line() - 1) / g_fullFrameLines % g_outputCubes.size(); + // When we move to a new framlet, close the old cube and open the next one to avoid + // having too many cubes open and hitting the open file limit. + if( ((in.Line() - 1) % g_fullFrameLines) == 0 ) { + openNextCube(outputCube); + } + LineManager mgr(*g_outputCubes[outputCube]); int outputCubeLineNumber = ((in.Line()-1) % g_fullFrameLines); diff --git a/isis/src/juno/apps/junocam2isis/junocam2isis.xml b/isis/src/juno/apps/junocam2isis/junocam2isis.xml index d23d0dcd18..b984d970c3 100644 --- a/isis/src/juno/apps/junocam2isis/junocam2isis.xml +++ b/isis/src/juno/apps/junocam2isis/junocam2isis.xml @@ -88,6 +88,9 @@ xsi:noNamespaceSchemaLocation="http://isis.astrogeology.usgs.gov/Schemas/Applica Added missionItem under category to classify the program under Juno. + + Fixed problem with having too many open files. See #5232 for more information. + -- GitLab From 9ed694d542ea876494764ced84c1f42478b6db4c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 14:51:37 -0700 Subject: [PATCH 0210/1212] Add more error checking for setting active control and imageList defaults. Fixes #5256. --- isis/src/qisis/objs/Project/Project.cpp | 45 ++++++++++++------------- isis/src/qisis/objs/Project/Project.h | 9 +++-- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index d4368bafb9..2c3c8bcf33 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -425,6 +425,7 @@ namespace Isis { * are no longer a part of the project. */ void Project::clear() { + qDebug()<<"Project::clear()"; m_clearing = true; // We need to look through the project.xml and remove every directory not in the project @@ -504,7 +505,7 @@ namespace Isis { tempDir.removeRecursively(); } } - + qDebug()<<"Project::clear after cnets cleanup"; QDir imagesDir(m_projectRoot->path() + "/images/"); imagesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList imagesList = imagesDir.entryList(); @@ -516,7 +517,7 @@ namespace Isis { tempDir.removeRecursively(); } } - + qDebug()<<"Project::clear after images cleanup"; QDir shapesDir(m_projectRoot->path() + "/shapes/"); shapesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList shapesList = shapesDir.entryList(); @@ -528,7 +529,7 @@ namespace Isis { tempDir.removeRecursively(); } } - + qDebug()<<"Project::clear after shapes cleanup"; QDir bundlesDir(m_projectRoot->path() + "/results/bundle/"); bundlesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList bundleList = bundlesDir.entryList(); @@ -540,7 +541,7 @@ namespace Isis { tempDir.removeRecursively(); } } - + qDebug()<<"Project::clear after results cleanup"; projectXml.close(); } @@ -569,9 +570,11 @@ namespace Isis { m_guiCameras->clear(); m_bundleSolutionInfo->clear(); m_workOrderHistory->clear(); - + qDebug()<<"Project::clear Before directory->clean()"; directory()->clean(); + qDebug()<<"Project::clear After directory->clean()"; setClean(true); + qDebug()<<"Project::clear after setClean"; } @@ -1746,10 +1749,12 @@ namespace Isis { /** * @brief Return the Active Control (control network) * - * Returns the active control (control network) for views which need to operate on + * @description Returns the active control (control network) for views which need to operate on * the same control, ie. Footprint2dView, CubeDnView, ControlPointEditView. * IMPORTANT: Returns NULL if no active Control. - * + * + * @return @b Control * Returns the active Control if set, otherwise returns NULL + * * @internal * @history 2016-06-23 Tracie Sucharski - Original version. * @history 2017-05-17 Tracie Sucharski - If no active control set & there is only one control @@ -1760,14 +1765,11 @@ namespace Isis { */ Control *Project::activeControl() { - if (!m_activeControl && m_controls->count() == 1) { - if (m_controls->at(0)->count() == 1 && m_images->count() > 1) { - SetActiveControlWorkOrder *workOrder = new SetActiveControlWorkOrder(this); - addToProject(workOrder); - - -// QString controlName = m_controls->at(0)->at(0)->displayProperties()->displayName(); -// setActiveControl(controlName); + if (!m_activeControl && (m_controls->count() == 1 && m_controls->at(0)->count() ==1)) { + // Can only set a default control if an active imageList exists or if a default can be set + if (activeImageList()) { + QString controlName = m_controls->at(0)->at(0)->displayProperties()->displayName(); + setActiveControl(controlName); } } return m_activeControl; @@ -1837,7 +1839,8 @@ namespace Isis { * * Returns the active ImageList for views which need to operate on the * same list of images, ie. Footprint2dView, CubeDnView, ControlPointEditView. - * IMPORTANT: Returns NULL if no active ImageList can be set. + * IMPORTANT: Returns NULL if active ImageList is not set and a default cannot be set if there + * are multiple image lists in the project. * * @internal * @history 2016-06-23 Tracie Sucharski - Original version. @@ -1847,13 +1850,9 @@ namespace Isis { ImageList *Project::activeImageList() { if (!m_activeImageList && m_images->count() == 1) { - SetActiveImageListWorkOrder *workOrder = new SetActiveImageListWorkOrder(this); - addToProject(workOrder); - - - -// QString imageList = m_images->at(0)->name(); -// setActiveImageList(imageList); + QString imageList = m_images->at(0)->name(); + + setActiveImageList(imageList); } return m_activeImageList; } diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 0adb822f0f..528bc52217 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -150,15 +150,11 @@ namespace Isis { * imports, shape imports, and bundle solution info. Fixes #4855, * #4979, #4980. * @history 2017-07-17 Cole Neubauer - Changed activeControl signal to emit a bool to be able - * - * @history 2017-07-24 Cole Neubauer - Added isOpen, isClean, setClean, and clear functions to - * allow for opening of a new project. Fixes #4969. - * @history 2017-07-17 Cole Neubauer - Changed activeControl signal to emit a bool to be able * to slot a setEnabled(bool) call to a QAction. This was necessary to * reenable the CNet Tool when a control net is made active. * Fixes #5046. * @history 2017-07-24 Cole Neubauer - Added isOpen, isClean, setClean, and clear functions to - * allow for opening of a new project. Fixes #4969 + * allow for opening of a new project. Fixes #4969. * @history 2017-07-27 Cole Neubauer - Added check before emmiting workOrderStarting() * Fixes #4715. * @history 2017-07-27 Cole Neubauer - Added a workordermutex to be used in workorder accessors @@ -235,6 +231,9 @@ namespace Isis { * @history 2018-03-26 Tracie Sucharski - When setting a new active control do not close the old * active control net if it is still being viewed in a CnetEditorWidget. * References #5026. + * @history 2018-03-27 Tracie Sucharski - Removed the calls to work orders from activeImageList + * and activeControl methods. Additional errors checks needed for + * default values that are not in work orders. Fixes #5256. */ class Project : public QObject { Q_OBJECT -- GitLab From e6326c0a8ce6ce1980e30b843fb952a62021fa63 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 15:01:15 -0700 Subject: [PATCH 0211/1212] PROG: Forgot to remove qDebug statements. --- isis/src/qisis/apps/ipce/Project.cpp | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/Project.cpp diff --git a/isis/src/qisis/apps/ipce/Project.cpp b/isis/src/qisis/apps/ipce/Project.cpp new file mode 120000 index 0000000000..9621dbb0fd --- /dev/null +++ b/isis/src/qisis/apps/ipce/Project.cpp @@ -0,0 +1 @@ +../../objs/Project/Project.cpp \ No newline at end of file -- GitLab From f92350ab2a1b0e89eabe7c00812045a56cd56af9 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 15:20:46 -0700 Subject: [PATCH 0212/1212] PROG: Accidently added Project.cpp to ipce directory. --- isis/src/qisis/apps/ipce/Project.cpp | 1 - 1 file changed, 1 deletion(-) delete mode 120000 isis/src/qisis/apps/ipce/Project.cpp diff --git a/isis/src/qisis/apps/ipce/Project.cpp b/isis/src/qisis/apps/ipce/Project.cpp deleted file mode 120000 index 9621dbb0fd..0000000000 --- a/isis/src/qisis/apps/ipce/Project.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/Project/Project.cpp \ No newline at end of file -- GitLab From 0fd8c04911faba0efc705278bd901d70009b1286 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 27 Mar 2018 15:21:20 -0700 Subject: [PATCH 0213/1212] PROG: Left qDebug statements in code. --- isis/src/qisis/objs/Project/Project.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index 2c3c8bcf33..d51ed9a8fc 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -425,7 +425,6 @@ namespace Isis { * are no longer a part of the project. */ void Project::clear() { - qDebug()<<"Project::clear()"; m_clearing = true; // We need to look through the project.xml and remove every directory not in the project @@ -505,7 +504,7 @@ namespace Isis { tempDir.removeRecursively(); } } - qDebug()<<"Project::clear after cnets cleanup"; + QDir imagesDir(m_projectRoot->path() + "/images/"); imagesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList imagesList = imagesDir.entryList(); @@ -517,7 +516,7 @@ namespace Isis { tempDir.removeRecursively(); } } - qDebug()<<"Project::clear after images cleanup"; + QDir shapesDir(m_projectRoot->path() + "/shapes/"); shapesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList shapesList = shapesDir.entryList(); @@ -529,7 +528,7 @@ namespace Isis { tempDir.removeRecursively(); } } - qDebug()<<"Project::clear after shapes cleanup"; + QDir bundlesDir(m_projectRoot->path() + "/results/bundle/"); bundlesDir.setFilter(QDir::NoDotAndDotDot | QDir::Dirs); QStringList bundleList = bundlesDir.entryList(); @@ -541,7 +540,7 @@ namespace Isis { tempDir.removeRecursively(); } } - qDebug()<<"Project::clear after results cleanup"; + projectXml.close(); } @@ -570,11 +569,9 @@ namespace Isis { m_guiCameras->clear(); m_bundleSolutionInfo->clear(); m_workOrderHistory->clear(); - qDebug()<<"Project::clear Before directory->clean()"; + directory()->clean(); - qDebug()<<"Project::clear After directory->clean()"; setClean(true); - qDebug()<<"Project::clear after setClean"; } -- GitLab From d106484fbebaa069f0fb7fccc3e006dc9b8f6add Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 28 Mar 2018 11:46:11 -0700 Subject: [PATCH 0214/1212] moved findAllDepenedcies code to main CMakeLists.txt --- isis/CMakeLists.txt | 187 +++++++++++++++++++++------ isis/cmake/FindAllDependencies.cmake | 122 ----------------- 2 files changed, 150 insertions(+), 159 deletions(-) delete mode 100644 isis/cmake/FindAllDependencies.cmake diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 47d86789a1..8fc66f23fd 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -57,11 +57,6 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) -# Specify flags used -# on linux, add the conda prefix to handle possible issues with rpaths at link time -# sometimes third parties do not set their rpaths correctly -set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) - # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) option(isis3TestData "Directory containing Isis3TestData" OFF ) @@ -71,67 +66,188 @@ option(buildMissions "Build the mission specific modules" ON ) option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) -option(develop "Use a devleopment configuration" ON ) +option(pybindings "Turn on to build Python bindings" OFF ) + +Iterate through all variables and extract the libraries and include directories +get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES + +# Get all include dir variables +foreach (_variableName ${_variableNames}) +#message("VAR=${_variableName}") + if (_variableName MATCHES ".+_INCLUDE_DIR$") + list(APPEND ALLINCDIRS "${${_variableName}}") + elseif (_variableName MATCHES ".+_INCLUDE_PATH$") + list(APPEND ALLINCDIRS "${${_variableName}}") + endif(_variableName MATCHES ".+_INCLUDE_DIR$") +endforeach() + +# get all Library variables +foreach (_variableName ${_variableNames}) + get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + endif() +endforeach() + +# Sometimes we add the same lib more than once (especially with LIBDIRS) +list(REMOVE_DUPLICATES ALLLIBDIRS) +list(REMOVE_DUPLICATES ALLLIBS) +list(REMOVE_DUPLICATES ALLINCDIRS) # if cmake install prefix is not set, and conda env is activated, use the # conda env as the install directory if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") - set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) + set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) endif() - message("Installing in: ${CMAKE_INSTALL_PREFIX}") # options only allow on/off but this flag is piped into ISIS as ENABLEJP2K # needs to be either 1 or 0 for C style true false if(JP2KFLAG) - set(JP2KFLAG 1) + set(JP2KFLAG 1) endif() # Prioritize passed in variables over env vars, probably a better way to do this if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) - set(isis3Data $ENV{ISIS3DATA}) - set(isis3Data ON) + set(isis3Data $ENV{ISIS3DATA}) + set(isis3Data ON) endif() if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) - set(isis3TestData $ENV{ISIS3TESTDATA}) - set(isis3TestData ON) + set(isis3TestData $ENV{ISIS3TESTDATA}) + set(isis3TestData ON) endif() if(EXISTS ${isis3Data}) - set(ENV{ISIS3DATA} "${isis3Data}") - message("Using ISIS3DATA = $ENV{ISIS3DATA}") + set(ENV{ISIS3DATA} "${isis3Data}") + message("Using ISIS3DATA = $ENV{ISIS3DATA}") else() - message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") + message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") endif() if(EXISTS ${isis3TestData}) - set(ENV{ISIS3TESTDATA} "${isis3TestData}") - message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") + set(ENV{ISIS3TESTDATA} "${isis3TestData}") + message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") else() - message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") -endif() - -if(develop) - + message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") endif() if(${testOutputDir} STREQUAL "OFF") - message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") - set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") - execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) + message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") + set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") + execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) else() - # User specified a test output folder, make sure it exists. - message("Writing test data folders to = ${testOutputDir}") - execute_process(COMMAND mkdir -p ${testOutputDir}) + # User specified a test output folder, make sure it exists. + message("Writing test data folders to = ${testOutputDir}") + execute_process(COMMAND mkdir -p ${testOutputDir}) endif() -# Set the default library extension based on the platform -if(APPLE) - set(SO ".dylib") -else() - set(SO ".so") +#=============================================================================== +#=============================================================================== + +message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") +list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) + +# Specify flags used +# on linux, add the conda prefix to handle possible issues with rpaths at link time +# sometimes third parties do not set their rpaths correctly +set(thirdPartyCppFlags -Wall \ + -std=c++11 \ + -DISIS_LITTLE_ENDIAN=1 \ + -fPIC -Wno-unused-parameter \ + -Wno-overloaded-virtual \ + -Wl,-rpath,$ENV{CONDA_PREFIX}/lib \ + -DGMM_USES_SUPERLU \ + -DENABLEJP2K=${JP2KFLAG} \ + ) + +# Flag to fix numeric literals problem with boost on linux +if(NOT APPLE) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) endif() +# Set python bindings configuration +if(pybindings) + find_package(Python REQUIRED) + + # use PYINSTALL_DIR to overwrite python install directory + # Better to use find Python script + if (NOT DEFINED PYINSTALL_DIR) + set(PYINSTALL_PREFIX ${PYTHON_SITE_PACKAGES_DIR}) + endif() +endif() + +# Paths to required executables +find_program(XALAN Xalan REQUIRED) +find_program(LATEX latex) +find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) +find_program(UIC uic REQUIRED) +find_program(MOC moc REQUIRED) +find_program(RCC rcc REQUIRED) +find_program(PROTOC protoc REQUIRED) + +find_package(Qt5 COMPONENTS + Core + Concurrent + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + PrintSupport + Qml + Quick + Script + ScriptTools + Sql + Svg + Test + WebChannel + Widgets + Xml + XmlPatterns REQUIRED) + +# Some of these will have non-traditional installs with version numbers in the paths in v007 +# For these, we pass in a version number, and use it in the path suffix +# This only applies to v007, and outside of the building, we should only expect standard installs +# The v007-specific installs are listed beside their find_package calls below: +find_package(Boost 1.59.0 REQUIRED) +find_package(Bullet 2.86 REQUIRED) +find_package(Cholmod 4.4.5 REQUIRED) +find_package(CSPICE 65 REQUIRED) +find_package(Eigen REQUIRED) +find_package(Embree 2.15.0 REQUIRED) +find_package(GeoTIFF 2 REQUIRED) +find_package(GMM 5.0 REQUIRED) +find_package(GSL 19 REQUIRED) +find_package(HDF5 1.8.15 REQUIRED) +find_package(Jama 125 REQUIRED) +find_package(NN REQUIRED) +find_package(OpenCV 3.1.0 REQUIRED) +find_package(PCL 1.8 REQUIRED) +find_package(Protobuf 2.6.1 REQUIRED) +find_package(Qwt 6 REQUIRED) +find_package(SuperLU 4.3 REQUIRED) +find_package(TIFF 4.0.5 REQUIRED) +find_package(TNT 126 REQUIRED) +find_package(XercesC 3.1.2 REQUIRED) +find_package(X11 6 REQUIRED) +find_package(nanoflann REQUIRED) +find_package(PNG REQUIRED) +find_package(Kakadu) +find_package(Geos 3.5.0 REQUIRED) + +# Im this case, we specify the version numbers being searched for in the non-traditional installs. +if(APPLE) + find_package(OpenGL REQUIRED) +endif(APPLE) #=============================================================================== #=============================================================================== @@ -139,9 +255,6 @@ endif() # Add extension to find fortran until .so symlink can be added to /usr/lib64 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) -# Set up all the third party library dependencies. -include(FindAllDependencies) - # Allow everything to include the 3rd party libraries include_directories(SYSTEM ${ALLINCDIRS}) link_directories(${ALLLIBDIRS}) diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake deleted file mode 100644 index 6440e2d679..0000000000 --- a/isis/cmake/FindAllDependencies.cmake +++ /dev/null @@ -1,122 +0,0 @@ -#============================================================================== -# High level script to handle all required 3rd party dependencies -# - All of them are expected to be in the 3rdParty folder, this script does not -# go looking for them if they are not? -#=============================================================================== - -message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") -list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) - -# Add thirdPartyCppFlags -set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) -set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") - -# Flag to fix numeric literals problem with boost on linux -if(NOT APPLE) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) -endif() - -# Paths to required executables -find_program(XALAN Xalan REQUIRED) -find_program(LATEX latex) -find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) -find_program(UIC uic REQUIRED) -find_program(MOC moc REQUIRED) -find_program(RCC rcc REQUIRED) -find_program(PROTOC protoc REQUIRED) - -find_package(Qt5 COMPONENTS - Core - Concurrent - Gui - Multimedia - MultimediaWidgets - Network - OpenGL # Needed to install mesa-common-dev for this! - PrintSupport - Qml - Quick - Script - ScriptTools - Sql - Svg - Test - WebChannel - #WebKit - #WebKitWidgets - Widgets - Xml - XmlPatterns REQUIRED) - -# Some of these will have non-traditional installs with version numbers in the paths in v007 -# For these, we pass in a version number, and use it in the path suffix -# This only applies to v007, and outside of the building, we should only expect standard installs -# The v007-specific installs are listed beside their find_package calls below: -find_package(Boost 1.59.0 REQUIRED) -find_package(Bullet 2.86 REQUIRED) -find_package(Cholmod 4.4.5 REQUIRED) -find_package(CSPICE 65 REQUIRED) -find_package(Eigen REQUIRED) -find_package(Embree 2.15.0 REQUIRED) -find_package(GeoTIFF 2 REQUIRED) -find_package(GMM 5.0 REQUIRED) -find_package(GSL 19 REQUIRED) -find_package(HDF5 1.8.15 REQUIRED) -find_package(Jama 125 REQUIRED) -find_package(NN REQUIRED) -find_package(OpenCV 3.1.0 REQUIRED) -find_package(PCL 1.8 REQUIRED) -find_package(Protobuf 2.6.1 REQUIRED) -find_package(Qwt 6 REQUIRED) -find_package(SuperLU 4.3 REQUIRED) -find_package(TIFF 4.0.5 REQUIRED) -find_package(TNT 126 REQUIRED) -find_package(XercesC 3.1.2 REQUIRED) -find_package(X11 6 REQUIRED) -find_package(nanoflann REQUIRED) -find_package(PNG REQUIRED) -find_package(Kakadu) -find_package(Geos 3.5.0 REQUIRED) - - -# Im this case, we specify the version numbers being searched for in the non-traditional installs. -if(APPLE) - find_package(OpenGL REQUIRED) -endif(APPLE) - -get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES -foreach (_variableName ${_variableNames}) -#message("VAR=${_variableName}") - if (_variableName MATCHES ".+_INCLUDE_DIR$") - list(APPEND ALLINCDIRS "${${_variableName}}") - elseif (_variableName MATCHES ".+_INCLUDE_PATH$") - list(APPEND ALLINCDIRS "${${_variableName}}") - endif(_variableName MATCHES ".+_INCLUDE_DIR$") -endforeach() - -foreach (_variableName ${_variableNames}) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBS "${${_variableName}}") - endif() -endforeach() - -foreach (_variableName ${_variableNames}) - get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - endif(_variableName MATCHES "^CMAKE+") -endforeach() - -list(REMOVE_DUPLICATES ALLLIBDIRS) -list(REMOVE_DUPLICATES ALLLIBS) -list(REMOVE_DUPLICATES ALLINCDIRS) -- GitLab From 737c2871a67acb4edb8d6b27f227e11998a30563 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 28 Mar 2018 16:47:30 -0700 Subject: [PATCH 0215/1212] updated status messages to actually use the STATUS param + cleaner messages --- isis/CMakeLists.txt | 91 +++++++++++++++----------- isis/cmake/AddIsisModule.cmake | 2 - isis/cmake/CMakeLists.txt | 4 -- isis/cmake/FindBullet.cmake | 22 +++---- isis/cmake/FindCSPICE.cmake | 4 +- isis/cmake/FindCholmod.cmake | 18 ++--- isis/cmake/FindEigen.cmake | 2 +- isis/cmake/FindEmbree.cmake | 4 +- isis/cmake/FindGMM.cmake | 2 +- isis/cmake/FindGSL.cmake | 6 +- isis/cmake/FindGeoTIFF.cmake | 4 +- isis/cmake/FindGeos.cmake | 6 +- isis/cmake/FindHDF5.cmake | 10 +-- isis/cmake/FindJama.cmake | 2 +- isis/cmake/FindKakadu.cmake | 8 +-- isis/cmake/FindLibPython.py | 40 ++++++++++++ isis/cmake/FindNN.cmake | 4 +- isis/cmake/FindOpenCV.cmake | 28 ++++---- isis/cmake/FindPCL.cmake | 8 +-- isis/cmake/FindPNG.cmake | 4 +- isis/cmake/FindProtobuf.cmake | 4 +- isis/cmake/FindPython.cmake | 116 +++++++++++++++++++++++++++++++++ isis/cmake/FindQwt.cmake | 4 +- isis/cmake/FindSip.cmake | 57 ++++++++++++++++ isis/cmake/FindSip.py | 42 ++++++++++++ isis/cmake/FindSuperLU.cmake | 4 +- isis/cmake/FindTIFF.cmake | 4 +- isis/cmake/FindTNT.cmake | 2 +- isis/cmake/FindX11.cmake | 2 +- isis/cmake/FindXercesC.cmake | 4 +- isis/cmake/Findnanoflann.cmake | 2 +- 31 files changed, 387 insertions(+), 123 deletions(-) create mode 100644 isis/cmake/FindLibPython.py create mode 100644 isis/cmake/FindPython.cmake create mode 100644 isis/cmake/FindSip.cmake create mode 100644 isis/cmake/FindSip.py diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 8fc66f23fd..8c34f1b348 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -66,11 +66,16 @@ option(buildMissions "Build the mission specific modules" ON ) option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) -option(pybindings "Turn on to build Python bindings" OFF ) +option(pybindings "Turn on to build Python bindings" ON ) -Iterate through all variables and extract the libraries and include directories + +# Iterate through all variables and extract the libraries and include directories get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES +set(ALLLIBDIRS "") +set(ALLLIBS "") +set(ALLINCDIRS "") + # Get all include dir variables foreach (_variableName ${_variableNames}) #message("VAR=${_variableName}") @@ -107,36 +112,27 @@ list(REMOVE_DUPLICATES ALLINCDIRS) if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) endif() -message("Installing in: ${CMAKE_INSTALL_PREFIX}") - -# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K -# needs to be either 1 or 0 for C style true false -if(JP2KFLAG) - set(JP2KFLAG 1) -endif() # Prioritize passed in variables over env vars, probably a better way to do this if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) set(isis3Data $ENV{ISIS3DATA}) - set(isis3Data ON) endif() if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) set(isis3TestData $ENV{ISIS3TESTDATA}) - set(isis3TestData ON) endif() if(EXISTS ${isis3Data}) set(ENV{ISIS3DATA} "${isis3Data}") - message("Using ISIS3DATA = $ENV{ISIS3DATA}") else() message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") + set(isis3Data OFF) endif() if(EXISTS ${isis3TestData}) set(ENV{ISIS3TESTDATA} "${isis3TestData}") - message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") else() message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") + set(isis3TestData OFF) endif() if(${testOutputDir} STREQUAL "OFF") @@ -149,25 +145,52 @@ else() execute_process(COMMAND mkdir -p ${testOutputDir}) endif() +message("========================== CONFIGURATION ========================== ") +message(STATUS "ISIS3DATA: ${isis3Data}") +message(STATUS "ISISTESTDATA: ${isis3TestData}") +message(STATUS "TEST OUTPUT DIR: ${testOutputDir}") +message(STATUS "BUILD STATIC CORE: ${buildStaticCore}") +message(STATUS "BUILD TESTS: ${buildTests}") +message(STATUS "BUILD CORE: ${buildCore}") +message(STATUS "BUILD MISSIONS: ${buildMissions}") +message(STATUS "JP2K SUPPORT: ${JP2KFLAG}") +message(STATUS "PYTHON BINDINGS: ${pybindings}") +message(STATUS "INSTALL LOCATION: ${CMAKE_INSTALL_PREFIX}") +message("=================================================================== ") #=============================================================================== #=============================================================================== -message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") -list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) +if(EXISTS ENV{CONDA_PREFIX}) + message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") + list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) +endif() + +# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K +# needs to be either 1 or 0 for C style true false +if(JP2KFLAG) + set(JP2KFLAG 1) +endif() # Specify flags used # on linux, add the conda prefix to handle possible issues with rpaths at link time # sometimes third parties do not set their rpaths correctly -set(thirdPartyCppFlags -Wall \ - -std=c++11 \ - -DISIS_LITTLE_ENDIAN=1 \ - -fPIC -Wno-unused-parameter \ - -Wno-overloaded-virtual \ - -Wl,-rpath,$ENV{CONDA_PREFIX}/lib \ - -DGMM_USES_SUPERLU \ - -DENABLEJP2K=${JP2KFLAG} \ +set(thirdPartyCppFlags -Wall + -std=c++11 + -DISIS_LITTLE_ENDIAN=1 + -fPIC -Wno-unused-parameter + -Wno-overloaded-virtual + -Wl,-rpath,$ENV{CONDA_PREFIX}/lib + -DGMM_USES_SUPERLU + -DENABLEJP2K=${JP2KFLAG} ) + # Append CPP flags set in the third party lib file to the string set in this file. + string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) + # Set up the ctest tool which is used to run all of the tests. + enable_testing() + include(CTest) + # Flag to fix numeric literals problem with boost on linux if(NOT APPLE) set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) @@ -176,7 +199,7 @@ endif() # Set python bindings configuration if(pybindings) find_package(Python REQUIRED) - + find_package(Sip REQUIRED) # use PYINSTALL_DIR to overwrite python install directory # Better to use find Python script if (NOT DEFINED PYINSTALL_DIR) @@ -269,7 +292,6 @@ ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc) include_directories(${CMAKE_BINARY_DIR}/inc) - set(CORE_LIB_NAME isis3) # Specify relative library include paths which will be set up on @@ -283,19 +305,12 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. -install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") -install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") -install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.${SO})") -EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_BINARY_DIR}/) -install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") -install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") - -# Append CPP flags set in the third party lib file to the string set in this file. -string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) -# Set up the ctest tool which is used to run all of the tests. -enable_testing() -include(CTest) +# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") +# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") +# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.${SO})") +# EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_BINARY_DIR}/) +# install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") +# install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") # Delete any existing plugin files in the build folder so they # don't get filled with duplicate entries. diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index aa403db34f..f4a87169d2 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -4,7 +4,6 @@ include(CodeGeneration) - # Incorporate an application folder function(add_isis_app folder libDependencies) @@ -58,7 +57,6 @@ function(add_isis_app folder libDependencies) add_makefile_test_folder(${f} ${appName}_app) endforeach() endif() - endfunction(add_isis_app) diff --git a/isis/cmake/CMakeLists.txt b/isis/cmake/CMakeLists.txt index 4bb9e778d4..8b1df97398 100644 --- a/isis/cmake/CMakeLists.txt +++ b/isis/cmake/CMakeLists.txt @@ -1,4 +1,3 @@ - # This file contains everything that should be exectuted AFTER the installation # step has completed. @@ -10,8 +9,6 @@ install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.0${SO} ${CMAKE_INSTALL_P install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3${SO})") install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis${SO})") - - # On OSX, need to correct all the paths encoded in each of the distributed library files so # that they properly find the distruted files using relative paths. if (APPLE) @@ -26,5 +23,4 @@ if (APPLE) get_filename_component(name ${f} NAME) install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/plugins/${name} resetRpath)") endforeach() - endif() diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index dcc984c2b9..8b7b117683 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,14 +23,14 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) -message( "-- BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) -message( "-- BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) -message( "-- BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) -message( "-- BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message( "-- BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) -message( "-- BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) -message( "-- BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) -message( "-- BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) -message( "-- BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) -message( "-- BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) -message( "-- BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) +message(STATUS "BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) +message(STATUS "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) +message(STATUS "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) +message(STATUS "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message(STATUS "BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) +message(STATUS "BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) +message(STATUS "BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) +message(STATUS "BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) +message(STATUS "BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) +message(STATUS "BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) +message(STATUS "BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 78f1af260b..3df2e1ff87 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -14,5 +14,5 @@ find_library(CSPICE_LIBRARY NAMES cspice ) -message( "-- CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) -message( "-- CSPICE LIB: " ${CSPICE_LIBRARY} ) +message(STATUS "CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) +message(STATUS "CSPICE LIB: " ${CSPICE_LIBRARY} ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index c8119a296d..a46f6d9c36 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -36,15 +36,15 @@ endif() get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) -message( "-- CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) -message( "-- CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) -message( "-- CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) -message( "-- CAMD LIB: " ${CAMD_LIBRARY} ) -message( "-- AMD LIB: " ${AMD_LIBRARY} ) -message( "-- SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) -message( "-- FORTRAN LIB: " ${FORTRAN_LIBRARY} ) -message( "-- BLAS LIB: " ${BLAS_LIBRARY} ) +message(STATUS "CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) +message(STATUS "CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) +message(STATUS "CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) +message(STATUS "CAMD LIB: " ${CAMD_LIBRARY} ) +message(STATUS "AMD LIB: " ${AMD_LIBRARY} ) +message(STATUS "SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) +message(STATUS "FORTRAN LIB: " ${FORTRAN_LIBRARY} ) +message(STATUS "BLAS LIB: " ${BLAS_LIBRARY} ) if(NOT APPLE) - message("-- LAPACK LIB: " ${LAPACK_LIBRARY}) + message(STATUS "LAPACK LIB: " ${LAPACK_LIBRARY}) endif() diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index ef0829284e..154a23cd59 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -14,4 +14,4 @@ find_path(EIGEN_ROOT_INCLUDE_DIR PATH_SUFFIXES eigen eigen3 ) -message( "-- EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) +message(STATUS "EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake index 786e3307f6..d7af1d78d6 100644 --- a/isis/cmake/FindEmbree.cmake +++ b/isis/cmake/FindEmbree.cmake @@ -16,5 +16,5 @@ find_library(EMBREE_LIBRARY get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) -message( "-- EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) -message( "-- EMBREE LIB: " ${EMBREE_LIBRARY}) +message(STATUS "EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) +message(STATUS "EMBREE LIB: " ${EMBREE_LIBRARY}) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index e2a7d8da50..3787fa9534 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -11,4 +11,4 @@ find_path(GMM_INCLUDE_DIR get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) -message( "-- GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") +message(STATUS "GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake index cd38cf470f..105dad800e 100644 --- a/isis/cmake/FindGSL.cmake +++ b/isis/cmake/FindGSL.cmake @@ -20,6 +20,6 @@ find_library(GSL_CBLAS_LIBRARY get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) -message( "-- GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") -message( "-- GSL LIB: ${GSL_LIBRARY}") -message( "-- GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") +message(STATUS "GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") +message(STATUS "GSL LIB: ${GSL_LIBRARY}") +message(STATUS "GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index fce2108576..9bfbb68cac 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -16,5 +16,5 @@ find_library(GEOTIFF_LIBRARY get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) -message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") -message( "-- GEOTIFF LIB: ${GEOTIFF_LIBRARY}") +message(STATUS "GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") +message(STATUS "GEOTIFF LIB: ${GEOTIFF_LIBRARY}") diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index 8f4cf44249..dc2df58ec2 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -17,8 +17,8 @@ find_library(GEOS_C_LIBRARY NAMES geos_c ) -message( "-- GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) -message( "-- GEOS LIB: " ${GEOS_LIBRARY} ) -message( "-- GEOS C LIB: " ${GEOS_C_LIBRARY} ) +message(STATUS "GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) +message(STATUS "GEOS LIB: " ${GEOS_LIBRARY} ) +message(STATUS "GEOS C LIB: " ${GEOS_C_LIBRARY} ) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindHDF5.cmake b/isis/cmake/FindHDF5.cmake index e9abbc72b8..1ebf7edcd3 100644 --- a/isis/cmake/FindHDF5.cmake +++ b/isis/cmake/FindHDF5.cmake @@ -17,8 +17,8 @@ find_library(HDF5_HLCPP_LIBRARY NAMES hdf5_hl_cpp) get_filename_component(HDF5_ROOT_INCLUDE_DIR "${HDF5_INCLUDE_DIR}" DIRECTORY) -message( "-- HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") -message( "-- HDF5 LIB: ${HDF5_LIBRARY}") -message( "-- HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") -message( "-- HDF5 HL LIB: ${HDF5_HL_LIBRARY}") -message( "-- HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") +message(STATUS "HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") +message(STATUS "HDF5 LIB: ${HDF5_LIBRARY}") +message(STATUS "HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") +message(STATUS "HDF5 HL LIB: ${HDF5_HL_LIBRARY}") +message(STATUS "HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake index 71de34db60..c547d3b27d 100644 --- a/isis/cmake/FindJama.cmake +++ b/isis/cmake/FindJama.cmake @@ -11,4 +11,4 @@ find_path(JAMA_INCLUDE_DIR get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) -message( "-- JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") +message(STATUS "JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index a6edd15542..ed637a0e6f 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -23,9 +23,9 @@ if(JP2KFLAG) get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) - message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") - message( "-- KAKADU A LIB: ${KAKADU_A_LIBRARY}") - message( "-- KAKADU V LIB: ${KAKADU_V_LIBRARY}") + message(STATUS "KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") + message(STATUS "KAKADU A LIB: ${KAKADU_A_LIBRARY}") + message(STATUS "KAKADU V LIB: ${KAKADU_V_LIBRARY}") else() - message("-- KAKADU DISABLED") + message(STATUS "KAKADU DISABLED") endif() diff --git a/isis/cmake/FindLibPython.py b/isis/cmake/FindLibPython.py new file mode 100644 index 0000000000..1a9b1460c9 --- /dev/null +++ b/isis/cmake/FindLibPython.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2007, Simon Edwards +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Simon Edwards nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY Simon Edwards ''AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL Simon Edwards BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# FindLibPython.py +# Copyright (c) 2007, Simon Edwards +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +import sys +import distutils.sysconfig + +print("exec_prefix:%s" % sys.exec_prefix) +print("short_version:%s" % sys.version[:3]) +print("long_version:%s" % sys.version.split()[0]) +print("py_inc_dir:%s" % distutils.sysconfig.get_python_inc()) +print("site_packages_dir:%s" % distutils.sysconfig.get_python_lib(plat_specific=1)) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index 17c030e282..fa2b596278 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -15,5 +15,5 @@ find_library(NN_LIBRARY get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) -message( "-- NN INCLUDE DIR: ${NN_INCLUDE_DIR}") -message( "-- NN LIB: ${NN_LIBRARY}") +message(STATUS "NN INCLUDE DIR: ${NN_INCLUDE_DIR}") +message(STATUS "NN LIB: ${NN_LIBRARY}") diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake index 0984686d94..0450572ef0 100644 --- a/isis/cmake/FindOpenCV.cmake +++ b/isis/cmake/FindOpenCV.cmake @@ -28,17 +28,17 @@ find_library(OPENCV_FLANN_LIBRARY NAMES opencv_flann) get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY) -message( "-- OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") -message( "-- OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") -message( "-- OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") -message( "-- OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") -message( "-- OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") -message( "-- OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") -message( "-- OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") -message( "-- OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") -message( "-- OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") -message( "-- OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") -message( "-- OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") -message( "-- OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") -message( "-- OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") -message( "-- OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") +message(STATUS "OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") +message(STATUS "OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") +message(STATUS "OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") +message(STATUS "OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") +message(STATUS "OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") +message(STATUS "OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") +message(STATUS "OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") +message(STATUS "OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") +message(STATUS "OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") +message(STATUS "OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") +message(STATUS "OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") +message(STATUS "OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") +message(STATUS "OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") +message(STATUS "OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 625a6126d7..902b5b6b1c 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -21,7 +21,7 @@ find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) -message( "-- PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") -message( "-- PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") -message( "-- PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") -message( "-- PCL IO LIB: ${PCL_IO_LIBRARY}") +message(STATUS "PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") +message(STATUS "PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") +message(STATUS "PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") +message(STATUS "PCL IO LIB: ${PCL_IO_LIBRARY}") diff --git a/isis/cmake/FindPNG.cmake b/isis/cmake/FindPNG.cmake index bc11004ec1..6c2439f113 100644 --- a/isis/cmake/FindPNG.cmake +++ b/isis/cmake/FindPNG.cmake @@ -13,5 +13,5 @@ find_library(PNG_LIBRARY NAMES png ) -message( "-- PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") -message( "-- PNG LIB: ${PNG_LIBRARY}") +message(STATUS "PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") +message(STATUS "PNG LIB: ${PNG_LIBRARY}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index 5374cb50e8..74db9e4342 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -7,5 +7,5 @@ find_library(PROTOBUF_LIBRARY NAMES protobuf) get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) -message( "-- PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") -message( "-- PROTOBUF LIB: ${PROTOBUF_LIBRARY}") +message(STATUS "PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") +message(STATUS "PROTOBUF LIB: ${PROTOBUF_LIBRARY}") diff --git a/isis/cmake/FindPython.cmake b/isis/cmake/FindPython.cmake new file mode 100644 index 0000000000..72ed11f5da --- /dev/null +++ b/isis/cmake/FindPython.cmake @@ -0,0 +1,116 @@ +# Find Python +# ~~~~~~~~~~~ +# Find the Python interpreter and related Python directories. +# +# This file defines the following variables: +# +# PYTHON_EXECUTABLE - The path and filename of the Python interpreter. +# +# PYTHON_SHORT_VERSION - The version of the Python interpreter found, +# excluding the patch version number. (e.g. 2.5 and not 2.5.1)) +# +# PYTHON_LONG_VERSION - The version of the Python interpreter found as a human +# readable string. +# +# PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory. +# +# PYTHON_INCLUDE_PATH - Directory holding the python.h include file. +# +# PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library. + +# Copyright (c) 2007, Simon Edwards +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +INCLUDE(CMakeFindFrameworks) + +if(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") + # Already in cache, be silent + set(PYTHONLIBRARY_FOUND TRUE) +else(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") + + FIND_PACKAGE(PythonInterp 3) + + if(PYTHONINTERP_FOUND) + FIND_FILE(_find_lib_python_py FindLibPython.py PATHS ${CMAKE_MODULE_PATH}) + + EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_lib_python_py} OUTPUT_VARIABLE python_config) + if(python_config) + STRING(REGEX REPLACE ".*exec_prefix:([^\n]+).*$" "\\1" PYTHON_PREFIX ${python_config}) + STRING(REGEX REPLACE ".*\nshort_version:([^\n]+).*$" "\\1" PYTHON_SHORT_VERSION ${python_config}) + STRING(REGEX REPLACE ".*\nlong_version:([^\n]+).*$" "\\1" PYTHON_LONG_VERSION ${python_config}) + STRING(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" PYTHON_INCLUDE_PATH ${python_config}) + if(NOT PYTHON_SITE_PACKAGES_DIR) + if(NOT PYTHON_LIBS_WITH_KDE_LIBS) + STRING(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" PYTHON_SITE_PACKAGES_DIR ${python_config}) + else(NOT PYTHON_LIBS_WITH_KDE_LIBS) + set(PYTHON_SITE_PACKAGES_DIR ${KDE4_LIB_INSTALL_DIR}/python${PYTHON_SHORT_VERSION}/site-packages) + endif(NOT PYTHON_LIBS_WITH_KDE_LIBS) + endif(NOT PYTHON_SITE_PACKAGES_DIR) + STRING(REGEX REPLACE "([0-9]+).([0-9]+)" "\\1\\2" PYTHON_SHORT_VERSION_NO_DOT ${PYTHON_SHORT_VERSION}) + set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION} python${PYTHON_SHORT_VERSION_NO_DOT} python${PYTHON_SHORT_VERSION}m python${PYTHON_SHORT_VERSION_NO_DOT}m) + if(WIN32) + STRING(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR}) + FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES} PATHS ${PYTHON_PREFIX}/lib ${PYTHON_PREFIX}/libs) + endif(WIN32) + FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES}) + set(PYTHON_INCLUDE_PATH ${PYTHON_INCLUDE_PATH} CACHE FILEPATH "Directory holding the python.h include file" FORCE) + set(PYTHONLIBRARY_FOUND TRUE) + endif(python_config) + + # adapted from cmake's builtin FindPythonLibs + if(APPLE) + # If a framework has been detected in the include path, make sure + # framework's versioned library (not any .dylib) is used for linking + # NOTE: don't rely upon Python.framework/Versions/Current, since that may be 2.7 + if("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") + set(PYTHON_LIBRARY "") + set(PYTHON_DEBUG_LIBRARY "") + # get clean path to just framework + STRING(REGEX REPLACE "^(.*/Python\\.framework).*$" "\\1" _py_fw "${PYTHON_INCLUDE_PATH}") + if("${_py_fw}" MATCHES "Cellar/python") + # Appears to be a Homebrew Python install; do specific fix ups + # get Homebrew prefix (may not be /usr/local) + STRING(REGEX REPLACE "^(.+)/Cellar.*$" "\\1" _hb_prefix "${_py_fw}") + # prefer the Homebrew prefix framework over only versioned Python keg + set(_py_fw "${_hb_prefix}/Frameworks/Python.framework") + # prefer the symlinked-to Homebrew site-packages over only versioned Python keg + set(PYTHON_SITE_PACKAGES_DIR "${_hb_prefix}/lib/python${PYTHON_SHORT_VERSION}/site-packages") + endif("${_py_fw}" MATCHES "Cellar/python") + # prefer the Headers subdirectory for includes + if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") + set(PYTHON_INCLUDE_PATH "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers" CACHE FILEPATH "Directory holding the python.h include file" FORCE) + endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") + endif("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") + if(NOT PYTHON_LIBRARY) + # ensure the versioned framework's library is defined, instead of relying upon -F search paths + if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") + set(PYTHON_LIBRARY "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python" CACHE FILEPATH "Python framework library" FORCE) + endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") + endif(NOT PYTHON_LIBRARY) + if(PYTHON_LIBRARY) + set(PYTHONLIBRARY_FOUND TRUE) + endif(PYTHON_LIBRARY) + endif(APPLE) + endif(PYTHONINTERP_FOUND) + + if(PYTHONLIBRARY_FOUND) + if(APPLE) + # keep reference to system or custom python site-packages + # useful during app-bundling operations + set(PYTHON_SITE_PACKAGES_SYS ${PYTHON_SITE_PACKAGES_DIR}) + endif(APPLE) + set(PYTHON_LIBRARIES ${PYTHON_LIBRARY}) + if(NOT PYTHONLIBRARY_FIND_QUIETLY) + message(STATUS "Found Python executable: ${PYTHON_EXECUTABLE}") + message(STATUS "Found Python version: ${PYTHON_LONG_VERSION}") + message(STATUS "Found Python library: ${PYTHON_LIBRARY}") + message(STATUS "Found Python site-packages: ${PYTHON_SITE_PACKAGES_DIR}") + endif(NOT PYTHONLIBRARY_FIND_QUIETLY) + else(PYTHONLIBRARY_FOUND) + if(PYTHONLIBRARY_FIND_REQUIRED) + message(FATAL_ERROR "Could not find Python") + endif(PYTHONLIBRARY_FIND_REQUIRED) + endif(PYTHONLIBRARY_FOUND) + +endif (EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 8b52467945..8262a57b69 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -16,5 +16,5 @@ find_library(QWT_LIBRARY get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) -message( "-- QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") -message( "-- QWT LIB: ${QWT_LIBRARY}") +message(STATUS "QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") +message(STATUS "QWT LIB: ${QWT_LIBRARY}") diff --git a/isis/cmake/FindSip.cmake b/isis/cmake/FindSip.cmake new file mode 100644 index 0000000000..cf5d73f2ca --- /dev/null +++ b/isis/cmake/FindSip.cmake @@ -0,0 +1,57 @@ + +# Find SIP +# ~~~~~~~~ +# +# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php +# +# Find the installed version of SIP. FindSIP should be called after Python +# has been found. +# +# This file defines the following variables: +# +# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number +# suitable for comparison as a string. +# +# SIP_VERSION_STR - The version of SIP found as a human readable string. +# +# SIP_BINARY_PATH - Path and filename of the SIP command line executable. +# +# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file. +# +# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed +# into. + +# Copyright (c) 2007, Simon Edwards +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +IF(SIP_VERSION) + # Already in cache, be silent + SET(SIP_FOUND TRUE) +ELSE(SIP_VERSION) + + FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH}) + + EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config) + IF(sip_config) + STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_BINARY_PATH ${sip_config}) + STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_mod_dir:([^\n]+).*$" "\\1" SIP_MOD_DIR ${sip_config}) + SET(SIP_FOUND TRUE) + ENDIF(sip_config) + + IF(SIP_FOUND) + IF(NOT SIP_FIND_QUIETLY) + MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}") + ENDIF(NOT SIP_FIND_QUIETLY) + ELSE(SIP_FOUND) + IF(SIP_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find SIP") + ENDIF(SIP_FIND_REQUIRED) + ENDIF(SIP_FOUND) + +ENDIF(SIP_VERSION) diff --git a/isis/cmake/FindSip.py b/isis/cmake/FindSip.py new file mode 100644 index 0000000000..4fd4e37ac0 --- /dev/null +++ b/isis/cmake/FindSip.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2007, Simon Edwards +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Simon Edwards nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY Simon Edwards ''AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL Simon Edwards BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# FindSIP.py +# Copyright (c) 2007, Simon Edwards +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +import sipconfig + +sipcfg = sipconfig.Configuration() +print("sip_version:%06.0x" % sipcfg.sip_version) +print("sip_version_num:%d" % sipcfg.sip_version) +print("sip_version_str:%s" % sipcfg.sip_version_str) +print("sip_bin:%s" % sipcfg.sip_bin) +print("default_sip_dir:%s" % sipcfg.default_sip_dir) +print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) +print("sip_mod_dir:%s" % sipcfg.sip_mod_dir) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 7462e6dc9a..2c588bd138 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -17,5 +17,5 @@ find_library(SUPERLU_LIBRARY get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) -message( "-- SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") -message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") +message(STATUS "SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") +message(STATUS "SUPERLU LIB: ${SUPERLU_LIBRARY}") diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index 6b7149b687..f483f58778 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -5,5 +5,5 @@ find_path(TIFF_INCLUDE_DIR find_library(TIFF_LIBRARY NAMES tiff) -message( "-- TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") -message( "-- TIFF LIB: ${TIFF_LIBRARY}") +message(STATUS "TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") +message(STATUS "TIFF LIB: ${TIFF_LIBRARY}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index aea3a60d36..0bbfb154c0 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -11,4 +11,4 @@ find_path(TNT_INCLUDE_DIR get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) -message("-- TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) +message(STATUS "TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake index a1714cb526..fe25ac1315 100644 --- a/isis/cmake/FindX11.cmake +++ b/isis/cmake/FindX11.cmake @@ -8,4 +8,4 @@ find_library(X11_LIBRARY NAMES X11 ) -message( "-- X11 LIB: " ${X11_LIBRARY} ) +message(STATUS "X11 LIB: " ${X11_LIBRARY} ) diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index 6e72e533aa..335dca4fda 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -6,5 +6,5 @@ find_path(XERCESC_INCLUDE_DIR find_library(XercesC_LIBRARY NAMES xerces-c) -message( "-- XERCES LIB: " ${XercesC_LIBRARY} ) -message( "-- XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) +message(STATUS "XERCES LIB: " ${XercesC_LIBRARY} ) +message(STATUS "XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) diff --git a/isis/cmake/Findnanoflann.cmake b/isis/cmake/Findnanoflann.cmake index 3562e074d8..3c05e57013 100644 --- a/isis/cmake/Findnanoflann.cmake +++ b/isis/cmake/Findnanoflann.cmake @@ -12,4 +12,4 @@ find_path(NANOFLANN_INCLUDE_DIR get_filename_component(NANOFLANN_ROOT_INCLUDE_DIR "${NANOFLANN_INCLUDE_DIR}" DIRECTORY) -message( "-- NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") +message(STATUS "NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") -- GitLab From c1da70cf49eed2ac538840284d1bf14b3863296e Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 28 Mar 2018 16:51:46 -0700 Subject: [PATCH 0216/1212] moved CONDA status emssage --- isis/CMakeLists.txt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 8c34f1b348..006c88924b 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -155,15 +155,19 @@ message(STATUS "BUILD CORE: ${buildCore}") message(STATUS "BUILD MISSIONS: ${buildMissions}") message(STATUS "JP2K SUPPORT: ${JP2KFLAG}") message(STATUS "PYTHON BINDINGS: ${pybindings}") -message(STATUS "INSTALL LOCATION: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "INSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") + +if(EXISTS $ENV{CONDA_PREFIX}) + message(STATUS "CONDA PREFIX: $ENV{CONDA_PREFIX}") + list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} + $ENV{CONDA_PREFIX}/lib/cmake/Qt5) +endif() message("=================================================================== ") + #=============================================================================== #=============================================================================== -if(EXISTS ENV{CONDA_PREFIX}) - message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") - list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) -endif() + # options only allow on/off but this flag is piped into ISIS as ENABLEJP2K # needs to be either 1 or 0 for C style true false -- GitLab From 6ed927773ca166851333cc9fabc168543bc2cae7 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Wed, 28 Mar 2018 17:16:55 -0700 Subject: [PATCH 0217/1212] Changed map to QList and added getIndex. --- isis/src/base/apps/caminfo/CamTools.cpp | 14 + isis/src/base/apps/caminfo/CamTools.h | 8 +- isis/src/base/apps/caminfo/caminfo.cpp | 125 +++--- isis/src/base/apps/caminfo/caminfo.xml | 236 ++++++------ .../AdvancedTrackTool/AdvancedTrackTool.cpp | 360 +++++++++++------- .../AdvancedTrackTool/AdvancedTrackTool.h | 66 +++- 6 files changed, 498 insertions(+), 311 deletions(-) diff --git a/isis/src/base/apps/caminfo/CamTools.cpp b/isis/src/base/apps/caminfo/CamTools.cpp index eb1cd3ff2a..1c99eaaf75 100644 --- a/isis/src/base/apps/caminfo/CamTools.cpp +++ b/isis/src/base/apps/caminfo/CamTools.cpp @@ -215,6 +215,11 @@ namespace Isis { g.sampRes = camera.SampleResolution(); g.lineRes = camera.LineResolution(); + g.obliqueSampRes = camera.ObliqueSampleResolution(); + g.obliqueLineRes = camera.ObliqueLineResolution(); + g.obliquePixelRes = camera.ObliquePixelResolution(); + g.obliqueDetectorRes = camera.ObliqueDetectorResolution(); + g.solarLongitude = camera.solarLongitude().degrees(); g.northAzimuth = camera.NorthAzimuth(); g.offNader = camera.OffNadirAngle(); @@ -418,6 +423,11 @@ namespace Isis { pband += ValidateKey("PixelResolution", aveRes); pband += ValidateKey("MeanGroundResolution", g.grRes); + pband += ValidateKey("ObliqueSampleResolution", g.obliqueSampRes); + pband += ValidateKey("ObliqueLineResolution", g.obliqueLineRes); + pband += ValidateKey("ObliquePixelResolution", g.obliquePixelRes); + pband += ValidateKey("ObliqueDetectorResolution", g.obliqueDetectorRes); + pband += ValidateKey("SubSolarAzimuth", g.subSolarAzimuth); pband += ValidateKey("SubSolarGroundAzimuth", g.subSolarGroundAzimuth); pband += ValidateKey("SubSolarLatitude", g.subSolarLatitude); @@ -684,6 +694,10 @@ namespace Isis { pixelRes.AddData(b->sampRes); pixelRes.AddData(b->lineRes); groundRes.AddData(b->grRes); + pixelRes.AddData(b->obliqueLineRes); + pixelRes.AddData(b->obliqueSampRes); + pixelRes.AddData(b->obliquePixelRes); + pixelRes.AddData(b->obliqueDetectorRes); } double res = groundRes.Average(); diff --git a/isis/src/base/apps/caminfo/CamTools.h b/isis/src/base/apps/caminfo/CamTools.h index 27f2ddcca2..e503903e65 100644 --- a/isis/src/base/apps/caminfo/CamTools.h +++ b/isis/src/base/apps/caminfo/CamTools.h @@ -136,9 +136,9 @@ namespace Isis { * @history 2009-08-24 Kris Becker - Added ability to disable use of shape * model when creating polygons that contains a limb * @history 2011-02-17 Jai Rideout - Replaced pixinc with sinc and linc. - * @history 2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis + * @history 2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis * coding standards. References #972. - * @history 2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis + * @history 2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis * tickets #775 and #1114. * @history 2012-01-20 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection * instead of Projection. References #775. @@ -201,7 +201,8 @@ namespace Isis { centroidLatitude(Null), centroidLongitude(Null), centroidLine(Null), centroidSample(Null), centroidRadius(Null), surfaceArea(Null), phase(Null), emi(Null), inc(Null), - sampRes(Null), lineRes(Null), grRes(Null), + sampRes(Null), lineRes(Null), grRes(Null), obliqueSampRes(Null), + obliqueLineRes(Null), obliquePixelRes(Null), obliqueDetectorRes(Null), solarLongitude(Null), northAzimuth(Null), offNader(Null), subSolarAzimuth(Null), subSolarGroundAzimuth(Null), subSpacecraftAzimuth(Null), subSpacecraftGroundAzimuth(Null), @@ -230,6 +231,7 @@ namespace Isis { double centroidRadius, surfaceArea; double phase, emi, inc; double sampRes, lineRes, grRes; + double obliqueSampRes, obliqueLineRes, obliquePixelRes, obliqueDetectorRes; double solarLongitude, northAzimuth, offNader; double subSolarAzimuth, subSolarGroundAzimuth; double subSpacecraftAzimuth, subSpacecraftGroundAzimuth; diff --git a/isis/src/base/apps/caminfo/caminfo.cpp b/isis/src/base/apps/caminfo/caminfo.cpp index 4fae601794..994ce7fae6 100644 --- a/isis/src/base/apps/caminfo/caminfo.cpp +++ b/isis/src/base/apps/caminfo/caminfo.cpp @@ -44,7 +44,9 @@ void IsisMain() { const QString caminfo_program = "caminfo"; UserInterface &ui = Application::GetUserInterface(); - QList< QPair > *general = NULL, *camstats = NULL, *statistics = NULL; + QList< QPair > *general = NULL; + QList< QPair > *camstats = NULL; + QList< QPair > *statistics = NULL; BandGeometry *bandGeom = NULL; // Get input filename @@ -55,7 +57,7 @@ void IsisMain() { // if true then run spiceinit, xml default is FALSE // spiceinit will use system kernels - if(ui.GetBoolean("SPICE")) { + if (ui.GetBoolean("SPICE")) { QString parameters = "FROM=" + in.expanded(); ProgramLauncher::RunIsisProgram("spiceinit", parameters); } @@ -77,7 +79,7 @@ void IsisMain() { // Run camstats on the entire image (all bands) // another camstats will be run for each band and output // for each band. - if(ui.GetBoolean("CAMSTATS")) { + if (ui.GetBoolean("CAMSTATS")) { camstats = new QList< QPair >; QString filename = ui.GetAsString("FROM"); @@ -116,19 +118,19 @@ void IsisMain() { } // Compute statistics for entire cube - if(ui.GetBoolean("STATISTICS")) { + if (ui.GetBoolean("STATISTICS")) { statistics = new QList< QPair >; LineManager iline(*incube); Statistics stats; Progress progress; progress.SetText("Statistics..."); - progress.SetMaximumSteps(incube->lineCount()*incube->bandCount()); + progress.SetMaximumSteps( incube->lineCount()*incube->bandCount() ); progress.CheckStatus(); iline.SetLine(1); - for(; !iline.end() ; iline.next()) { + for (; !iline.end(); iline.next()) { incube->read(iline); - stats.AddData(iline.DoubleBuffer(), iline.size()); + stats.AddData( iline.DoubleBuffer(), iline.size() ); progress.CheckStatus(); } @@ -156,32 +158,36 @@ void IsisMain() { bool getFootBlob = ui.GetBoolean("USELABEL"); bool doGeometry = ui.GetBoolean("GEOMETRY"); bool doPolygon = ui.GetBoolean("POLYGON"); - if(doGeometry || doPolygon || getFootBlob) { + if (doGeometry || doPolygon || getFootBlob) { Camera *cam = incube->camera(); QString incType = ui.GetString("INCTYPE"); int polySinc, polyLinc; - if(doPolygon && incType.toUpper() == "VERTICES") { + if (doPolygon && incType.toUpper() == "VERTICES") { ImagePolygon poly; poly.initCube(*incube); polySinc = polyLinc = (int)(0.5 + (((poly.validSampleDim() * 2) + (poly.validLineDim() * 2) - 3.0) / ui.GetInteger("NUMVERTICES"))); } - else if (incType.toUpper() == "LINCSINC"){ - if(ui.WasEntered("POLYSINC")) { + else if (incType.toUpper() == "LINCSINC") { + if (ui.WasEntered("POLYSINC")) { polySinc = ui.GetInteger("POLYSINC"); } else { - polySinc = (int)(0.5 + 0.10 * incube->sampleCount()); - if(polySinc == 0) polySinc = 1; + polySinc = (int)( 0.5 + 0.10 * incube->sampleCount() ); + if (polySinc == 0) { + polySinc = 1; + } } - if(ui.WasEntered("POLYLINC")) { + if ( ui.WasEntered("POLYLINC") ) { polyLinc = ui.GetInteger("POLYLINC"); } else { - polyLinc = (int)(0.5 + 0.10 * incube->lineCount()); - if(polyLinc == 0) polyLinc = 1; + polyLinc = (int)( 0.5 + 0.10 * incube->lineCount() ); + if (polyLinc == 0) { + polyLinc = 1; + } } } else { @@ -196,15 +202,15 @@ void IsisMain() { bandGeom->setMaxEmission(ui.GetDouble("MAXEMISSION")); bool precision = ui.GetBoolean("INCREASEPRECISION"); - if (getFootBlob) { + if(getFootBlob) { // Need to read history to obtain parameters that were used to // create the footprint - History hist("IsisCube", in.expanded()); + History hist( "IsisCube", in.expanded() ); Pvl pvl = hist.ReturnHist(); PvlObject::PvlObjectIterator objIter; bool found = false; PvlGroup fpgrp; - for (objIter=pvl.endObject()-1; objIter>=pvl.beginObject(); objIter--) { + for (objIter = pvl.endObject() - 1; objIter >= pvl.beginObject(); objIter--) { if (objIter->name().toUpper() == "FOOTPRINTINIT") { found = true; fpgrp = objIter->findGroup("UserParameters"); @@ -248,33 +254,35 @@ void IsisMain() { bandGeom->setMaxEmission(maxema); } } - + bandGeom->collect(*cam, *incube, doGeometry, doPolygon, getFootBlob, precision); // Check if the user requires valid image center geometry - if(ui.GetBoolean("VCAMERA") && (!bandGeom->hasCenterGeometry())) { + if (ui.GetBoolean("VCAMERA") && (!bandGeom->hasCenterGeometry())) { QString msg = "Image center does not project in camera model"; throw IException(IException::Unknown, msg, _FILEINFO_); } } - if(sFormat.toUpper() == "PVL") + if (sFormat.toUpper() == "PVL") { GeneratePVLOutput(incube, general, camstats, statistics, bandGeom); - else + } + else { GenerateCSVOutput(incube, general, camstats, statistics, bandGeom); + } // Clean the data delete general; general = NULL; - if(camstats) { + if (camstats) { delete camstats; camstats = NULL; } - if(statistics) { + if (statistics) { delete statistics; statistics = NULL; } - if(bandGeom) { + if (bandGeom) { delete bandGeom; bandGeom = NULL; } @@ -303,27 +311,28 @@ void GeneratePVLOutput(Cube *incube, // Add some common/general things PvlObject params("Caminfo"); PvlObject common("Parameters"); - for(int i = 0; i < general->size(); i++) + for (int i = 0; i < general->size(); i++) { common += PvlKeyword((*general)[i].first, (*general)[i].second); + } params.addObject(common); // Add the camstats - if(camstats) { + if (camstats) { PvlObject pcband("Camstats"); - for(int i = 0; i < camstats->size(); i++) - pcband += ValidateKey((*camstats)[i].first, toDouble((*camstats)[i].second)); + for (int i = 0; i < camstats->size(); i++) + pcband += ValidateKey( (*camstats)[i].first, toDouble((*camstats)[i].second) ); params.addObject(pcband); } // Add the input ISIS label if requested - if(ui.GetBoolean("ISISLABEL")) { + if (ui.GetBoolean("ISISLABEL")) { Pvl label = *(incube->label()); label.setName("IsisLabel"); params.addObject(label); } // Add the orginal label blob - if(ui.GetBoolean("ORIGINALLABEL")) { + if (ui.GetBoolean("ORIGINALLABEL")) { OriginalLabel orig; incube->read(orig); Pvl p = orig.ReturnLabels(); @@ -332,22 +341,22 @@ void GeneratePVLOutput(Cube *incube, } // Add the stats - if(statistics) { + if (statistics) { PvlObject sgroup("Statistics"); - for(int i = 0; i < statistics->size(); i++) + for (int i = 0; i < statistics->size(); i++) sgroup += ValidateKey((*statistics)[i].first, toDouble((*statistics)[i].second)); params.addObject(sgroup); } // Add the geometry info - if(bandGeom) { - if(ui.GetBoolean("GEOMETRY")) { + if (bandGeom) { + if (ui.GetBoolean("GEOMETRY")) { PvlObject ggroup("Geometry"); bandGeom->generateGeometryKeys(ggroup); params.addObject(ggroup); } - if(ui.GetBoolean("POLYGON") || ui.GetBoolean("USELABEL")) { + if (ui.GetBoolean("POLYGON") || ui.GetBoolean("USELABEL")) { PvlObject ggroup("Polygon"); bandGeom->generatePolygonKeys(ggroup); params.addObject(ggroup); @@ -359,10 +368,12 @@ void GeneratePVLOutput(Cube *incube, QString outFile = ui.GetFileName("TO"); pout.addObject(params); - if(ui.GetBoolean("APPEND")) + if (ui.GetBoolean("APPEND")) { pout.append(outFile); - else + } + else { pout.write(outFile); + } } @@ -386,49 +397,51 @@ void GenerateCSVOutput(Cube *incube, fstream outFile; QString sOutFile = ui.GetAsString("TO"); bool appending = ui.GetBoolean("APPEND") && FileName(sOutFile).fileExists(); - if(appending) + if (appending) { outFile.open(sOutFile.toLatin1().data(), std::ios::out | std::ios::app); - else + } + else { outFile.open(sOutFile.toLatin1().data(), std::ios::out); + } // Add some common/general things - for(int i = 0; i < general->size(); i++) - if((*general)[i].first != "RunDate") { - if(not appending) keys += (*general)[i].first + delim; + for (int i = 0; i < general->size(); i++) + if ( (*general)[i].first != "RunDate") { + if (not appending) keys += (*general)[i].first + delim; values += (*general)[i].second + delim; } // Add the camstats - if(ui.GetBoolean("CAMSTATS")) { - for(int i = 0; i < camstats->size(); i++) { - if(not appending) keys += "CamStats_" + (*camstats)[i].first + delim; + if (ui.GetBoolean("CAMSTATS")) { + for (int i = 0; i < camstats->size(); i++) { + if (not appending) keys += "CamStats_" + (*camstats)[i].first + delim; values += (*camstats)[i].second + delim; } } // Add the stats - if(ui.GetBoolean("STATISTICS")) { - for(int i = 0; i < statistics->size(); i++) { - if(not appending) keys += "Stats_" + (*statistics)[i].first + delim; + if (ui.GetBoolean("STATISTICS")) { + for (int i = 0; i < statistics->size(); i++) { + if (not appending) keys += "Stats_" + (*statistics)[i].first + delim; values += (*statistics)[i].second + delim; } } // Add the geometry info - if(ui.GetBoolean("GEOMETRY")) { + if (ui.GetBoolean("GEOMETRY")) { PvlObject geomGrp("Geometry"); bandGeom->generateGeometryKeys(geomGrp); - for(int i = 0; i < geomGrp.keywords(); i++) { - if(not appending) keys += "Geom_" + geomGrp[i].name() + delim; + for (int i = 0; i < geomGrp.keywords(); i++) { + if (not appending) keys += "Geom_" + geomGrp[i].name() + delim; values += geomGrp[i][0] + delim; } } if (not appending) { - keys.remove(QRegExp(delim + "$")); // Get rid of the extra delim char (",") + keys.remove( QRegExp(delim + "$") ); // Get rid of the extra delim char (",") outFile << keys << endl; - } - values.remove(QRegExp(delim + "$")); // Get rid of the extra delim char (",") + } + values.remove( QRegExp(delim + "$") ); // Get rid of the extra delim char (",") outFile << values << endl; outFile.close(); } diff --git a/isis/src/base/apps/caminfo/caminfo.xml b/isis/src/base/apps/caminfo/caminfo.xml index b698caafac..61516c052b 100644 --- a/isis/src/base/apps/caminfo/caminfo.xml +++ b/isis/src/base/apps/caminfo/caminfo.xml @@ -3,12 +3,12 @@ - Outputs a PVL file that contains camera information. + Outputs a PVL file that contains camera information.

- This program compiles and outputs various spacecraft and instrument-related information such as + This program compiles and outputs various spacecraft and instrument-related information such as geometric, polygon, and mapping information.

@@ -20,22 +20,22 @@ running the spiceinit program from within caminfo.

- Some information in the output PVL file will consist of a compilation of information for all the - bands in the cube and will be listed in the "Common" object of the PVL. Other information for a given + Some information in the output PVL file will consist of a compilation of information for all the + bands in the cube and will be listed in the "Common" object of the PVL. Other information for a given band will be placed in the "BandSet" object of the PVL. The user can select the check boxes to control - the information that will be output to the PVL file. If the POLYGON or USELABEL option is chosen, + the information that will be output to the PVL file. If the POLYGON or USELABEL option is chosen, the image polygon is output in Well-Known Text format (WKT).

-

+

The output file can be in PVL or CSV (Comma Separated Value) format. The "APPEND" option allows - the new generated information to be appended to the output file. This is especially useful for - CSV file format. If the CSV format is chosen, only Camstats, Statistics and Geometry options - are allowed. Isis Label, Original Label and Polygon options are disabled for CSV format. + the new generated information to be appended to the output file. This is especially useful for + CSV file format. If the CSV format is chosen, only Camstats, Statistics and Geometry options + are allowed. Isis Label, Original Label and Polygon options are disabled for CSV format.

-

+

The following is an example of caminfo output generated when in PVL format:

-
 
+
 Object = Caminfo
   Object = Parameters
     Program     = caminfo
@@ -197,14 +197,14 @@ End
 
   

Output values that do not have a minimum/maximum range associated with them - are calculated at the center of the image. + are calculated at the center of the image.

Definitions for most of the values output in the PVL file can be found in the ISIS 3 documentation glossary including: SubSpacecraftLatitude, SubSpacecraftLongitude, SubSolarLatitude, - SubSolarLongitude, NorthAzimuth, - SpacecraftAzimuth, and SubSolarAzimuth, + SubSolarLongitude, NorthAzimuth, + SpacecraftAzimuth, and SubSolarAzimuth,

@@ -219,85 +219,85 @@ End Fixed WKT calls - Remove ToWKT calls and PolygonTools.h inclusion. The geos package now - has a method to return a WKT string, so the ToWKT method has been + Remove ToWKT calls and PolygonTools.h inclusion. The geos package now + has a method to return a WKT string, so the ToWKT method has been removed from the PolygonTools class. - - Made the following modifications: fixed typo in PercentNull and - MaximumLongitude keywords; use the base file name for generation of - temporary files to further ensure uniqueness; run camstats once if - there is only one band - doubles execution speed for single band - images when CAMSTATS option is used; substitute the NULL string for - all special pixel values; added corner pixel keywords for PDS - compatibility; added phase, emission, incidence angles - and line and sample pixel resolution at the center pixel; added test - for intersection of longitude domain, north and south poles and - keywords that report them; added option to output ISIS cube labels; + + Made the following modifications: fixed typo in PercentNull and + MaximumLongitude keywords; use the base file name for generation of + temporary files to further ensure uniqueness; run camstats once if + there is only one band - doubles execution speed for single band + images when CAMSTATS option is used; substitute the NULL string for + all special pixel values; added corner pixel keywords for PDS + compatibility; added phase, emission, incidence angles + and line and sample pixel resolution at the center pixel; added test + for intersection of longitude domain, north and south poles and + keywords that report them; added option to output ISIS cube labels; corrected computations for parallax and shadow keywords. - - Renamed the HasLongitudeDomain keyword to HasLongitudeBoundary. + + Renamed the HasLongitudeDomain keyword to HasLongitudeBoundary. Makes more sense. - - Corrected method call to compute polygon with proper parameters as - well as correct band number. Added code to better honor specific - cube attributes (such as band numbers) in computations. Also will - produce NULL valued keywords where NULLs are a produced instead of + + Corrected method call to compute polygon with proper parameters as + well as correct band number. Added code to better honor specific + cube attributes (such as band numbers) in computations. Also will + produce NULL valued keywords where NULLs are a produced instead of the real value for the ISIS NULL pixel value. - Removed references to CubeInfo + Removed references to CubeInfo - Added Camera Test option to test for a valid camera at center of image + Added Camera Test option to test for a valid camera at center of image and return an error and end if a valid camera cannot be created. - - Reworked the output PVL format; added more keywords to the Common object + + Reworked the output PVL format; added more keywords to the Common object that indicate versions and dates; added more values to Geometry and Polygon object. - - Corrected generation of polygon for multi-band data. It created a + + Corrected generation of polygon for multi-band data. It created a POLYGON union instead of the required MULTIPOLYGON. - - The target center distance and subspacecraft latitude were not properly - propagated to the output PVL file and consequently were invalid. This + + The target center distance and subspacecraft latitude were not properly + propagated to the output PVL file and consequently were invalid. This has been corrected. - + Added RightAscension, Declination, SubSolarGroundAzimuth, and - SubSpacecraftGroundAzimuth computations; added center line/sample image - coordinate used to compute center geometry; added check of valid image - line/sample coordinates when testing for north/south poles (some camera - models return valid states when coordinates are outside of image + SubSpacecraftGroundAzimuth computations; added center line/sample image + coordinate used to compute center geometry; added check of valid image + line/sample coordinates when testing for north/south poles (some camera + models return valid states when coordinates are outside of image boundaries). - - Modified to actually exclude the unconditional computation of the image - polygon to assist in some geometry values. It is no longer computed if - the user does not select the POLYGON option. The implications of this - are that some of the keywords in the output Geometry group are no - longer ever relevant. These keywords were all moved to the Polygon - group. These keywords are: CentroidLine, CentroidSample, - CentroidLatitude, CentroidLongitude, CentroidRadius and SurfaceArea. - User will no longer see these values if the POLYGON option is not - selected. Also the Radius keyword in the Polygon group has been + + Modified to actually exclude the unconditional computation of the image + polygon to assist in some geometry values. It is no longer computed if + the user does not select the POLYGON option. The implications of this + are that some of the keywords in the output Geometry group are no + longer ever relevant. These keywords were all moved to the Polygon + group. These keywords are: CentroidLine, CentroidSample, + CentroidLatitude, CentroidLongitude, CentroidRadius and SurfaceArea. + User will no longer see these values if the POLYGON option is not + selected. Also the Radius keyword in the Polygon group has been removed as it is redundant with CentroidRadius. - - Added PIXINC parameter to allow user to specify number of pixels to + + Added PIXINC parameter to allow user to specify number of pixels to skip around the perimeter of the image to compute the polygon. - - Fixed bug where image was a 0 longitude boundary crosser. It would - typically fail when determining centroid information unless converted - to 180 domain. This will also be used at the poles as it seems to work - better in the 180 domain as well. (This process projects the footprint - to a Sinusoidal projection to determine area which requires an equal + + Fixed bug where image was a 0 longitude boundary crosser. It would + typically fail when determining centroid information unless converted + to 180 domain. This will also be used at the poles as it seems to work + better in the 180 domain as well. (This process projects the footprint + to a Sinusoidal projection to determine area which requires an equal area projection, such as Sinusoidal.) @@ -305,21 +305,21 @@ End control limb and terminator polygon generation. - Allow disabling of shape model use when constructing polygons that + Allow disabling of shape model use when constructing polygons that contain limbs. - Removed polygon options group and placed the options within output - options. Added inclusion for parameters related to polygons to only be - available when polygons are selected. Made TO option not have a - default of None, updated documentation and modified formatting. + Removed polygon options group and placed the options within output + options. Added inclusion for parameters related to polygons to only be + available when polygons are selected. Made TO option not have a + default of None, updated documentation and modified formatting. Replaced PIXINC with POLYSINC and POLYLINC. Renamed SINC and LINC to STATSSINC and STATSLINC. - Added option for the output file to be in CSV format and also ability + Added option for the output file to be in CSV format and also ability to append to the existing output file. @@ -351,7 +351,7 @@ End The computation of ParallaxX/ParallaxY and ShadowX/ShadowY values was - not properly implemented. Updated documentation with a new example. + not properly implemented. Updated documentation with a new example. Fixes #1296. @@ -362,6 +362,10 @@ End Reviewed documentation. References #1452. + + Added oblique sample, line, detector, and pixel resolutions to the + geometry PVL group. Fixes #4100. + @@ -400,7 +404,7 @@ End - + string @@ -420,7 +424,7 @@ End Create CSV output Caminfo data to be generated in Comma Separated Value (CSV) format - + ISISLABEL ORIGINALLABEL @@ -430,27 +434,27 @@ End - + boolean false Append caminfo information to existing data file - Append caminfo information to existing file. This will append the - caminfo data to the filename specified for the TO parameter beginning at a - new line. + Append caminfo information to existing file. This will append the + caminfo data to the filename specified for the TO parameter beginning at a + new line. - + boolean Include geometry information - Get geometry information from the camera at the center of the image. - These data are listed under the Geometry Object heading. The keyword/values + Get geometry information from the camera at the center of the image. + These data are listed under the Geometry Object heading. The keyword/values contained therein are listed here: - +
  • BandsUsed
  • ReferenceBand
  • @@ -501,8 +505,8 @@ End
  • HasLongitudeBoundary
  • HasNorthPole
  • HasSouthPole
  • -
- + +
TRUE
@@ -511,7 +515,7 @@ End boolean - Include ISIS label + Include ISIS label This option will extract the ISIS label and write it to the output PVL @@ -523,7 +527,7 @@ End boolean - Include the original label + Include the original label Include the original labels of the cube in the PVL. @@ -538,7 +542,7 @@ End Include DN statistics for all bands within the cube. These data are - contained in the Statistics object. The keyword/values contained + contained in the Statistics object. The keyword/values contained therein are:
  • MeanValue
  • @@ -562,7 +566,7 @@ End Get camera statistics information - Run camstats to get camera information that can be expressed as a range. + Run camstats to get camera information that can be expressed as a range. Camstats will run on the entire cube (common object), and for each band (bandset object). The default linc and sinc for camstats is "1". The user can select a different linc and sinc. Output values are: @@ -614,7 +618,7 @@ End 1 - + boolean @@ -641,12 +645,12 @@ End boolean FALSE - Create polygon information + Create polygon information - Use the imagePolygon class to gather polygon information. The output - polygon will be in well-known text format (WKT). These data are - contained within the Polygon object. The keyword/values contained + Use the imagePolygon class to gather polygon information. The output + polygon will be in well-known text format (WKT). These data are + contained within the Polygon object. The keyword/values contained therein are:
    • CentroidLine
    • @@ -729,7 +733,7 @@ End as well as a change to user input values. - + integer 10% of the cube's total lines @@ -775,7 +779,7 @@ End 4 - + double @@ -783,17 +787,17 @@ End

      - Specifies the maximum emission angle that a polygon point is - allowed to have. This limit is useful for eliminating limb data - that cause numerous ragged spikes. Limb data will generally - result in odd polygon footprints as the geometry becomes - unstable at the limb due to obliqueness particularly when using - a DEM for the shape model (see spiceinit). This parameter - restricts the emission angle to create better behaved polygons + Specifies the maximum emission angle that a polygon point is + allowed to have. This limit is useful for eliminating limb data + that cause numerous ragged spikes. Limb data will generally + result in odd polygon footprints as the geometry becomes + unstable at the limb due to obliqueness particularly when using + a DEM for the shape model (see spiceinit). This parameter + restricts the emission angle to create better behaved polygons at the limb while sacrificing some (very oblique) data.

      - Note: For images that have been run through spiceinit with a DEM, the + Note: For images that have been run through spiceinit with a DEM, the emission angle range may need to be decreased. This will avoid the instability that occurs at the limb and will avoid spiking of the data. @@ -808,11 +812,11 @@ End Maximum incidence angle to include in polygon - Specifies the maximum incidence angle that a polygon point is - allowed to have. This limit is useful for eliminating - terminator data that will typically be lost in photometric - corrections. This parameter restricts the incidence angle to - create more data relevant polygons at the terminator while + Specifies the maximum incidence angle that a polygon point is + allowed to have. This limit is useful for eliminating + terminator data that will typically be lost in photometric + corrections. This parameter restricts the incidence angle to + create more data relevant polygons at the terminator while sacrificing some (non-photometric) data. 120.0 @@ -827,12 +831,12 @@ End Run spiceinit on the input - If the user sets this to true then the spiceinit program will be - run on the input file. Spiceinit will use the system SPICE kernels, - so any updates to SPICE information will be lost. Spiceinit is in + If the user sets this to true then the spiceinit program will be + run on the input file. Spiceinit will use the system SPICE kernels, + so any updates to SPICE information will be lost. Spiceinit is in this program to facilitate UPC processing. - + @@ -840,11 +844,11 @@ End boolean FALSE - Test image center for valid camera + Test image center for valid camera - If the user sets this parameter to true, a test will determine if a - valid camera can be created at the center of the image band. If a + If the user sets this parameter to true, a test will determine if a + valid camera can be created at the center of the image band. If a valid camera cannot be created the program will end. The default is to output any available information without testing the camera. diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp index 1621d71a3f..f71fb077be 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "Angle.h" #include "Camera.h" @@ -29,6 +30,7 @@ #include "TableMainWindow.h" #include "Target.h" #include "TProjection.h" +using namespace std; namespace Isis { @@ -61,58 +63,89 @@ namespace Isis { connect(p_action, SIGNAL(triggered()), p_tableWin, SLOT(syncColumns())); p_tableWin->installEventFilter(this); - p_tableWin->addToTable(false, "Id", "Id"); - p_tableWin->addToTable(true, "Sample:Line", "Sample:Line", -1, - Qt::Horizontal, "Sample and Line"); - p_tableWin->addToTable(false, "Band", "Band"); - p_tableWin->addToTable(true, "Pixel", "Pixel"); - p_tableWin->addToTable(true, "Planetocentric Latitude", "Planetocentric Lat"); - p_tableWin->addToTable(false, "Planetographic Latitude", "Planetographic Lat"); - p_tableWin->addToTable(true, "360 Positive East Longitude", "360 East Longitude"); - p_tableWin->addToTable(false, "360 Positive West Longitude", "360 West Longitude"); - p_tableWin->addToTable(true, "180 Positive East Longitude", "180 East Longitude"); - p_tableWin->addToTable(false, "180 Positive West Longitude", "180 West Longitude"); - p_tableWin->addToTable(false, "Projected X:Projected Y", "Projected X:Projected Y", -1, - Qt::Horizontal, "X and Y values for a projected image"); - p_tableWin->addToTable(false, "Local Radius", "Radius"); - p_tableWin->addToTable(false, "Point X:Point Y:Point Z", "XYZ", -1, Qt::Horizontal, - "The X, Y, and Z of surface intersection in body-fixed coordinates"); - p_tableWin->addToTable(false, "Right Ascension:Declination", "Ra:Dec", -1, Qt::Horizontal, - "Right Ascension and Declination"); - p_tableWin->addToTable(false, "Resolution", "Resolution"); - p_tableWin->addToTable(false, "Phase", "Phase"); - p_tableWin->addToTable(false, "Incidence", "Incidence"); - p_tableWin->addToTable(false, "Emission", "Emission"); - p_tableWin->addToTable(false, "LocalIncidence", "LocalIncidence"); - p_tableWin->addToTable(false, "LocalEmission", "LocalEmission"); - p_tableWin->addToTable(false, "North Azimuth", "North Azimuth"); - p_tableWin->addToTable(false, "Sun Azimuth", "Sun Azimuth"); - p_tableWin->addToTable(false, "Solar Longitude", "Solar Longitude"); - p_tableWin->addToTable(false, "Spacecraft X:Spacecraft Y:Spacecraft Z", "Spacecraft Position", - -1, Qt::Horizontal, "The X, Y, and Z of the spacecraft position"); - p_tableWin->addToTable(false, "Spacecraft Azimuth", "Spacecraft Azimuth"); - p_tableWin->addToTable(false, "Slant Distance", "Slant Distance"); - p_tableWin->addToTable(false, "Focal Plane X:Focal Plane Y", "Focal Plane X:Y"); - p_tableWin->addToTable(false, "Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", - "Undistorted Focal Plane X:Y:Z"); - p_tableWin->addToTable(false, "Ephemeris Time", "Ephemeris iTime"); - p_tableWin->addToTable(false, "Local Solar Time", "Local Solar iTime"); - p_tableWin->addToTable(false, "UTC", "UTC", -1, Qt::Horizontal, "Internal time in UTC format"); - p_tableWin->addToTable(false, "Path", "Path"); - p_tableWin->addToTable(false, "FileName", "FileName"); - p_tableWin->addToTable(false, "Serial Number", "Serial Number"); - p_tableWin->addToTable(false, "Track Mosaic Index", "Track Mosaic Index"); - p_tableWin->addToTable(false, "Track Mosaic FileName", "Track Mosaic FileName"); - p_tableWin->addToTable(false, "Track Mosaic Serial Number", "Track Mosaic Serial Number"); - p_tableWin->addToTable(false, "Notes", "Notes"); - //This variable will keep track of how many times + // p_tableWin->addToTable(false, "Id", "Id"); + // p_tableWin->addToTable(true, "Sample:Line", "Sample:Line", -1, + // Qt::Horizontal, "Sample and Line"); + // p_tableWin->addToTable(false, "Band", "Band"); + // p_tableWin->addToTable(true, "Pixel", "Pixel"); + // p_tableWin->addToTable(true, "Planetocentric Latitude", "Planetocentric Lat"); + // p_tableWin->addToTable(false, "Planetographic Latitude", "Planetographic Lat"); + // p_tableWin->addToTable(true, "360 Positive East Longitude", "360 East Longitude"); + // p_tableWin->addToTable(false, "360 Positive West Longitude", "360 West Longitude"); + // p_tableWin->addToTable(true, "180 Positive East Longitude", "180 East Longitude"); + // p_tableWin->addToTable(false, "180 Positive West Longitude", "180 West Longitude"); + // p_tableWin->addToTable(false, "Projected X:Projected Y", "Projected X:Projected Y", -1, + // Qt::Horizontal, "X and Y values for a projected image"); + // p_tableWin->addToTable(false, "Local Radius", "Radius"); + // p_tableWin->addToTable(false, "Point X:Point Y:Point Z", "XYZ", -1, Qt::Horizontal, + // "The X, Y, and Z of surface intersection in body-fixed coordinates"); + // p_tableWin->addToTable(false, "Right Ascension:Declination", "Ra:Dec", -1, Qt::Horizontal, + // "Right Ascension and Declination"); + // p_tableWin->addToTable(false, "Resolution", "Resolution"); + // p_tableWin->addToTable(false, "Oblique Pixel Resolution", "Oblique Pixel Res"); + // p_tableWin->addToTable(false, "Oblique Sample Resolution", "Oblique Sample Res"); + // p_tableWin->addToTable(false, "Oblique Line Resolution", "Oblique Line Res"); + // p_tableWin->addToTable(false, "Oblique Detector Resolution", "Oblique Detector Res"); + // p_tableWin->addToTable(false, "Phase", "Phase"); + // p_tableWin->addToTable(false, "Incidence", "Incidence"); + // p_tableWin->addToTable(false, "Emission", "Emission"); + // p_tableWin->addToTable(false, "LocalIncidence", "LocalIncidence"); + // p_tableWin->addToTable(false, "LocalEmission", "LocalEmission"); + // p_tableWin->addToTable(false, "North Azimuth", "North Azimuth"); + // p_tableWin->addToTable(false, "Sun Azimuth", "Sun Azimuth"); + // p_tableWin->addToTable(false, "Solar Longitude", "Solar Longitude"); + // p_tableWin->addToTable(false, "Spacecraft X:Spacecraft Y:Spacecraft Z", "Spacecraft Position", + // -1, Qt::Horizontal, "The X, Y, and Z of the spacecraft position"); + // p_tableWin->addToTable(false, "Spacecraft Azimuth", "Spacecraft Azimuth"); + // p_tableWin->addToTable(false, "Slant Distance", "Slant Distance"); + // p_tableWin->addToTable(false, "Focal Plane X:Focal Plane Y", "Focal Plane X:Y"); + // p_tableWin->addToTable(false, "Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", + // "Undistorted Focal Plane X:Y:Z"); + // p_tableWin->addToTable(false, "Ephemeris Time", "Ephemeris iTime"); + // p_tableWin->addToTable(false, "Local Solar Time", "Local Solar iTime"); + // p_tableWin->addToTable(false, "UTC", "UTC", -1, Qt::Horizontal, "Internal time in UTC format"); + // p_tableWin->addToTable(false, "Path", "Path"); + // p_tableWin->addToTable(false, "FileName", "FileName"); + // p_tableWin->addToTable(false, "Serial Number", "Serial Number"); + // p_tableWin->addToTable(false, "Track Mosaic Index", "Track Mosaic Index"); + // p_tableWin->addToTable(false, "Track Mosaic FileName", "Track Mosaic FileName"); + // p_tableWin->addToTable(false, "Track Mosaic Serial Number", "Track Mosaic Serial Number"); + // p_tableWin->addToTable(false, "Notes", "Notes"); + + // Adds each item of checkBoxItems to the table. + // If a tool tip is specified, we cannot skip parameters, so -1 and + // Qt::Horizontal are specified. + QList< QList >::iterator iter; + for (iter = checkBoxItems.begin(); iter != checkBoxItems.end(); ++iter) { + QList currentList = *iter; + QString header = currentList[0]; + QString menuText = currentList[2]; + QString toolTip = currentList[3]; + bool onByDefault; + if (currentList[1] == QString("true")) { + onByDefault = true; + } + else { + onByDefault = false; + } + + if (toolTip != QString("")) { + p_tableWin->addToTable(onByDefault, header, menuText, + -1, Qt::Horizontal, toolTip); + } + else { + p_tableWin->addToTable(onByDefault, header, menuText); + } + } + + // This variable will keep track of how many times // the user has issued the 'record' command. p_id = 0; // Setup 10 blank rows in the table - for(int r = 0; r < 10; r++) { + for (int r = 0; r < 10; r++) { p_tableWin->table()->insertRow(r); - for(int c = 0; c < p_tableWin->table()->columnCount(); c++) { + for (int c = 0; c < p_tableWin->table()->columnCount(); c++) { QTableWidgetItem *item = new QTableWidgetItem(""); p_tableWin->table()->setItem(r, c, item); } @@ -151,7 +184,7 @@ namespace Isis { * @return bool */ bool AdvancedTrackTool::eventFilter(QObject *o, QEvent *e) { - if(e->type() == QEvent::Show) { + if (e->type() == QEvent::Show) { activate(true); if (m_showHelpOnStart) { helpDialog(); @@ -159,7 +192,7 @@ namespace Isis { writeSettings(); } } - else if(e->type() == QEvent::Hide) { + else if (e->type() == QEvent::Hide) { activate(false); } return Tool::eventFilter(o, e); @@ -202,8 +235,8 @@ namespace Isis { */ void AdvancedTrackTool::mouseLeave() { - if(cubeViewport()->isLinked()) { - for(int i = 0; i < p_numRows; i++) { + if (cubeViewport()->isLinked()) { + for (int i = 0; i < p_numRows; i++) { p_tableWin->clearRow(i + p_tableWin->currentRow()); } } @@ -220,20 +253,20 @@ namespace Isis { */ void AdvancedTrackTool::updateRow(QPoint p) { MdiCubeViewport *cvp = cubeViewport(); - if(cvp == NULL) { + if (cvp == NULL) { p_tableWin->clearRow(p_tableWin->currentRow()); return; } - if(!cubeViewport()->isLinked()) { + if (!cubeViewport()->isLinked()) { updateRow(cvp, p, p_tableWin->currentRow()); p_numRows = 1; } else { p_numRows = 0; - for(int i = 0; i < (int)cubeViewportList()->size(); i++) { + for (int i = 0; i < (int)cubeViewportList()->size(); i++) { MdiCubeViewport *d = (*(cubeViewportList()))[i]; - if(d->isLinked()) { + if (d->isLinked()) { updateRow(d, p, p_tableWin->currentRow() + p_numRows); p_numRows++; } @@ -241,6 +274,24 @@ namespace Isis { } } + int AdvancedTrackTool::getIndex(QString keyword) { + int index = 0; + QList< QList >::iterator iter; + for (iter = checkBoxItems.begin(); iter != checkBoxItems.end(); ++iter) { + QList currentList = *iter; + + QList splitHeader = currentList[0].split(":"); + QList::iterator headerIter; + for (headerIter = splitHeader.begin(); headerIter != splitHeader.end(); ++headerIter) { + QString header = *headerIter; + if (header.toLower() == keyword.toLower()) { + return index; + } + index++; + } + } + } + /** * This method updates the row given with data from the viewport cvp at point p. * @@ -257,179 +308,216 @@ namespace Isis { /*if there are linked cvp's then we want to highlight (select) the row of the active cvp.*/ - if(cvp->isLinked()) { + if (cvp->isLinked()) { - if(cvp == cubeViewport()) { + if (cvp == cubeViewport()) { p_tableWin->table()->selectRow(row); } } - // Do we need more rows? - if(row + 1 > p_tableWin->table()->rowCount()) { + if (row + 1 > p_tableWin->table()->rowCount()) { p_tableWin->table()->insertRow(row); - for(int c = 0; c < p_tableWin->table()->columnCount(); c++) { + for (int c = 0; c < p_tableWin->table()->columnCount(); c++) { QTableWidgetItem *item = new QTableWidgetItem(""); p_tableWin->table()->setItem(row, c, item); - if(c == 0) p_tableWin->table()->scrollToItem(item); + if (c == 0) p_tableWin->table()->scrollToItem(item); } } // Blank out the row to remove stuff left over from previous cvps - for(int c = 0; c < p_tableWin->table()->columnCount(); c++) { + for (int c = 0; c < p_tableWin->table()->columnCount(); c++) { p_tableWin->table()->item(row, c)->setText(""); } // Don't write anything if we are outside the cube - if(sample < 0.5) return; - if(line < 0.5) return; - if(sample > cvp->cubeSamples() + 0.5) return; - if(line > cvp->cubeLines() + 0.5) return; + if (sample < 0.5) return; + if (line < 0.5) return; + if (sample > cvp->cubeSamples() + 0.5) return; + if (line > cvp->cubeLines() + 0.5) return; // Write cols 0-2 (id, sample, line) - p_tableWin->table()->item(row, ID)->setText(QString::number(p_id)); - p_tableWin->table()->item(row, SAMPLE)->setText(QString::number(sample)); - p_tableWin->table()->item(row, LINE)->setText(QString::number(line)); + p_tableWin->table()->item(row, getIndex("Id"))->setText(QString::number(p_id)); + p_tableWin->table()->item(row, getIndex("Sample"))->setText(QString::number(sample)); + p_tableWin->table()->item(row, getIndex("Line"))->setText(QString::number(line)); // Write col 3 (band) - if(cvp->isGray()) { - p_tableWin->table()->item(row, BAND)->setText(QString::number(cvp->grayBand())); + if (cvp->isGray()) { + p_tableWin->table()->item(row, getIndex("Band"))->setText(QString::number(cvp->grayBand())); } else { - p_tableWin->table()->item(row, BAND)->setText(QString::number(cvp->redBand())); + p_tableWin->table()->item(row, getIndex("Band"))->setText(QString::number(cvp->redBand())); } // Write out the path, filename, and serial number FileName fname = FileName(cvp->cube()->fileName()).expanded(); QString fnamePath = fname.path(); QString fnameName = fname.name(); - p_tableWin->table()->item(row, PATH)->setText(fnamePath); - p_tableWin->table()->item(row, FILENAME)->setText(fnameName); + p_tableWin->table()->item(row, getIndex("Path"))->setText(fnamePath); + p_tableWin->table()->item(row, getIndex("FileName"))->setText(fnameName); //p_tableWin->table()->item(row,34)->setText(SerialNumber::Compose(*cvp->cube()).c_str()); // If we are outside of the image then we are done - if((sample < 0.5) || (line < 0.5) || + if ((sample < 0.5) || (line < 0.5) || (sample > cvp->cubeSamples() + 0.5) || (line > cvp->cubeLines() + 0.5)) { return; } // Otherwise write out col 4 (Pixel value) - if(cvp->isGray()) { + if (cvp->isGray()) { QString grayPixel = PixelToString(cvp->grayPixel(isample, iline)); QString p = grayPixel; - p_tableWin->table()->item(row, PIXEL)->setText(p); + p_tableWin->table()->item(row, getIndex("Pixel"))->setText(p); } else { QString redPixel = PixelToString(cvp->redPixel(isample, iline)); QString p = redPixel; - p_tableWin->table()->item(row, PIXEL)->setText(p); + p_tableWin->table()->item(row, getIndex("Pixel"))->setText(p); } // Do we have a camera model? - if(cvp->camera() != NULL) { - if(cvp->camera()->SetImage(sample, line)) { + if (cvp->camera() != NULL) { + if (cvp->camera()->SetImage(sample, line)) { // Write columns ocentric lat/lon, and radius, only if set image succeeds double lat = cvp->camera()->UniversalLatitude(); double lon = cvp->camera()->UniversalLongitude(); double radius = cvp->camera()->LocalRadius().meters(); - p_tableWin->table()->item(row, PLANETOCENTRIC_LAT)->setText(QString::number(lat, 'f', 15)); - p_tableWin->table()->item(row, EAST_LON_360)->setText(QString::number(lon, 'f', 15)); - p_tableWin->table()->item(row, RADIUS)->setText(QString::number(radius, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Planetocentric Latitude"))->setText(QString::number(lat, 'f', 15)); + p_tableWin->table()->item(row, getIndex("360 Positive East Longitude"))->setText(QString::number(lon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Local Radius"))->setText(QString::number(radius, 'f', 15)); /* 180 Positive East Lon. */ - p_tableWin->table()->item(row, EAST_LON_180)-> + p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> setText(QString::number(TProjection::To180Domain(lon), 'f', 15)); // Write out the planetographic and positive west values, only if set image succeeds lon = -lon; - while(lon < 0.0) lon += 360.0; + while (lon < 0.0) lon += 360.0; Distance radii[3]; cvp->camera()->radii(radii); lat = TProjection::ToPlanetographic(lat, radii[0].meters(), radii[2].meters()); - p_tableWin->table()->item(row, PLANETOGRAPHIC_LAT)->setText(QString::number(lat, 'f', 15)); - p_tableWin->table()->item(row, WEST_LON_360)->setText(QString::number(lon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Planetographic Latitude"))->setText(QString::number(lat, 'f', 15)); + p_tableWin->table()->item(row, getIndex("360 Positive West Longitude"))->setText(QString::number(lon, 'f', 15)); /*180 Positive West Lon. */ - p_tableWin->table()->item(row, WEST_LON_180)->setText( + p_tableWin->table()->item(row, getIndex("180 Positive West Longitude"))->setText( QString::number(TProjection::To180Domain(lon), 'f', 15)); // Next write out columns, the x/y/z position of the lat/lon, only if set image succeeds double pos[3]; cvp->camera()->Coordinate(pos); - p_tableWin->table()->item(row, POINT_X)->setText(QString::number(pos[0])); - p_tableWin->table()->item(row, POINT_Y)->setText(QString::number(pos[1])); - p_tableWin->table()->item(row, POINT_Z)->setText(QString::number(pos[2])); + p_tableWin->table()->item(row, getIndex("Point X"))->setText(QString::number(pos[0])); + p_tableWin->table()->item(row, getIndex("Point Y"))->setText(QString::number(pos[1])); + p_tableWin->table()->item(row, getIndex("Point Z"))->setText(QString::number(pos[2])); // Write out columns resolution, only if set image succeeds - if (cvp->camera()->PixelResolution() != -1.0) { - double res = cvp->camera()->PixelResolution(); - p_tableWin->table()->item(row, RESOLUTION)->setText(QString::number(res)); + double res = cvp->camera()->PixelResolution(); + if (res != -1.0) { + p_tableWin->table()->item(row, getIndex("Resolution"))->setText(QString::number(res)); } else { - p_tableWin->table()->item(row, RESOLUTION)->setText(""); + p_tableWin->table()->item(row, getIndex("Resolution"))->setText(""); + } + + // Write out columns, oblique pixel resolution, only if set image succeeds + double obliquePRes = cvp->camera()->ObliquePixelResolution(); + if (obliquePRes != Isis::Null) { + p_tableWin->table()->item(row, getIndex("Oblique Pixel Resolution"))->setText(QString::number(obliquePRes)); + } + else { + p_tableWin->table()->item(row, getIndex("Oblique Pixel Resolution"))->setText(""); + } + + // Write out columns, oblique sample resolution, only if set image succeeds + double obliqueSRes = cvp->camera()->ObliqueSampleResolution(); + if (obliqueSRes != Isis::Null) { + p_tableWin->table()->item(row, getIndex("Oblique Sample Resolution"))->setText(QString::number(obliqueSRes)); + } + else { + p_tableWin->table()->item(row, getIndex("Oblique Sample Resolution"))->setText(""); + } + + // Write out columns, oblique line resolution, only if set image succeeds + double obliqueLRes = cvp->camera()->ObliqueLineResolution(); + if (obliqueLRes != Isis::Null) { + p_tableWin->table()->item(row, getIndex("Oblique Line Resolution"))->setText(QString::number(obliqueLRes)); + } + else { + p_tableWin->table()->item(row, getIndex("Oblique Line Resolution"))->setText(""); + } + + // Write out columns, oblique detector resolution, only if set image succeeds + double obliqueDRes = cvp->camera()->ObliqueDetectorResolution(); + if (obliqueDRes != Isis::Null) { + p_tableWin->table()->item(row, getIndex("Oblique Detector Resolution"))->setText(QString::number(obliqueDRes)); + } + else { + p_tableWin->table()->item(row, getIndex("Oblique Detector Resolution"))->setText(""); } // Write out columns photometric angle values, only if set image succeeds double phase = cvp->camera()->PhaseAngle(); - p_tableWin->table()->item(row, PHASE)->setText(QString::number(phase)); + p_tableWin->table()->item(row, getIndex("Phase"))->setText(QString::number(phase)); double incidence = cvp->camera()->IncidenceAngle(); - p_tableWin->table()->item(row, INCIDENCE)->setText(QString::number(incidence)); + p_tableWin->table()->item(row, getIndex("Incidence"))->setText(QString::number(incidence)); double emission = cvp->camera()->EmissionAngle(); - p_tableWin->table()->item(row, EMISSION)->setText(QString::number(emission)); + p_tableWin->table()->item(row, getIndex("Emission"))->setText(QString::number(emission)); // Write out columns local incidence and emission, only if set image // succeeds. This might fail if there are holes in the DEM. // Calculates the angles local to the slope for the DEMs, compare against // the incidence and emission angles calculated for the sphere Angle phaseAngle, incidenceAngle, emissionAngle; - bool bSuccess=false; + bool bSuccess = false; cvp->camera()->LocalPhotometricAngles(phaseAngle, incidenceAngle, emissionAngle, bSuccess); - if(bSuccess) { - p_tableWin->table()->item(row, LOCAL_INCIDENCE)-> + if (bSuccess) { + p_tableWin->table()->item(row, getIndex("LocalIncidence"))-> setText(QString::number(incidenceAngle.degrees())); - p_tableWin->table()->item(row, LOCAL_EMISSION)-> + p_tableWin->table()->item(row, getIndex("LocalEmission"))-> setText(QString::number(emissionAngle.degrees())); } else { - p_tableWin->table()->item(row, LOCAL_INCIDENCE)->setText(""); - p_tableWin->table()->item(row, LOCAL_EMISSION)->setText(""); + p_tableWin->table()->item(row, getIndex("LocalIncidence"))->setText(""); + p_tableWin->table()->item(row, getIndex("LocalEmission"))->setText(""); } // If set image succeeds, write out columns north azimuth, sun azimuth, solar longitude // north azimuth is meaningless for ring plane projections + double northAzi = cvp->camera()->NorthAzimuth(); if (cvp->camera()->target()->shape()->name() != "Plane" - && Isis::IsValidPixel(cvp->camera()->NorthAzimuth())) { - double northAzi = cvp->camera()->NorthAzimuth(); - p_tableWin->table()->item(row, NORTH_AZIMUTH)->setText(QString::number(northAzi)); + && Isis::IsValidPixel(northAzi)) { + p_tableWin->table()->item(row, getIndex("North Azimuth"))->setText(QString::number(northAzi)); } else { // north azimuth is meaningless for ring plane projections - p_tableWin->table()->item(row, NORTH_AZIMUTH)->setText(""); + p_tableWin->table()->item(row, getIndex("North Azimuth"))->setText(""); } - if (Isis::IsValidPixel(cvp->camera()->SunAzimuth())) { - double sunAzi = cvp->camera()->SunAzimuth(); - p_tableWin->table()->item(row, SUN_AZIMUTH)->setText(QString::number(sunAzi)); + + double sunAzi = cvp->camera()->SunAzimuth(); + if (Isis::IsValidPixel(sunAzi)) { + p_tableWin->table()->item(row, getIndex("Sun Azimuth"))->setText(QString::number(sunAzi)); } else { // sun azimuth is null - p_tableWin->table()->item(row, SUN_AZIMUTH)->setText(""); + p_tableWin->table()->item(row, getIndex("Sun Azimuth"))->setText(""); } - if (Isis::IsValidPixel(cvp->camera()->SpacecraftAzimuth())) { - double spacecraftAzi = cvp->camera()->SpacecraftAzimuth(); - p_tableWin->table()->item(row, SPACECRAFT_AZIMUTH)->setText(QString::number(spacecraftAzi)); + + double spacecraftAzi = cvp->camera()->SpacecraftAzimuth(); + if (Isis::IsValidPixel(spacecraftAzi)) { + p_tableWin->table()->item(row, getIndex("Spacecraft Azimuth"))->setText(QString::number(spacecraftAzi)); } else { // spacecraft azimuth is null - p_tableWin->table()->item(row, SPACECRAFT_AZIMUTH)->setText(""); + p_tableWin->table()->item(row, getIndex("Spacecraft Azimuth"))->setText(""); } // Write out columns solar lon, slant distance, local solar time double solarLon = cvp->camera()->solarLongitude().degrees(); - p_tableWin->table()->item(row, SOLAR_LON)->setText(QString::number(solarLon)); + p_tableWin->table()->item(row, getIndex("Solar Longitude"))->setText(QString::number(solarLon)); double slantDistance = cvp->camera()->SlantDistance(); - p_tableWin->table()->item(row, SLANT)->setText(QString::number(slantDistance)); + p_tableWin->table()->item(row, getIndex("Slant Distance"))->setText(QString::number(slantDistance)); double lst = cvp->camera()->LocalSolarTime(); - p_tableWin->table()->item(row, SOLAR_TIME)->setText(QString::number(lst)); + p_tableWin->table()->item(row, getIndex("Local Solar Time"))->setText(QString::number(lst)); } // end if set image succeeds // Always write out the x/y/z of the undistorted focal plane @@ -480,7 +568,7 @@ namespace Isis { double glat = tproj->ToPlanetographic(lat); double wlon = -lon; - while(wlon < 0.0) wlon += 360.0; + while (wlon < 0.0) wlon += 360.0; if (tproj->IsSky()) { lon = tproj->Longitude(); p_tableWin->table()->item(row, RIGHT_ASCENSION)->setText(QString::number(lon, 'f', 15)); @@ -508,7 +596,7 @@ namespace Isis { double lon = rproj->UniversalRingLongitude(); double wlon = -lon; - while(wlon < 0.0) wlon += 360.0; + while (wlon < 0.0) wlon += 360.0; double radius = lat; p_tableWin->table()->item(row, PLANETOCENTRIC_LAT)->setText("0.0"); p_tableWin->table()->item(row, PLANETOGRAPHIC_LAT)->setText("0.0"); @@ -525,8 +613,8 @@ namespace Isis { } //If there is a projection add the Projected X and Y coords to the table - if(cvp->projection() != NULL) { - if(cvp->projection()->SetWorld(sample, line)) { + if (cvp->projection() != NULL) { + if (cvp->projection()->SetWorld(sample, line)) { double projX = cvp->projection()->XCoord(); double projY = cvp->projection()->YCoord(); p_tableWin->table()->item(row, PROJECTED_X)->setText(QString::number(projX, 'f', 15)); @@ -569,21 +657,21 @@ namespace Isis { Cube *cCube = cvp->cube(); int iTrackBand = -1; - if(cCube->hasTable(TABLE_MOSAIC_SRC)) { + if (cCube->hasTable(TABLE_MOSAIC_SRC)) { Pvl *cPvl = cCube->label(); PvlObject cObjIsisCube = cPvl->findObject("IsisCube"); PvlGroup cGrpBandBin = cObjIsisCube.findGroup("BandBin"); - for(int i = 0; i < cGrpBandBin.keywords(); i++) { + for (int i = 0; i < cGrpBandBin.keywords(); i++) { PvlKeyword &cKeyTrackBand = cGrpBandBin[i]; - for(int j = 0; j < cKeyTrackBand.size(); j++) { - if(cKeyTrackBand[j] == "TRACKING") { + for (int j = 0; j < cKeyTrackBand.size(); j++) { + if (cKeyTrackBand[j] == "TRACKING") { iTrackBand = j; break; } } } - if(iTrackBand > 0 && iTrackBand <= cCube->bandCount()) { + if (iTrackBand > 0 && iTrackBand <= cCube->bandCount()) { Portal cOrgPortal(cCube->sampleCount(), 1, cCube->pixelType()); cOrgPortal.SetPosition(piSample, piLine, iTrackBand + 1); // 1 based @@ -607,7 +695,7 @@ namespace Isis { Table cFileTable(TABLE_MOSAIC_SRC); cCube->read(cFileTable); int iRecs = cFileTable.Records(); - if(piOrigin >= 0 && piOrigin < iRecs) { + if (piOrigin >= 0 && piOrigin < iRecs) { psSrcFileName = QString(cFileTable[piOrigin][0]); psSrcSerialNum = QString(cFileTable[piOrigin][1]); } @@ -679,18 +767,18 @@ namespace Isis { * */ void AdvancedTrackTool::record() { - if(p_tableWin->table()->isHidden()) return; - if(p_tableWin->table()->item(p_tableWin->currentRow(), 0)->text() == "") return; + if (p_tableWin->table()->isHidden()) return; + if (p_tableWin->table()->item(p_tableWin->currentRow(), 0)->text() == "") return; int row = 0; p_tableWin->setCurrentRow(p_tableWin->currentRow() + p_numRows); p_tableWin->setCurrentIndex(p_tableWin->currentIndex() + p_numRows); - while(p_tableWin->currentRow() >= p_tableWin->table()->rowCount()) { + while (p_tableWin->currentRow() >= p_tableWin->table()->rowCount()) { row = p_tableWin->table()->rowCount(); p_tableWin->table()->insertRow(row); - for(int c = 0; c < p_tableWin->table()->columnCount(); c++) { + for (int c = 0; c < p_tableWin->table()->columnCount(); c++) { QTableWidgetItem *item = new QTableWidgetItem(""); p_tableWin->table()->setItem(row, c, item); } @@ -736,10 +824,12 @@ namespace Isis { */ void AdvancedTrackTool::updateID() { //Check if the current row is 0 - if(p_tableWin->currentRow() == 0) + if (p_tableWin->currentRow() == 0) { p_id = 0; - else + } + else { p_id = p_tableWin->table()->item(p_tableWin->currentRow() - 1, ID)->text().toInt() + 1; + } } diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h index a684ad8481..782a55025d 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h @@ -24,6 +24,9 @@ // The only includes allowed in this file are the direct parents of this class! #include "Tool.h" +#include +#include +using namespace std; class QAction; @@ -82,6 +85,8 @@ namespace Isis { * before it attempts to record a point so that a table is created * to record the point into so that the first recorded point is drawn. * Fixes #5143. + * @history 2018-03-07 Kaitlyn Lee - Added columns for oblique pixel, + * sample, line, and detector resolutions. Fixes #4100. */ class AdvancedTrackTool : public Tool { Q_OBJECT @@ -91,6 +96,7 @@ namespace Isis { void addTo(QMenu *menu); void addToPermanent(QToolBar *perm); bool eventFilter(QObject *o, QEvent *e); + int getindex(QString keyword); public slots: virtual void mouseMove(QPoint p); @@ -123,6 +129,60 @@ namespace Isis { void writeSettings(); QString settingsFilePath() const; + // Used to store information about each check box to later add to the table + // New entries can be added anywhere in the map. + // Format: {

      , {, , }} + // If a toolTip is not needed, use "". + + QList > checkBoxItems = QList >()<< + QList({"Id", "false", "Id", ""})<< + QList({"Sample:Line", "true", "Sample:Line", ""})<< + QList({"Band", "false", "Band", ""})<< + QList({"Pixel", "true", "Pixel", ""})<< + QList({"Planetocentric Latitude", "true", "Planetocentric Lat", ""})<< + QList({"Planetographic Latitude", "false", "Planetographic Lat", ""})<< + QList({"360 Positive East Longitude", "true", "360 East Longitude", ""})<< + QList({"360 Positive West Longitude", "false", "360 West Longitude", ""})<< + QList({"180 Positive East Longitude", "true", "180 East Longitude", ""})<< + QList({"180 Positive West Longitude", "false", "180 West Longitude", ""})<< + QList({"Projected X:Projected Y", "false", "Projected X:Projected Y", + "X and Y values for a projected image"})<< + QList({"Local Radius", "false", "Radius", ""})<< + QList({"Point X:Point Y:Point Z", "false", "XYZ", + "The X, Y, and Z of surface intersection in body-fixed coordinates"})<< + QList({"Right Ascension:Declination", "false", "Ra:Dec", + "Right Ascension and Declination"})<< + QList({"Resolution", "false", "Resolution", ""})<< + QList({"Oblique Pixel Resolution", "false", "Oblique Pixel Res", ""})<< + QList({"Oblique Sample Resolution", "false", "Oblique Sample Res", ""})<< + QList({"Oblique Line Resolution", "false", "Oblique Line Res", ""})<< + QList({"Oblique Detector Resolution", "false", "Oblique Detector Res", ""})<< + QList({"Phase", "false", "Phase", ""})<< + QList({"Incidence", "false", "Incidence", ""})<< + QList({"Emission", "false", "Emission", ""})<< + QList({"LocalIncidence", "false", "LocalIncidence", ""})<< + QList({"LocalEmission", "false", "LocalEmission", ""})<< + QList({"North Azimuth", "false", "North Azimuth", ""})<< + QList({"Sun Azimuth", "false", "Sun Azimuth", ""})<< + QList({"Solar Longitude", "false", "Solar Longitude", ""})<< + QList({"Spacecraft X:Spacecraft Y:Spacecraft Z", "false", "Spacecraft Position", + "The X, Y, and Z of the spacecraft position"})<< + QList({"Spacecraft Azimuth", "false", "Spacecraft Azimuth", ""})<< + QList({"Slant Distance", "false", "Slant Distance", ""})<< + QList({"Focal Plane X:Focal Plane Y", "false", "Focal Plane X:Y", ""})<< + QList({"Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", + "false", "Undistorted Focal Plane X:Y:Z", ""})<< + QList({"Ephemeris Time", "false", "Ephemeris iTime", ""})<< + QList({"Local Solar Time", "false", "Local Solar iTime", ""})<< + QList({"UTC", "false", "UTC", "Internal time in UTC format"})<< + QList({"Path", "false", "Path", ""})<< + QList({"FileName", "false", "FileName", ""})<< + QList({"Serial Number", "false", "Serial Number", ""})<< + QList({"Track Mosaic Index", "false", "Track Mosaic Index", ""})<< + QList({"Track Mosaic FileName", "false", "Track Mosaic FileName", ""})<< + QList({"Track Mosaic Serial Number", "false", "Track Mosaic Serial Number", ""})<< + QList({"Notes", "false", "Notes", ""}); + /** * Enum for column values */ @@ -147,6 +207,10 @@ namespace Isis { RIGHT_ASCENSION, //!< The right ascension for this point DECLINATION, //!< The declination for this point RESOLUTION, //!< The resoultion for this point + OBLIQUE_PIXEL_RES, //!< The oblique pixel resolution + OBLIQUE_SAMPLE_RES, //!< The oblique sample resolution + OBLIQUE_LINE_RES, //!< The oblique line resolution + OBLIQUE_DETECTOR_RES, //!< The oblique detector resolution PHASE, //!< The phase for this point INCIDENCE, //!< The incidence for this point EMISSION, //!< The emission for this point @@ -179,7 +243,7 @@ namespace Isis { QAction *p_action; //!< Action to bring up the track tool int p_numRows; //!< The number of rows in the table int p_id; //!< The record id - TableMainWindow *p_tableWin; //!< The table window + TableMainWindow *p_tableWin; //!< The table window bool m_showHelpOnStart; //!< True to show dialog When tool is started }; -- GitLab From 5c3e8b0babaab1a0b216b05cf2dc41050914bb16 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Wed, 28 Mar 2018 17:28:19 -0700 Subject: [PATCH 0218/1212] Added targetRadii repeated value to binaryV0005 header. --- .../objs/ControlNetVersioner/ControlNetFileHeaderV0005.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetFileHeaderV0005.proto b/isis/src/control/objs/ControlNetVersioner/ControlNetFileHeaderV0005.proto index d04e6ca501..424fad3c98 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetFileHeaderV0005.proto +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetFileHeaderV0005.proto @@ -9,6 +9,6 @@ message ControlNetFileHeaderV0005 { optional string lastModified = 4; optional string description = 5; optional string userName = 6; - optional int32 numPoints = 7; + optional int32 numPoints = 7; + repeated double targetRadii = 10; } - -- GitLab From 9366e36af0116517d8cda66f58d76bec90c16ce2 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Wed, 28 Mar 2018 17:28:51 -0700 Subject: [PATCH 0219/1212] Added targetRadii groups to the header. Changed the versioner to write these values out and read them upon ingestion. --- .../ControlNetVersioner.cpp | 78 ++++++++++++++++--- .../ControlNetVersioner/ControlNetVersioner.h | 12 +-- 2 files changed, 72 insertions(+), 18 deletions(-) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp index f02c607873..58d743ed9b 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp @@ -63,6 +63,8 @@ namespace Isis { header.lastModified = net->GetLastModified(); header.description = net->Description(); header.userName = net->GetUserName(); + + header.targetRadii = net->GetTargetRadii(); createHeader(header); } @@ -202,6 +204,17 @@ namespace Isis { network += PvlKeyword("Created", m_header.created); network += PvlKeyword("LastModified", m_header.lastModified); network += PvlKeyword("Description", m_header.description); + if ( !m_header.targetRadii.empty() ) { + // PvlGroup pvlRadii = Target::radiiGroup(m_header.targetName); + // network += pvlRadii; + // network += PvlKeyword("EquatorialRadius", toString(m_header.equatorialRadius.meters() ) ); + // network += PvlKeyword("PolarRadius", toString(m_header.polarRadius.meters())); + PvlKeyword targetRadii("TargetRadii"); + targetRadii += toString(m_header.targetRadii[0].meters()); + targetRadii += toString(m_header.targetRadii[1].meters()); + targetRadii += toString(m_header.targetRadii[2].meters()); + network += targetRadii; + } // optionally add username to output? // This is the Pvl version we're converting to @@ -716,6 +729,7 @@ namespace Isis { try { PvlObject pointObject = network.object(objectIndex); ControlPointV0002 point(pointObject); + m_points.append( createPoint(point) ); if (progress) { @@ -847,6 +861,13 @@ namespace Isis { header.lastModified = network.findKeyword("LastModified")[0]; header.description = network.findKeyword("Description")[0]; header.userName = network.findKeyword("UserName")[0]; + if (network.hasKeyword("TargetRadii")) { + header.targetRadii.clear(); + for (int i = 0; i < network.findKeyword("TargetRadii").size(); i++) { + header.targetRadii.push_back(Distance(toDouble(network.findKeyword("TargetRadii")[i]), + Distance::Meters)); + } + } createHeader(header); } catch (IException &e) { @@ -1170,6 +1191,7 @@ namespace Isis { void ControlNetVersioner::readProtobufV0005(const Pvl &header, const FileName netFile, Progress *progress) { + // read the header protobuf object const PvlObject &protoBufferInfo = header.findObject("ProtoBuffer"); const PvlObject &protoBufferCore = protoBufferInfo.findObject("Core"); @@ -1228,6 +1250,13 @@ namespace Isis { header.lastModified = protoHeader.lastmodified().c_str(); header.description = protoHeader.description().c_str(); header.userName = protoHeader.username().c_str(); + if ( protoHeader.targetradii_size() >= 3 ) { + header.targetRadii.clear(); + for (int i = 0; i < protoHeader.targetradii_size(); i++) { + header.targetRadii.push_back(Distance(protoHeader.targetradii(i), + Distance::Meters)); + } + } createHeader(header); } catch (IException &e) { @@ -1278,7 +1307,7 @@ namespace Isis { uint32_t size; pointCodedInStream.ReadRaw(reinterpret_cast(&size), sizeof(size)); - + size = lsb.Uint32_t(&size); CodedInputStream::Limit oldPointLimit = pointCodedInStream.PushLimit(size); @@ -1357,6 +1386,7 @@ namespace Isis { * @return @b ControlPoint* The ControlPoint constructed from the given point. */ ControlPoint *ControlNetVersioner::createPoint(ControlPointV0003 &point) { + ControlPointFileEntryV0002 protoPoint = point.pointData(); ControlPoint *controlPoint = new ControlPoint; @@ -1521,16 +1551,19 @@ namespace Isis { controlPoint->SetAdjustedSurfacePoint(adjustedSurfacePoint); } + if ( !m_header.targetRadii.empty() && + m_header.targetRadii[0].isValid() && + m_header.targetRadii[1].isValid() && + m_header.targetRadii[2].isValid() ) { - if ( m_header.equatorialRadius.isValid() && m_header.polarRadius.isValid() ) { SurfacePoint aprioriSurfacePoint = controlPoint->GetAprioriSurfacePoint(); SurfacePoint adjustedSurfacePoint = controlPoint->GetAdjustedSurfacePoint(); - aprioriSurfacePoint.SetRadii(m_header.equatorialRadius, - m_header.equatorialRadius, - m_header.polarRadius); - adjustedSurfacePoint.SetRadii(m_header.equatorialRadius, - m_header.equatorialRadius, - m_header.polarRadius); + aprioriSurfacePoint.SetRadii(m_header.targetRadii[0], + m_header.targetRadii[1], + m_header.targetRadii[2]); + adjustedSurfacePoint.SetRadii(m_header.targetRadii[0], + m_header.targetRadii[1], + m_header.targetRadii[2]); controlPoint->SetAdjustedSurfacePoint(adjustedSurfacePoint); controlPoint->SetAprioriSurfacePoint(aprioriSurfacePoint); } @@ -1672,10 +1705,19 @@ namespace Isis { if ( !m_header.targetName.isEmpty() ) { try { - // attempt to get target radii values... - PvlGroup pvlRadii = Target::radiiGroup(m_header.targetName); - m_header.equatorialRadius.setMeters(pvlRadii["EquatorialRadius"]); - m_header.polarRadius.setMeters(pvlRadii["PolarRadius"]); + // attempt to get target radii values... + // The target body raii values are read from the PvlV0005 and BinaryV0005 + // Networks. In the event these values weren't read (from an older network) + // then we must grab them from the Target::radii group. + if ( m_header.targetRadii.empty() ) { + PvlGroup pvlRadii = Target::radiiGroup(m_header.targetName); + m_header.targetRadii.push_back(Distance(pvlRadii["EquatorialRadius"], + Distance::Meters)); + m_header.targetRadii.push_back(Distance(pvlRadii["EquatorialRadius"], + Distance::Meters)); + m_header.targetRadii.push_back(Distance(pvlRadii["PolarRadius"], + Distance::Meters)); + } } catch (IException &e) { // do nothing @@ -1725,6 +1767,12 @@ namespace Isis { protobufHeader.set_description(m_header.description.toLatin1().data()); protobufHeader.set_username(m_header.userName.toLatin1().data()); + if ( !m_header.targetRadii.empty() ) { + for (uint i = 0; i < m_header.targetRadii.size(); i++) { + protobufHeader.add_targetradii(m_header.targetRadii[i].meters()); + } + } + streampos coreHeaderSize = protobufHeader.ByteSize(); Pvl p; @@ -1789,6 +1837,12 @@ namespace Isis { protobufHeader.set_description(m_header.description.toLatin1().data()); protobufHeader.set_username(m_header.userName.toLatin1().data()); + if ( !m_header.targetRadii.empty() ) { + for (uint i = 0; i < m_header.targetRadii.size(); i++) { + protobufHeader.add_targetradii(m_header.targetRadii[i].meters()); + } + } + // Write out the header if ( !protobufHeader.SerializeToOstream(output) ) { QString msg = "Failed to write output control network file."; diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h index 14f15a7e01..4e08ca98de 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h @@ -403,6 +403,9 @@ namespace Isis { * describing the different file format versions. * @history 2018-01-30 Adam Goins - Ensured point sizes are written/read as lsb by using * EndianSwapper. + * @history 2018-03-28 Adam Goins - Added targetRadii groups to the header. Changed the + * versioner to write these values out in a targetRadii group for + * both binary V0005 and PvlV0005 networks. Fixes #5361. */ class ControlNetVersioner { @@ -471,12 +474,9 @@ namespace Isis { * The equatorial radius of the target body * used to convert from spherical to rectangular coordinates */ - Distance equatorialRadius; - /** - * The equatorial radius of the target body - * used to convert from spherical to rectangular coordinates - */ - Distance polarRadius; + + std::vector targetRadii; + }; //! Typedef for consistent naming of containers for version 2 -- GitLab From 65b2c0beabeca6939a006846de6910cb122c4e02 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 28 Mar 2018 22:04:27 -0700 Subject: [PATCH 0220/1212] Added target for generating C++ files from sip files --- isis/CMakeLists.txt | 72 ++++++++++++++++++++++------------ isis/sipfiles/BundleAdjust.sip | 2 +- isis/sipfiles/master.sip | 2 - 3 files changed, 47 insertions(+), 29 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 006c88924b..e8d42fe107 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -145,29 +145,26 @@ else() execute_process(COMMAND mkdir -p ${testOutputDir}) endif() -message("========================== CONFIGURATION ========================== ") -message(STATUS "ISIS3DATA: ${isis3Data}") -message(STATUS "ISISTESTDATA: ${isis3TestData}") -message(STATUS "TEST OUTPUT DIR: ${testOutputDir}") -message(STATUS "BUILD STATIC CORE: ${buildStaticCore}") -message(STATUS "BUILD TESTS: ${buildTests}") -message(STATUS "BUILD CORE: ${buildCore}") -message(STATUS "BUILD MISSIONS: ${buildMissions}") -message(STATUS "JP2K SUPPORT: ${JP2KFLAG}") -message(STATUS "PYTHON BINDINGS: ${pybindings}") -message(STATUS "INSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") +message("CONFIGURATION") +message("\tBUILD STATIC CORE: ${buildStaticCore}") +message("\tBUILD TESTS: ${buildTests}") +message("\tBUILD CORE: ${buildCore}") +message("\tBUILD MISSIONS: ${buildMissions}") +message("\tJP2K SUPPORT: ${JP2KFLAG}") +message("\tPYTHON BINDINGS: ${pybindings}") +message("\tISIS3DATA: ${isis3Data}") +message("\tISISTESTDATA: ${isis3TestData}") +message("\tTEST OUTPUT DIR: ${testOutputDir}") +message("\tINSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") + +#=============================================================================== +#=============================================================================== if(EXISTS $ENV{CONDA_PREFIX}) - message(STATUS "CONDA PREFIX: $ENV{CONDA_PREFIX}") + message("CONDA PREFIX: $ENV{CONDA_PREFIX}") list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) endif() -message("=================================================================== ") - -#=============================================================================== -#=============================================================================== - - # options only allow on/off but this flag is piped into ISIS as ENABLEJP2K # needs to be either 1 or 0 for C style true false @@ -197,10 +194,10 @@ set(thirdPartyCppFlags -Wall # Flag to fix numeric literals problem with boost on linux if(NOT APPLE) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals) endif() -# Set python bindings configuration +# Set python bindings configuration and set target for generating C++ files if(pybindings) find_package(Python REQUIRED) find_package(Sip REQUIRED) @@ -209,6 +206,29 @@ if(pybindings) if (NOT DEFINED PYINSTALL_DIR) set(PYINSTALL_PREFIX ${PYTHON_SITE_PACKAGES_DIR}) endif() + + # We need to get the locations for sip files, modules, etc. + set(ISIS_SIP_DIR "${CMAKE_SOURCE_DIR}/sipfiles") + set(ISIS_SIP_MODULE "${CMAKE_SOURCE_DIR}/sipfiles/master.sip") + set(SIP_BUILD_FILE "sippy.sbf") + set(ISIS_SIP_CODE_DIR ${CMAKE_BINARY_DIR}/sipsrc) + + execute_process(COMMAND mkdir -p "${ISIS_SIP_CODE_DIR}") + + # get the PYQT configuration based flags from Python + execute_process(COMMAND ${PYTHON_EXECUTABLE} -c + "from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict;print(qtconfigdict['sip_flags'])" + OUTPUT_VARIABLE PYQT_SIP_FLAGS) + + # CMAKE doesn't handle spaces from python well when piping that into the + # command because of white space and a trailing new line, + # so we turn it into a list + string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) + string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) + + add_custom_target(sipfiles + COMMAND ${SIP_BINARY_PATH} -e -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE} + COMMENT "Generating C++ code from sip files") endif() # Paths to required executables @@ -309,12 +329,12 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. -# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") -# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") -# install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.${SO})") -# EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_BINARY_DIR}/) -# install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") -# install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5.0${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.5${SO})") +install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/lib/libisis3.${SO})") +EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_BINARY_DIR}/) +install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") +install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") # Delete any existing plugin files in the build folder so they # don't get filled with duplicate entries. diff --git a/isis/sipfiles/BundleAdjust.sip b/isis/sipfiles/BundleAdjust.sip index 098d7cab9c..46753c4569 100644 --- a/isis/sipfiles/BundleAdjust.sip +++ b/isis/sipfiles/BundleAdjust.sip @@ -20,7 +20,7 @@ namespace Isis { try { sipCpp = new sipIsis_BundleAdjust(*wrappedSettings, *a1, *a2, a3); } - catch (Isis::IException &error) { + catch (Isis::IException &error) {Ò PyErr_SetString(sipException_Isis_IException, error.what()); return NULL; } diff --git a/isis/sipfiles/master.sip b/isis/sipfiles/master.sip index 8eb5eb7064..2d296cc1a6 100644 --- a/isis/sipfiles/master.sip +++ b/isis/sipfiles/master.sip @@ -56,9 +56,7 @@ << lib_loader.errorString().toStdString() << endl; } } - } - } %End -- GitLab From c5425c74152f6bbb10dc8ebba05961e5c8ace842 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 01:38:56 -0700 Subject: [PATCH 0221/1212] updated gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index c2d153b74e..fdd6c6484c 100644 --- a/.gitignore +++ b/.gitignore @@ -49,8 +49,6 @@ print.prt ### C++ ### # Prerequisites *.d -*.cpp -*.c *.hpp *.sbf -- GitLab From 0abdeb8c0691161642eea78bf375bf63c39720fd Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 01:57:41 -0700 Subject: [PATCH 0222/1212] added rule for create isispy.so --- isis/CMakeLists.txt | 182 +++++++++++++++++++-------------- isis/sipfiles/BundleAdjust.sip | 2 +- isis/sipfiles/ControlNet.sip | 1 - 3 files changed, 104 insertions(+), 81 deletions(-) diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index e8d42fe107..075c2c8fd3 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -68,45 +68,6 @@ option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) option(pybindings "Turn on to build Python bindings" ON ) - -# Iterate through all variables and extract the libraries and include directories -get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES - -set(ALLLIBDIRS "") -set(ALLLIBS "") -set(ALLINCDIRS "") - -# Get all include dir variables -foreach (_variableName ${_variableNames}) -#message("VAR=${_variableName}") - if (_variableName MATCHES ".+_INCLUDE_DIR$") - list(APPEND ALLINCDIRS "${${_variableName}}") - elseif (_variableName MATCHES ".+_INCLUDE_PATH$") - list(APPEND ALLINCDIRS "${${_variableName}}") - endif(_variableName MATCHES ".+_INCLUDE_DIR$") -endforeach() - -# get all Library variables -foreach (_variableName ${_variableNames}) - get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - endif() -endforeach() - -# Sometimes we add the same lib more than once (especially with LIBDIRS) -list(REMOVE_DUPLICATES ALLLIBDIRS) -list(REMOVE_DUPLICATES ALLLIBS) -list(REMOVE_DUPLICATES ALLINCDIRS) - # if cmake install prefix is not set, and conda env is activated, use the # conda env as the install directory if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") @@ -145,6 +106,10 @@ else() execute_process(COMMAND mkdir -p ${testOutputDir}) endif() +# inject ISISROOT +add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) +add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) + message("CONFIGURATION") message("\tBUILD STATIC CORE: ${buildStaticCore}") message("\tBUILD TESTS: ${buildTests}") @@ -160,6 +125,7 @@ message("\tINSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") #=============================================================================== #=============================================================================== +# Set up Anaconda prefix in the case with a non-default conda env is activated if(EXISTS $ENV{CONDA_PREFIX}) message("CONDA PREFIX: $ENV{CONDA_PREFIX}") list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} @@ -180,7 +146,6 @@ set(thirdPartyCppFlags -Wall -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual - -Wl,-rpath,$ENV{CONDA_PREFIX}/lib -DGMM_USES_SUPERLU -DENABLEJP2K=${JP2KFLAG} ) @@ -194,41 +159,8 @@ set(thirdPartyCppFlags -Wall # Flag to fix numeric literals problem with boost on linux if(NOT APPLE) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals) -endif() - -# Set python bindings configuration and set target for generating C++ files -if(pybindings) - find_package(Python REQUIRED) - find_package(Sip REQUIRED) - # use PYINSTALL_DIR to overwrite python install directory - # Better to use find Python script - if (NOT DEFINED PYINSTALL_DIR) - set(PYINSTALL_PREFIX ${PYTHON_SITE_PACKAGES_DIR}) - endif() - - # We need to get the locations for sip files, modules, etc. - set(ISIS_SIP_DIR "${CMAKE_SOURCE_DIR}/sipfiles") - set(ISIS_SIP_MODULE "${CMAKE_SOURCE_DIR}/sipfiles/master.sip") - set(SIP_BUILD_FILE "sippy.sbf") - set(ISIS_SIP_CODE_DIR ${CMAKE_BINARY_DIR}/sipsrc) - - execute_process(COMMAND mkdir -p "${ISIS_SIP_CODE_DIR}") - - # get the PYQT configuration based flags from Python - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict;print(qtconfigdict['sip_flags'])" - OUTPUT_VARIABLE PYQT_SIP_FLAGS) - - # CMAKE doesn't handle spaces from python well when piping that into the - # command because of white space and a trailing new line, - # so we turn it into a list - string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) - string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) - - add_custom_target(sipfiles - COMMAND ${SIP_BINARY_PATH} -e -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE} - COMMENT "Generating C++ code from sip files") + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals + -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) endif() # Paths to required executables @@ -296,8 +228,104 @@ if(APPLE) find_package(OpenGL REQUIRED) endif(APPLE) +if(pybindings) + find_package(Python REQUIRED) + find_package(Sip REQUIRED) +endif() + +# Iterate through all variables and extract the libraries and include directories +get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES + +set(ALLLIBDIRS "") +set(ALLLIBS "") +set(ALLINCDIRS "") + +# Get all include dir variables +foreach (_variableName ${_variableNames}) +#message("VAR=${_variableName}") + if (_variableName MATCHES ".+_INCLUDE_DIR$") + list(APPEND ALLINCDIRS "${${_variableName}}") + elseif (_variableName MATCHES ".+_INCLUDE_PATH$") + list(APPEND ALLINCDIRS "${${_variableName}}") + endif(_variableName MATCHES ".+_INCLUDE_DIR$") +endforeach() + +# get all Library variables +foreach (_variableName ${_variableNames}) + get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + endif() +endforeach() + +# Sometimes we add the same lib more than once (especially with LIBDIRS) +list(REMOVE_DUPLICATES ALLLIBDIRS) +list(REMOVE_DUPLICATES ALLLIBS) +list(REMOVE_DUPLICATES ALLINCDIRS) + #=============================================================================== #=============================================================================== + +# Set python bindings configuration and set target for generating C++ files +if(pybindings) + message("Configuring Python Bindings") + + if (NOT DEFINED PYINSTALL_DIR) + set(PYINSTALL_DIR ${PYTHON_SITE_PACKAGES_DIR}) + endif() + message("PYTHON BINDINGS INSTALL DIR: ${PYINSTALL_DIR}") + + # We need to get the locations for sip files, modules, etc. + set(ISIS_SIP_DIR "${CMAKE_SOURCE_DIR}/sipfiles") + set(ISIS_SIP_MODULE "${CMAKE_SOURCE_DIR}/sipfiles/master.sip") + set(SIP_BUILD_FILE "isispy.sbf") + set(ISIS_SIP_CODE_DIR ${CMAKE_BINARY_DIR}/sipsrc) + + # Create the output directory for the new .CPP files + execute_process(COMMAND mkdir -p "${ISIS_SIP_CODE_DIR}") + + # get list of output files exepected from sip + + # get the PYQT configuration based flags from Python + execute_process(COMMAND ${PYTHON_EXECUTABLE} -c + "from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict;print(qtconfigdict['sip_flags'])" + OUTPUT_VARIABLE PYQT_SIP_FLAGS) + + # CMAKE doesn't handle spaces from python well when piping that into the + # command because of white space and a trailing new line, + # so we turn it into a list + string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) + string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) + message("Generating C++ code from sip files") + execute_process(COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE}) + + # add target so users can run the command after initial configuration + add_custom_target(sipfiles + COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE} + COMMENT "Generating C++ code from sip files") + + file(GLOB SIP_GENERATED_SOURCE_FILES ${ISIS_SIP_CODE_DIR}/*.cpp) + add_library(isispy MODULE ${SIP_GENERATED_SOURCE_FILES}) + target_link_libraries(isispy ${ALLLIBS}) + target_link_libraries(isispy isis3) + set_target_properties(isispy PROPERTIES LINK_DEPENDS isis3) + add_dependencies(isispy sipfiles) + + install(TARGETS isispy DESTINATION ${PYINSTALL_DIR}) +endif() + + +#=============================================================================== +#=============================================================================== + # Start setting up the build # Add extension to find fortran until .so symlink can be added to /usr/lib64 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) @@ -306,10 +334,6 @@ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) include_directories(SYSTEM ${ALLINCDIRS}) link_directories(${ALLLIBDIRS}) -# inject ISISROOT -add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) -add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) - # add isis headers file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) diff --git a/isis/sipfiles/BundleAdjust.sip b/isis/sipfiles/BundleAdjust.sip index 46753c4569..098d7cab9c 100644 --- a/isis/sipfiles/BundleAdjust.sip +++ b/isis/sipfiles/BundleAdjust.sip @@ -20,7 +20,7 @@ namespace Isis { try { sipCpp = new sipIsis_BundleAdjust(*wrappedSettings, *a1, *a2, a3); } - catch (Isis::IException &error) {Ò + catch (Isis::IException &error) { PyErr_SetString(sipException_Isis_IException, error.what()); return NULL; } diff --git a/isis/sipfiles/ControlNet.sip b/isis/sipfiles/ControlNet.sip index 51ae49eff3..73408334cf 100644 --- a/isis/sipfiles/ControlNet.sip +++ b/isis/sipfiles/ControlNet.sip @@ -11,7 +11,6 @@ namespace Isis { void Write(const QString &filename, bool pvl = false) throw(Isis::IException); - bool IsValid() const throw(Isis::IException); double GetMaximumResidual() throw(Isis::IException); QString GetNetworkId() const throw(Isis::IException); int GetNumEditLockMeasures() throw(Isis::IException); -- GitLab From abb5648215a7e0ec3b5d2bd2984f15d39cf0eab7 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 02:04:33 -0700 Subject: [PATCH 0223/1212] updated comments --- isis/cmake/FindLibPython.py | 32 +------------------------------- isis/cmake/FindPython.cmake | 10 +--------- isis/cmake/FindSip.cmake | 15 +-------------- isis/cmake/FindSip.py | 33 ++------------------------------- 4 files changed, 5 insertions(+), 85 deletions(-) diff --git a/isis/cmake/FindLibPython.py b/isis/cmake/FindLibPython.py index 1a9b1460c9..38ae93fd3b 100644 --- a/isis/cmake/FindLibPython.py +++ b/isis/cmake/FindLibPython.py @@ -1,34 +1,4 @@ -# -*- coding: utf-8 -*- -# -# Copyright (c) 2007, Simon Edwards -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the Simon Edwards nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY Simon Edwards ''AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL Simon Edwards BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# FindLibPython.py -# Copyright (c) 2007, Simon Edwards -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS import sys import distutils.sysconfig diff --git a/isis/cmake/FindPython.cmake b/isis/cmake/FindPython.cmake index 72ed11f5da..5f5a64a98d 100644 --- a/isis/cmake/FindPython.cmake +++ b/isis/cmake/FindPython.cmake @@ -1,8 +1,4 @@ -# Find Python -# ~~~~~~~~~~~ -# Find the Python interpreter and related Python directories. -# -# This file defines the following variables: +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS # # PYTHON_EXECUTABLE - The path and filename of the Python interpreter. # @@ -18,10 +14,6 @@ # # PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library. -# Copyright (c) 2007, Simon Edwards -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - INCLUDE(CMakeFindFrameworks) if(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") diff --git a/isis/cmake/FindSip.cmake b/isis/cmake/FindSip.cmake index cf5d73f2ca..ebb8c79370 100644 --- a/isis/cmake/FindSip.cmake +++ b/isis/cmake/FindSip.cmake @@ -1,13 +1,4 @@ - -# Find SIP -# ~~~~~~~~ -# -# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php -# -# Find the installed version of SIP. FindSIP should be called after Python -# has been found. -# -# This file defines the following variables: +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS # # SIP_VERSION - The version of SIP found expressed as a 6 digit hex number # suitable for comparison as a string. @@ -21,10 +12,6 @@ # SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed # into. -# Copyright (c) 2007, Simon Edwards -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - IF(SIP_VERSION) # Already in cache, be silent SET(SIP_FOUND TRUE) diff --git a/isis/cmake/FindSip.py b/isis/cmake/FindSip.py index 4fd4e37ac0..8cbb00fa5c 100644 --- a/isis/cmake/FindSip.py +++ b/isis/cmake/FindSip.py @@ -1,34 +1,5 @@ -# -*- coding: utf-8 -*- -# -# Copyright (c) 2007, Simon Edwards -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the Simon Edwards nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY Simon Edwards ''AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL Simon Edwards BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# FindSIP.py -# Copyright (c) 2007, Simon Edwards -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS + import sipconfig -- GitLab From 578bcfa2291a6c55b75cda50fe9d6708c90d2b4e Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 10:58:46 -0700 Subject: [PATCH 0224/1212] changed module to make isispy importable --- isis/sipfiles/master.sip | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/isis/sipfiles/master.sip b/isis/sipfiles/master.sip index 2d296cc1a6..2cdb950c9c 100644 --- a/isis/sipfiles/master.sip +++ b/isis/sipfiles/master.sip @@ -1,4 +1,4 @@ -%Module(name=bundle, +%Module(name=libisispy, version=0, keyword_arguments="Optional") @@ -23,7 +23,6 @@ return ret; } - // Loads library files which match the given regex. // All files matching regex are piped into QLibrary and Loaded. // @@ -60,13 +59,6 @@ } %End -%InitialisationCode - QString isis_root = QString::fromStdString(getenv("ISISROOT")); - - load_libs(isis_root + "/3rdParty/lib/lib*"); - load_libs(isis_root + "/lib/libisis*"); -%End - %Include type_conversions.sip %Include ControlPoint.sip -- GitLab From 948c7e3f44e3257bc88332888c625a590517fca6 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 12:19:06 -0700 Subject: [PATCH 0225/1212] mac env is now py3 --- macos-spec.txt | 111 ++++++++++++++++++++++++++----------------------- 1 file changed, 60 insertions(+), 51 deletions(-) diff --git a/macos-spec.txt b/macos-spec.txt index 2af2397a2f..2fd059d08b 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,26 +2,61 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.10-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/clangdev-6.0.0-default_0.tar.bz2 +https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.6-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/future-0.16.0-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.55.0-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.4-blas_openblas_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.7.6-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.10.1-2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jsoncpp-1.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libcxx-6.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.34-0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/llvm-meta-6.0.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/llvmdev-6.0.0-default_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-0.tar.bz2 @@ -29,70 +64,44 @@ https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ncurses-5.9-10.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.14.2-py36_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.20-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.4.1-py36_blas_openblas_200.tar.bz2 https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py36_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.5.1-py36_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pyqt-5.6.0-py36_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-3.6.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-39.0.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sip-4.18-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.6-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_202.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/vtk-8.1.0-py36h87a2a2b_201.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py36_2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/xz-5.2.3-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/zlib-1.2.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/certifi-2018.1.18-py27_0.tar.bz2 -https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/protobuf-3.2.0-py27_0.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/pip-9.0.1-py27_1.tar.bz2 -- GitLab From 823f7323e73f2342862d68112fa24c3842dc9ae5 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Thu, 29 Mar 2018 12:19:26 -0700 Subject: [PATCH 0226/1212] Added comments. --- .../AdvancedTrackTool/AdvancedTrackTool.cpp | 8 ++ .../AdvancedTrackTool/AdvancedTrackTool.h | 89 +++++++++---------- 2 files changed, 52 insertions(+), 45 deletions(-) diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp index f71fb077be..4a5d817c1f 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp @@ -274,6 +274,14 @@ namespace Isis { } } + /** + * This method finds the index of the header in checkBoxItems by looping + * through checkBoxItems, grabbing the header from each QList, and parsing + * the header at ":" to account for check boxes turning on multiple columns + * + * @param keyword Header to be found + * @return int + */ int AdvancedTrackTool::getIndex(QString keyword) { int index = 0; QList< QList >::iterator iter; diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h index 782a55025d..4b6dac5865 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h @@ -130,57 +130,56 @@ namespace Isis { QString settingsFilePath() const; // Used to store information about each check box to later add to the table - // New entries can be added anywhere in the map. - // Format: {
      , {, , }} + // New entries can be added anywhere in the QList. + // Format: QList({
      , , , }) << // If a toolTip is not needed, use "". - - QList > checkBoxItems = QList >()<< - QList({"Id", "false", "Id", ""})<< - QList({"Sample:Line", "true", "Sample:Line", ""})<< - QList({"Band", "false", "Band", ""})<< - QList({"Pixel", "true", "Pixel", ""})<< - QList({"Planetocentric Latitude", "true", "Planetocentric Lat", ""})<< - QList({"Planetographic Latitude", "false", "Planetographic Lat", ""})<< - QList({"360 Positive East Longitude", "true", "360 East Longitude", ""})<< - QList({"360 Positive West Longitude", "false", "360 West Longitude", ""})<< - QList({"180 Positive East Longitude", "true", "180 East Longitude", ""})<< - QList({"180 Positive West Longitude", "false", "180 West Longitude", ""})<< + QList > checkBoxItems = QList >() << + QList({"Id", "false", "Id", ""}) << + QList({"Sample:Line", "true", "Sample:Line", ""}) << + QList({"Band", "false", "Band", ""}) << + QList({"Pixel", "true", "Pixel", ""}) << + QList({"Planetocentric Latitude", "true", "Planetocentric Lat", ""}) << + QList({"Planetographic Latitude", "false", "Planetographic Lat", ""}) << + QList({"360 Positive East Longitude", "true", "360 East Longitude", ""}) << + QList({"360 Positive West Longitude", "false", "360 West Longitude", ""}) << + QList({"180 Positive East Longitude", "true", "180 East Longitude", ""}) << + QList({"180 Positive West Longitude", "false", "180 West Longitude", ""}) << QList({"Projected X:Projected Y", "false", "Projected X:Projected Y", - "X and Y values for a projected image"})<< - QList({"Local Radius", "false", "Radius", ""})<< + "X and Y values for a projected image"}) << + QList({"Local Radius", "false", "Radius", ""}) << QList({"Point X:Point Y:Point Z", "false", "XYZ", - "The X, Y, and Z of surface intersection in body-fixed coordinates"})<< + "The X, Y, and Z of surface intersection in body-fixed coordinates"}) << QList({"Right Ascension:Declination", "false", "Ra:Dec", - "Right Ascension and Declination"})<< - QList({"Resolution", "false", "Resolution", ""})<< - QList({"Oblique Pixel Resolution", "false", "Oblique Pixel Res", ""})<< - QList({"Oblique Sample Resolution", "false", "Oblique Sample Res", ""})<< - QList({"Oblique Line Resolution", "false", "Oblique Line Res", ""})<< - QList({"Oblique Detector Resolution", "false", "Oblique Detector Res", ""})<< - QList({"Phase", "false", "Phase", ""})<< - QList({"Incidence", "false", "Incidence", ""})<< - QList({"Emission", "false", "Emission", ""})<< - QList({"LocalIncidence", "false", "LocalIncidence", ""})<< - QList({"LocalEmission", "false", "LocalEmission", ""})<< - QList({"North Azimuth", "false", "North Azimuth", ""})<< - QList({"Sun Azimuth", "false", "Sun Azimuth", ""})<< - QList({"Solar Longitude", "false", "Solar Longitude", ""})<< + "Right Ascension and Declination"}) << + QList({"Resolution", "false", "Resolution", ""}) << + QList({"Oblique Pixel Resolution", "false", "Oblique Pixel Res", ""}) << + QList({"Oblique Sample Resolution", "false", "Oblique Sample Res", ""}) << + QList({"Oblique Line Resolution", "false", "Oblique Line Res", ""}) << + QList({"Oblique Detector Resolution", "false", "Oblique Detector Res", ""}) << + QList({"Phase", "false", "Phase", ""}) << + QList({"Incidence", "false", "Incidence", ""}) << + QList({"Emission", "false", "Emission", ""}) << + QList({"LocalIncidence", "false", "LocalIncidence", ""}) << + QList({"LocalEmission", "false", "LocalEmission", ""}) << + QList({"North Azimuth", "false", "North Azimuth", ""}) << + QList({"Sun Azimuth", "false", "Sun Azimuth", ""}) << + QList({"Solar Longitude", "false", "Solar Longitude", ""}) << QList({"Spacecraft X:Spacecraft Y:Spacecraft Z", "false", "Spacecraft Position", - "The X, Y, and Z of the spacecraft position"})<< - QList({"Spacecraft Azimuth", "false", "Spacecraft Azimuth", ""})<< - QList({"Slant Distance", "false", "Slant Distance", ""})<< - QList({"Focal Plane X:Focal Plane Y", "false", "Focal Plane X:Y", ""})<< + "The X, Y, and Z of the spacecraft position"}) << + QList({"Spacecraft Azimuth", "false", "Spacecraft Azimuth", ""}) << + QList({"Slant Distance", "false", "Slant Distance", ""}) << + QList({"Focal Plane X:Focal Plane Y", "false", "Focal Plane X:Y", ""}) << QList({"Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", - "false", "Undistorted Focal Plane X:Y:Z", ""})<< - QList({"Ephemeris Time", "false", "Ephemeris iTime", ""})<< - QList({"Local Solar Time", "false", "Local Solar iTime", ""})<< - QList({"UTC", "false", "UTC", "Internal time in UTC format"})<< - QList({"Path", "false", "Path", ""})<< - QList({"FileName", "false", "FileName", ""})<< - QList({"Serial Number", "false", "Serial Number", ""})<< - QList({"Track Mosaic Index", "false", "Track Mosaic Index", ""})<< - QList({"Track Mosaic FileName", "false", "Track Mosaic FileName", ""})<< - QList({"Track Mosaic Serial Number", "false", "Track Mosaic Serial Number", ""})<< + "false", "Undistorted Focal Plane X:Y:Z", ""}) << + QList({"Ephemeris Time", "false", "Ephemeris iTime", ""}) << + QList({"Local Solar Time", "false", "Local Solar iTime", ""}) << + QList({"UTC", "false", "UTC", "Internal time in UTC format"}) << + QList({"Path", "false", "Path", ""}) << + QList({"FileName", "false", "FileName", ""}) << + QList({"Serial Number", "false", "Serial Number", ""}) << + QList({"Track Mosaic Index", "false", "Track Mosaic Index", ""}) << + QList({"Track Mosaic FileName", "false", "Track Mosaic FileName", ""}) << + QList({"Track Mosaic Serial Number", "false", "Track Mosaic Serial Number", ""}) << QList({"Notes", "false", "Notes", ""}); /** -- GitLab From d3856fd754ff98b4beec3cf04c26a829335f9ddd Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 12:57:59 -0700 Subject: [PATCH 0227/1212] Create CONTRIBUTING --- CONTRIBUTING | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 CONTRIBUTING diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000000..03fdfcddc2 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,38 @@ +# Contributing to ISIS3 +# Under Construction +The following is a set of guidelines for contributing to ISIS3. +#### Table of Contents +[I have a problem or a question](#redmine-issues) +[Redmine Issues](#redmine-issues) +[How can I contribute?](#steps-to-contribute) + * [Report an issue](#redmine-issues) + * [Suggesting enhancements](#redmine-issues) + * [Working on an existing issue](#working-on-an-issue) + * [Working on an existing enhancement](#working-on-an-enhancement) + * [Working on a new issue or enhancement](#working-on-a-new-issue) +[What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team) + * [Response time](#Response-time) + * [Feedback](#feedback) +[Development Process Checklists] +[References] + * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html) + * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops) + * [Application Documentation](https://isis.astrogeology.usgs.gov/Application/index.html) + * [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) + * [Documentation](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html#documentation) + * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) + * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +## How can I contribute? +There's lots of ways to contribute to ISIS3. + +### Working on an existing issue +1. Assign the redmine issue to yourself. If you don't have the permission to do this please make a note on the issue that you would like to work on it. +2. Propose a solution on the redmine issue. +3. Work with other developers and the issue reporter to improve your solution. +4. Add an impact statement to the redmine issue. If you don't have the permission to do this please make a note on the issue with the impact statement +5. Make the changes on your fork of the ISIS3 main GitHub repo. +6. Follow the Developer's Checklist to ensure your changes are ready for review. +7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the Fixes # format. +8. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes. +9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. -- GitLab From f412f6b866078844913ef7141a0c25327d8ed916 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Thu, 29 Mar 2018 13:58:14 -0700 Subject: [PATCH 0228/1212] Finished changing every method call to add an element to the table to use getIndex() and updated history entry. --- .../AdvancedTrackTool/AdvancedTrackTool.cpp | 127 +++++++++++------- .../AdvancedTrackTool/AdvancedTrackTool.h | 122 +++++++++-------- 2 files changed, 142 insertions(+), 107 deletions(-) diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp index 4a5d817c1f..6eb7339995 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp @@ -298,6 +298,7 @@ namespace Isis { index++; } } + // cout<<"COUDL NOT FIND: "<< keyword<camera()->UniversalLongitude(); double radius = cvp->camera()->LocalRadius().meters(); - p_tableWin->table()->item(row, getIndex("Planetocentric Latitude"))->setText(QString::number(lat, 'f', 15)); - p_tableWin->table()->item(row, getIndex("360 Positive East Longitude"))->setText(QString::number(lon, 'f', 15)); - p_tableWin->table()->item(row, getIndex("Local Radius"))->setText(QString::number(radius, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Planetocentric Latitude"))-> + setText(QString::number(lat, 'f', 15)); + p_tableWin->table()->item(row, getIndex("360 Positive East Longitude"))-> + setText(QString::number(lon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Local Radius"))-> + setText(QString::number(radius, 'f', 15)); /* 180 Positive East Lon. */ p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> @@ -407,12 +411,14 @@ namespace Isis { Distance radii[3]; cvp->camera()->radii(radii); lat = TProjection::ToPlanetographic(lat, radii[0].meters(), radii[2].meters()); - p_tableWin->table()->item(row, getIndex("Planetographic Latitude"))->setText(QString::number(lat, 'f', 15)); - p_tableWin->table()->item(row, getIndex("360 Positive West Longitude"))->setText(QString::number(lon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Planetographic Latitude"))-> + setText(QString::number(lat, 'f', 15)); + p_tableWin->table()->item(row, getIndex("360 Positive West Longitude"))-> + setText(QString::number(lon, 'f', 15)); /*180 Positive West Lon. */ p_tableWin->table()->item(row, getIndex("180 Positive West Longitude"))->setText( - QString::number(TProjection::To180Domain(lon), 'f', 15)); + QString::number(TProjection::To180Domain(lon), 'f', 15)); // Next write out columns, the x/y/z position of the lat/lon, only if set image succeeds double pos[3]; @@ -433,7 +439,8 @@ namespace Isis { // Write out columns, oblique pixel resolution, only if set image succeeds double obliquePRes = cvp->camera()->ObliquePixelResolution(); if (obliquePRes != Isis::Null) { - p_tableWin->table()->item(row, getIndex("Oblique Pixel Resolution"))->setText(QString::number(obliquePRes)); + p_tableWin->table()->item(row, getIndex("Oblique Pixel Resolution"))-> + setText(QString::number(obliquePRes)); } else { p_tableWin->table()->item(row, getIndex("Oblique Pixel Resolution"))->setText(""); @@ -442,7 +449,8 @@ namespace Isis { // Write out columns, oblique sample resolution, only if set image succeeds double obliqueSRes = cvp->camera()->ObliqueSampleResolution(); if (obliqueSRes != Isis::Null) { - p_tableWin->table()->item(row, getIndex("Oblique Sample Resolution"))->setText(QString::number(obliqueSRes)); + p_tableWin->table()->item(row, getIndex("Oblique Sample Resolution"))-> + setText(QString::number(obliqueSRes)); } else { p_tableWin->table()->item(row, getIndex("Oblique Sample Resolution"))->setText(""); @@ -451,7 +459,8 @@ namespace Isis { // Write out columns, oblique line resolution, only if set image succeeds double obliqueLRes = cvp->camera()->ObliqueLineResolution(); if (obliqueLRes != Isis::Null) { - p_tableWin->table()->item(row, getIndex("Oblique Line Resolution"))->setText(QString::number(obliqueLRes)); + p_tableWin->table()->item(row, getIndex("Oblique Line Resolution"))-> + setText(QString::number(obliqueLRes)); } else { p_tableWin->table()->item(row, getIndex("Oblique Line Resolution"))->setText(""); @@ -460,7 +469,8 @@ namespace Isis { // Write out columns, oblique detector resolution, only if set image succeeds double obliqueDRes = cvp->camera()->ObliqueDetectorResolution(); if (obliqueDRes != Isis::Null) { - p_tableWin->table()->item(row, getIndex("Oblique Detector Resolution"))->setText(QString::number(obliqueDRes)); + p_tableWin->table()->item(row, getIndex("Oblique Detector Resolution"))-> + setText(QString::number(obliqueDRes)); } else { p_tableWin->table()->item(row, getIndex("Oblique Detector Resolution"))->setText(""); @@ -497,7 +507,8 @@ namespace Isis { double northAzi = cvp->camera()->NorthAzimuth(); if (cvp->camera()->target()->shape()->name() != "Plane" && Isis::IsValidPixel(northAzi)) { - p_tableWin->table()->item(row, getIndex("North Azimuth"))->setText(QString::number(northAzi)); + p_tableWin->table()->item(row, getIndex("North Azimuth"))-> + setText(QString::number(northAzi)); } else { // north azimuth is meaningless for ring plane projections p_tableWin->table()->item(row, getIndex("North Azimuth"))->setText(""); @@ -505,7 +516,8 @@ namespace Isis { double sunAzi = cvp->camera()->SunAzimuth(); if (Isis::IsValidPixel(sunAzi)) { - p_tableWin->table()->item(row, getIndex("Sun Azimuth"))->setText(QString::number(sunAzi)); + p_tableWin->table()->item(row, getIndex("Sun Azimuth"))-> + setText(QString::number(sunAzi)); } else { // sun azimuth is null p_tableWin->table()->item(row, getIndex("Sun Azimuth"))->setText(""); @@ -513,7 +525,8 @@ namespace Isis { double spacecraftAzi = cvp->camera()->SpacecraftAzimuth(); if (Isis::IsValidPixel(spacecraftAzi)) { - p_tableWin->table()->item(row, getIndex("Spacecraft Azimuth"))->setText(QString::number(spacecraftAzi)); + p_tableWin->table()->item(row, getIndex("Spacecraft Azimuth"))-> + setText(QString::number(spacecraftAzi)); } else { // spacecraft azimuth is null p_tableWin->table()->item(row, getIndex("Spacecraft Azimuth"))->setText(""); @@ -521,47 +534,56 @@ namespace Isis { // Write out columns solar lon, slant distance, local solar time double solarLon = cvp->camera()->solarLongitude().degrees(); - p_tableWin->table()->item(row, getIndex("Solar Longitude"))->setText(QString::number(solarLon)); + p_tableWin->table()->item(row, getIndex("Solar Longitude"))-> + setText(QString::number(solarLon)); double slantDistance = cvp->camera()->SlantDistance(); - p_tableWin->table()->item(row, getIndex("Slant Distance"))->setText(QString::number(slantDistance)); + p_tableWin->table()->item(row, getIndex("Slant Distance"))-> + setText(QString::number(slantDistance)); double lst = cvp->camera()->LocalSolarTime(); - p_tableWin->table()->item(row, getIndex("Local Solar Time"))->setText(QString::number(lst)); + p_tableWin->table()->item(row, getIndex("Local Solar Time"))-> + setText(QString::number(lst)); } // end if set image succeeds // Always write out the x/y/z of the undistorted focal plane CameraDistortionMap *distortedMap = cvp->camera()->DistortionMap(); double undistortedFocalPlaneX = distortedMap->UndistortedFocalPlaneX(); - p_tableWin->table()->item(row, UNDISTORTED_FOCAL_X)->setText(QString::number(undistortedFocalPlaneX)); + p_tableWin->table()->item(row, getIndex("Undistorted Focal X"))-> + setText(QString::number(undistortedFocalPlaneX)); double undistortedFocalPlaneY = distortedMap->UndistortedFocalPlaneY(); - p_tableWin->table()->item(row, UNDISTORTED_FOCAL_Y)->setText(QString::number(undistortedFocalPlaneY)); + p_tableWin->table()->item(row, getIndex("Undistorted Focal Y"))-> + setText(QString::number(undistortedFocalPlaneY)); double undistortedFocalPlaneZ = distortedMap->UndistortedFocalPlaneZ(); - p_tableWin->table()->item(row, UNDISTORTED_FOCAL_Z)->setText(QString::number(undistortedFocalPlaneZ)); + p_tableWin->table()->item(row, getIndex("Undistorted Focal Z"))-> + setText(QString::number(undistortedFocalPlaneZ)); // Always write out the x/y of the distorted focal plane CameraFocalPlaneMap *focalPlaneMap = cvp->camera()->FocalPlaneMap(); double distortedFocalPlaneX = focalPlaneMap->FocalPlaneX(); - p_tableWin->table()->item(row, DISTORTED_FOCAL_X)->setText(QString::number(distortedFocalPlaneX)); + p_tableWin->table()->item(row, getIndex("Focal Plane X"))-> + setText(QString::number(distortedFocalPlaneX)); double distortedFocalPlaneY = focalPlaneMap->FocalPlaneY(); - p_tableWin->table()->item(row, DISTORTED_FOCAL_Y)->setText(QString::number(distortedFocalPlaneY)); + p_tableWin->table()->item(row, getIndex("Focal Plane Y"))-> + setText(QString::number(distortedFocalPlaneY)); // Always write out columns ra/dec, regardless of whether set image succeeds double ra = cvp->camera()->RightAscension(); - p_tableWin->table()->item(row, RIGHT_ASCENSION)->setText(QString::number(ra)); + p_tableWin->table()->item(row, getIndex("Right Ascension"))->setText(QString::number(ra)); double dec = cvp->camera()->Declination(); - p_tableWin->table()->item(row, DECLINATION)->setText(QString::number(dec)); + p_tableWin->table()->item(row, getIndex("Declination"))->setText(QString::number(dec)); // Always write out columns et and utc, regardless of whether set image succeeds iTime time(cvp->camera()->time()); - p_tableWin->table()->item(row, EPHEMERIS_TIME)->setText(QString::number(time.Et(), 'f', 15)); + p_tableWin->table()->item(row, getIndex("Ephemeris Time"))-> + setText(QString::number(time.Et(), 'f', 15)); QString time_utc = time.UTC(); - p_tableWin->table()->item(row, UTC)->setText(time_utc); + p_tableWin->table()->item(row, getIndex("UTC"))->setText(time_utc); // Always out columns spacecraft position, regardless of whether set image succeeds double pos[3]; cvp->camera()->instrumentPosition(pos); - p_tableWin->table()->item(row, SPACECRAFT_X)->setText(QString::number(pos[0])); - p_tableWin->table()->item(row, SPACECRAFT_Y)->setText(QString::number(pos[1])); - p_tableWin->table()->item(row, SPACECRAFT_Z)->setText(QString::number(pos[2])); + p_tableWin->table()->item(row, getIndex("Spacecraft X"))->setText(QString::number(pos[0])); + p_tableWin->table()->item(row, getIndex("Spacecraft Y"))->setText(QString::number(pos[1])); + p_tableWin->table()->item(row, getIndex("Spacecraft Z"))->setText(QString::number(pos[2])); } else if (cvp->projection() != NULL) { @@ -579,21 +601,24 @@ namespace Isis { while (wlon < 0.0) wlon += 360.0; if (tproj->IsSky()) { lon = tproj->Longitude(); - p_tableWin->table()->item(row, RIGHT_ASCENSION)->setText(QString::number(lon, 'f', 15)); - p_tableWin->table()->item(row, DECLINATION)->setText(QString::number(lat, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Right Ascension"))-> + setText(QString::number(lon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Declination"))-> + setText(QString::number(lat, 'f', 15)); } else { double radius = tproj->LocalRadius(); - p_tableWin->table()->item(row, PLANETOCENTRIC_LAT)-> + p_tableWin->table()->item(row, getIndex("Planetocentric Latitude"))-> setText(QString::number(lat, 'f', 15)); - p_tableWin->table()->item(row, PLANETOGRAPHIC_LAT)-> + p_tableWin->table()->item(row, getIndex("Planetographic Latitude"))-> setText(QString::number(glat, 'f', 15)); - p_tableWin->table()->item(row, EAST_LON_360)-> + p_tableWin->table()->item(row, getIndex("360 Positive East Longitude"))-> setText(QString::number(lon, 'f', 15)); - p_tableWin->table()->item(row, EAST_LON_180)-> + p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> setText(QString::number(TProjection::To180Domain(lon), 'f', 15)); - p_tableWin->table()->item(row, WEST_LON_360)->setText(QString::number(wlon, 'f', 15)); - p_tableWin->table()->item(row, WEST_LON_180)-> + p_tableWin->table()->item(row, getIndex("360 Positive West Longitude"))-> + setText(QString::number(wlon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> setText(QString::number(TProjection::To180Domain(wlon), 'f', 15)); p_tableWin->table()->item(row, RADIUS)->setText(QString::number(radius, 'f', 15)); } @@ -606,16 +631,18 @@ namespace Isis { double wlon = -lon; while (wlon < 0.0) wlon += 360.0; double radius = lat; - p_tableWin->table()->item(row, PLANETOCENTRIC_LAT)->setText("0.0"); - p_tableWin->table()->item(row, PLANETOGRAPHIC_LAT)->setText("0.0"); - p_tableWin->table()->item(row, EAST_LON_360)-> + p_tableWin->table()->item(row, getIndex("Planetocentric Latitude"))->setText("0.0"); + p_tableWin->table()->item(row, getIndex("Planetographic Latitude"))->setText("0.0"); + p_tableWin->table()->item(row, getIndex("360 Positive East Longitude"))-> setText(QString::number(lon, 'f', 15)); - p_tableWin->table()->item(row, EAST_LON_180)-> + p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> setText(QString::number(RingPlaneProjection::To180Domain(lon), 'f', 15)); - p_tableWin->table()->item(row, WEST_LON_360)->setText(QString::number(wlon, 'f', 15)); - p_tableWin->table()->item(row, WEST_LON_180)-> + p_tableWin->table()->item(row, getIndex("360 Positive West Longitude"))-> + setText(QString::number(wlon, 'f', 15)); + p_tableWin->table()->item(row, getIndex("180 Positive West Longitude"))-> setText(QString::number(RingPlaneProjection::To180Domain(wlon), 'f', 15)); - p_tableWin->table()->item(row, RADIUS)->setText(QString::number(radius, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Local Radius"))-> + setText(QString::number(radius, 'f', 15)); } } } @@ -625,8 +652,10 @@ namespace Isis { if (cvp->projection()->SetWorld(sample, line)) { double projX = cvp->projection()->XCoord(); double projY = cvp->projection()->YCoord(); - p_tableWin->table()->item(row, PROJECTED_X)->setText(QString::number(projX, 'f', 15)); - p_tableWin->table()->item(row, PROJECTED_Y)->setText(QString::number(projY, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Projected X"))-> + setText(QString::number(projX, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Projected Y"))-> + setText(QString::number(projY, 'f', 15)); } } @@ -635,9 +664,11 @@ namespace Isis { QString sSrcFileName = ""; QString sSrcSerialNum = ""; TrackMosaicOrigin(cvp, iline, isample, iMosaicOrigin, sSrcFileName, sSrcSerialNum); - p_tableWin->table()->item(row, TRACK_MOSAIC_INDEX)->setText(QString::number(iMosaicOrigin)); - p_tableWin->table()->item(row, TRACK_MOSAIC_FILENAME)->setText(QString(sSrcFileName)); - p_tableWin->table()->item(row, TRACK_MOSAIC_SERIAL_NUM)-> + p_tableWin->table()->item(row, getIndex("Track Mosaic Index"))-> + setText(QString::number(iMosaicOrigin)); + p_tableWin->table()->item(row, getIndex("Track Mosaic FileName"))-> + setText(QString(sSrcFileName)); + p_tableWin->table()->item(row, getIndex("Track Mosaic Serial Number"))-> setText(QString(sSrcSerialNum)); } diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h index 4b6dac5865..5d10e5356e 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h @@ -85,8 +85,12 @@ namespace Isis { * before it attempts to record a point so that a table is created * to record the point into so that the first recorded point is drawn. * Fixes #5143. - * @history 2018-03-07 Kaitlyn Lee - Added columns for oblique pixel, - * sample, line, and detector resolutions. Fixes #4100. + * @history 2018-03-07 Kaitlyn Lee - Added columns for oblique pixel, sample, line, +` * and detector resolutions. Added checkBoxItems and loop to add + * the elments to the AdvancedTrackTool, instead of hardcoded method + * calls. Instead of using the enum, I added a method getIndex() + * that calculates what column the element should be added to. + * Fixes #4100.` */ class AdvancedTrackTool : public Tool { Q_OBJECT @@ -96,7 +100,7 @@ namespace Isis { void addTo(QMenu *menu); void addToPermanent(QToolBar *perm); bool eventFilter(QObject *o, QEvent *e); - int getindex(QString keyword); + int getIndex(QString keyword); public slots: virtual void mouseMove(QPoint p); @@ -133,7 +137,7 @@ namespace Isis { // New entries can be added anywhere in the QList. // Format: QList({
      , , , }) << // If a toolTip is not needed, use "". - QList > checkBoxItems = QList >() << + QList > checkBoxItems = QList< QList >() << QList({"Id", "false", "Id", ""}) << QList({"Sample:Line", "true", "Sample:Line", ""}) << QList({"Band", "false", "Band", ""}) << @@ -169,7 +173,7 @@ namespace Isis { QList({"Spacecraft Azimuth", "false", "Spacecraft Azimuth", ""}) << QList({"Slant Distance", "false", "Slant Distance", ""}) << QList({"Focal Plane X:Focal Plane Y", "false", "Focal Plane X:Y", ""}) << - QList({"Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", + QList({"Undistorted Focal X:Undistorted Focal Y:Undistorted Focal Z", "false", "Undistorted Focal Plane X:Y:Z", ""}) << QList({"Ephemeris Time", "false", "Ephemeris iTime", ""}) << QList({"Local Solar Time", "false", "Local Solar iTime", ""}) << @@ -185,60 +189,60 @@ namespace Isis { /** * Enum for column values */ - enum { - ID, //!< The record ID - SAMPLE, //!< The current sample - LINE, //!< The current line - BAND, //!< The current band - PIXEL, //!< The current pixel - PLANETOCENTRIC_LAT, //!< The planetocentric latitude for this point - PLANETOGRAPHIC_LAT, //!< The planetographic latitude for this point - EAST_LON_360, //!< The 360 east longitude for this point - WEST_LON_360, //!< The 360 west longitude for this point - EAST_LON_180, //!< The 180 east longitude for this point - WEST_LON_180, //!< The 180 west longitude for this point - PROJECTED_X, //!< Projected X value for valid projections - PROJECTED_Y, //!< Projected Y value for valid projections - RADIUS, //!< The radius for this point - POINT_X, //!< The x value for this point - POINT_Y, //!< The y value for this point - POINT_Z, //!< The z value for this point - RIGHT_ASCENSION, //!< The right ascension for this point - DECLINATION, //!< The declination for this point - RESOLUTION, //!< The resoultion for this point - OBLIQUE_PIXEL_RES, //!< The oblique pixel resolution - OBLIQUE_SAMPLE_RES, //!< The oblique sample resolution - OBLIQUE_LINE_RES, //!< The oblique line resolution - OBLIQUE_DETECTOR_RES, //!< The oblique detector resolution - PHASE, //!< The phase for this point - INCIDENCE, //!< The incidence for this point - EMISSION, //!< The emission for this point - LOCAL_INCIDENCE, //!< The local incidence for this point - LOCAL_EMISSION, //!< The local emission for this point - NORTH_AZIMUTH, //!< The north azimuth for this cube - SUN_AZIMUTH, //!< The sun azimuth for this cube - SOLAR_LON, //!< The solar longitude for this point - SPACECRAFT_X, //!< The spacecraft x position for this cube - SPACECRAFT_Y, //!< The spacecraft y position for this cube - SPACECRAFT_Z, //!< The spacecraft z position for this cube - SPACECRAFT_AZIMUTH, //!< The spacecraft azimuth for this cube - SLANT, //!< The slant for this cube - DISTORTED_FOCAL_X, //!< The x of the distorted focal plane - DISTORTED_FOCAL_Y, //!< The y of the distorted focal plane - UNDISTORTED_FOCAL_X, //!< The x of the undistorted focal plane - UNDISTORTED_FOCAL_Y, //!< The y of the undistorted focal plane - UNDISTORTED_FOCAL_Z, //!< The z of the undistorted focal plane - EPHEMERIS_TIME, //!< The ephemeris time for this cube - SOLAR_TIME, //!< The local solar time for this cube - UTC, //!< The UTC for this cube - PATH, //!< The path for this cube - FILENAME, //!< The filename for this cube - SERIAL_NUMBER, //!< The serial number for this cube - TRACK_MOSAIC_INDEX, //!< Track the origin of the Mosaic, display the zero based index - TRACK_MOSAIC_FILENAME, //!< Track the origin of the Mosaic, display file name - TRACK_MOSAIC_SERIAL_NUM,//!< Track the origin of the Mosaic, display file name - NOTES //!< Any notes for this record - }; + // enum { + // ID, //!< The record ID + // SAMPLE, //!< The current sample + // LINE, //!< The current line + // BAND, //!< The current band + // PIXEL, //!< The current pixel + // PLANETOCENTRIC_LAT, //!< The planetocentric latitude for this point + // PLANETOGRAPHIC_LAT, //!< The planetographic latitude for this point + // EAST_LON_360, //!< The 360 east longitude for this point + // WEST_LON_360, //!< The 360 west longitude for this point + // EAST_LON_180, //!< The 180 east longitude for this point + // WEST_LON_180, //!< The 180 west longitude for this point + // PROJECTED_X, //!< Projected X value for valid projections + // PROJECTED_Y, //!< Projected Y value for valid projections + // RADIUS, //!< The radius for this point + // POINT_X, //!< The x value for this point + // POINT_Y, //!< The y value for this point + // POINT_Z, //!< The z value for this point + // RIGHT_ASCENSION, //!< The right ascension for this point + // DECLINATION, //!< The declination for this point + // RESOLUTION, //!< The resoultion for this point + // OBLIQUE_PIXEL_RES, //!< The oblique pixel resolution + // OBLIQUE_SAMPLE_RES, //!< The oblique sample resolution + // OBLIQUE_LINE_RES, //!< The oblique line resolution + // OBLIQUE_DETECTOR_RES, //!< The oblique detector resolution + // PHASE, //!< The phase for this point + // INCIDENCE, //!< The incidence for this point + // EMISSION, //!< The emission for this point + // LOCAL_INCIDENCE, //!< The local incidence for this point + // LOCAL_EMISSION, //!< The local emission for this point + // NORTH_AZIMUTH, //!< The north azimuth for this cube + // SUN_AZIMUTH, //!< The sun azimuth for this cube + // SOLAR_LON, //!< The solar longitude for this point + // SPACECRAFT_X, //!< The spacecraft x position for this cube + // SPACECRAFT_Y, //!< The spacecraft y position for this cube + // SPACECRAFT_Z, //!< The spacecraft z position for this cube + // SPACECRAFT_AZIMUTH, //!< The spacecraft azimuth for this cube + // SLANT, //!< The slant for this cube + // DISTORTED_FOCAL_X, //!< The x of the distorted focal plane + // DISTORTED_FOCAL_Y, //!< The y of the distorted focal plane + // UNDISTORTED_FOCAL_X, //!< The x of the undistorted focal plane + // UNDISTORTED_FOCAL_Y, //!< The y of the undistorted focal plane + // UNDISTORTED_FOCAL_Z, //!< The z of the undistorted focal plane + // EPHEMERIS_TIME, //!< The ephemeris time for this cube + // SOLAR_TIME, //!< The local solar time for this cube + // UTC, //!< The UTC for this cube + // PATH, //!< The path for this cube + // FILENAME, //!< The filename for this cube + // SERIAL_NUMBER, //!< The serial number for this cube + // TRACK_MOSAIC_INDEX, //!< Track the origin of the Mosaic, display the zero based index + // TRACK_MOSAIC_FILENAME, //!< Track the origin of the Mosaic, display file name + // TRACK_MOSAIC_SERIAL_NUM,//!< Track the origin of the Mosaic, display file name + // NOTES //!< Any notes for this record + // }; QAction *p_action; //!< Action to bring up the track tool int p_numRows; //!< The number of rows in the table int p_id; //!< The record id -- GitLab From 604489c834eca343f3040cae9b58735a730a3869 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 14:42:53 -0700 Subject: [PATCH 0229/1212] Update and rename CONTRIBUTING to CONTRIBUTING.md --- CONTRIBUTING => CONTRIBUTING.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) rename CONTRIBUTING => CONTRIBUTING.md (70%) diff --git a/CONTRIBUTING b/CONTRIBUTING.md similarity index 70% rename from CONTRIBUTING rename to CONTRIBUTING.md index 03fdfcddc2..a61f2163d8 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING.md @@ -10,6 +10,7 @@ The following is a set of guidelines for contributing to ISIS3. * [Working on an existing issue](#working-on-an-issue) * [Working on an existing enhancement](#working-on-an-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) +[Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base) [What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team) * [Response time](#Response-time) * [Feedback](#feedback) @@ -27,12 +28,12 @@ The following is a set of guidelines for contributing to ISIS3. There's lots of ways to contribute to ISIS3. ### Working on an existing issue -1. Assign the redmine issue to yourself. If you don't have the permission to do this please make a note on the issue that you would like to work on it. +1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact for permission to work on an issue. 2. Propose a solution on the redmine issue. -3. Work with other developers and the issue reporter to improve your solution. -4. Add an impact statement to the redmine issue. If you don't have the permission to do this please make a note on the issue with the impact statement -5. Make the changes on your fork of the ISIS3 main GitHub repo. +3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. +4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. +5. Make the changes on your fork of the ISIS3 main GitHub repo. Follow the [Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base). 6. Follow the Developer's Checklist to ensure your changes are ready for review. -7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the Fixes # format. +7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #" format. 8. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes. 9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. -- GitLab From e0f3c1535a4d2b88e050b91074fa68dc2d6d4f41 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 14:43:39 -0700 Subject: [PATCH 0230/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a61f2163d8..215a8dfa57 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,19 +2,26 @@ # Under Construction The following is a set of guidelines for contributing to ISIS3. #### Table of Contents + [I have a problem or a question](#redmine-issues) + [Redmine Issues](#redmine-issues) + [How can I contribute?](#steps-to-contribute) * [Report an issue](#redmine-issues) * [Suggesting enhancements](#redmine-issues) * [Working on an existing issue](#working-on-an-issue) * [Working on an existing enhancement](#working-on-an-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) + [Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base) + [What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team) * [Response time](#Response-time) * [Feedback](#feedback) + [Development Process Checklists] + [References] * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html) * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops) -- GitLab From d67652eb7a3c8aabf561af0e8f6846088271bec1 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 14:46:52 -0700 Subject: [PATCH 0231/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 215a8dfa57..5f32647757 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,6 +41,6 @@ There's lots of ways to contribute to ISIS3. 4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. 5. Make the changes on your fork of the ISIS3 main GitHub repo. Follow the [Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base). 6. Follow the Developer's Checklist to ensure your changes are ready for review. -7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #" format. +7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #0000" format. 8. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes. 9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. -- GitLab From df6cdc7d9b94c5a2cb45102b0727a9e88a107473 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 14:50:00 -0700 Subject: [PATCH 0232/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f32647757..6796bf325d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,9 +20,9 @@ The following is a set of guidelines for contributing to ISIS3. * [Response time](#Response-time) * [Feedback](#feedback) -[Development Process Checklists] +[Development Process Checklists](https://github.com/USGS-Astrogeology/ISIS3/wiki/Developer-Checklists) -[References] +### References * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html) * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops) * [Application Documentation](https://isis.astrogeology.usgs.gov/Application/index.html) -- GitLab From f86f58e6c181f4aa3fee9ec5f9cbfba6b09c4695 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:23:19 -0700 Subject: [PATCH 0233/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6796bf325d..0de8ea5c83 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,10 +7,10 @@ The following is a set of guidelines for contributing to ISIS3. [Redmine Issues](#redmine-issues) -[How can I contribute?](#steps-to-contribute) +[How can I contribute?](#how-can-i-contribute) * [Report an issue](#redmine-issues) * [Suggesting enhancements](#redmine-issues) - * [Working on an existing issue](#working-on-an-issue) + * [Working on an existing issue](#working-on-an-existing-issue) * [Working on an existing enhancement](#working-on-an-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) -- GitLab From edf72a51755eb3097269ea8c1ae4a5062c53c85f Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:24:20 -0700 Subject: [PATCH 0234/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0de8ea5c83..d871cb00be 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ The following is a set of guidelines for contributing to ISIS3. * [Working on an existing enhancement](#working-on-an-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) -[Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base) +[Guidelines for Code Base Contributions](#guidelines-for-code-base-contributtions) [What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team) * [Response time](#Response-time) -- GitLab From 570884a05452622ef9b70796fa5b97101683d953 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:25:53 -0700 Subject: [PATCH 0235/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d871cb00be..5806bb5c9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ The following is a set of guidelines for contributing to ISIS3. * [Working on an existing enhancement](#working-on-an-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) -[Guidelines for Code Base Contributions](#guidelines-for-code-base-contributtions) +[Code Base Contribution Guidelines](#code-base-contribution-guidelines) [What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team) * [Response time](#Response-time) @@ -39,8 +39,11 @@ There's lots of ways to contribute to ISIS3. 2. Propose a solution on the redmine issue. 3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. 4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. -5. Make the changes on your fork of the ISIS3 main GitHub repo. Follow the [Guidelines for contributing to the code base](#guidelines-for-contributing-to-the-code-base). +5. Make the changes on your fork of the ISIS3 main GitHub repo. Follow the [Code Base Contribution Guidelines](#code-base-contribution-guidelines). 6. Follow the Developer's Checklist to ensure your changes are ready for review. 7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #0000" format. 8. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes. 9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. + +## Code Base Contribution Guidelines + -- GitLab From 8c29a6ce8192944d282eb981b50d55ac6515179e Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:38:12 -0700 Subject: [PATCH 0236/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5806bb5c9b..ac567cfd9e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,7 +35,7 @@ The following is a set of guidelines for contributing to ISIS3. There's lots of ways to contribute to ISIS3. ### Working on an existing issue -1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact for permission to work on an issue. +1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. 2. Propose a solution on the redmine issue. 3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. 4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. -- GitLab From 36942508765c36a6bfcab22603fbc064a6d88586 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:43:02 -0700 Subject: [PATCH 0237/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ac567cfd9e..aacf3e6e1b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,9 @@ The following is a set of guidelines for contributing to ISIS3. * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +## Redmine Issue +If you have a problem or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. + ## How can I contribute? There's lots of ways to contribute to ISIS3. -- GitLab From f861de96cf9a8a151a97eeabe7629d9a0b4d9ecb Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:43:24 -0700 Subject: [PATCH 0238/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aacf3e6e1b..c892b2a404 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ The following is a set of guidelines for contributing to ISIS3. * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -## Redmine Issue +## Redmine Issues If you have a problem or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ## How can I contribute? -- GitLab From 8fd72376f606c6e57d4983c1a9b6e160399788ea Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:44:10 -0700 Subject: [PATCH 0239/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c892b2a404..f5c74c6768 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,7 @@ The following is a set of guidelines for contributing to ISIS3. * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ## Redmine Issues -If you have a problem or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. +If you have a question about ISIS3, problem with outsoftware, or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ## How can I contribute? There's lots of ways to contribute to ISIS3. -- GitLab From e811692f3491c4340bebca518c62cb804663c926 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:46:45 -0700 Subject: [PATCH 0240/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5c74c6768..ec716b199b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ The following is a set of guidelines for contributing to ISIS3. #### Table of Contents -[I have a problem or a question](#redmine-issues) +[I have a problem or a question](#have-a-question-or-a-problem) [Redmine Issues](#redmine-issues) @@ -31,6 +31,11 @@ The following is a set of guidelines for contributing to ISIS3. * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +## Have a question or a problem? +If you have a question about or a problem with ISIS3, please see the [Redmine Issues](#redmine-issues) section. + +If you have a question or a problem with contributing to our software please contact ## REGENT EMAIL HERE ##. + ## Redmine Issues If you have a question about ISIS3, problem with outsoftware, or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. -- GitLab From ee5a0cec7f4c1ce2546b5bf5fa362b9a12d5f059 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:47:35 -0700 Subject: [PATCH 0241/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ec716b199b..d3517d522c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,7 @@ If you have a question about or a problem with ISIS3, please see the [Redmine Is If you have a question or a problem with contributing to our software please contact ## REGENT EMAIL HERE ##. ## Redmine Issues -If you have a question about ISIS3, problem with outsoftware, or a suggestion for a future software feature, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. +If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ## How can I contribute? There's lots of ways to contribute to ISIS3. -- GitLab From 449ba1eeace9a46fc9cca34c9cb15960a0361a60 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:48:46 -0700 Subject: [PATCH 0242/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d3517d522c..39b2d4dc28 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ The following is a set of guidelines for contributing to ISIS3. #### Table of Contents -[I have a problem or a question](#have-a-question-or-a-problem) +[I have a problem or a question](#i-have-a-question-or-a-problem) [Redmine Issues](#redmine-issues) @@ -31,7 +31,7 @@ The following is a set of guidelines for contributing to ISIS3. * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -## Have a question or a problem? +## I have a question or a problem! If you have a question about or a problem with ISIS3, please see the [Redmine Issues](#redmine-issues) section. If you have a question or a problem with contributing to our software please contact ## REGENT EMAIL HERE ##. -- GitLab From f261332a79a4d6b895ef26e41335d003087bc00b Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 15:59:08 -0700 Subject: [PATCH 0243/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 39b2d4dc28..e4f7f27de0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,8 @@ # Contributing to ISIS3 # Under Construction -The following is a set of guidelines for contributing to ISIS3. -#### Table of Contents -[I have a problem or a question](#i-have-a-question-or-a-problem) +#### Table of Contents +[I have a question or a problem!](#i-have-a-question-or-a-problem) [Redmine Issues](#redmine-issues) @@ -54,4 +53,14 @@ There's lots of ways to contribute to ISIS3. 9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. ## Code Base Contribution Guidelines - +The following is a set of guidelines for contributing to ISIS3. +* Personal style changes will not be accepted +* Changes to bring code closer to our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) are encouraged. +* Please be professional, even in comments +* Variable names must be meaningful +* All modified code is required to pass our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) +* You must write or update tests to exercise any modified code. +* You must provide test data for any new or modified tests. +* You must have a Redmine issue assigned to you before submitting a pull request. +* You must complete the Developer Checklist before submitting your pull request. +* When submitting a pull request, you must include the Redmine issue number in the title of the pull request. Use the "Fixes #0000" format. -- GitLab From 35539cb60cef6aee78f9976b84e26c9e3389f3f9 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:04:54 -0700 Subject: [PATCH 0244/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e4f7f27de0..b60588d512 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,8 +9,7 @@ [How can I contribute?](#how-can-i-contribute) * [Report an issue](#redmine-issues) * [Suggesting enhancements](#redmine-issues) - * [Working on an existing issue](#working-on-an-existing-issue) - * [Working on an existing enhancement](#working-on-an-enhancement) + * [Working on an existing issue or enhancement](#working-on-an-existing-issue-or-enhancement) * [Working on a new issue or enhancement](#working-on-a-new-issue) [Code Base Contribution Guidelines](#code-base-contribution-guidelines) @@ -39,9 +38,8 @@ If you have a question or a problem with contributing to our software please con If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ## How can I contribute? -There's lots of ways to contribute to ISIS3. -### Working on an existing issue +### Working on an existing issue or enhancement 1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. 2. Propose a solution on the redmine issue. 3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. @@ -51,14 +49,19 @@ There's lots of ways to contribute to ISIS3. 7. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #0000" format. 8. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes. 9. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in. + +### Working on a new issue or enhancement +1. Please create a [Redmine issue](#redmine-issues). +2. Indicate in the comments of your issue that you would like to work on the issue or enhancement. +3. Follow the [Working on an existing issue or enhancement](#working-on-an-existing-issue-or-enhancement) steps. ## Code Base Contribution Guidelines The following is a set of guidelines for contributing to ISIS3. -* Personal style changes will not be accepted +* Personal style changes will not be accepted. * Changes to bring code closer to our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) are encouraged. -* Please be professional, even in comments -* Variable names must be meaningful -* All modified code is required to pass our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) +* Please be professional, even in comments. +* Variable names must be meaningful. +* All modified code is required to pass our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html). * You must write or update tests to exercise any modified code. * You must provide test data for any new or modified tests. * You must have a Redmine issue assigned to you before submitting a pull request. -- GitLab From 5df455534279128262245ddc0373a06ab825672b Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:11:24 -0700 Subject: [PATCH 0245/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b60588d512..8372294db5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,11 +34,11 @@ If you have a question about or a problem with ISIS3, please see the [Redmine Is If you have a question or a problem with contributing to our software please contact ## REGENT EMAIL HERE ##. -## Redmine Issues -If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. - ## How can I contribute? +### Redmine Issues +If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. + ### Working on an existing issue or enhancement 1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. 2. Propose a solution on the redmine issue. @@ -67,3 +67,9 @@ The following is a set of guidelines for contributing to ISIS3. * You must have a Redmine issue assigned to you before submitting a pull request. * You must complete the Developer Checklist before submitting your pull request. * When submitting a pull request, you must include the Redmine issue number in the title of the pull request. Use the "Fixes #0000" format. + +## What can I expect from the ISIS3 development team? +### Response Time +Our response time will depend on availablity and scheduling. +### Feedback +Our feedback will address any discrepencies related to the contribution guidelines, our coding standards and style guide, and our code review checklist. -- GitLab From b37f29aa4c083645dcbb34904a9f0e0bc3ad83a1 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:19:12 -0700 Subject: [PATCH 0246/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8372294db5..975f740821 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,7 +40,7 @@ If you have a question or a problem with contributing to our software please con If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ### Working on an existing issue or enhancement -1. Assign the redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. +1. Assign the Redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. 2. Propose a solution on the redmine issue. 3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. 4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. @@ -70,6 +70,6 @@ The following is a set of guidelines for contributing to ISIS3. ## What can I expect from the ISIS3 development team? ### Response Time -Our response time will depend on availablity and scheduling. +Our response time will depend on availability and scheduling. ### Feedback -Our feedback will address any discrepencies related to the contribution guidelines, our coding standards and style guide, and our code review checklist. +Our feedback will address any discrepancies related to the contribution guidelines, our coding standards and style guide, and our code review checklist. -- GitLab From 9621e8465e555550053a7bcfe86b67cb79835487 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:21:37 -0700 Subject: [PATCH 0247/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 975f740821..46120589ba 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,6 @@ * [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) * [Documentation](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html#documentation) * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) - * ADD MORE THINGS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ## I have a question or a problem! If you have a question about or a problem with ISIS3, please see the [Redmine Issues](#redmine-issues) section. -- GitLab From 1acee9722ec05f194b11d3576bcb0ae082eb4889 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:22:57 -0700 Subject: [PATCH 0248/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 46120589ba..5e33833d46 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,15 +19,8 @@ * [Feedback](#feedback) [Development Process Checklists](https://github.com/USGS-Astrogeology/ISIS3/wiki/Developer-Checklists) +[References](#references) -### References - * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html) - * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops) - * [Application Documentation](https://isis.astrogeology.usgs.gov/Application/index.html) - * [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) - * [Documentation](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html#documentation) - * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) - ## I have a question or a problem! If you have a question about or a problem with ISIS3, please see the [Redmine Issues](#redmine-issues) section. @@ -72,3 +65,13 @@ The following is a set of guidelines for contributing to ISIS3. Our response time will depend on availability and scheduling. ### Feedback Our feedback will address any discrepancies related to the contribution guidelines, our coding standards and style guide, and our code review checklist. + +## References + * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html) + * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops) + * [Application Documentation](https://isis.astrogeology.usgs.gov/Application/index.html) + * [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) + * [Documentation](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html#documentation) + * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue) + + -- GitLab From d2da08f48484c063285effd8b6c63d028ab1cdf1 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:26:52 -0700 Subject: [PATCH 0249/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5e33833d46..3dfd7712ba 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,8 +4,6 @@ #### Table of Contents [I have a question or a problem!](#i-have-a-question-or-a-problem) -[Redmine Issues](#redmine-issues) - [How can I contribute?](#how-can-i-contribute) * [Report an issue](#redmine-issues) * [Suggesting enhancements](#redmine-issues) -- GitLab From ad755b3ca02f57eec15c4d1b73dfc2d240ce6ab1 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Thu, 29 Mar 2018 16:28:04 -0700 Subject: [PATCH 0250/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3dfd7712ba..eeb51578dc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,6 +17,7 @@ * [Feedback](#feedback) [Development Process Checklists](https://github.com/USGS-Astrogeology/ISIS3/wiki/Developer-Checklists) + [References](#references) ## I have a question or a problem! -- GitLab From 41381caa2fd6720d9527335e00e248dd28cc3f89 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Thu, 29 Mar 2018 19:36:47 -0700 Subject: [PATCH 0251/1212] totally don't remember what I changed --- isis/CMakeLists.txt | 4 +++- isis/sipfiles/ControlPoint.sip | 4 ++-- isis/src/control/apps/seedgrid/tsts/errors/errors.txt | 1 + .../objs/BundleUtilities/BundleObservationSolveSettings.h | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 isis/src/control/apps/seedgrid/tsts/errors/errors.txt diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 075c2c8fd3..51ba788fab 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -57,6 +57,9 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) +# make sure to leave rpaths untouched on install +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) option(isis3TestData "Directory containing Isis3TestData" OFF ) @@ -349,7 +352,6 @@ if(APPLE) else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") endif() -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. diff --git a/isis/sipfiles/ControlPoint.sip b/isis/sipfiles/ControlPoint.sip index 9efd2942e4..8dd80250aa 100644 --- a/isis/sipfiles/ControlPoint.sip +++ b/isis/sipfiles/ControlPoint.sip @@ -91,8 +91,8 @@ namespace Isis { // Status SetAprioriSurfacePointSource(SurfacePointSource::Source source) throw(Isis::IException); // Status SetAprioriSurfacePointSourceFile(QString sourceFile) throw(Isis::IException); -// Status UpdateSphericalPointCoordinates(const Latitude &lat, const Longitude &lon, -// const Distance &radius) throw(Isis::IException); + // Status UpdateSphericalPointCoordinates(const Latitude &lat, const Longitude &lon, + // const Distance &radius) throw(Isis::IException); // Status ComputeApriori() throw(Isis::IException); // Status ComputeResiduals() throw(Isis::IException); diff --git a/isis/src/control/apps/seedgrid/tsts/errors/errors.txt b/isis/src/control/apps/seedgrid/tsts/errors/errors.txt new file mode 100644 index 0000000000..b375d4ea99 --- /dev/null +++ b/isis/src/control/apps/seedgrid/tsts/errors/errors.txt @@ -0,0 +1 @@ +[2018-03-21 14:12:04] Failed ... No truth folder or files diff --git a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h index fd570fee7c..fc69ebc8db 100644 --- a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h +++ b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h @@ -156,6 +156,7 @@ class BundleObservationSolveSettings { double positionAprioriSigma = -1.0, double velocityAprioriSigma = -1.0, double accelerationAprioriSigma = -1.0); + InstrumentPositionSolveOption instrumentPositionSolveOption() const; int spkDegree() const; int spkSolveDegree() const; -- GitLab From 7f591942a0d24b8aceedc795add1f1180c134da8 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Fri, 30 Mar 2018 11:31:02 -0700 Subject: [PATCH 0252/1212] Added support for cube label files before assuming cubelist. Fixes #5350 --- isis/src/qisis/objs/Workspace/Workspace.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/Workspace/Workspace.cpp b/isis/src/qisis/objs/Workspace/Workspace.cpp index 108f8042f9..4a640bfbd6 100644 --- a/isis/src/qisis/objs/Workspace/Workspace.cpp +++ b/isis/src/qisis/objs/Workspace/Workspace.cpp @@ -338,13 +338,13 @@ namespace Isis { QList cubesToOpen; // If the file is a cub file, we add the path to it to our list of cubes to open. - if ( cubeFileName.suffix() == "cub" || cubeFileName.suffix() == "cube" ) { - // cubesToOpen.append(cubeFileName.absoluteFilePath()); - cubesToOpen.append(cubeFileName.filePath()); + if ( cubeFileName.suffix() == "cub" || cubeFileName.suffix() == "cube" || cubeFileName.suffix() == "lbl") { + // cubesToOpen.append(cubeFileName.absoluteFilePath()); + cubesToOpen.append(cubeFileName.filePath()); } else { - // If the file received isn't a .cub, it has to be a cubelist. We read every cube in the cubelist - // And append it to the cubesToOpen QList so that we can open them. + // If the file received isn't a cube or label, it has to be a cubelist. We read every cube in + // the cubelist and append it to the cubesToOpen QList so that we can open them. QFile file(cubename); file.open(QIODevice::ReadOnly); -- GitLab From 96095768c06c4556893674af9ece8ddccd55e6c0 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 30 Mar 2018 11:37:59 -0700 Subject: [PATCH 0253/1212] updated env.yml --- environment.yml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/environment.yml b/environment.yml index 543eb509e1..7aeb46e824 100644 --- a/environment.yml +++ b/environment.yml @@ -8,33 +8,33 @@ channels: - jlaura - defaults dependencies: - - ca-certificates==2017.08.26=h1d4fec5_0 + - ca-certificates==2017.08.26 - dbus==1.10.20=0 - - future==0.16.0=y27_1 - - gst-plugins-base=1.8.0=0 + - future==0.16.0 + - gst-plugins-base - gstreamer==1.8.0=0 - - jsoncpp==1.8.3=h3a67955_0 + - jsoncpp==1.8.3 - libgcc==4.8.5=1 - - libgcc-ng==7.2.0=h7cc24e2_2 + - libgcc-ng==7.2.0 - libgfortran==3.0=0 - - libstdcxx-ng==7.2.0=h7a57d05_2 + - libstdcxx-ng==7.2.0 - libxcb==1.12=1 - - mysql==5.7.20=h55eaa98_0 + - mysql==5.7.20 - ncurses==5.9=10 - ninja==1.7.2=0 - - patchelf==0.9=hf79760b_2 - - pip==9.0.1=py27_1 - - setuptools=38.5.1=py27_0 - - wheel==0.30.0=py27h2bc6bb2_1 + - patchelf==0.9 + - pip==9.0.1 + - setuptools=38.5.1 + - wheel==0.30.0 - xerces-c==3.1.4=0 - xz==5.2.3=0 - zlib==1.2.11=0 - blas==1.1=openblas - - boost==1.65.1=py27_0 - - boost-cpp==1.65.1=1 + - boost==1.65.1 + - boost-cpp==1.65.1 - bzip2==1.0.6=1 - cairo==1.14.6=4 - - certifi==2018.1.18=py27_0 + - certifi==2018.1.18 - cmake==3.9.1=0 - cspice==66=0 - curl==7.55.1=0 @@ -80,24 +80,24 @@ dependencies: - mysql-connector-c==6.1.6=0 - nanoflann==1.2.2=0 - nn==1.86.0=2 - - numpy==1.13.3=py27_blas_openblas_200 + - numpy==1.13.3=py36_blas_openblas_200 - openblas==0.2.19=2 - - opencv==3.2.0=np113py27_blas_openblas_203 + - opencv==3.2.0=np113py36_blas_openblas_203 - openssl==1.0.2n=0 - pcre==8.39=0 - pixman==0.34.0=1 - proj4==4.9.3=5 - pthread-stubs==0.3=1 - - python==2.7.14=2 + - python==3.6 - readline==6.2=0 - rhash==1.3.4=0 - - six==1.11.0=py27_1 + - six==1.11.0 - sqlite==3.13.0=1 - suitesparse==4.5.4=blas_openblas_200 - superlu==5.2.1=blas_openblas_201 - tbb==4.4_20160526=1 - tk==8.5.19=2 - - vtk==8.1.0=py27_mesalib_0 + - vtk==8.1.0 - x264==20131217=3 - xorg-kbproto==1.0.7=1 - xorg-libx11==1.6.4=6 @@ -106,13 +106,13 @@ dependencies: - xorg-libxrender==0.9.10=0 - xorg-renderproto==0.11.1=1 - xorg-xproto==7.0.31=6 - - bz2file==0.98=py27_0 + - bz2file==0.98 - cloog==0.18.0=0 - gcc==4.8.5=7 - isl==0.12.2=0 - - protobuf==2.6.1=py27_1 + - protobuf==3.5.1 - system==5.8=2 - - libprotobuf==2.6.1=0 + - libprotobuf==3.2.0=0 - bullet==2.86.1=0 - ds9==7.5=0 - gmm==5.0=0 -- GitLab From e48c1f7a41ba0af4da815184b61b532270d67928 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 30 Mar 2018 14:01:59 -0700 Subject: [PATCH 0254/1212] Removed enum and hardcoded addToTable calls. Updated example output in the description of caminfo. --- isis/src/base/apps/caminfo/caminfo.xml | 310 +++++++++--------- .../AdvancedTrackTool/AdvancedTrackTool.cpp | 58 +--- .../AdvancedTrackTool/AdvancedTrackTool.h | 58 ---- 3 files changed, 160 insertions(+), 266 deletions(-) diff --git a/isis/src/base/apps/caminfo/caminfo.xml b/isis/src/base/apps/caminfo/caminfo.xml index 61516c052b..973f32447d 100644 --- a/isis/src/base/apps/caminfo/caminfo.xml +++ b/isis/src/base/apps/caminfo/caminfo.xml @@ -36,162 +36,161 @@ The following is an example of caminfo output generated when in PVL format:

      -Object = Caminfo
      -  Object = Parameters
      -    Program     = caminfo
      -    IsisVersion = "3.4.2.0 alpha | 2012-08-28"
      -    RunDate     = 2012-11-23T18:21:42
      -    IsisId      = MeSSEnGeR/MDIS-WAC/1/0250507146:955000
      -    From        = EW0250507146G.lev1.cub
      -    Lines       = 512
      -    Samples     = 512
      -    Bands       = 1
      +  Object = Caminfo
      +    Object = Parameters
      +      Program     = caminfo
      +      IsisVersion = "3.5.2.0 beta | 2017-11-04"
      +      RunDate     = 2018-03-30T20:41:47
      +      IsisId      = MeSSEnGeR/MDIS-WAC/1/0131773041:923000
      +      From        = EW0131773041G.cal.cub
      +      Lines       = 1024
      +      Samples     = 1024
      +      Bands       = 1
      +    End_Object
      +
      +    Object = Camstats
      +      MinimumLatitude   = -82.601533727119
      +      MaximumLatitude   = 8.4623007205256
      +      MinimumLongitude  = 0.053389931705623
      +      MaximumLongitude  = 359.98370567299
      +      MinimumResolution = 2778.4155965733
      +      MaximumResolution = 3185.0347214141
      +      MinimumPhase      = 33.385785072039
      +      MaximumPhase      = 43.111747273402
      +      MinimumEmission   = 0.049809488269691
      +      MaximumEmission   = 89.984607164464
      +      MinimumIncidence  = 29.083595486132
      +      MaximumIncidence  = 123.24917034029
      +      LocalTimeMinimum  = 3.7737634370713
      +      LocalTimeMaximum  = 12.835343181562
      +    End_Object
      +
      +    Object = Geometry
      +      BandsUsed                  = 1
      +      ReferenceBand              = 1
      +      OriginalBand               = 1
      +      Target                     = Mercury
      +      StartTime                  = 2008-10-06T09:33:18.3061195
      +      EndTime                    = 2008-10-06T09:33:18.3061195
      +      CenterLine                 = 512.0
      +      CenterSample               = 512.0
      +      CenterLatitude             = -30.303731681153
      +      CenterLongitude            = 293.02718174274
      +      CenterRadius               = 2440000.0
      +      RightAscension             = 339.75734505335
      +      Declination                = -19.724712429854
      +      UpperLeftLongitude         = NULL
      +      UpperLeftLatitude          = NULL
      +      LowerLeftLongitude         = NULL
      +      LowerLeftLatitude          = NULL
      +      LowerRightLongitude        = NULL
      +      LowerRightLatitude         = NULL
      +      UpperRightLongitude        = 334.11593051093
      +      UpperRightLatitude         = 3.3280369550883
      +      PhaseAngle                 = 37.725480444144
      +      EmissionAngle              = 45.931765597717
      +      IncidenceAngle             = 72.841686837124
      +      NorthAzimuth               = 248.72752014043
      +      OffNadir                   = 5.5984715250291
      +      SolarLongitude             = 344.11642585112
      +      LocalTime                  = 7.331847358858
      +      TargetCenterDistance       = 17970.837424003
      +      SlantDistance              = 16188.061078038
      +      SampleResolution           = 2895.9905922639
      +      LineResolution             = 2895.9905922639
      +      PixelResolution            = 2895.9905922639
      +      MeanGroundResolution       = 2981.5250345888
      +      ObliqueSampleResolution    = 4163.810220016
      +      ObliqueLineResolution      = 4163.810220016
      +      ObliquePixelResolution     = 4163.810220016
      +      ObliqueDetectorResolution  = 4163.810220016
      +      SubSolarAzimuth            = 348.1448628345
      +      SubSolarGroundAzimuth      = 79.614257577627
      +      SubSolarLatitude           = -0.0096113650862139
      +      SubSolarLongitude          = 3.049471359866
      +      SubSpacecraftAzimuth       = 306.84376212478
      +      SubSpacecraftGroundAzimuth = 48.17816960795
      +      SubSpacecraftLatitude      = -0.68903187938085
      +      SubSpacecraftLongitude     = 321.8672927707
      +      ParallaxX                  = -0.68886500480703
      +      ParallaxY                  = 0.76986304566071
      +      ShadowX                    = -0.58387595477701
      +      ShadowY                    = 3.1857545288863
      +      HasLongitudeBoundary       = TRUE
      +      HasNorthPole               = FALSE
      +      HasSouthPole               = FALSE
      +    End_Object
      +
      +    Object = Polygon
      +      CentroidLine      = 502.63655531561
      +      CentroidSample    = 478.35374305118
      +      CentroidLatitude  = -29.488782021364
      +      CentroidLongitude = 290.21111567036
      +      CentroidRadius    = 2440000.0 
      +      SurfaceArea       = 10664470.286639 
      +      GlobalCoverage    = 14.254427 
      +      SampleIncrement   = 102
      +      LineIncrement     = 102
      +      GisFootprint      = "MULTIPOLYGON (((0.0000000000000000
      +                           -66.8476725765257669, 15.1767434740871749
      +                           -77.1683730441100266, 0.0000000000000000
      +                           -79.4337923235828214, 0.0000000000000000
      +                           -66.8476725765257669)), ((242.8869256246104840
      +                           5.7263135391777826, 243.5601343627938888
      +                           8.4618907890508996, 269.0341283875596332
      +                           7.2851012019341370, 280.8571950447025074
      +                           6.6018915311447106, 290.1169358498850670
      +                           6.0309457247062559, 298.1480749560856793
      +                           5.5225220975363509, 305.4806822959274086
      +                           5.0563213585314202, 312.4012021168767888
      +                           4.6215744329942057, 319.0978711923986566
      +                           4.2118017742135532, 325.7167408827046984
      +                           3.8228786367084715, 332.3911996847887735
      +                           3.4522142367050717, 334.1498367339264064
      +                           3.3345474794642787, 333.8009713957027884
      +                           -3.2790590364693251, 333.6381205940322729
      +                           -9.9542162735993269, 333.6727271018169745
      +                           -16.8424968734716280, 333.9555932328583481
      +                           -24.1267133773544735, 334.6136711007971485
      +                           -32.0823127803993700, 335.9827759566368286
      +                           -41.2133542381869944, 339.2994422660955820
      +                           -52.7705910044257323, 360.0000000000000000
      +                           -66.8476725765257669, 360.0000000000000000
      +                           -79.4337923235828214, 344.5259945769852834
      +                           -81.7435836352576501, 312.7243093850013906
      +                           -82.2871258038501310, 272.7330321887411060
      +                           -78.3032904306983113, 256.9120013841559285
      +                           -71.6881729956653402, 249.7037103515991134
      +                           -64.1402056416296205, 245.7489144278791287
      +                           -55.9131045647652911, 243.2871680241342176
      +                           -46.7511744912688840, 241.6466123551280418
      +                           -36.0395468671273846, 240.8227253946276392
      +                           -26.7483720432056948, 241.2427301282905603
      +                           -18.4320979403016132, 242.4724806166474309
      +                           -10.6121339933036545, 243.0000134753865950
      +                           -3.1855953725975596, 243.0379118856032790
      +                           1.6814051415971418, 242.8869256246104840
      +                           5.7263135391777826)))"
      +
      +      Group = Mapping
      +        TargetName         = Mercury
      +        EquatorialRadius   = 2440000.0 
      +        PolarRadius        = 2440000.0 
      +        LatitudeType       = Planetocentric
      +        LongitudeDirection = PositiveEast
      +        LongitudeDomain    = 180
      +        MinimumLatitude    = -82.375420626412
      +        MaximumLatitude    = 8.5375281924006
      +        MinimumLongitude   = -120.26989718658
      +        MaximumLongitude   = 13.797078029821
      +        PixelResolution    = 2778.4154540232
      +        ProjectionName     = Sinusoidal
      +        CenterLongitude    = -53.236409578378
      +      End_Group
      +    End_Object
         End_Object
      +  End
       
      -  Object = Camstats
      -    MinimumLatitude   = 57.872627357566
      -    MaximumLatitude   = 61.299709008025
      -    MinimumLongitude  = 18.065988732773
      -    MaximumLongitude  = 24.841561067248
      -    MinimumResolution = 229.97591146546
      -    MaximumResolution = 232.50589076348
      -    MinimumPhase      = 75.229196963297
      -    MaximumPhase      = 85.75524278645
      -    MinimumEmission   = 0.010416983765103
      -    MaximumEmission   = 9.5170724264221
      -    MinimumIncidence  = 78.991903468001
      -    MaximumIncidence  = 81.783782038128
      -    LocalTimeMinimum  = 7.0686934940095
      -    LocalTimeMaximum  = 7.5203983163079
      -  End_Object
      -
      -  Object = Geometry
      -    BandsUsed                  = 1
      -    ReferenceBand              = 1
      -    OriginalBand               = 1
      -    Target                     = Mercury
      -    StartTime                  = 2012-07-11T15:14:40.902702
      -    EndTime                    = 2012-07-11T15:14:40.902702
      -    CenterLine                 = 256.0
      -    CenterSample               = 256.0
      -    CenterLatitude             = 59.604440922996
      -    CenterLongitude            = 21.354478199267
      -    CenterRadius               = 2440000.0
      -    RightAscension             = 149.14971069552
      -    Declination                = -47.692390719996
      -    UpperLeftLongitude         = 19.403075966477
      -    UpperLeftLatitude          = 61.299709008025
      -    LowerLeftLongitude         = 18.065988732773
      -    LowerLeftLatitude          = 58.619183968695
      -    LowerRightLongitude        = 23.126850062052
      -    LowerRightLatitude         = 57.872627357566
      -    UpperRightLongitude        = 24.841561067248
      -    UpperRightLatitude         = 60.495929386174
      -    PhaseAngle                 = 80.450057821076
      -    EmissionAngle              = 0.19786246622852
      -    IncidenceAngle             = 80.389167381747
      -    NorthAzimuth               = 253.73558748868
      -    OffNadir                   = 0.15660719057979
      -    SolarLongitude             = 228.88911417663
      -    LocalTime                  = 7.2879261251091
      -    TargetCenterDistance       = 3082.770704015
      -    SlantDistance              = 642.77373761039
      -    SampleResolution           = 229.97699384231
      -    LineResolution             = 229.97699384231
      -    PixelResolution            = 229.97699384231
      -    MeanGroundResolution       = 231.24575069814
      -    SubSolarAzimuth            = 0.57284290603718
      -    SubSolarGroundAzimuth      = 106.83729602467
      -    SubSolarLatitude           = -0.026413277465333
      -    SubSolarLongitude          = 92.035586322631
      -    SubSpacecraftAzimuth       = 252.66562276234
      -    SubSpacecraftGroundAzimuth = 358.93004128485
      -    SubSpacecraftLatitude      = 59.645688996553
      -    SubSpacecraftLongitude     = 21.352953761563
      -    ParallaxX                  = -0.0034527631018843
      -    ParallaxY                  = -6.44854385850795e-05
      -    ShadowX                    = 1.7105756767263
      -    ShadowY                    = 5.6523998602669
      -    HasLongitudeBoundary       = FALSE
      -    HasNorthPole               = FALSE
      -    HasSouthPole               = FALSE
      -  End_Object
      -
      -  Object = Polygon
      -    CentroidLine      = 258.34023273956
      -    CentroidSample    = 257.21847692747
      -    CentroidLatitude  = 59.590465340438
      -    CentroidLongitude = 21.359965088916
      -    CentroidRadius    = 2440000.0 <meters>
      -    SurfaceArea       = 13898.794042461 <km^2>
      -    GlobalCoverage    = 0.018578 <percent>
      -    SampleIncrement   = 51
      -    LineIncrement     = 51
      -    GisFootprint      = "MULTIPOLYGON (((19.4043245299965577
      -                         61.3023495859178169, 19.9591033663380273
      -                         61.2315368240940714, 20.5109136331950097
      -                         61.1586516900412036, 21.0599888059494056
      -                         61.0836769590772022, 21.6064014066990424
      -                         61.0066139869781026, 22.1502234714845763
      -                         60.9274625969637071, 22.6915266780484934
      -                         60.8462210727062072, 23.2303824713721276
      -                         60.7628861464013283, 23.7668621875485293
      -                         60.6774529818562556, 24.3010371765409943
      -                         60.5899151525158430, 24.8329789243747072
      -                         60.5002646143153129, 24.8468003809156031
      -                         60.4950897448882969, 24.6621540377068555
      -                         60.2342816512584278, 24.4808344234486128
      -                         59.9734256463113198, 24.3026802658222785
      -                         59.7124215421160969, 24.1275717810041321
      -                         59.4512190020262992, 23.9553945002749487
      -                         59.1897673396973545, 23.7860389348923675
      -                         58.9280154365526201, 23.6194002639650478
      -                         58.6659116571399295, 23.4553780433470500
      -                         58.4034037620610960, 23.2938759337506376
      -                         58.1404388181350171, 23.1348014464353007
      -                         57.8769631054306473, 23.1253981883423947
      -                         57.8700250132380773, 22.6291388167111727
      -                         57.9542062153035644, 22.1311712748992804
      -                         58.0362115673268590, 21.6313369328161791
      -                         58.1160668824232829, 21.1295724335347970
      -                         58.1937799049820939, 20.6258143687462976
      -                         58.2693567261389802, 20.1199991639326754
      -                         58.3428018062430951, 19.6120629625565215
      -                         58.4141179920416960, 19.1019415087693858
      -                         58.4833065286652030, 18.5895700281331031
      -                         58.5503670664614404, 18.0748831058364949
      -                         58.6152976626940756, 18.0609063686927200
      -                         58.6197579732196061, 18.1862320670262285
      -                         58.8883242752207750, 18.3131290280031429
      -                         59.1564691086538232, 18.4416916210760888
      -                         59.4243018649568882, 18.5719929967238073
      -                         59.6918797207437137, 18.7041092262310542
      -                         59.9592593996394498, 18.8381195168780309
      -                         60.2264972751596446, 18.9741064422031833
      -                         60.4936494719392712, 19.1121561888774671
      -                         60.7607719657418741, 19.2523588218842434
      -                         61.0279206826665117, 19.3948085698758135
      -                         61.2951515979628851, 19.4043245299965577
      -                         61.3023495859178169)))"
      -
      -    Group = Mapping
      -      TargetName         = Mercury
      -      EquatorialRadius   = 2440000.0 <meters>
      -      PolarRadius        = 2440000.0 <meters>
      -      LatitudeType       = Planetocentric
      -      LongitudeDirection = PositiveEast
      -      LongitudeDomain    = 360
      -      MinimumLatitude    = 57.869205530706
      -      MaximumLatitude    = 61.303013149342
      -      MinimumLongitude   = 18.059709527443
      -      MaximumLongitude   = 24.848591196067
      -      PixelResolution    = 229.97590845703
      -      ProjectionName     = Sinusoidal
      -      CenterLongitude    = 21.354478199267
      -    End_Group
      -  End_Object
      -End_Object
      -End
       
       
      @@ -364,7 +363,8 @@ End Added oblique sample, line, detector, and pixel resolutions to the - geometry PVL group. Fixes #4100. + geometry PVL group. Updated example output in application description, + so that the addded oblique elements are included.Fixes #4100. diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp index 6eb7339995..4dbdbc7c6c 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp @@ -63,55 +63,6 @@ namespace Isis { connect(p_action, SIGNAL(triggered()), p_tableWin, SLOT(syncColumns())); p_tableWin->installEventFilter(this); - // p_tableWin->addToTable(false, "Id", "Id"); - // p_tableWin->addToTable(true, "Sample:Line", "Sample:Line", -1, - // Qt::Horizontal, "Sample and Line"); - // p_tableWin->addToTable(false, "Band", "Band"); - // p_tableWin->addToTable(true, "Pixel", "Pixel"); - // p_tableWin->addToTable(true, "Planetocentric Latitude", "Planetocentric Lat"); - // p_tableWin->addToTable(false, "Planetographic Latitude", "Planetographic Lat"); - // p_tableWin->addToTable(true, "360 Positive East Longitude", "360 East Longitude"); - // p_tableWin->addToTable(false, "360 Positive West Longitude", "360 West Longitude"); - // p_tableWin->addToTable(true, "180 Positive East Longitude", "180 East Longitude"); - // p_tableWin->addToTable(false, "180 Positive West Longitude", "180 West Longitude"); - // p_tableWin->addToTable(false, "Projected X:Projected Y", "Projected X:Projected Y", -1, - // Qt::Horizontal, "X and Y values for a projected image"); - // p_tableWin->addToTable(false, "Local Radius", "Radius"); - // p_tableWin->addToTable(false, "Point X:Point Y:Point Z", "XYZ", -1, Qt::Horizontal, - // "The X, Y, and Z of surface intersection in body-fixed coordinates"); - // p_tableWin->addToTable(false, "Right Ascension:Declination", "Ra:Dec", -1, Qt::Horizontal, - // "Right Ascension and Declination"); - // p_tableWin->addToTable(false, "Resolution", "Resolution"); - // p_tableWin->addToTable(false, "Oblique Pixel Resolution", "Oblique Pixel Res"); - // p_tableWin->addToTable(false, "Oblique Sample Resolution", "Oblique Sample Res"); - // p_tableWin->addToTable(false, "Oblique Line Resolution", "Oblique Line Res"); - // p_tableWin->addToTable(false, "Oblique Detector Resolution", "Oblique Detector Res"); - // p_tableWin->addToTable(false, "Phase", "Phase"); - // p_tableWin->addToTable(false, "Incidence", "Incidence"); - // p_tableWin->addToTable(false, "Emission", "Emission"); - // p_tableWin->addToTable(false, "LocalIncidence", "LocalIncidence"); - // p_tableWin->addToTable(false, "LocalEmission", "LocalEmission"); - // p_tableWin->addToTable(false, "North Azimuth", "North Azimuth"); - // p_tableWin->addToTable(false, "Sun Azimuth", "Sun Azimuth"); - // p_tableWin->addToTable(false, "Solar Longitude", "Solar Longitude"); - // p_tableWin->addToTable(false, "Spacecraft X:Spacecraft Y:Spacecraft Z", "Spacecraft Position", - // -1, Qt::Horizontal, "The X, Y, and Z of the spacecraft position"); - // p_tableWin->addToTable(false, "Spacecraft Azimuth", "Spacecraft Azimuth"); - // p_tableWin->addToTable(false, "Slant Distance", "Slant Distance"); - // p_tableWin->addToTable(false, "Focal Plane X:Focal Plane Y", "Focal Plane X:Y"); - // p_tableWin->addToTable(false, "Undistorted Focal X:Undistorted Focal Y: Undistorted Focal Z", - // "Undistorted Focal Plane X:Y:Z"); - // p_tableWin->addToTable(false, "Ephemeris Time", "Ephemeris iTime"); - // p_tableWin->addToTable(false, "Local Solar Time", "Local Solar iTime"); - // p_tableWin->addToTable(false, "UTC", "UTC", -1, Qt::Horizontal, "Internal time in UTC format"); - // p_tableWin->addToTable(false, "Path", "Path"); - // p_tableWin->addToTable(false, "FileName", "FileName"); - // p_tableWin->addToTable(false, "Serial Number", "Serial Number"); - // p_tableWin->addToTable(false, "Track Mosaic Index", "Track Mosaic Index"); - // p_tableWin->addToTable(false, "Track Mosaic FileName", "Track Mosaic FileName"); - // p_tableWin->addToTable(false, "Track Mosaic Serial Number", "Track Mosaic Serial Number"); - // p_tableWin->addToTable(false, "Notes", "Notes"); - // Adds each item of checkBoxItems to the table. // If a tool tip is specified, we cannot skip parameters, so -1 and // Qt::Horizontal are specified. @@ -298,7 +249,8 @@ namespace Isis { index++; } } - // cout<<"COUDL NOT FIND: "<< keyword< cvp->cubeLines() + 0.5) return; // Write cols 0-2 (id, sample, line) - p_tableWin->table()->item(row, getIndex("Id"))->setText(QString::number(p_id)); + p_tableWin->table()->item(row, getIndex("ID"))->setText(QString::number(p_id)); p_tableWin->table()->item(row, getIndex("Sample"))->setText(QString::number(sample)); p_tableWin->table()->item(row, getIndex("Line"))->setText(QString::number(line)); @@ -620,7 +572,7 @@ namespace Isis { setText(QString::number(wlon, 'f', 15)); p_tableWin->table()->item(row, getIndex("180 Positive East Longitude"))-> setText(QString::number(TProjection::To180Domain(wlon), 'f', 15)); - p_tableWin->table()->item(row, RADIUS)->setText(QString::number(radius, 'f', 15)); + p_tableWin->table()->item(row, getIndex("Local Radius"))->setText(QString::number(radius, 'f', 15)); } } else { // RingPlane @@ -867,7 +819,7 @@ namespace Isis { p_id = 0; } else { - p_id = p_tableWin->table()->item(p_tableWin->currentRow() - 1, ID)->text().toInt() + 1; + p_id = p_tableWin->table()->item(p_tableWin->currentRow() - 1, getIndex("ID"))->text().toInt() + 1; } } diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h index 5d10e5356e..a4800624a4 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h @@ -186,63 +186,6 @@ namespace Isis { QList({"Track Mosaic Serial Number", "false", "Track Mosaic Serial Number", ""}) << QList({"Notes", "false", "Notes", ""}); - /** - * Enum for column values - */ - // enum { - // ID, //!< The record ID - // SAMPLE, //!< The current sample - // LINE, //!< The current line - // BAND, //!< The current band - // PIXEL, //!< The current pixel - // PLANETOCENTRIC_LAT, //!< The planetocentric latitude for this point - // PLANETOGRAPHIC_LAT, //!< The planetographic latitude for this point - // EAST_LON_360, //!< The 360 east longitude for this point - // WEST_LON_360, //!< The 360 west longitude for this point - // EAST_LON_180, //!< The 180 east longitude for this point - // WEST_LON_180, //!< The 180 west longitude for this point - // PROJECTED_X, //!< Projected X value for valid projections - // PROJECTED_Y, //!< Projected Y value for valid projections - // RADIUS, //!< The radius for this point - // POINT_X, //!< The x value for this point - // POINT_Y, //!< The y value for this point - // POINT_Z, //!< The z value for this point - // RIGHT_ASCENSION, //!< The right ascension for this point - // DECLINATION, //!< The declination for this point - // RESOLUTION, //!< The resoultion for this point - // OBLIQUE_PIXEL_RES, //!< The oblique pixel resolution - // OBLIQUE_SAMPLE_RES, //!< The oblique sample resolution - // OBLIQUE_LINE_RES, //!< The oblique line resolution - // OBLIQUE_DETECTOR_RES, //!< The oblique detector resolution - // PHASE, //!< The phase for this point - // INCIDENCE, //!< The incidence for this point - // EMISSION, //!< The emission for this point - // LOCAL_INCIDENCE, //!< The local incidence for this point - // LOCAL_EMISSION, //!< The local emission for this point - // NORTH_AZIMUTH, //!< The north azimuth for this cube - // SUN_AZIMUTH, //!< The sun azimuth for this cube - // SOLAR_LON, //!< The solar longitude for this point - // SPACECRAFT_X, //!< The spacecraft x position for this cube - // SPACECRAFT_Y, //!< The spacecraft y position for this cube - // SPACECRAFT_Z, //!< The spacecraft z position for this cube - // SPACECRAFT_AZIMUTH, //!< The spacecraft azimuth for this cube - // SLANT, //!< The slant for this cube - // DISTORTED_FOCAL_X, //!< The x of the distorted focal plane - // DISTORTED_FOCAL_Y, //!< The y of the distorted focal plane - // UNDISTORTED_FOCAL_X, //!< The x of the undistorted focal plane - // UNDISTORTED_FOCAL_Y, //!< The y of the undistorted focal plane - // UNDISTORTED_FOCAL_Z, //!< The z of the undistorted focal plane - // EPHEMERIS_TIME, //!< The ephemeris time for this cube - // SOLAR_TIME, //!< The local solar time for this cube - // UTC, //!< The UTC for this cube - // PATH, //!< The path for this cube - // FILENAME, //!< The filename for this cube - // SERIAL_NUMBER, //!< The serial number for this cube - // TRACK_MOSAIC_INDEX, //!< Track the origin of the Mosaic, display the zero based index - // TRACK_MOSAIC_FILENAME, //!< Track the origin of the Mosaic, display file name - // TRACK_MOSAIC_SERIAL_NUM,//!< Track the origin of the Mosaic, display file name - // NOTES //!< Any notes for this record - // }; QAction *p_action; //!< Action to bring up the track tool int p_numRows; //!< The number of rows in the table int p_id; //!< The record id @@ -250,7 +193,6 @@ namespace Isis { bool m_showHelpOnStart; //!< True to show dialog When tool is started }; - }; #endif -- GitLab From cf4816b9372d8950c015da1dca0ea128ec44c051 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 30 Mar 2018 15:19:38 -0700 Subject: [PATCH 0255/1212] Change angle brackets around units to html code. --- isis/src/base/apps/caminfo/caminfo.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/isis/src/base/apps/caminfo/caminfo.xml b/isis/src/base/apps/caminfo/caminfo.xml index 973f32447d..22bed53daa 100644 --- a/isis/src/base/apps/caminfo/caminfo.xml +++ b/isis/src/base/apps/caminfo/caminfo.xml @@ -126,9 +126,9 @@ CentroidSample = 478.35374305118 CentroidLatitude = -29.488782021364 CentroidLongitude = 290.21111567036 - CentroidRadius = 2440000.0 - SurfaceArea = 10664470.286639 - GlobalCoverage = 14.254427 + CentroidRadius = 2440000.0 <meters> + SurfaceArea = 10664470.286639 <km^2> + GlobalCoverage = 14.254427 <percent> SampleIncrement = 102 LineIncrement = 102 GisFootprint = "MULTIPOLYGON (((0.0000000000000000 @@ -174,8 +174,8 @@ Group = Mapping TargetName = Mercury - EquatorialRadius = 2440000.0 - PolarRadius = 2440000.0 + EquatorialRadius = 2440000.0 <meters> + PolarRadius = 2440000.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 180 @@ -191,7 +191,6 @@ End_Object End -

-- GitLab From f895d0cd6cb07a17999dbcd0786de565348df3aa Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 30 Mar 2018 15:32:04 -0700 Subject: [PATCH 0256/1212] Made sure code was up to standards and added history entry in CamTools.h. --- isis/src/base/apps/caminfo/CamTools.cpp | 122 ++++++++++++------------ isis/src/base/apps/caminfo/CamTools.h | 2 + isis/src/base/apps/caminfo/caminfo.cpp | 2 +- 3 files changed, 64 insertions(+), 62 deletions(-) diff --git a/isis/src/base/apps/caminfo/CamTools.cpp b/isis/src/base/apps/caminfo/CamTools.cpp index 1c99eaaf75..fd197ce0d7 100644 --- a/isis/src/base/apps/caminfo/CamTools.cpp +++ b/isis/src/base/apps/caminfo/CamTools.cpp @@ -100,22 +100,22 @@ namespace Isis { bool BandGeometry::isPointValid(const double &sample, const double &line, const Camera *camera) const { int nl(_nLines), ns(_nSamps); - if(camera != 0) { + if (camera != 0) { nl = camera->Lines(); ns = camera->Samples(); } - if(line < 0.5) return (false); - if(line > (nl + 0.5)) return (false); - if(sample < 0.5) return (false); - if(sample > (ns + 0.5)) return (false); + if (line < 0.5) return (false); + if (line > (nl + 0.5)) return (false); + if (sample < 0.5) return (false); + if (sample > (ns + 0.5)) return (false); return (true); } bool BandGeometry::hasCenterGeometry() const { BandPropertiesListConstIter b; - for(b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { - if(!IsSpecial(b->centerLatitude)) return (true); + for (b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { + if (!IsSpecial(b->centerLatitude)) return (true); } // No valid center exists return (false); @@ -137,11 +137,11 @@ namespace Isis { */ bool BandGeometry::hasLimb() const { BandPropertiesListConstIter b; - for(b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { - if(IsSpecial(b->upperLeftLatitude)) return (true); - if(IsSpecial(b->upperRightLatitude)) return (true); - if(IsSpecial(b->lowerRightLatitude)) return (true); - if(IsSpecial(b->lowerLeftLatitude)) return (true); + for (b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { + if (IsSpecial(b->upperLeftLatitude)) return (true); + if (IsSpecial(b->upperRightLatitude)) return (true); + if (IsSpecial(b->lowerRightLatitude)) return (true); + if (IsSpecial(b->lowerLeftLatitude)) return (true); } // All outer geometry points are defined return (false); @@ -181,7 +181,7 @@ namespace Isis { _isBandIndependent = camera.IsBandIndependent(); _hasCenterGeom = false; int nbands = (_isBandIndependent ? 1 : _nBands); - for(int band = 0 ; band < nbands ; band++) { + for (int band = 0 ; band < nbands ; band++) { // Compute band geometry properties GProperties g; g.lines = _nLines; @@ -203,7 +203,7 @@ namespace Isis { g.centerSamp = centerSamp; // Now compute elements for the center pixel - if(camera.SetImage(centerSamp, centerLine)) { + if (camera.SetImage(centerSamp, centerLine)) { _hasCenterGeom = true; g.centerLatitude = camera.UniversalLatitude(); g.centerLongitude = camera.UniversalLongitude(); @@ -247,7 +247,7 @@ namespace Isis { g.inc = camera.IncidenceAngle(); // Parallax values (Corrected 2012-11-23, KJB) - if(!IsSpecial(g.emi) && !IsSpecial(g.subSpacecraftGroundAzimuth)) { + if (!IsSpecial(g.emi) && !IsSpecial(g.subSpacecraftGroundAzimuth)) { double emi_r = DegToRad(g.emi); double ssga_r = DegToRad(g.subSpacecraftGroundAzimuth); g.parallaxx = -tan(emi_r) * cos(ssga_r); @@ -255,7 +255,7 @@ namespace Isis { } // Shadow values (Corrected 2012-11-23, KJB) - if(!IsSpecial(g.inc) && !IsSpecial(g.subSolarGroundAzimuth)) { + if (!IsSpecial(g.inc) && !IsSpecial(g.subSolarGroundAzimuth)) { double inc_r = DegToRad(g.inc); double ssga_r = DegToRad(g.subSolarGroundAzimuth); g.shadowx = -tan(inc_r) * cos(ssga_r); @@ -264,29 +264,29 @@ namespace Isis { } // OK...now get corner pixel geometry. NOTE this resets image // pixel location from center!!! - if(camera.SetImage(1.0, 1.0)) { + if (camera.SetImage(1.0, 1.0)) { g.upperLeftLongitude = camera.UniversalLongitude(); g.upperLeftLatitude = camera.UniversalLatitude(); } - if(camera.SetImage(1.0, cLine)) { + if (camera.SetImage(1.0, cLine)) { g.lowerLeftLongitude = camera.UniversalLongitude(); g.lowerLeftLatitude = camera.UniversalLatitude(); } - if(camera.SetImage(cSamp, cLine)) { + if (camera.SetImage(cSamp, cLine)) { g.lowerRightLongitude = camera.UniversalLongitude(); g.lowerRightLatitude = camera.UniversalLatitude(); } - if(camera.SetImage(cSamp, 1.0)) { + if (camera.SetImage(cSamp, 1.0)) { g.upperRightLongitude = camera.UniversalLongitude(); g.upperRightLatitude = camera.UniversalLatitude(); } double minRes = camera.LowestImageResolution(); double maxRes = camera.HighestImageResolution(); - if(!(IsSpecial(minRes) || IsSpecial(maxRes))) { + if (!(IsSpecial(minRes) || IsSpecial(maxRes))) { g.grRes = (minRes + maxRes) / 2.0; } @@ -295,20 +295,20 @@ namespace Isis { _mapping = camMap; // Test for interesting intersections - if(camera.IntersectsLongitudeDomain(camMap)) g.hasLongitudeBoundary = true; + if (camera.IntersectsLongitudeDomain(camMap)) g.hasLongitudeBoundary = true; camera.SetBand(band + 1); - if(camera.SetUniversalGround(90.0, 0.0)) { - if(isPointValid(camera.Sample(), camera.Line(), &camera)) { + if (camera.SetUniversalGround(90.0, 0.0)) { + if (isPointValid(camera.Sample(), camera.Line(), &camera)) { g.hasNorthPole = true; } } - if(camera.SetUniversalGround(-90.0, 0.0)) { - if(isPointValid(camera.Sample(), camera.Line(), &camera)) { + if (camera.SetUniversalGround(-90.0, 0.0)) { + if (isPointValid(camera.Sample(), camera.Line(), &camera)) { g.hasSouthPole = true; } } - if(doPolygon) { + if (doPolygon) { // Now compute the the image polygon ImagePolygon poly; poly.Incidence(_maxIncidence); @@ -318,7 +318,7 @@ namespace Isis { increasePrecision); geos::geom::MultiPolygon *multiP = poly.Polys(); _polys.push_back(multiP->clone()); - if(_combined == 0) { + if (_combined == 0) { _combined = multiP->clone(); } else { @@ -356,7 +356,7 @@ namespace Isis { // Compute the remainder of the summary bands since some of the operations // need the camera model _summary = getGeometrySummary(); - if((size() != 1) && doPolygon) { + if ((size() != 1) && doPolygon) { geos::geom::MultiPolygon *multiP = makeMultiPolygon(_combined); _mapping = getProjGeometry(camera, multiP, _summary); delete multiP; @@ -367,7 +367,7 @@ namespace Isis { void BandGeometry::generateGeometryKeys(PvlObject &pband) { - if(size() <= 0) { + if (size() <= 0) { QString mess = "No Band geometry available!"; throw IException(IException::Programmer, mess, _FILEINFO_); } @@ -414,7 +414,7 @@ namespace Isis { pband += ValidateKey("SlantDistance", g.slantDistance); double aveRes(Null); - if(!IsSpecial(g.sampRes) && !IsSpecial(g.lineRes)) { + if (!IsSpecial(g.sampRes) && !IsSpecial(g.lineRes)) { aveRes = (g.sampRes + g.lineRes) / 2.0; } @@ -445,7 +445,7 @@ namespace Isis { pband += ValidateKey("ShadowY", g.shadowy); // Determine if image crosses Longitude domain - if(g.hasLongitudeBoundary) { + if (g.hasLongitudeBoundary) { pband += PvlKeyword("HasLongitudeBoundary", "TRUE"); } else { @@ -453,7 +453,7 @@ namespace Isis { } // Add test for North pole in image - if(g.hasNorthPole) { + if (g.hasNorthPole) { pband += PvlKeyword("HasNorthPole", "TRUE"); } else { @@ -461,7 +461,7 @@ namespace Isis { } // Add test for South pole in image - if(g.hasSouthPole) { + if (g.hasSouthPole) { pband += PvlKeyword("HasSouthPole", "TRUE"); } else { @@ -472,13 +472,13 @@ namespace Isis { } BandGeometry::GProperties BandGeometry::getGeometrySummary() const { - if(_isBandIndependent || (size() == 1)) { + if (_isBandIndependent || (size() == 1)) { return (_gBandList[0]); } // Get the centroid point of the union polygon double plon(Null), plat(Null); - if(_combined != 0) { + if (_combined != 0) { geos::geom::Point *center = _combined->getCentroid(); plon = center->getX(); plat = center->getY(); @@ -495,12 +495,12 @@ namespace Isis { double radius = getRadius(); BandPropertiesListConstIter b; - for(b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { + for (b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { double thisDist; // Ensure the center latitude/logitude is defined (typically occurs when // no polygon data is available). This scheme uses the first one defined. - if(IsSpecial(plat) || IsSpecial(plon)) { + if (IsSpecial(plat) || IsSpecial(plon)) { plat = b->centerLatitude; plon = b->centerLongitude; } @@ -509,7 +509,7 @@ namespace Isis { bool isCloser = isDistShorter(centerDistance, plat, plon, b->centerLatitude, b->centerLongitude, radius, thisDist) ; - if(isCloser) { + if (isCloser) { bestBand = *b; centerDistance = thisDist; } @@ -518,7 +518,7 @@ namespace Isis { isCloser = isDistShorter(ulDist, plat, plon, b->upperLeftLatitude, b->upperLeftLongitude, radius, thisDist); - if(!isCloser) { + if (!isCloser) { corners.upperLeftLatitude = b->upperLeftLatitude; corners.upperLeftLongitude = b->upperLeftLongitude; ulDist = thisDist; @@ -527,7 +527,7 @@ namespace Isis { isCloser = isDistShorter(urDist, plat, plon, b->upperRightLatitude, b->upperRightLongitude, radius, thisDist); - if(!isCloser) { + if (!isCloser) { corners.upperRightLatitude = b->upperRightLatitude; corners.upperRightLongitude = b->upperRightLongitude; urDist = thisDist; @@ -537,7 +537,7 @@ namespace Isis { isCloser = isDistShorter(llDist, plat, plon, b->lowerLeftLatitude, b->lowerLeftLongitude, radius, thisDist); - if(!isCloser) { + if (!isCloser) { corners.lowerLeftLatitude = b->lowerLeftLatitude; corners.lowerLeftLongitude = b->lowerLeftLongitude; llDist = thisDist; @@ -546,7 +546,7 @@ namespace Isis { isCloser = isDistShorter(lrDist, plat, plon, b->lowerRightLatitude, b->lowerRightLongitude, radius, thisDist); - if(!isCloser) { + if (!isCloser) { corners.lowerRightLatitude = b->lowerRightLatitude; corners.lowerRightLongitude = b->lowerRightLongitude; lrDist = thisDist; @@ -578,14 +578,14 @@ namespace Isis { double clon = g.centerLongitude; double minLon = (double) mapping["MinimumLongitude"]; double maxLon = (double) mapping["MaximumLongitude"]; - if(IsSpecial(clon)) clon = (minLon + maxLon) / 2.0; + if (IsSpecial(clon)) clon = (minLon + maxLon) / 2.0; // Make adjustments for center projection type/ranges. // To be consistant with other implementations, do not // convert poles to 180 domain. geos::geom::MultiPolygon *poly180(0), *poly(footprint); - if(g.hasLongitudeBoundary) { - if(!(g.hasNorthPole || g.hasSouthPole)) { + if (g.hasLongitudeBoundary) { + if (!(g.hasNorthPole || g.hasSouthPole)) { // Convert the mapping group contents to 180 Longitude domain PvlKeyword &ldkey = mapping["LongitudeDomain"]; ldkey.setValue("180"); @@ -622,7 +622,7 @@ namespace Isis { delete sinu; delete poly180; - if(camera.SetUniversalGround(g.centroidLatitude, g.centroidLongitude)) { + if (camera.SetUniversalGround(g.centroidLatitude, g.centroidLongitude)) { g.centroidLine = camera.Line(); g.centroidSample = camera.Sample(); g.centroidRadius = camera.LocalRadius().meters(); @@ -632,7 +632,7 @@ namespace Isis { } void BandGeometry::generatePolygonKeys(PvlObject &pband) { - if(size() <= 0) { + if (size() <= 0) { QString mess = "No Band geometry available!"; throw IException(IException::Programmer, mess, _FILEINFO_); } @@ -640,7 +640,7 @@ namespace Isis { // Compute surface area - already done in collection phase double radius = getRadius(); double globalCoverage(Null); - if(!IsSpecial(radius)) { + if (!IsSpecial(radius)) { double globalArea = 4.0 * pi_c() * (radius * radius) / (1000.0 * 1000.0); globalCoverage = _summary.surfaceArea / globalArea * 100.0; globalCoverage = SetRound(globalCoverage, 6); @@ -653,10 +653,10 @@ namespace Isis { pband += ValidateKey("CentroidRadius", _summary.centroidRadius, "meters"); pband += ValidateKey("SurfaceArea", _summary.surfaceArea, "km^2"); pband += ValidateKey("GlobalCoverage", globalCoverage, "percent"); - if(_combined != 0) { + if (_combined != 0) { pband += PvlKeyword("SampleIncrement", toString(_sampleInc)); pband += PvlKeyword("LineIncrement", toString(_lineInc)); - if(_combined->getGeometryTypeId() != geos::geom::GEOS_MULTIPOLYGON) { + if (_combined->getGeometryTypeId() != geos::geom::GEOS_MULTIPOLYGON) { geos::geom::MultiPolygon *geom = makeMultiPolygon(_combined); pband += PvlKeyword("GisFootprint", geom->toString().c_str()); delete geom; @@ -677,20 +677,20 @@ namespace Isis { double BandGeometry::getRadius() const { Statistics polyRadius, centRadius; BandPropertiesListConstIter b; - for(b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { + for (b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { polyRadius.AddData(b->centroidRadius); centRadius.AddData(b->radius); } double radius = polyRadius.Average(); - if(IsSpecial(radius)) radius = centRadius.Average(); - if(IsSpecial(radius)) radius = _radius; + if (IsSpecial(radius)) radius = centRadius.Average(); + if (IsSpecial(radius)) radius = _radius; return (radius); } double BandGeometry::getPixelResolution() const { Statistics groundRes, pixelRes; BandPropertiesListConstIter b; - for(b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { + for (b = _gBandList.begin() ; b != _gBandList.end() ; ++b) { pixelRes.AddData(b->sampRes); pixelRes.AddData(b->lineRes); groundRes.AddData(b->grRes); @@ -701,7 +701,7 @@ namespace Isis { } double res = groundRes.Average(); - if(IsSpecial(res)) res = pixelRes.Average(); + if (IsSpecial(res)) res = pixelRes.Average(); return (res); } @@ -717,11 +717,11 @@ namespace Isis { bool BandGeometry::isDistShorter(double bestDist, double lat1, double lon1, double lat2, double lon2, double radius, double &thisDist) const { - if(IsSpecial(lat1)) return (false); - if(IsSpecial(lon1)) return (false); - if(IsSpecial(lat2)) return (false); - if(IsSpecial(lon2)) return (false); - if(IsSpecial(radius)) return (false); + if (IsSpecial(lat1)) return (false); + if (IsSpecial(lon1)) return (false); + if (IsSpecial(lat2)) return (false); + if (IsSpecial(lon2)) return (false); + if (IsSpecial(radius)) return (false); SurfacePoint point1( Latitude(lat1, Angle::Degrees), diff --git a/isis/src/base/apps/caminfo/CamTools.h b/isis/src/base/apps/caminfo/CamTools.h index e503903e65..e72242c4a8 100644 --- a/isis/src/base/apps/caminfo/CamTools.h +++ b/isis/src/base/apps/caminfo/CamTools.h @@ -146,6 +146,8 @@ namespace Isis { * parallaxy, shadowx, shadowy. Fixes #1296 * @history 2013-02-22 Janet Barrett, Modified the CamTools::collect method to allow a * footprint blob option. Fixes #1452. + * @history 2018-03-30 Kaitlyn Lee, Added oblique sample, line, pixel, + * and detector resolutions. Fixes #4100. */ class BandGeometry { diff --git a/isis/src/base/apps/caminfo/caminfo.cpp b/isis/src/base/apps/caminfo/caminfo.cpp index 994ce7fae6..27c59fecee 100644 --- a/isis/src/base/apps/caminfo/caminfo.cpp +++ b/isis/src/base/apps/caminfo/caminfo.cpp @@ -202,7 +202,7 @@ void IsisMain() { bandGeom->setMaxEmission(ui.GetDouble("MAXEMISSION")); bool precision = ui.GetBoolean("INCREASEPRECISION"); - if(getFootBlob) { + if (getFootBlob) { // Need to read history to obtain parameters that were used to // create the footprint History hist( "IsisCube", in.expanded() ); -- GitLab From bd30d5db53752b681205b6325de7059f7da27094 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 30 Mar 2018 16:30:11 -0700 Subject: [PATCH 0257/1212] typo: FindSIP -> FindSip --- isis/cmake/FindSip.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isis/cmake/FindSip.cmake b/isis/cmake/FindSip.cmake index ebb8c79370..8ede37c8d7 100644 --- a/isis/cmake/FindSip.cmake +++ b/isis/cmake/FindSip.cmake @@ -17,7 +17,7 @@ IF(SIP_VERSION) SET(SIP_FOUND TRUE) ELSE(SIP_VERSION) - FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH}) + FIND_FILE(_find_sip_py FindSip.py PATHS ${CMAKE_MODULE_PATH}) EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config) IF(sip_config) -- GitLab From f0fa3fcb24e88891979d4cefc406aff53d5c56a9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 30 Mar 2018 16:57:46 -0700 Subject: [PATCH 0258/1212] updated env --- environment.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 7aeb46e824..8514c23172 100644 --- a/environment.yml +++ b/environment.yml @@ -18,6 +18,9 @@ dependencies: - libgcc-ng==7.2.0 - libgfortran==3.0=0 - libstdcxx-ng==7.2.0 + - qwt=6.1.3 + - pyqt=5.6.0 + - sip=4.18 - libxcb==1.12=1 - mysql==5.7.20 - ncurses==5.9=10 @@ -36,7 +39,7 @@ dependencies: - cairo==1.14.6=4 - certifi==2018.1.18 - cmake==3.9.1=0 - - cspice==66=0 + - cspice==66-0 - curl==7.55.1=0 - doxygen==1.8.14=0 - eigen==3.3.3=0 -- GitLab From 1c7ea0a97c5e2677b5cf69835ba00706956bc33f Mon Sep 17 00:00:00 2001 From: Kelvinrr Date: Fri, 30 Mar 2018 19:57:39 -0700 Subject: [PATCH 0259/1212] updated env for linux, bullet libs sorted out --- environment.yml | 11 +++---- isis/CMakeLists.txt | 17 +++++----- linux-spec.txt | 77 ++++++++++++++++++++++++--------------------- 3 files changed, 56 insertions(+), 49 deletions(-) diff --git a/environment.yml b/environment.yml index 8514c23172..0df225c443 100644 --- a/environment.yml +++ b/environment.yml @@ -14,8 +14,6 @@ dependencies: - gst-plugins-base - gstreamer==1.8.0=0 - jsoncpp==1.8.3 - - libgcc==4.8.5=1 - - libgcc-ng==7.2.0 - libgfortran==3.0=0 - libstdcxx-ng==7.2.0 - qwt=6.1.3 @@ -51,7 +49,7 @@ dependencies: - freeglut==3.0.0=4 - freetype==2.7=1 - geos==3.5.1=1 - - geotiff==1.4.2=1 + - geotiff==1.4.2 - gettext==0.19.8.1=0 - giflib==5.1.4=0 - glib==2.51.4=0 @@ -59,7 +57,7 @@ dependencies: - gsl==2.2.1=blas_openblas_3 - harfbuzz==1.3.4=2 - hdf5==1.8.18=2 - - icu==58.2=0 + - icu==58.2 - jasper==1.900.1=1 - jbig==2.1=0 - jpeg==9b=2 @@ -111,7 +109,6 @@ dependencies: - xorg-xproto==7.0.31=6 - bz2file==0.98 - cloog==0.18.0=0 - - gcc==4.8.5=7 - isl==0.12.2=0 - protobuf==3.5.1 - system==5.8=2 @@ -122,8 +119,8 @@ dependencies: - jama==125=0 - pcl==1.8.1=0 - qhull==7.2.0=0 - - qt==5.7.1=0 - - qwt==6.1.3=0 + - qt==5.6.2 + - qwt==6.1.3 - tnt==126=0 - xalan-c==1.11=0 prefix: /scratch/anaconda3/envs/isis diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 51ba788fab..7fa0c88cff 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -141,11 +141,16 @@ if(JP2KFLAG) set(JP2KFLAG 1) endif() + # Set up the ctest tool which is used to run all of the tests. + enable_testing() + include(CTest) + # Specify flags used # on linux, add the conda prefix to handle possible issues with rpaths at link time # sometimes third parties do not set their rpaths correctly set(thirdPartyCppFlags -Wall -std=c++11 + -fPIC -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual @@ -153,19 +158,17 @@ set(thirdPartyCppFlags -Wall -DENABLEJP2K=${JP2KFLAG} ) - # Append CPP flags set in the third party lib file to the string set in this file. - string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) - # Set up the ctest tool which is used to run all of the tests. - enable_testing() - include(CTest) - # Flag to fix numeric literals problem with boost on linux if(NOT APPLE) set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) endif() + # Append CPP flags set in the third party lib file to the string set in this file. + string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) + + # Paths to required executables find_program(XALAN Xalan REQUIRED) find_program(LATEX latex) diff --git a/linux-spec.txt b/linux-spec.txt index 07f700f8dd..9803f9d82f 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -2,13 +2,14 @@ # $ conda create --name --file # platform: linux-64 @EXPLICIT -https://conda.anaconda.org/usgs-astrogeology/linux-64/bullet-2.86.1-0.tar.bz2 +https://conda.anaconda.org/krodriguez/linux-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/ds9-7.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/flann-1.8.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.0.0-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geos-3.5.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-0.tar.bz2 @@ -21,39 +22,40 @@ https://conda.anaconda.org/conda-forge/linux-64/jbig-2.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-hdf63c60_3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-hdf63c60_3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/noarch/llvm-meta-5.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mysql-connector-c-6.1.6-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nanoflann-1.2.2-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/ncurses-5.9-10.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/patchelf-0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pcre-8.39-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/proj4-4.9.3-5.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.3-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/rhash-1.3.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.13.0-1.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/system-5.8-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/system-5.8-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tbb-4.4_20160526-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tk-8.5.19-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/tnt-126-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-6.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/xz-5.2.3-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.1.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 @@ -61,56 +63,61 @@ https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/isl-0.12.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20170329-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libprotobuf-3.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/cloog-0.18.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.8.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/bz2file-0.98-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mysql-5.7.20-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/python-3.6.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/bz2file-0.98-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/future-0.16.0-py36_0.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py36_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/sip-4.18-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py36_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/qt-5.6.2-6.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/setuptools-38.5.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py36_mesalib_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/protobuf-3.5.1-py36_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.6.0-py36_4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/wheel-0.30.0-py36_2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py36_blas_openblas_203.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pip-9.0.1-py36_1.tar.bz2 -- GitLab From 1c95a4ab218a63d674e9d7c18e882829276fd186 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Mon, 2 Apr 2018 13:07:43 -0700 Subject: [PATCH 0260/1212] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eeb51578dc..49ae5caa20 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ If you have a question or a problem with contributing to our software please con If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue. ### Working on an existing issue or enhancement -1. Assign the Redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue that you would like to work on it. Please contact ## REGENT EMAIL HERE ## for permission to work on an issue. +1. Assign the Redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue indicating that you would like to work on it. 2. Propose a solution on the redmine issue. 3. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process. 4. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement. -- GitLab From 51ba1c526c7cd2304fbefd4826bb91ac5e824562 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Mon, 2 Apr 2018 14:40:26 -0700 Subject: [PATCH 0261/1212] Fixed hardcoded values being pushed to m_header.targetRadii --- .../ControlNetVersioner/ControlNetVersioner.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp index 58d743ed9b..5b72a79406 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp @@ -205,16 +205,12 @@ namespace Isis { network += PvlKeyword("LastModified", m_header.lastModified); network += PvlKeyword("Description", m_header.description); if ( !m_header.targetRadii.empty() ) { - // PvlGroup pvlRadii = Target::radiiGroup(m_header.targetName); - // network += pvlRadii; - // network += PvlKeyword("EquatorialRadius", toString(m_header.equatorialRadius.meters() ) ); - // network += PvlKeyword("PolarRadius", toString(m_header.polarRadius.meters())); PvlKeyword targetRadii("TargetRadii"); - targetRadii += toString(m_header.targetRadii[0].meters()); - targetRadii += toString(m_header.targetRadii[1].meters()); - targetRadii += toString(m_header.targetRadii[2].meters()); - network += targetRadii; - } + for (uint i = 0; i < m_header.targetRadii.size(); i++) { + targetRadii += toString(m_header.targetRadii[i].meters()); + } + network += targetRadii; + } // optionally add username to output? // This is the Pvl version we're converting to -- GitLab From 4592d24f745eb538734bab491f364831f8449c17 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Mon, 2 Apr 2018 16:06:50 -0700 Subject: [PATCH 0262/1212] Fixed references to polar and equitorial radius calls to reference the radii from the header instead. Issued checks to the integrity of ingested radii value when ingesting a control network. --- .../ControlNetVersioner.cpp | 58 +++++++++---------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp index 5b72a79406..f21946f24e 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp @@ -64,7 +64,13 @@ namespace Isis { header.description = net->Description(); header.userName = net->GetUserName(); - header.targetRadii = net->GetTargetRadii(); + std::vector netRadii = net->GetTargetRadii(); + if ( netRadii.size() >= 3 && + netRadii[0].isValid() && + netRadii[1].isValid() && + netRadii[2].isValid() ) { + header.targetRadii = net->GetTargetRadii(); + } createHeader(header); } @@ -204,31 +210,20 @@ namespace Isis { network += PvlKeyword("Created", m_header.created); network += PvlKeyword("LastModified", m_header.lastModified); network += PvlKeyword("Description", m_header.description); - if ( !m_header.targetRadii.empty() ) { - PvlKeyword targetRadii("TargetRadii"); - for (uint i = 0; i < m_header.targetRadii.size(); i++) { - targetRadii += toString(m_header.targetRadii[i].meters()); - } - network += targetRadii; + + // Grab TargetRadii if they exist. + if (!m_header.targetRadii.empty()) { + PvlKeyword pvlRadii("TargetRadii"); + for (uint i = 0; i < m_header.targetRadii.size(); i++) { + pvlRadii += toString(m_header.targetRadii[i].meters()); + } + network += pvlRadii; } // optionally add username to output? // This is the Pvl version we're converting to network += PvlKeyword("Version", "5"); - // Get Target Radii from naif kernel - PvlGroup pvlRadii; - QString target = (QString)network.findKeyword("TargetName",Pvl::Traverse); - if ( target != "" ) { - try { - NaifStatus::CheckErrors(); - pvlRadii = Target::radiiGroup(target); - } - catch (IException) { - // leave pvlRadii empty if target is not recognized by NAIF - } - } - foreach (ControlPoint *controlPoint, m_points) { PvlObject pvlPoint("ControlPoint"); @@ -350,11 +345,11 @@ namespace Isis { matrix += toString(aprioriCovarianceMatrix(1, 2)); matrix += toString(aprioriCovarianceMatrix(2, 2)); - if ( pvlRadii.hasKeyword("EquatorialRadius") && pvlRadii.hasKeyword("PolarRadius") ) { + if ( !m_header.targetRadii.empty() ) { - aprioriSurfacePoint.SetRadii( Distance(pvlRadii["EquatorialRadius"], Distance::Meters), - Distance(pvlRadii["EquatorialRadius"], Distance::Meters), - Distance(pvlRadii["PolarRadius"], Distance::Meters) ); + aprioriSurfacePoint.SetRadii( m_header.targetRadii[0], + m_header.targetRadii[1], + m_header.targetRadii[2] ); if ( aprioriSurfacePoint.GetLatSigmaDistance().meters() != Isis::Null && aprioriSurfacePoint.GetLonSigmaDistance().meters() != Isis::Null @@ -433,11 +428,11 @@ namespace Isis { matrix += toString(adjustedCovarianceMatrix(1, 2)); matrix += toString(adjustedCovarianceMatrix(2, 2)); - if ( pvlRadii.hasKeyword("EquatorialRadius") && pvlRadii.hasKeyword("PolarRadius") ) { + if ( !m_header.targetRadii.empty() ) { - adjustedSurfacePoint.SetRadii(Distance(pvlRadii["EquatorialRadius"], Distance::Meters), - Distance(pvlRadii["EquatorialRadius"], Distance::Meters), - Distance(pvlRadii["PolarRadius"], Distance::Meters) ); + adjustedSurfacePoint.SetRadii( m_header.targetRadii[0], + m_header.targetRadii[1], + m_header.targetRadii[2] ); if ( adjustedSurfacePoint.GetLatSigmaDistance().meters() != Isis::Null && adjustedSurfacePoint.GetLonSigmaDistance().meters() != Isis::Null @@ -1699,13 +1694,14 @@ namespace Isis { m_header.targetName = "Mars"; } - if ( !m_header.targetName.isEmpty() ) { + if ( m_header.targetRadii.empty() ) { try { - // attempt to get target radii values... + // attempt to get target radii values... // The target body raii values are read from the PvlV0005 and BinaryV0005 // Networks. In the event these values weren't read (from an older network) // then we must grab them from the Target::radii group. - if ( m_header.targetRadii.empty() ) { + if ( !m_header.targetName.isEmpty() ) { + PvlGroup pvlRadii = Target::radiiGroup(m_header.targetName); m_header.targetRadii.push_back(Distance(pvlRadii["EquatorialRadius"], Distance::Meters)); -- GitLab From 4963a5e3fc2e96d3de5e63347a3d3b555c531389 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Mon, 2 Apr 2018 16:11:39 -0700 Subject: [PATCH 0263/1212] Verify the integrity of targetradii distances upon ingestion of PvlV0005 and BinaryV0005 networks. --- .../ControlNetVersioner/ControlNetVersioner.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp index f21946f24e..5a1ccc4d86 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp @@ -855,8 +855,11 @@ namespace Isis { if (network.hasKeyword("TargetRadii")) { header.targetRadii.clear(); for (int i = 0; i < network.findKeyword("TargetRadii").size(); i++) { - header.targetRadii.push_back(Distance(toDouble(network.findKeyword("TargetRadii")[i]), - Distance::Meters)); + Distance distance = Distance(toDouble(network.findKeyword("TargetRadii")[i]), + Distance::Meters); + if ( distance.isValid() ) { + header.targetRadii.push_back(distance); + } } } createHeader(header); @@ -1244,8 +1247,10 @@ namespace Isis { if ( protoHeader.targetradii_size() >= 3 ) { header.targetRadii.clear(); for (int i = 0; i < protoHeader.targetradii_size(); i++) { - header.targetRadii.push_back(Distance(protoHeader.targetradii(i), - Distance::Meters)); + Distance distance = Distance(protoHeader.targetradii(i), Distance::Meters); + if ( distance.isValid() ) { + header.targetRadii.push_back(distance); + } } } createHeader(header); -- GitLab From 34d99c7f50444d9766c843f2e918110a861da2b9 Mon Sep 17 00:00:00 2001 From: jlaura Date: Wed, 4 Apr 2018 06:19:35 -0700 Subject: [PATCH 0264/1212] Revert "Adding support for libisis python bindings" --- .gitignore | 160 ---------- configure.py | 88 ----- environment.yml | 58 ++-- isis/CMakeLists.txt | 287 +++-------------- Jenkinsfile => isis/Jenkinsfile | 0 isis/cmake/AddIsisModule.cmake | 2 + isis/cmake/CMakeLists.txt | 4 + isis/cmake/FindAllDependencies.cmake | 122 +++++++ isis/cmake/FindBullet.cmake | 22 +- isis/cmake/FindCSPICE.cmake | 4 +- isis/cmake/FindCholmod.cmake | 18 +- isis/cmake/FindEigen.cmake | 2 +- isis/cmake/FindEmbree.cmake | 4 +- isis/cmake/FindGMM.cmake | 2 +- isis/cmake/FindGSL.cmake | 6 +- isis/cmake/FindGeoTIFF.cmake | 4 +- isis/cmake/FindGeos.cmake | 6 +- isis/cmake/FindHDF5.cmake | 10 +- isis/cmake/FindJama.cmake | 2 +- isis/cmake/FindKakadu.cmake | 8 +- isis/cmake/FindLibPython.py | 10 - isis/cmake/FindNN.cmake | 4 +- isis/cmake/FindOpenCV.cmake | 28 +- isis/cmake/FindPCL.cmake | 8 +- isis/cmake/FindPNG.cmake | 4 +- isis/cmake/FindProtobuf.cmake | 4 +- isis/cmake/FindPython.cmake | 108 ------- isis/cmake/FindQwt.cmake | 4 +- isis/cmake/FindSip.cmake | 44 --- isis/cmake/FindSip.py | 13 - isis/cmake/FindSuperLU.cmake | 4 +- isis/cmake/FindTIFF.cmake | 4 +- isis/cmake/FindTNT.cmake | 2 +- isis/cmake/FindX11.cmake | 2 +- isis/cmake/FindXercesC.cmake | 4 +- isis/cmake/Findnanoflann.cmake | 2 +- isis/sipfiles/BundleAdjust.sip | 31 -- isis/sipfiles/BundleControlPoint.sip | 68 ---- isis/sipfiles/BundleImage.sip | 16 - isis/sipfiles/BundleMeasure.sip | 30 -- .../BundleObservationSolveSettings.sip | 59 ---- isis/sipfiles/BundleResults.sip | 125 -------- isis/sipfiles/BundleSettings.sip | 113 ------- isis/sipfiles/BundleSolutionInfo.sip | 28 -- isis/sipfiles/ControlNet.sip | 31 -- isis/sipfiles/ControlPoint.sip | 302 ------------------ isis/sipfiles/MaximumLikelihoodWFunctions.sip | 52 --- isis/sipfiles/Statistics.sip | 41 --- isis/sipfiles/master.sip | 75 ----- isis/sipfiles/type_conversions.sip | 292 ----------------- .../apps/seedgrid/tsts/errors/errors.txt | 1 - .../BundleObservationSolveSettings.h | 1 - linux-spec.txt | 76 +++-- macos-spec.txt | 111 +++---- 54 files changed, 376 insertions(+), 2130 deletions(-) delete mode 100644 configure.py rename Jenkinsfile => isis/Jenkinsfile (100%) create mode 100644 isis/cmake/FindAllDependencies.cmake delete mode 100644 isis/cmake/FindLibPython.py delete mode 100644 isis/cmake/FindPython.cmake delete mode 100644 isis/cmake/FindSip.cmake delete mode 100644 isis/cmake/FindSip.py delete mode 100644 isis/sipfiles/BundleAdjust.sip delete mode 100644 isis/sipfiles/BundleControlPoint.sip delete mode 100644 isis/sipfiles/BundleImage.sip delete mode 100644 isis/sipfiles/BundleMeasure.sip delete mode 100644 isis/sipfiles/BundleObservationSolveSettings.sip delete mode 100644 isis/sipfiles/BundleResults.sip delete mode 100644 isis/sipfiles/BundleSettings.sip delete mode 100644 isis/sipfiles/BundleSolutionInfo.sip delete mode 100644 isis/sipfiles/ControlNet.sip delete mode 100644 isis/sipfiles/ControlPoint.sip delete mode 100644 isis/sipfiles/MaximumLikelihoodWFunctions.sip delete mode 100644 isis/sipfiles/Statistics.sip delete mode 100644 isis/sipfiles/master.sip delete mode 100644 isis/sipfiles/type_conversions.sip delete mode 100644 isis/src/control/apps/seedgrid/tsts/errors/errors.txt diff --git a/.gitignore b/.gitignore index fdd6c6484c..789cc4093c 100644 --- a/.gitignore +++ b/.gitignore @@ -43,163 +43,3 @@ print.prt */tsts/*/output/* */build/ */install/ - -# Created by https://www.gitignore.io/api/c++ - -### C++ ### -# Prerequisites -*.d -*.hpp -*.sbf - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - - -# Created by https://www.gitignore.io/api/osx - -### OSX ### -*.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon -# Thumbnails -._* -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -# Created by https://www.gitignore.io/api/python - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# dotenv -.env - -# virtualenv -.venv/ -venv/ -ENV/ - -# Spyder project settings -.spyderproject - -# Rope project settings -.ropeproject diff --git a/configure.py b/configure.py deleted file mode 100644 index 4a3c84d735..0000000000 --- a/configure.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -import sys -import sipconfig -import sipdistutils -import PyQt5 -import subprocess -import argparse - -from os.path import splitext -from os.path import dirname -from glob import glob -from distutils.spawn import find_executable - -from PyQt5.QtCore import PYQT_CONFIGURATION -from plio.utils.utils import find_in_dict -from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict -from sipconfig import ModuleMakefile - -def main (module): - # The name of the SIP build file generated by SIP and used by the build - # system. - sipy_sip_dir = "sipfiles/" - module = sipy_sip_dir+module + '.sip' - build_file = "bundle"+".sbf" - target = module+".so" - - # Get the extra SIP flags needed by the imported qt module. Note that - # this normally only includes those flags (-x and -t) that relate to SIP's - # versioning system. - qt_sip_flags = qtconfigdict["sip_flags"] - - # sip_bin = current_env_path + "/bin/sip" - sip_bin = find_executable('sip') - pyqt_sip_dir = dirname(dirname(sip_bin)) + "/share/sip/PyQt5" - - # Get the PyQt configuration information. - config = sipconfig.Configuration() - - # Run SIP to generate the code. Note that we tell SIP where to find the qt - # module's specification files using the -I flag. - - errcode = os.system(" ".join([sip_bin, "-e","-c", ".", "-b", build_file, "-I", - pyqt_sip_dir, qt_sip_flags, module])) - - if errcode != 0: - print('sip exited with non zero error code: {}'.format(errcode)) - - # We are going to install the SIP specification file for this module and - # its configuration module. - installs = [] - installs.append([module, os.path.join(pyqt_sip_dir, "isis3")]) - - isis_root = os.getenv("ISISROOT") - if not isis_root: - raise("Please set ISIS") - - extra_libs = ["$(ALLLIBS)", "-Wl,-rpath,"+isis_root+"/lib", "-Wl,-rpath,"+isis_root+"/3rdParty/lib"] - - makefile = ModuleMakefile(configuration=config, build_file=build_file, installs=installs) - makefile.extra_cxxflags = ["$(ALLINCDIRS)", "-Wstrict-aliasing=0", "-Wno-unused-variable"] - makefile.extra_lflags = ["$(ALLLIBDIRS)"] - makefile.extra_include_dirs = [x[0] for x in os.walk('incs/')] - makefile.extra_lib_dirs = [isis_root + '/3rdParty/lib', isis_root + 'lib'] - makefile.generate() - - # add import line for isismake.os - isis_makefile = "include " + isis_root + "/make/isismake.os" - - with open("Makefile", 'r+') as f: - content = f.read() - content = content.replace("LIBS =", "LIBS = " + ' '.join(extra_libs)) - f.seek(0, 0) - f.write(isis_makefile + '\n\n' + content) - -if __name__ == "__main__": - clean = ['cpp', 'c', 'h', 'hpp', 'o', 'sbf'] - - # If clean is passed in, clear up all the files genreated by the scripts - if len(sys.argv) > 1 and sys.argv[1] == 'clean': - files = [] - for filetype in clean: - files.extend(glob('*.{}'.format(filetype))) - - for f in files: - os.remove(f) - exit() - - main('master') diff --git a/environment.yml b/environment.yml index 0df225c443..543eb509e1 100644 --- a/environment.yml +++ b/environment.yml @@ -8,36 +8,35 @@ channels: - jlaura - defaults dependencies: - - ca-certificates==2017.08.26 + - ca-certificates==2017.08.26=h1d4fec5_0 - dbus==1.10.20=0 - - future==0.16.0 - - gst-plugins-base + - future==0.16.0=y27_1 + - gst-plugins-base=1.8.0=0 - gstreamer==1.8.0=0 - - jsoncpp==1.8.3 + - jsoncpp==1.8.3=h3a67955_0 + - libgcc==4.8.5=1 + - libgcc-ng==7.2.0=h7cc24e2_2 - libgfortran==3.0=0 - - libstdcxx-ng==7.2.0 - - qwt=6.1.3 - - pyqt=5.6.0 - - sip=4.18 + - libstdcxx-ng==7.2.0=h7a57d05_2 - libxcb==1.12=1 - - mysql==5.7.20 + - mysql==5.7.20=h55eaa98_0 - ncurses==5.9=10 - ninja==1.7.2=0 - - patchelf==0.9 - - pip==9.0.1 - - setuptools=38.5.1 - - wheel==0.30.0 + - patchelf==0.9=hf79760b_2 + - pip==9.0.1=py27_1 + - setuptools=38.5.1=py27_0 + - wheel==0.30.0=py27h2bc6bb2_1 - xerces-c==3.1.4=0 - xz==5.2.3=0 - zlib==1.2.11=0 - blas==1.1=openblas - - boost==1.65.1 - - boost-cpp==1.65.1 + - boost==1.65.1=py27_0 + - boost-cpp==1.65.1=1 - bzip2==1.0.6=1 - cairo==1.14.6=4 - - certifi==2018.1.18 + - certifi==2018.1.18=py27_0 - cmake==3.9.1=0 - - cspice==66-0 + - cspice==66=0 - curl==7.55.1=0 - doxygen==1.8.14=0 - eigen==3.3.3=0 @@ -49,7 +48,7 @@ dependencies: - freeglut==3.0.0=4 - freetype==2.7=1 - geos==3.5.1=1 - - geotiff==1.4.2 + - geotiff==1.4.2=1 - gettext==0.19.8.1=0 - giflib==5.1.4=0 - glib==2.51.4=0 @@ -57,7 +56,7 @@ dependencies: - gsl==2.2.1=blas_openblas_3 - harfbuzz==1.3.4=2 - hdf5==1.8.18=2 - - icu==58.2 + - icu==58.2=0 - jasper==1.900.1=1 - jbig==2.1=0 - jpeg==9b=2 @@ -81,24 +80,24 @@ dependencies: - mysql-connector-c==6.1.6=0 - nanoflann==1.2.2=0 - nn==1.86.0=2 - - numpy==1.13.3=py36_blas_openblas_200 + - numpy==1.13.3=py27_blas_openblas_200 - openblas==0.2.19=2 - - opencv==3.2.0=np113py36_blas_openblas_203 + - opencv==3.2.0=np113py27_blas_openblas_203 - openssl==1.0.2n=0 - pcre==8.39=0 - pixman==0.34.0=1 - proj4==4.9.3=5 - pthread-stubs==0.3=1 - - python==3.6 + - python==2.7.14=2 - readline==6.2=0 - rhash==1.3.4=0 - - six==1.11.0 + - six==1.11.0=py27_1 - sqlite==3.13.0=1 - suitesparse==4.5.4=blas_openblas_200 - superlu==5.2.1=blas_openblas_201 - tbb==4.4_20160526=1 - tk==8.5.19=2 - - vtk==8.1.0 + - vtk==8.1.0=py27_mesalib_0 - x264==20131217=3 - xorg-kbproto==1.0.7=1 - xorg-libx11==1.6.4=6 @@ -107,20 +106,21 @@ dependencies: - xorg-libxrender==0.9.10=0 - xorg-renderproto==0.11.1=1 - xorg-xproto==7.0.31=6 - - bz2file==0.98 + - bz2file==0.98=py27_0 - cloog==0.18.0=0 + - gcc==4.8.5=7 - isl==0.12.2=0 - - protobuf==3.5.1 + - protobuf==2.6.1=py27_1 - system==5.8=2 - - libprotobuf==3.2.0=0 + - libprotobuf==2.6.1=0 - bullet==2.86.1=0 - ds9==7.5=0 - gmm==5.0=0 - jama==125=0 - pcl==1.8.1=0 - qhull==7.2.0=0 - - qt==5.6.2 - - qwt==6.1.3 + - qt==5.7.1=0 + - qwt==6.1.3=0 - tnt==126=0 - xalan-c==1.11=0 prefix: /scratch/anaconda3/envs/isis diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 7fa0c88cff..47d86789a1 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -57,8 +57,10 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) -# make sure to leave rpaths untouched on install -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +# Specify flags used +# on linux, add the conda prefix to handle possible issues with rpaths at link time +# sometimes third parties do not set their rpaths correctly +set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) @@ -69,283 +71,92 @@ option(buildMissions "Build the mission specific modules" ON ) option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) -option(pybindings "Turn on to build Python bindings" ON ) +option(develop "Use a devleopment configuration" ON ) # if cmake install prefix is not set, and conda env is activated, use the # conda env as the install directory if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") - set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) + set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) +endif() + +message("Installing in: ${CMAKE_INSTALL_PREFIX}") + +# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K +# needs to be either 1 or 0 for C style true false +if(JP2KFLAG) + set(JP2KFLAG 1) endif() # Prioritize passed in variables over env vars, probably a better way to do this if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) - set(isis3Data $ENV{ISIS3DATA}) + set(isis3Data $ENV{ISIS3DATA}) + set(isis3Data ON) endif() if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) - set(isis3TestData $ENV{ISIS3TESTDATA}) + set(isis3TestData $ENV{ISIS3TESTDATA}) + set(isis3TestData ON) endif() if(EXISTS ${isis3Data}) - set(ENV{ISIS3DATA} "${isis3Data}") + set(ENV{ISIS3DATA} "${isis3Data}") + message("Using ISIS3DATA = $ENV{ISIS3DATA}") else() - message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") - set(isis3Data OFF) + message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") endif() if(EXISTS ${isis3TestData}) - set(ENV{ISIS3TESTDATA} "${isis3TestData}") + set(ENV{ISIS3TESTDATA} "${isis3TestData}") + message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") else() - message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") - set(isis3TestData OFF) + message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") endif() -if(${testOutputDir} STREQUAL "OFF") - message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") - set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") - execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) -else() - # User specified a test output folder, make sure it exists. - message("Writing test data folders to = ${testOutputDir}") - execute_process(COMMAND mkdir -p ${testOutputDir}) -endif() +if(develop) -# inject ISISROOT -add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) -add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) - -message("CONFIGURATION") -message("\tBUILD STATIC CORE: ${buildStaticCore}") -message("\tBUILD TESTS: ${buildTests}") -message("\tBUILD CORE: ${buildCore}") -message("\tBUILD MISSIONS: ${buildMissions}") -message("\tJP2K SUPPORT: ${JP2KFLAG}") -message("\tPYTHON BINDINGS: ${pybindings}") -message("\tISIS3DATA: ${isis3Data}") -message("\tISISTESTDATA: ${isis3TestData}") -message("\tTEST OUTPUT DIR: ${testOutputDir}") -message("\tINSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") - -#=============================================================================== -#=============================================================================== - -# Set up Anaconda prefix in the case with a non-default conda env is activated -if(EXISTS $ENV{CONDA_PREFIX}) - message("CONDA PREFIX: $ENV{CONDA_PREFIX}") - list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} - $ENV{CONDA_PREFIX}/lib/cmake/Qt5) endif() -# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K -# needs to be either 1 or 0 for C style true false -if(JP2KFLAG) - set(JP2KFLAG 1) -endif() - - # Set up the ctest tool which is used to run all of the tests. - enable_testing() - include(CTest) - -# Specify flags used -# on linux, add the conda prefix to handle possible issues with rpaths at link time -# sometimes third parties do not set their rpaths correctly -set(thirdPartyCppFlags -Wall - -std=c++11 - -fPIC - -DISIS_LITTLE_ENDIAN=1 - -fPIC -Wno-unused-parameter - -Wno-overloaded-virtual - -DGMM_USES_SUPERLU - -DENABLEJP2K=${JP2KFLAG} - ) - -# Flag to fix numeric literals problem with boost on linux -if(NOT APPLE) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals - -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) +if(${testOutputDir} STREQUAL "OFF") + message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") + set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") + execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) +else() + # User specified a test output folder, make sure it exists. + message("Writing test data folders to = ${testOutputDir}") + execute_process(COMMAND mkdir -p ${testOutputDir}) endif() - # Append CPP flags set in the third party lib file to the string set in this file. - string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) - - -# Paths to required executables -find_program(XALAN Xalan REQUIRED) -find_program(LATEX latex) -find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) -find_program(UIC uic REQUIRED) -find_program(MOC moc REQUIRED) -find_program(RCC rcc REQUIRED) -find_program(PROTOC protoc REQUIRED) - -find_package(Qt5 COMPONENTS - Core - Concurrent - Gui - Multimedia - MultimediaWidgets - Network - OpenGL # Needed to install mesa-common-dev for this! - PrintSupport - Qml - Quick - Script - ScriptTools - Sql - Svg - Test - WebChannel - Widgets - Xml - XmlPatterns REQUIRED) - -# Some of these will have non-traditional installs with version numbers in the paths in v007 -# For these, we pass in a version number, and use it in the path suffix -# This only applies to v007, and outside of the building, we should only expect standard installs -# The v007-specific installs are listed beside their find_package calls below: -find_package(Boost 1.59.0 REQUIRED) -find_package(Bullet 2.86 REQUIRED) -find_package(Cholmod 4.4.5 REQUIRED) -find_package(CSPICE 65 REQUIRED) -find_package(Eigen REQUIRED) -find_package(Embree 2.15.0 REQUIRED) -find_package(GeoTIFF 2 REQUIRED) -find_package(GMM 5.0 REQUIRED) -find_package(GSL 19 REQUIRED) -find_package(HDF5 1.8.15 REQUIRED) -find_package(Jama 125 REQUIRED) -find_package(NN REQUIRED) -find_package(OpenCV 3.1.0 REQUIRED) -find_package(PCL 1.8 REQUIRED) -find_package(Protobuf 2.6.1 REQUIRED) -find_package(Qwt 6 REQUIRED) -find_package(SuperLU 4.3 REQUIRED) -find_package(TIFF 4.0.5 REQUIRED) -find_package(TNT 126 REQUIRED) -find_package(XercesC 3.1.2 REQUIRED) -find_package(X11 6 REQUIRED) -find_package(nanoflann REQUIRED) -find_package(PNG REQUIRED) -find_package(Kakadu) -find_package(Geos 3.5.0 REQUIRED) - -# Im this case, we specify the version numbers being searched for in the non-traditional installs. +# Set the default library extension based on the platform if(APPLE) - find_package(OpenGL REQUIRED) -endif(APPLE) - -if(pybindings) - find_package(Python REQUIRED) - find_package(Sip REQUIRED) -endif() - -# Iterate through all variables and extract the libraries and include directories -get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES - -set(ALLLIBDIRS "") -set(ALLLIBS "") -set(ALLINCDIRS "") - -# Get all include dir variables -foreach (_variableName ${_variableNames}) -#message("VAR=${_variableName}") - if (_variableName MATCHES ".+_INCLUDE_DIR$") - list(APPEND ALLINCDIRS "${${_variableName}}") - elseif (_variableName MATCHES ".+_INCLUDE_PATH$") - list(APPEND ALLINCDIRS "${${_variableName}}") - endif(_variableName MATCHES ".+_INCLUDE_DIR$") -endforeach() - -# get all Library variables -foreach (_variableName ${_variableNames}) - get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - list(APPEND ALLLIBS "${${_variableName}}") - endif() -endforeach() - -# Sometimes we add the same lib more than once (especially with LIBDIRS) -list(REMOVE_DUPLICATES ALLLIBDIRS) -list(REMOVE_DUPLICATES ALLLIBS) -list(REMOVE_DUPLICATES ALLINCDIRS) - -#=============================================================================== -#=============================================================================== - -# Set python bindings configuration and set target for generating C++ files -if(pybindings) - message("Configuring Python Bindings") - - if (NOT DEFINED PYINSTALL_DIR) - set(PYINSTALL_DIR ${PYTHON_SITE_PACKAGES_DIR}) - endif() - message("PYTHON BINDINGS INSTALL DIR: ${PYINSTALL_DIR}") - - # We need to get the locations for sip files, modules, etc. - set(ISIS_SIP_DIR "${CMAKE_SOURCE_DIR}/sipfiles") - set(ISIS_SIP_MODULE "${CMAKE_SOURCE_DIR}/sipfiles/master.sip") - set(SIP_BUILD_FILE "isispy.sbf") - set(ISIS_SIP_CODE_DIR ${CMAKE_BINARY_DIR}/sipsrc) - - # Create the output directory for the new .CPP files - execute_process(COMMAND mkdir -p "${ISIS_SIP_CODE_DIR}") - - # get list of output files exepected from sip - - # get the PYQT configuration based flags from Python - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict;print(qtconfigdict['sip_flags'])" - OUTPUT_VARIABLE PYQT_SIP_FLAGS) - - # CMAKE doesn't handle spaces from python well when piping that into the - # command because of white space and a trailing new line, - # so we turn it into a list - string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) - string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) - message("Generating C++ code from sip files") - execute_process(COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE}) - - # add target so users can run the command after initial configuration - add_custom_target(sipfiles - COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE} - COMMENT "Generating C++ code from sip files") - - file(GLOB SIP_GENERATED_SOURCE_FILES ${ISIS_SIP_CODE_DIR}/*.cpp) - add_library(isispy MODULE ${SIP_GENERATED_SOURCE_FILES}) - target_link_libraries(isispy ${ALLLIBS}) - target_link_libraries(isispy isis3) - set_target_properties(isispy PROPERTIES LINK_DEPENDS isis3) - add_dependencies(isispy sipfiles) - - install(TARGETS isispy DESTINATION ${PYINSTALL_DIR}) + set(SO ".dylib") +else() + set(SO ".so") endif() #=============================================================================== #=============================================================================== - # Start setting up the build # Add extension to find fortran until .so symlink can be added to /usr/lib64 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) +# Set up all the third party library dependencies. +include(FindAllDependencies) + # Allow everything to include the 3rd party libraries include_directories(SYSTEM ${ALLINCDIRS}) link_directories(${ALLLIBDIRS}) +# inject ISISROOT +add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) +add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) + # add isis headers file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc) include_directories(${CMAKE_BINARY_DIR}/inc) + set(CORE_LIB_NAME isis3) # Specify relative library include paths which will be set up on @@ -355,6 +166,7 @@ if(APPLE) else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") endif() +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. @@ -365,6 +177,13 @@ EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestP install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") +# Append CPP flags set in the third party lib file to the string set in this file. +string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) +# Set up the ctest tool which is used to run all of the tests. +enable_testing() +include(CTest) + # Delete any existing plugin files in the build folder so they # don't get filled with duplicate entries. file(GLOB existingPlugins "${CMAKE_BINARY_DIR}/plugins/*.plugin") diff --git a/Jenkinsfile b/isis/Jenkinsfile similarity index 100% rename from Jenkinsfile rename to isis/Jenkinsfile diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index f4a87169d2..aa403db34f 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -4,6 +4,7 @@ include(CodeGeneration) + # Incorporate an application folder function(add_isis_app folder libDependencies) @@ -57,6 +58,7 @@ function(add_isis_app folder libDependencies) add_makefile_test_folder(${f} ${appName}_app) endforeach() endif() + endfunction(add_isis_app) diff --git a/isis/cmake/CMakeLists.txt b/isis/cmake/CMakeLists.txt index 8b1df97398..4bb9e778d4 100644 --- a/isis/cmake/CMakeLists.txt +++ b/isis/cmake/CMakeLists.txt @@ -1,3 +1,4 @@ + # This file contains everything that should be exectuted AFTER the installation # step has completed. @@ -9,6 +10,8 @@ install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.0${SO} ${CMAKE_INSTALL_P install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3${SO})") install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis${SO})") + + # On OSX, need to correct all the paths encoded in each of the distributed library files so # that they properly find the distruted files using relative paths. if (APPLE) @@ -23,4 +26,5 @@ if (APPLE) get_filename_component(name ${f} NAME) install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/plugins/${name} resetRpath)") endforeach() + endif() diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake new file mode 100644 index 0000000000..6440e2d679 --- /dev/null +++ b/isis/cmake/FindAllDependencies.cmake @@ -0,0 +1,122 @@ +#============================================================================== +# High level script to handle all required 3rd party dependencies +# - All of them are expected to be in the 3rdParty folder, this script does not +# go looking for them if they are not? +#=============================================================================== + +message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") +list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) + +# Add thirdPartyCppFlags +set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) +set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") + +# Flag to fix numeric literals problem with boost on linux +if(NOT APPLE) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) +endif() + +# Paths to required executables +find_program(XALAN Xalan REQUIRED) +find_program(LATEX latex) +find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) +find_program(UIC uic REQUIRED) +find_program(MOC moc REQUIRED) +find_program(RCC rcc REQUIRED) +find_program(PROTOC protoc REQUIRED) + +find_package(Qt5 COMPONENTS + Core + Concurrent + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + PrintSupport + Qml + Quick + Script + ScriptTools + Sql + Svg + Test + WebChannel + #WebKit + #WebKitWidgets + Widgets + Xml + XmlPatterns REQUIRED) + +# Some of these will have non-traditional installs with version numbers in the paths in v007 +# For these, we pass in a version number, and use it in the path suffix +# This only applies to v007, and outside of the building, we should only expect standard installs +# The v007-specific installs are listed beside their find_package calls below: +find_package(Boost 1.59.0 REQUIRED) +find_package(Bullet 2.86 REQUIRED) +find_package(Cholmod 4.4.5 REQUIRED) +find_package(CSPICE 65 REQUIRED) +find_package(Eigen REQUIRED) +find_package(Embree 2.15.0 REQUIRED) +find_package(GeoTIFF 2 REQUIRED) +find_package(GMM 5.0 REQUIRED) +find_package(GSL 19 REQUIRED) +find_package(HDF5 1.8.15 REQUIRED) +find_package(Jama 125 REQUIRED) +find_package(NN REQUIRED) +find_package(OpenCV 3.1.0 REQUIRED) +find_package(PCL 1.8 REQUIRED) +find_package(Protobuf 2.6.1 REQUIRED) +find_package(Qwt 6 REQUIRED) +find_package(SuperLU 4.3 REQUIRED) +find_package(TIFF 4.0.5 REQUIRED) +find_package(TNT 126 REQUIRED) +find_package(XercesC 3.1.2 REQUIRED) +find_package(X11 6 REQUIRED) +find_package(nanoflann REQUIRED) +find_package(PNG REQUIRED) +find_package(Kakadu) +find_package(Geos 3.5.0 REQUIRED) + + +# Im this case, we specify the version numbers being searched for in the non-traditional installs. +if(APPLE) + find_package(OpenGL REQUIRED) +endif(APPLE) + +get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES +foreach (_variableName ${_variableNames}) +#message("VAR=${_variableName}") + if (_variableName MATCHES ".+_INCLUDE_DIR$") + list(APPEND ALLINCDIRS "${${_variableName}}") + elseif (_variableName MATCHES ".+_INCLUDE_PATH$") + list(APPEND ALLINCDIRS "${${_variableName}}") + endif(_variableName MATCHES ".+_INCLUDE_DIR$") +endforeach() + +foreach (_variableName ${_variableNames}) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBS "${${_variableName}}") + endif() +endforeach() + +foreach (_variableName ${_variableNames}) + get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + endif(_variableName MATCHES "^CMAKE+") +endforeach() + +list(REMOVE_DUPLICATES ALLLIBDIRS) +list(REMOVE_DUPLICATES ALLLIBS) +list(REMOVE_DUPLICATES ALLINCDIRS) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index 8b7b117683..dcc984c2b9 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,14 +23,14 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) -message(STATUS "BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) -message(STATUS "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) -message(STATUS "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) -message(STATUS "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message(STATUS "BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) -message(STATUS "BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) -message(STATUS "BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) -message(STATUS "BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) -message(STATUS "BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) -message(STATUS "BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) -message(STATUS "BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) +message( "-- BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) +message( "-- BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) +message( "-- BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) +message( "-- BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message( "-- BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) +message( "-- BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) +message( "-- BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) +message( "-- BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) +message( "-- BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) +message( "-- BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) +message( "-- BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 3df2e1ff87..78f1af260b 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -14,5 +14,5 @@ find_library(CSPICE_LIBRARY NAMES cspice ) -message(STATUS "CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) -message(STATUS "CSPICE LIB: " ${CSPICE_LIBRARY} ) +message( "-- CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) +message( "-- CSPICE LIB: " ${CSPICE_LIBRARY} ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index a46f6d9c36..c8119a296d 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -36,15 +36,15 @@ endif() get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) -message(STATUS "CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) -message(STATUS "CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) -message(STATUS "CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) -message(STATUS "CAMD LIB: " ${CAMD_LIBRARY} ) -message(STATUS "AMD LIB: " ${AMD_LIBRARY} ) -message(STATUS "SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) -message(STATUS "FORTRAN LIB: " ${FORTRAN_LIBRARY} ) -message(STATUS "BLAS LIB: " ${BLAS_LIBRARY} ) +message( "-- CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) +message( "-- CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) +message( "-- CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) +message( "-- CAMD LIB: " ${CAMD_LIBRARY} ) +message( "-- AMD LIB: " ${AMD_LIBRARY} ) +message( "-- SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) +message( "-- FORTRAN LIB: " ${FORTRAN_LIBRARY} ) +message( "-- BLAS LIB: " ${BLAS_LIBRARY} ) if(NOT APPLE) - message(STATUS "LAPACK LIB: " ${LAPACK_LIBRARY}) + message("-- LAPACK LIB: " ${LAPACK_LIBRARY}) endif() diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index 154a23cd59..ef0829284e 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -14,4 +14,4 @@ find_path(EIGEN_ROOT_INCLUDE_DIR PATH_SUFFIXES eigen eigen3 ) -message(STATUS "EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) +message( "-- EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake index d7af1d78d6..786e3307f6 100644 --- a/isis/cmake/FindEmbree.cmake +++ b/isis/cmake/FindEmbree.cmake @@ -16,5 +16,5 @@ find_library(EMBREE_LIBRARY get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) -message(STATUS "EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) -message(STATUS "EMBREE LIB: " ${EMBREE_LIBRARY}) +message( "-- EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) +message( "-- EMBREE LIB: " ${EMBREE_LIBRARY}) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index 3787fa9534..e2a7d8da50 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -11,4 +11,4 @@ find_path(GMM_INCLUDE_DIR get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) -message(STATUS "GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") +message( "-- GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake index 105dad800e..cd38cf470f 100644 --- a/isis/cmake/FindGSL.cmake +++ b/isis/cmake/FindGSL.cmake @@ -20,6 +20,6 @@ find_library(GSL_CBLAS_LIBRARY get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) -message(STATUS "GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") -message(STATUS "GSL LIB: ${GSL_LIBRARY}") -message(STATUS "GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") +message( "-- GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") +message( "-- GSL LIB: ${GSL_LIBRARY}") +message( "-- GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index 9bfbb68cac..fce2108576 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -16,5 +16,5 @@ find_library(GEOTIFF_LIBRARY get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) -message(STATUS "GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") -message(STATUS "GEOTIFF LIB: ${GEOTIFF_LIBRARY}") +message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") +message( "-- GEOTIFF LIB: ${GEOTIFF_LIBRARY}") diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index dc2df58ec2..8f4cf44249 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -17,8 +17,8 @@ find_library(GEOS_C_LIBRARY NAMES geos_c ) -message(STATUS "GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) -message(STATUS "GEOS LIB: " ${GEOS_LIBRARY} ) -message(STATUS "GEOS C LIB: " ${GEOS_C_LIBRARY} ) +message( "-- GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) +message( "-- GEOS LIB: " ${GEOS_LIBRARY} ) +message( "-- GEOS C LIB: " ${GEOS_C_LIBRARY} ) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindHDF5.cmake b/isis/cmake/FindHDF5.cmake index 1ebf7edcd3..e9abbc72b8 100644 --- a/isis/cmake/FindHDF5.cmake +++ b/isis/cmake/FindHDF5.cmake @@ -17,8 +17,8 @@ find_library(HDF5_HLCPP_LIBRARY NAMES hdf5_hl_cpp) get_filename_component(HDF5_ROOT_INCLUDE_DIR "${HDF5_INCLUDE_DIR}" DIRECTORY) -message(STATUS "HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") -message(STATUS "HDF5 LIB: ${HDF5_LIBRARY}") -message(STATUS "HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") -message(STATUS "HDF5 HL LIB: ${HDF5_HL_LIBRARY}") -message(STATUS "HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") +message( "-- HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") +message( "-- HDF5 LIB: ${HDF5_LIBRARY}") +message( "-- HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") +message( "-- HDF5 HL LIB: ${HDF5_HL_LIBRARY}") +message( "-- HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake index c547d3b27d..71de34db60 100644 --- a/isis/cmake/FindJama.cmake +++ b/isis/cmake/FindJama.cmake @@ -11,4 +11,4 @@ find_path(JAMA_INCLUDE_DIR get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) -message(STATUS "JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") +message( "-- JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index ed637a0e6f..a6edd15542 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -23,9 +23,9 @@ if(JP2KFLAG) get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) - message(STATUS "KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") - message(STATUS "KAKADU A LIB: ${KAKADU_A_LIBRARY}") - message(STATUS "KAKADU V LIB: ${KAKADU_V_LIBRARY}") + message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") + message( "-- KAKADU A LIB: ${KAKADU_A_LIBRARY}") + message( "-- KAKADU V LIB: ${KAKADU_V_LIBRARY}") else() - message(STATUS "KAKADU DISABLED") + message("-- KAKADU DISABLED") endif() diff --git a/isis/cmake/FindLibPython.py b/isis/cmake/FindLibPython.py deleted file mode 100644 index 38ae93fd3b..0000000000 --- a/isis/cmake/FindLibPython.py +++ /dev/null @@ -1,10 +0,0 @@ -# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS - -import sys -import distutils.sysconfig - -print("exec_prefix:%s" % sys.exec_prefix) -print("short_version:%s" % sys.version[:3]) -print("long_version:%s" % sys.version.split()[0]) -print("py_inc_dir:%s" % distutils.sysconfig.get_python_inc()) -print("site_packages_dir:%s" % distutils.sysconfig.get_python_lib(plat_specific=1)) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index fa2b596278..17c030e282 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -15,5 +15,5 @@ find_library(NN_LIBRARY get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) -message(STATUS "NN INCLUDE DIR: ${NN_INCLUDE_DIR}") -message(STATUS "NN LIB: ${NN_LIBRARY}") +message( "-- NN INCLUDE DIR: ${NN_INCLUDE_DIR}") +message( "-- NN LIB: ${NN_LIBRARY}") diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake index 0450572ef0..0984686d94 100644 --- a/isis/cmake/FindOpenCV.cmake +++ b/isis/cmake/FindOpenCV.cmake @@ -28,17 +28,17 @@ find_library(OPENCV_FLANN_LIBRARY NAMES opencv_flann) get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY) -message(STATUS "OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") -message(STATUS "OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") -message(STATUS "OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") -message(STATUS "OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") -message(STATUS "OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") -message(STATUS "OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") -message(STATUS "OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") -message(STATUS "OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") -message(STATUS "OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") -message(STATUS "OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") -message(STATUS "OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") -message(STATUS "OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") -message(STATUS "OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") -message(STATUS "OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") +message( "-- OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") +message( "-- OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") +message( "-- OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") +message( "-- OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") +message( "-- OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") +message( "-- OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") +message( "-- OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") +message( "-- OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") +message( "-- OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") +message( "-- OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") +message( "-- OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") +message( "-- OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") +message( "-- OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") +message( "-- OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 902b5b6b1c..625a6126d7 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -21,7 +21,7 @@ find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) -message(STATUS "PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") -message(STATUS "PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") -message(STATUS "PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") -message(STATUS "PCL IO LIB: ${PCL_IO_LIBRARY}") +message( "-- PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") +message( "-- PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") +message( "-- PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") +message( "-- PCL IO LIB: ${PCL_IO_LIBRARY}") diff --git a/isis/cmake/FindPNG.cmake b/isis/cmake/FindPNG.cmake index 6c2439f113..bc11004ec1 100644 --- a/isis/cmake/FindPNG.cmake +++ b/isis/cmake/FindPNG.cmake @@ -13,5 +13,5 @@ find_library(PNG_LIBRARY NAMES png ) -message(STATUS "PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") -message(STATUS "PNG LIB: ${PNG_LIBRARY}") +message( "-- PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") +message( "-- PNG LIB: ${PNG_LIBRARY}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index 74db9e4342..5374cb50e8 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -7,5 +7,5 @@ find_library(PROTOBUF_LIBRARY NAMES protobuf) get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) -message(STATUS "PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") -message(STATUS "PROTOBUF LIB: ${PROTOBUF_LIBRARY}") +message( "-- PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") +message( "-- PROTOBUF LIB: ${PROTOBUF_LIBRARY}") diff --git a/isis/cmake/FindPython.cmake b/isis/cmake/FindPython.cmake deleted file mode 100644 index 5f5a64a98d..0000000000 --- a/isis/cmake/FindPython.cmake +++ /dev/null @@ -1,108 +0,0 @@ -# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS -# -# PYTHON_EXECUTABLE - The path and filename of the Python interpreter. -# -# PYTHON_SHORT_VERSION - The version of the Python interpreter found, -# excluding the patch version number. (e.g. 2.5 and not 2.5.1)) -# -# PYTHON_LONG_VERSION - The version of the Python interpreter found as a human -# readable string. -# -# PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory. -# -# PYTHON_INCLUDE_PATH - Directory holding the python.h include file. -# -# PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library. - -INCLUDE(CMakeFindFrameworks) - -if(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") - # Already in cache, be silent - set(PYTHONLIBRARY_FOUND TRUE) -else(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") - - FIND_PACKAGE(PythonInterp 3) - - if(PYTHONINTERP_FOUND) - FIND_FILE(_find_lib_python_py FindLibPython.py PATHS ${CMAKE_MODULE_PATH}) - - EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_lib_python_py} OUTPUT_VARIABLE python_config) - if(python_config) - STRING(REGEX REPLACE ".*exec_prefix:([^\n]+).*$" "\\1" PYTHON_PREFIX ${python_config}) - STRING(REGEX REPLACE ".*\nshort_version:([^\n]+).*$" "\\1" PYTHON_SHORT_VERSION ${python_config}) - STRING(REGEX REPLACE ".*\nlong_version:([^\n]+).*$" "\\1" PYTHON_LONG_VERSION ${python_config}) - STRING(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" PYTHON_INCLUDE_PATH ${python_config}) - if(NOT PYTHON_SITE_PACKAGES_DIR) - if(NOT PYTHON_LIBS_WITH_KDE_LIBS) - STRING(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" PYTHON_SITE_PACKAGES_DIR ${python_config}) - else(NOT PYTHON_LIBS_WITH_KDE_LIBS) - set(PYTHON_SITE_PACKAGES_DIR ${KDE4_LIB_INSTALL_DIR}/python${PYTHON_SHORT_VERSION}/site-packages) - endif(NOT PYTHON_LIBS_WITH_KDE_LIBS) - endif(NOT PYTHON_SITE_PACKAGES_DIR) - STRING(REGEX REPLACE "([0-9]+).([0-9]+)" "\\1\\2" PYTHON_SHORT_VERSION_NO_DOT ${PYTHON_SHORT_VERSION}) - set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION} python${PYTHON_SHORT_VERSION_NO_DOT} python${PYTHON_SHORT_VERSION}m python${PYTHON_SHORT_VERSION_NO_DOT}m) - if(WIN32) - STRING(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR}) - FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES} PATHS ${PYTHON_PREFIX}/lib ${PYTHON_PREFIX}/libs) - endif(WIN32) - FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES}) - set(PYTHON_INCLUDE_PATH ${PYTHON_INCLUDE_PATH} CACHE FILEPATH "Directory holding the python.h include file" FORCE) - set(PYTHONLIBRARY_FOUND TRUE) - endif(python_config) - - # adapted from cmake's builtin FindPythonLibs - if(APPLE) - # If a framework has been detected in the include path, make sure - # framework's versioned library (not any .dylib) is used for linking - # NOTE: don't rely upon Python.framework/Versions/Current, since that may be 2.7 - if("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") - set(PYTHON_LIBRARY "") - set(PYTHON_DEBUG_LIBRARY "") - # get clean path to just framework - STRING(REGEX REPLACE "^(.*/Python\\.framework).*$" "\\1" _py_fw "${PYTHON_INCLUDE_PATH}") - if("${_py_fw}" MATCHES "Cellar/python") - # Appears to be a Homebrew Python install; do specific fix ups - # get Homebrew prefix (may not be /usr/local) - STRING(REGEX REPLACE "^(.+)/Cellar.*$" "\\1" _hb_prefix "${_py_fw}") - # prefer the Homebrew prefix framework over only versioned Python keg - set(_py_fw "${_hb_prefix}/Frameworks/Python.framework") - # prefer the symlinked-to Homebrew site-packages over only versioned Python keg - set(PYTHON_SITE_PACKAGES_DIR "${_hb_prefix}/lib/python${PYTHON_SHORT_VERSION}/site-packages") - endif("${_py_fw}" MATCHES "Cellar/python") - # prefer the Headers subdirectory for includes - if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") - set(PYTHON_INCLUDE_PATH "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers" CACHE FILEPATH "Directory holding the python.h include file" FORCE) - endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") - endif("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") - if(NOT PYTHON_LIBRARY) - # ensure the versioned framework's library is defined, instead of relying upon -F search paths - if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") - set(PYTHON_LIBRARY "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python" CACHE FILEPATH "Python framework library" FORCE) - endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") - endif(NOT PYTHON_LIBRARY) - if(PYTHON_LIBRARY) - set(PYTHONLIBRARY_FOUND TRUE) - endif(PYTHON_LIBRARY) - endif(APPLE) - endif(PYTHONINTERP_FOUND) - - if(PYTHONLIBRARY_FOUND) - if(APPLE) - # keep reference to system or custom python site-packages - # useful during app-bundling operations - set(PYTHON_SITE_PACKAGES_SYS ${PYTHON_SITE_PACKAGES_DIR}) - endif(APPLE) - set(PYTHON_LIBRARIES ${PYTHON_LIBRARY}) - if(NOT PYTHONLIBRARY_FIND_QUIETLY) - message(STATUS "Found Python executable: ${PYTHON_EXECUTABLE}") - message(STATUS "Found Python version: ${PYTHON_LONG_VERSION}") - message(STATUS "Found Python library: ${PYTHON_LIBRARY}") - message(STATUS "Found Python site-packages: ${PYTHON_SITE_PACKAGES_DIR}") - endif(NOT PYTHONLIBRARY_FIND_QUIETLY) - else(PYTHONLIBRARY_FOUND) - if(PYTHONLIBRARY_FIND_REQUIRED) - message(FATAL_ERROR "Could not find Python") - endif(PYTHONLIBRARY_FIND_REQUIRED) - endif(PYTHONLIBRARY_FOUND) - -endif (EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 8262a57b69..8b52467945 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -16,5 +16,5 @@ find_library(QWT_LIBRARY get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) -message(STATUS "QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") -message(STATUS "QWT LIB: ${QWT_LIBRARY}") +message( "-- QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") +message( "-- QWT LIB: ${QWT_LIBRARY}") diff --git a/isis/cmake/FindSip.cmake b/isis/cmake/FindSip.cmake deleted file mode 100644 index 8ede37c8d7..0000000000 --- a/isis/cmake/FindSip.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS -# -# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number -# suitable for comparison as a string. -# -# SIP_VERSION_STR - The version of SIP found as a human readable string. -# -# SIP_BINARY_PATH - Path and filename of the SIP command line executable. -# -# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file. -# -# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed -# into. - -IF(SIP_VERSION) - # Already in cache, be silent - SET(SIP_FOUND TRUE) -ELSE(SIP_VERSION) - - FIND_FILE(_find_sip_py FindSip.py PATHS ${CMAKE_MODULE_PATH}) - - EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config) - IF(sip_config) - STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config}) - STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config}) - STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config}) - STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_BINARY_PATH ${sip_config}) - STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config}) - STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config}) - STRING(REGEX REPLACE ".*\nsip_mod_dir:([^\n]+).*$" "\\1" SIP_MOD_DIR ${sip_config}) - SET(SIP_FOUND TRUE) - ENDIF(sip_config) - - IF(SIP_FOUND) - IF(NOT SIP_FIND_QUIETLY) - MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}") - ENDIF(NOT SIP_FIND_QUIETLY) - ELSE(SIP_FOUND) - IF(SIP_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find SIP") - ENDIF(SIP_FIND_REQUIRED) - ENDIF(SIP_FOUND) - -ENDIF(SIP_VERSION) diff --git a/isis/cmake/FindSip.py b/isis/cmake/FindSip.py deleted file mode 100644 index 8cbb00fa5c..0000000000 --- a/isis/cmake/FindSip.py +++ /dev/null @@ -1,13 +0,0 @@ -# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS - - -import sipconfig - -sipcfg = sipconfig.Configuration() -print("sip_version:%06.0x" % sipcfg.sip_version) -print("sip_version_num:%d" % sipcfg.sip_version) -print("sip_version_str:%s" % sipcfg.sip_version_str) -print("sip_bin:%s" % sipcfg.sip_bin) -print("default_sip_dir:%s" % sipcfg.default_sip_dir) -print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) -print("sip_mod_dir:%s" % sipcfg.sip_mod_dir) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 2c588bd138..7462e6dc9a 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -17,5 +17,5 @@ find_library(SUPERLU_LIBRARY get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) -message(STATUS "SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") -message(STATUS "SUPERLU LIB: ${SUPERLU_LIBRARY}") +message( "-- SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") +message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index f483f58778..6b7149b687 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -5,5 +5,5 @@ find_path(TIFF_INCLUDE_DIR find_library(TIFF_LIBRARY NAMES tiff) -message(STATUS "TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") -message(STATUS "TIFF LIB: ${TIFF_LIBRARY}") +message( "-- TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") +message( "-- TIFF LIB: ${TIFF_LIBRARY}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index 0bbfb154c0..aea3a60d36 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -11,4 +11,4 @@ find_path(TNT_INCLUDE_DIR get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) -message(STATUS "TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) +message("-- TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake index fe25ac1315..a1714cb526 100644 --- a/isis/cmake/FindX11.cmake +++ b/isis/cmake/FindX11.cmake @@ -8,4 +8,4 @@ find_library(X11_LIBRARY NAMES X11 ) -message(STATUS "X11 LIB: " ${X11_LIBRARY} ) +message( "-- X11 LIB: " ${X11_LIBRARY} ) diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index 335dca4fda..6e72e533aa 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -6,5 +6,5 @@ find_path(XERCESC_INCLUDE_DIR find_library(XercesC_LIBRARY NAMES xerces-c) -message(STATUS "XERCES LIB: " ${XercesC_LIBRARY} ) -message(STATUS "XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) +message( "-- XERCES LIB: " ${XercesC_LIBRARY} ) +message( "-- XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) diff --git a/isis/cmake/Findnanoflann.cmake b/isis/cmake/Findnanoflann.cmake index 3c05e57013..3562e074d8 100644 --- a/isis/cmake/Findnanoflann.cmake +++ b/isis/cmake/Findnanoflann.cmake @@ -12,4 +12,4 @@ find_path(NANOFLANN_INCLUDE_DIR get_filename_component(NANOFLANN_ROOT_INCLUDE_DIR "${NANOFLANN_INCLUDE_DIR}" DIRECTORY) -message(STATUS "NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") +message( "-- NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") diff --git a/isis/sipfiles/BundleAdjust.sip b/isis/sipfiles/BundleAdjust.sip deleted file mode 100644 index 098d7cab9c..0000000000 --- a/isis/sipfiles/BundleAdjust.sip +++ /dev/null @@ -1,31 +0,0 @@ -// SIP Wrapper to the ISIS3 bundle class -%Include type_conversions.sip - - -namespace Isis { - class BundleAdjust : public QObject { - %TypeHeaderCode - #include "BundleAdjust.h" - #include "IException.h" - %End - - public: - BundleAdjust(PyObject* settings, const QString &cnetFile, const QString &cubeList, bool printSummary = true) throw(Isis::IException) [(QSharedPointer, QString, QString, bool)]; - %MethodCode - int sipErr = 0; - QSharedPointer *wrappedSettings = new QSharedPointer(); - - Isis::BundleSettings *settings = (Isis::BundleSettings*) sipConvertToType(a0, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); - wrappedSettings->reset(settings); - try { - sipCpp = new sipIsis_BundleAdjust(*wrappedSettings, *a1, *a2, a3); - } - catch (Isis::IException &error) { - PyErr_SetString(sipException_Isis_IException, error.what()); - return NULL; - } - %End - - Isis::BundleSolutionInfo solveCholeskyBR() throw(Isis::IException) ; - }; -}; diff --git a/isis/sipfiles/BundleControlPoint.sip b/isis/sipfiles/BundleControlPoint.sip deleted file mode 100644 index 934b00bc94..0000000000 --- a/isis/sipfiles/BundleControlPoint.sip +++ /dev/null @@ -1,68 +0,0 @@ -namespace Isis { - class BundleControlPoint { - - %TypeHeaderCode - #include "BundleControlPoint.h" - #include - %End - - public: - - SIP_PYTYPE measures() throw(Isis::IException); - %MethodCode - size_t size = sipCpp->size(); - - PyObject *l = PyList_New(size); - for (size_t i = 0; i < size; ++i) { - Isis::BundleMeasure* cppMeasure = sipCpp->at(i).data(); - - PyObject *pyMeasure = sipConvertFromType((void*)(cppMeasure), sipType_Isis_BundleMeasure, NULL); - PyList_SetItem(l, i, pyMeasure); - } - - return l; - - %End - - // BundleControlPoint(ControlPoint *point); // default constructor - BundleControlPoint(const Isis::BundleControlPoint &src) throw(Isis::IException); - ~BundleControlPoint(); - - // copy - void copy(const Isis::BundleControlPoint &src) throw(Isis::IException); - - // mutators - // QSharedPointer addMeasure(ControlMeasure *controlMeasure); - void computeResiduals() throw(Isis::IException); - void setNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); - void setRejected(bool reject) throw(Isis::IException); - void setWeights(const QSharedPointer settings, double metersToRadians) throw(Isis::IException); - void zeroNumberOfRejectedMeasures() throw(Isis::IException); - - // accessors - bool isRejected() const throw(Isis::IException); - int numberOfMeasures() const throw(Isis::IException); - int numberOfRejectedMeasures() const throw(Isis::IException); - double residualRms() const throw(Isis::IException); - QString id() const throw(Isis::IException); - Isis::ControlPoint::PointType type() const throw(Isis::IException); - - // string format methods - QString formatBundleOutputSummaryString(bool errorPropagation) const throw(Isis::IException); - QString formatBundleOutputDetailString(bool errorPropagation, double RTM, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; - QString formatValue(double value, int fieldWidth, int precision) throw(Isis::IException); - QString formatAprioriSigmaString(int type, int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; - QString formatLatitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); - QString formatLongitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); - QString formatRadiusAprioriSigmaString(int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; - QString formatAdjustedSigmaString(int type, int fieldWidth, int precision, - bool errorPropagation) const throw(Isis::IException); - QString formatLatitudeAdjustedSigmaString(int fieldWidth, int precision, - bool errorPropagation) const throw(Isis::IException); - QString formatLongitudeAdjustedSigmaString(int fieldWidth, int precision, - bool errorPropagation) const throw(Isis::IException); - QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision, - bool errorPropagation) const throw(Isis::IException); - - }; -}; diff --git a/isis/sipfiles/BundleImage.sip b/isis/sipfiles/BundleImage.sip deleted file mode 100644 index bf8d975d4c..0000000000 --- a/isis/sipfiles/BundleImage.sip +++ /dev/null @@ -1,16 +0,0 @@ -namespace Isis { - class BundleImage /NoDefaultCtors/ { - %TypeHeaderCode - #include "BundleImage.h" - %End - %InstanceCode - sipCpp = new Isis::BundleImage(NULL, "", ""); - %End - public: - - - // QSharedPointer parentObservation(); - QString serialNumber() throw(Isis::IException); - QString fileName() throw(Isis::IException); - }; -}; diff --git a/isis/sipfiles/BundleMeasure.sip b/isis/sipfiles/BundleMeasure.sip deleted file mode 100644 index fd2a02942c..0000000000 --- a/isis/sipfiles/BundleMeasure.sip +++ /dev/null @@ -1,30 +0,0 @@ -%Include type_conversions.sip - -namespace Isis { - class BundleMeasure /NoDefaultCtors/ { - %TypeHeaderCode - #include "BundleMeasure.h" - %End - - public: - - bool isRejected() const throw(Isis::IException); - // Camera *camera() const; - // Isis::BundleControlPoint *parentControlPoint(); - QSharedPointer parentBundleImage() throw(Isis::IException); - // QSharedPointer parentBundleObservation(); - // const QSharedPointer observationSolveSettings(); - - double sample() const throw(Isis::IException); - double sampleResidual() const throw(Isis::IException); - double line() const throw(Isis::IException); - double lineResidual() const throw(Isis::IException); - double residualMagnitude() const throw(Isis::IException); - QString cubeSerialNumber() const throw(Isis::IException); - double focalPlaneComputedX() const throw(Isis::IException); - double focalPlaneComputedY() const throw(Isis::IException); - double focalPlaneMeasuredX() const throw(Isis::IException); - double focalPlaneMeasuredY() const throw(Isis::IException); - int observationIndex() const throw(Isis::IException); - }; -}; diff --git a/isis/sipfiles/BundleObservationSolveSettings.sip b/isis/sipfiles/BundleObservationSolveSettings.sip deleted file mode 100644 index 89b28277c0..0000000000 --- a/isis/sipfiles/BundleObservationSolveSettings.sip +++ /dev/null @@ -1,59 +0,0 @@ - -%Import QtCore/QtCoremod.sip -%Import QtXml/QtXmlmod.sip - -namespace Isis{ - class BundleObservationSolveSettings { - %TypeHeaderCode - #include "BundleObservationSolveSettings.h" - %End - public: - - enum InstrumentPointingSolveOption { - NoPointingFactors = 0, /**< Solve for none of the pointing factors.*/ - AnglesOnly = 1, /**< Solve for pointing angles: right ascension, declination - and, optionally, twist.*/ - AnglesVelocity = 2, //!< Solve for pointing angles and their angular velocities. - AnglesVelocityAcceleration = 3, /**< Solve for pointing angles, their velocities and their - accelerations.*/ - AllPointingCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to - the pointing angles.*/ - }; - - //! Options for how to solve for instrument position - enum InstrumentPositionSolveOption { - NoPositionFactors = 0, /**< Solve for none of the position factors.*/ - PositionOnly = 1, /**< Solve for instrument positions only.*/ - PositionVelocity = 2, /**< Solve for instrument positions and velocities.*/ - PositionVelocityAcceleration = 3, /**< Solve for instrument positions, velocities, and - accelerations.*/ - AllPositionCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to - the instrument positions.*/ - }; - - BundleObservationSolveSettings() throw(Isis::IException); - InstrumentPositionSolveOption stringToInstrumentPositionSolveOption(QString option) throw(Isis::IException); - InstrumentPointingSolveOption stringToInstrumentPointingSolveOption(QString option) throw(Isis::IException); - - void setInstrumentPositionSettings(InstrumentPositionSolveOption option, - int spkDegree = 2, - int spkSolveDegree = 2, - bool positionOverHermite = false, - double positionAprioriSigma = -1.0, - double velocityAprioriSigma = -1.0, - double accelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; - - - void setInstrumentPointingSettings(InstrumentPointingSolveOption option, - bool solveTwist, - int ckDegree = 2, - int ckSolveDegree = 2, - bool solvePolynomialOverExisting = false, - double anglesAprioriSigma = -1.0, - double angularVelocityAprioriSigma = -1.0, - double angularAccelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; - - - - }; -}; diff --git a/isis/sipfiles/BundleResults.sip b/isis/sipfiles/BundleResults.sip deleted file mode 100644 index 777ae54aed..0000000000 --- a/isis/sipfiles/BundleResults.sip +++ /dev/null @@ -1,125 +0,0 @@ -%Include Statistics.sip -%Include type_conversions.sip - - -namespace Isis { - class BundleResults : public QObject { - %TypeHeaderCode - #include "BundleResults.h" - %End - - public: - BundleResults(const Isis::BundleResults &src); - void initialize(); - - void resizeSigmaStatisticsVectors(int numberImages); - // void setRmsImageResidualLists(QList rmsImageLineResiduals, - // QList rmsImageSampleResiduals, - // QList rmsImageResiduals); - // void setRmsImageResidualLists(QVector rmsImageLineResiduals, - // QVector rmsImageSampleResiduals, - // QVector rmsImageResiduals); - // void setSigmaLatitudeRange(Distance minLatDist, Distance maxLatDist, - // QString minLatPointId, QString maxLatPointId); - // void setSigmaLongitudeRange(Distance minLonDist, Distance maxLonDist, - // QString minLonPointId, QString maxLonPointId); - // void setSigmaRadiusRange(Distance minRadDist, Distance maxRadDist, - // QString minRadPointId, QString maxRadPointId); - void setRmsFromSigmaStatistics(double rmsFromSigmaLatStats, - double rmsFromSigmaLonStats, - double rmsFromSigmaRadStats); - - void printMaximumLikelihoodTierInformation() throw(Isis::IException); - void incrementMaximumLikelihoodModelIndex() throw(Isis::IException); - - void incrementFixedPoints() throw(Isis::IException); - int numberFixedPoints() const throw(Isis::IException); - void incrementHeldImages() throw(Isis::IException); - int numberHeldImages() const throw(Isis::IException); - void incrementIgnoredPoints() throw(Isis::IException); - int numberIgnoredPoints() const throw(Isis::IException); // currently unused ??? - void setRejectionLimit(double rejectionLimit) throw(Isis::IException); - void setRmsXYResiduals(double rx, double ry, double rxy) throw(Isis::IException); - - void setNumberRejectedObservations(int numberObservations) throw(Isis::IException); - void setNumberObservations(int numberObservations) throw(Isis::IException); - void setNumberImageParameters(int numberParameters) throw(Isis::IException); // ??? this is the same value an m_nRank - void resetNumberConstrainedPointParameters() throw(Isis::IException); - void incrementNumberConstrainedPointParameters(int incrementAmount) throw(Isis::IException); - void resetNumberConstrainedImageParameters() throw(Isis::IException); - void incrementNumberConstrainedImageParameters(int incrementAmount) throw(Isis::IException); - void resetNumberConstrainedTargetParameters() throw(Isis::IException); - void incrementNumberConstrainedTargetParameters(int incrementAmount) throw(Isis::IException); - void setNumberUnknownParameters(int numberParameters) throw(Isis::IException); - void computeDegreesOfFreedom() throw(Isis::IException); - - void computeSigma0(double dvtpv, Isis::BundleSettings::ConvergenceCriteria criteria) throw(Isis::IException); - void setDegreesOfFreedom(double degreesOfFreedom) throw(Isis::IException); - void setSigma0(double sigma0) throw(Isis::IException); - void setElapsedTime(double time) throw(Isis::IException); - void setElapsedTimeErrorProp(double time) throw(Isis::IException); - void setRadiansToMeters(double rtm) throw(Isis::IException); - void setConverged(bool converged) throw(Isis::IException); // or initialze method - // void setBundleControlPoints(QVector controlPoints); - // void setOutputControlNet(QSharedPointer outNet); - void setIterations(int iterations) throw(Isis::IException); - // void setObservations(BundleObservationVector observations) throw(Isis::IException); - - QList rmsImageSampleResiduals() const throw(Isis::IException); - QList rmsImageLineResiduals() const throw(Isis::IException); - QList rmsImageResiduals() const throw(Isis::IException); - QVector rmsImageXSigmas() const throw(Isis::IException); // currently unused ??? - QVector rmsImageYSigmas() const throw(Isis::IException); // currently unused ??? - QVector rmsImageZSigmas() const throw(Isis::IException); // currently unused ??? - QVector rmsImageRASigmas() const throw(Isis::IException); // currently unused ??? - QVector rmsImageDECSigmas() const throw(Isis::IException); // currently unused ??? - QVector rmsImageTWISTSigmas() const throw(Isis::IException); // currently unused ??? - - // Distance minSigmaLatitudeDistance() const throw(Isis::IException); - // Distance maxSigmaLatitudeDistance() const throw(Isis::IException); - // Distance minSigmaLongitudeDistance() const throw(Isis::IException); - // Distance maxSigmaLongitudeDistance() const throw(Isis::IException); - // Distance minSigmaRadiusDistance() const throw(Isis::IException); - // Distance maxSigmaRadiusDistance() const throw(Isis::IException); - - QString maxSigmaLatitudePointId() const throw(Isis::IException); - QString minSigmaLatitudePointId() const throw(Isis::IException); - QString minSigmaLongitudePointId() const throw(Isis::IException); - QString maxSigmaLongitudePointId() const throw(Isis::IException); - QString minSigmaRadiusPointId() const throw(Isis::IException); - QString maxSigmaRadiusPointId() const throw(Isis::IException); - double sigmaLatitudeStatisticsRms() const throw(Isis::IException); - double sigmaLongitudeStatisticsRms() const throw(Isis::IException); - double sigmaRadiusStatisticsRms() const throw(Isis::IException); - double rmsRx() const throw(Isis::IException); // currently unused ??? - double rmsRy() const throw(Isis::IException); // currently unused ??? - double rmsRxy() const throw(Isis::IException); // currently unused ??? - double rejectionLimit() const throw(Isis::IException); - double radiansToMeters() const throw(Isis::IException); - int numberRejectedObservations() const throw(Isis::IException); - int numberObservations() const throw(Isis::IException); - - int numberImageParameters() const throw(Isis::IException); // ??? this is the same value an m_nRank - int numberConstrainedPointParameters() const throw(Isis::IException); - int numberConstrainedImageParameters() const throw(Isis::IException); - int numberConstrainedTargetParameters() const throw(Isis::IException); - int numberUnknownParameters() const throw(Isis::IException); - int degreesOfFreedom() const throw(Isis::IException); - double sigma0() const throw(Isis::IException); - double elapsedTime() const throw(Isis::IException); - double elapsedTimeErrorProp() const throw(Isis::IException); - bool converged() const throw(Isis::IException); // or initialze method - - QVector > &bundleControlPoints(); - QSharedPointer outputControlNet() const throw(Isis::IException); - - int iterations() const throw(Isis::IException); - - int numberMaximumLikelihoodModels() const throw(Isis::IException); - int maximumLikelihoodModelIndex() const throw(Isis::IException); - double maximumLikelihoodMedianR2Residuals() const throw(Isis::IException); - double maximumLikelihoodModelQuantile(int modelIndex) const throw(Isis::IException); - - }; - -}; diff --git a/isis/sipfiles/BundleSettings.sip b/isis/sipfiles/BundleSettings.sip deleted file mode 100644 index b6f9799ab4..0000000000 --- a/isis/sipfiles/BundleSettings.sip +++ /dev/null @@ -1,113 +0,0 @@ -%Include BundleObservationSolveSettings.sip -%Include MaximumLikelihoodWFunctions.sip - -%Include type_conversions.sip - -namespace Isis { - - class BundleSettings { - %TypeHeaderCode - #include "BundleSettings.h" - #include "BundleObservationSolveSettings.h" - #include - %End - public: - - enum ConvergenceCriteria { - Sigma0, /**< The value of sigma0 will be used to determine that the bundle - adjustment has converged.*/ - ParameterCorrections /**< All parameter corrections will be used to determine that the - bundle adjustment has converged.*/ - }; - - // enum MaximumLikelihoodModel { - // NoMaximumLikelihoodEstimator, - // Huber, - // ModifiedHuber, - // Welsch, - // Chen - // }; - - BundleSettings() throw(Isis::IException); - - void setValidateNetwork(bool) throw(Isis::IException); - - void setSolveOptions(bool solveObservationMode = false, - bool updateCubeLabel = false, - bool errorPropagation = false, - bool solveRadius = false, - double globalLatitudeAprioriSigma = Isis::Null, - double globalLongitudeAprioriSigma = Isis::Null, - double globalRadiusAprioriSigma = Isis::Null) throw(Isis::IException) /KeywordArgs="Optional"/; - - void setOutlierRejection(bool outlierRejection, - double multiplier = 1.0) throw(Isis::IException); - - bool solveObservationMode() const throw(Isis::IException); - bool solveRadius() const throw(Isis::IException); - bool updateCubeLabel() const throw(Isis::IException); - bool errorPropagation() const throw(Isis::IException); - bool outlierRejection() const throw(Isis::IException); - double outlierRejectionMultiplier() const throw(Isis::IException); - double globalLatitudeAprioriSigma() const throw(Isis::IException); - double globalLongitudeAprioriSigma() const throw(Isis::IException); - double globalRadiusAprioriSigma() const throw(Isis::IException); - - int numberSolveSettings() const throw(Isis::IException); - Isis::BundleObservationSolveSettings observationSolveSettings(QString instrumentId) const throw(Isis::IException); - Isis::BundleObservationSolveSettings observationSolveSettings(int n) const throw(Isis::IException); - - void setObservationSolveOptions(QList); - // %MethodCode - // Py_ssize_t size = PyList_Size(a0); - // QList *cppSettingsList = new QList(); - // int sipErr = 0; - // for(int i = 0; i < size; i++) { - // PyObject *pyStat = PyList_GET_ITEM(a0, i); - // Isis::BundleObservationSolveSettings *settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pyStat, sipType_Isis_BundleObservationSolveSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); - // cppSettingsList->append(*settings); - // } - // - // sipCpp->setObservationSolveOptions(*cppSettingsList); - // %End - - SIP_PYLIST maximumLikelihoodEstimatorModels() const throw(Isis::IException); - %MethodCode // convert QList to Python list if tuples - typedef Isis::MaximumLikelihoodWFunctions::Model Model; - size_t size = sipCpp->maximumLikelihoodEstimatorModels().size(); - PyObject *l = PyList_New(size); - for (size_t i = 0; i < size; ++i) { - // get the two items from the QPair - Model *model = new Model(sipCpp->maximumLikelihoodEstimatorModels()[i].first); - double doubl = sipCpp->maximumLikelihoodEstimatorModels()[i].second; - - // Convert the two items to PyObjects - PyObject *first = sipConvertFromType((void*)(model), sipType_Isis_MaximumLikelihoodWFunctions_Model, NULL); - PyObject *second = PyFloat_FromDouble(doubl); - - // set the tuple items - PyObject *tuple = PyTuple_New(2); - PyTuple_SetItem(tuple, 0, first); - PyTuple_SetItem(tuple, 1, second); - - // Add new tuple to list - PyList_SetItem(l, i, tuple); - } - return l; - %End - - - int numberTargetBodyParameters() const throw(Isis::IException); - bool solveTargetBody() const throw(Isis::IException); - bool solvePoleRA() const throw(Isis::IException); - bool solvePoleRAVelocity() const throw(Isis::IException); - bool solvePoleDec() const throw(Isis::IException); - bool solvePoleDecVelocity() const throw(Isis::IException); - bool solvePM() const throw(Isis::IException); - bool solvePMVelocity() const throw(Isis::IException); - bool solvePMAcceleration() const throw(Isis::IException); - bool solveTriaxialRadii() const throw(Isis::IException); - bool solveMeanRadius() const throw(Isis::IException); - - }; -}; diff --git a/isis/sipfiles/BundleSolutionInfo.sip b/isis/sipfiles/BundleSolutionInfo.sip deleted file mode 100644 index 7f1c27ba14..0000000000 --- a/isis/sipfiles/BundleSolutionInfo.sip +++ /dev/null @@ -1,28 +0,0 @@ - -%Include type_conversions.sip - -namespace Isis{ - -class BundleSolutionInfo : public QObject { - %TypeHeaderCode - #include "BundleSolutionInfo.h" - %End - - public: - BundleSolutionInfo(const Isis::BundleSolutionInfo &src) throw(Isis::IException); - - void setOutputStatistics(Isis::BundleResults statisticsResults) throw(Isis::IException); - void setRunTime(QString runTime) throw(Isis::IException); - - QString id() const throw(Isis::IException); - QString controlNetworkFileName() const throw(Isis::IException); - QSharedPointer bundleSettings() throw(Isis::IException); - Isis::BundleResults bundleResults() throw(Isis::IException); - QString runTime() const throw(Isis::IException); - - bool outputText() throw(Isis::IException); - bool outputPointsCSV() throw(Isis::IException); - bool outputResiduals() throw(Isis::IException); - - }; // end namespace Isis -}; diff --git a/isis/sipfiles/ControlNet.sip b/isis/sipfiles/ControlNet.sip deleted file mode 100644 index 73408334cf..0000000000 --- a/isis/sipfiles/ControlNet.sip +++ /dev/null @@ -1,31 +0,0 @@ -namespace Isis { - class ControlNet : public QObject { - %TypeHeaderCode - #include "ControlNet.h" - %End - public: - ControlNet() throw(Isis::IException); - ControlNet(const Isis::ControlNet &other) throw(Isis::IException); - - void clear() throw(Isis::IException); - - void Write(const QString &filename, bool pvl = false) throw(Isis::IException); - - double GetMaximumResidual() throw(Isis::IException); - QString GetNetworkId() const throw(Isis::IException); - int GetNumEditLockMeasures() throw(Isis::IException); - int GetNumEditLockPoints() throw(Isis::IException); - int GetNumIgnoredMeasures() throw(Isis::IException); - int GetNumberOfValidMeasuresInImage(const QString &serialNumber) throw(Isis::IException); - int GetNumberOfJigsawRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); - void ClearJigsawRejected() throw(Isis::IException); - void IncrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); - void DecrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); - int GetNumMeasures() const throw(Isis::IException); - int GetNumPoints() const throw(Isis::IException); - int GetNumValidMeasures() throw(Isis::IException); - int GetNumValidPoints() throw(Isis::IException); - QString GetTarget() const throw(Isis::IException); - QString GetUserName() const throw(Isis::IException); - }; -}; diff --git a/isis/sipfiles/ControlPoint.sip b/isis/sipfiles/ControlPoint.sip deleted file mode 100644 index 8dd80250aa..0000000000 --- a/isis/sipfiles/ControlPoint.sip +++ /dev/null @@ -1,302 +0,0 @@ -namespace Isis { - - class ControlPoint : public QObject { - %TypeHeaderCode - #include "ControlPoint.h" - %End - public: - enum PointType { - Fixed = 0, - Constrained = 1, - Free = 2 - }; - - - enum Status { - Failure, - Success, - PointLocked - }; - - enum ConstraintStatus { - LatitudeConstrained = 0, - LongitudeConstrained = 1, - RadiusConstrained = 2, -// XConstrained = 3, -// YConstrained = 4, -// ZConstrained = 5; - }; - - // This stuff input to jigsaw - // How did apriori source get computed?? - struct SurfacePointSource { - enum Source { - None, - User, - AverageOfMeasures, - Reference, - Basemap, - BundleSolution - }; - }; - - struct RadiusSource { - enum Source { - None, - User, - AverageOfMeasures, - Ellipsoid, - DEM, - BundleSolution - }; - }; - - ControlPoint() throw(Isis::IException); - ControlPoint(const QString &id) throw(Isis::IException); - - // Isis::ControlNet *Parent() { return parentNetwork; } - - // void Load(PvlObject &p) throw(Isis::IException); - - // void Add(ControlMeasure *measure) throw(Isis::IException); - // int Delete(ControlMeasure *measure) throw(Isis::IException); - // int Delete(QString serialNumber) throw(Isis::IException); - // int Delete(int index) throw(Isis::IException); - // Status ResetApriori() throw(Isis::IException); - - // const Isis::ControlMeasure *GetMeasure(QString serialNumber) const throw(Isis::IException); - // ControlMeasure *GetMeasure(QString serialNumber) throw(Isis::IException); - - // const ControlMeasure *GetMeasure(int index) const throw(Isis::IException); - // ControlMeasure *GetMeasure(int index) throw(Isis::IException); - - // const ControlMeasure *GetRefMeasure() const throw(Isis::IException); - // ControlMeasure *GetRefMeasure() throw(Isis::IException); - - // Status SetChooserName(QString name) throw(Isis::IException); - // Status SetDateTime(QString newDateTime) throw(Isis::IException); - // Status SetEditLock(bool editLock) throw(Isis::IException); - // Status SetId(QString id) throw(Isis::IException); - // Status SetRefMeasure(ControlMeasure *cm) throw(Isis::IException); - // Status SetRefMeasure(int index) throw(Isis::IException); - // Status SetRefMeasure(QString sn) throw(Isis::IException); - // Status SetRejected(bool rejected) throw(Isis::IException); - // Status SetIgnored(bool newIgnoreStatus) throw(Isis::IException); - // Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint) throw(Isis::IException); - // Status SetType(PointType newType) throw(Isis::IException); - // - // Status SetAprioriRadiusSource(RadiusSource::Source source) throw(Isis::IException); - // Status SetAprioriRadiusSourceFile(QString sourceFile) throw(Isis::IException); - // Status SetAprioriSurfacePoint(SurfacePoint aprioriSP) throw(Isis::IException); - // Status SetAprioriSurfacePointSource(SurfacePointSource::Source source) throw(Isis::IException); - // Status SetAprioriSurfacePointSourceFile(QString sourceFile) throw(Isis::IException); - - // Status UpdateSphericalPointCoordinates(const Latitude &lat, const Longitude &lon, - // const Distance &radius) throw(Isis::IException); - - // Status ComputeApriori() throw(Isis::IException); - // Status ComputeResiduals() throw(Isis::IException); - // Status ComputeResiduals_Millimeters() throw(Isis::IException); - // - // SurfacePoint GetAdjustedSurfacePoint() const throw(Isis::IException); - // SurfacePoint GetBestSurfacePoint() const throw(Isis::IException); - - QString GetChooserName() const throw(Isis::IException); - QString GetDateTime() const throw(Isis::IException); - bool IsEditLocked() const throw(Isis::IException); - bool IsRejected() const throw(Isis::IException); - QString GetId() const throw(Isis::IException); - bool IsIgnored() const throw(Isis::IException); - bool IsValid() const throw(Isis::IException); - bool IsInvalid() const throw(Isis::IException); - bool IsFixed() const throw(Isis::IException); - - bool HasAprioriCoordinates() throw(Isis::IException); - bool IsConstrained() throw(Isis::IException); - bool IsLatitudeConstrained() throw(Isis::IException); - bool IsLongitudeConstrained() throw(Isis::IException); - bool IsRadiusConstrained() throw(Isis::IException); - int NumberOfConstrainedCoordinates() throw(Isis::IException); - - static QString PointTypeToString(PointType type) throw(Isis::IException); - static PointType StringToPointType(QString pointTypeString) throw(Isis::IException); - - QString GetPointTypeString() const throw(Isis::IException); - // PointType GetType() const throw(Isis::IException); - - static QString RadiusSourceToString(RadiusSource::Source source) throw(Isis::IException); - static RadiusSource::Source StringToRadiusSource(QString str) throw(Isis::IException); - QString GetRadiusSourceString() const throw(Isis::IException); - static QString SurfacePointSourceToString(SurfacePointSource::Source source) throw(Isis::IException); - // static SurfacePointSource::Source StringToSurfacePointSource(QString str) throw(Isis::IException); - QString GetSurfacePointSourceString() const throw(Isis::IException); - - // SurfacePoint GetAprioriSurfacePoint() const throw(Isis::IException); - // RadiusSource::Source GetAprioriRadiusSource() const throw(Isis::IException); - // QString GetAprioriRadiusSourceFile() const throw(Isis::IException); - // SurfacePointSource::Source GetAprioriSurfacePointSource() const throw(Isis::IException); - // QString GetAprioriSurfacePointSourceFile() const throw(Isis::IException); - - int GetNumMeasures() const throw(Isis::IException); - int GetNumValidMeasures() const throw(Isis::IException); - int GetNumLockedMeasures() const throw(Isis::IException); - bool HasSerialNumber(QString serialNumber) const throw(Isis::IException); - // int IndexOf(ControlMeasure *, bool throws = true) const throw(Isis::IException); - int IndexOf(QString sn, bool throws = true) const throw(Isis::IException); - int IndexOfRefMeasure() const throw(Isis::IException); - bool IsReferenceExplicit() const throw(Isis::IException); - QString GetReferenceSN() const throw(Isis::IException); - - // Statistics GetStatistic(double(ControlMeasure::*statFunc)() const) const throw(Isis::IException); - // Statistics GetStatistic(long dataType) const throw(Isis::IException); - - // QList< ControlMeasure * > getMeasures(bool excludeIgnored = false) const throw(Isis::IException); - // QList< QString > getCubeSerialNumbers() const throw(Isis::IException); - - // const ControlMeasure *operator[](QString serialNumber) const throw(Isis::IException); - // ControlMeasure *operator[](QString serialNumber) throw(Isis::IException); - - // const ControlMeasure *operator[](int index) const throw(Isis::IException); - // ControlMeasure *operator[](int index) throw(Isis::IException); - - // bool operator!=(const ControlPoint &pPoint) const throw(Isis::IException); - // bool operator==(const ControlPoint &pPoint) const throw(Isis::IException); - // const ControlPoint &operator=(const ControlPoint &pPoint) throw(Isis::IException); - - // The next 7 methods are specifically to support BundleAdjust - void ZeroNumberOfRejectedMeasures() throw(Isis::IException); - void SetNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); - int GetNumberOfRejectedMeasures() const throw(Isis::IException); - double GetSampleResidualRms() const throw(Isis::IException); - double GetLineResidualRms() const throw(Isis::IException); - double GetResidualRms() const throw(Isis::IException); - void ClearJigsawRejected() throw(Isis::IException); - - // ControlPointFileEntryV0002 ToFileEntry() const throw(Isis::IException); - - private: - // void SetExplicitReference(ControlMeasure *measure) throw(Isis::IException); - void ValidateMeasure(QString serialNumber) const throw(Isis::IException); - // void AddMeasure(ControlMeasure *measure) throw(Isis::IException); - void PointModified() throw(Isis::IException); - - - // private: - // ControlNet *parentNetwork; - // - // //!< List of Control Measures - // QHash< QString, ControlMeasure * > * measures; - // - // QStringList *cubeSerials; - // - // ControlMeasure *referenceMeasure; - // - // /** - // * This is the control point ID. This is supposed to be a unique - // * identifier for control points. This often has a number in it, and - // * looks like "T0052" where the next one is "T0053" and so on. - // */ - // QString id; - // - // /** - // * This is the user name of the person who last modified this control - // * point. Modifications are things like updating the surface point, but - // * not things like updating the last modified time. The calculations - // * relating to this control point have to actually change for this to - // * be updated. This is an empty string if we need to dynamically - // * get the username of the caller when asked for (or written to file). - // */ - // QString chooserName; - // - // /** - // * This is the last modified date and time. This is updated automatically - // * and works virtually in the same way as chooserName. - // */ - // QString dateTime; - // - // /** - // * What this control point is tying together. - // * @see PointType - // */ - // PointType type; - // - // /** - // * If we forced a build that we would normally have thrown an exception - // * for then this is set to true. Otherwise, and most of the time, this - // * is false. - // */ - // bool invalid; - // - // /** - // * This stores the edit lock state. - // * @see SetEditLock - // */ - // bool editLock; - // - // /** - // * This stores the jigsaw rejected state. - // * @see SetJigsawReject - // */ - // bool jigsawRejected; - // - // /** - // * This stores the constraint status of the a priori SurfacePoint - // * @todo Eventually add x, y, and z - // */ - // std::bitset<6> constraintStatus; - // - // /** - // * This indicates if a program has explicitely set the reference in this - // * point or the implicit reference is still the current reference. This - // * is useful for programs that want to choose the reference for all - // * points where this hasn't happened yet. - // */ - // bool referenceExplicitlySet; - // - // /** - // * True if we should preserve but ignore the entire control point and its - // * measures. - // */ - // bool ignore; - // - // //! Where the apriori surface point originated from - // SurfacePointSource::Source aprioriSurfacePointSource; - // - // //! FileName where the apriori surface point originated from - // QString aprioriSurfacePointSourceFile; - // - // /** - // * Where the apriori surface point's radius originated from, most commonly - // * used by jigsaw. - // */ - // RadiusSource::Source aprioriRadiusSource; - // - // /** - // * The name of the file that derives the apriori surface point's radius - // */ - // QString aprioriRadiusSourceFile; - // - // /** - // * The apriori surface point. This is the "known truth" or trustworthy - // * point that should not be modified unless done very explicitely. This - // * comes from places like hand picking where you really don't want the - // * surface point to vary far from this point, but some variation is - // * okay (1/10th of a pixel is fair for human accuracy for example). Very - // * often this point does not exist. - // */ - // SurfacePoint aprioriSurfacePoint; - // - // /** - // * This is the calculated, or aposterori, surface point. This is what most - // * programs should be working with and updating. - // */ - // SurfacePoint adjustedSurfacePoint; - // - // /** - // * This parameter is used and maintained by BundleAdjust for the jigsaw - // * application. It is stored here because ControlPoint contains the index - // * of the measures. - // */ - // int numberOfRejectedMeasures; - }; -}; diff --git a/isis/sipfiles/MaximumLikelihoodWFunctions.sip b/isis/sipfiles/MaximumLikelihoodWFunctions.sip deleted file mode 100644 index cbc668d80d..0000000000 --- a/isis/sipfiles/MaximumLikelihoodWFunctions.sip +++ /dev/null @@ -1,52 +0,0 @@ -namespace Isis { - - class MaximumLikelihoodWFunctions { - %TypeHeaderCode - #include "MaximumLikelihoodWFunctions.h" - %End - - public: - - enum Model { - Huber, - HuberModified, - Welsch, - Chen - }; - - static QString modelToString(Model model) throw(Isis::IException); - static Isis::MaximumLikelihoodWFunctions::Model stringToModel(QString modelName) throw(Isis::IException); - - MaximumLikelihoodWFunctions() throw(Isis::IException); - MaximumLikelihoodWFunctions(Model modelSelection) throw(Isis::IException); - MaximumLikelihoodWFunctions(Model modelSelection, double tweakingConstant) throw(Isis::IException); - MaximumLikelihoodWFunctions(const Isis::MaximumLikelihoodWFunctions &other) throw(Isis::IException); - - void setModel(Model modelSelection) throw(Isis::IException); // uses default tweaking constant - void setTweakingConstantDefault() throw(Isis::IException); - - void setModel(Model modelSelection, double tweakingConstant) throw(Isis::IException); - void setTweakingConstant(double tweakingConstant) throw(Isis::IException); - - Model model() const throw(Isis::IException); - double tweakingConstant() const throw(Isis::IException); - - // the W functions provide an additional weighting factor W which is used - // to 're-weight' each observation dynamically during an adjustment, the - // scalar functions provide access to various flavors of this scalar (as - // a function of the residual divided by the residuals sigma) - - double sqrtWeightScaler(double residualZScore) throw(Isis::IException); //it is often convient to use square roots of - //weights when building normals, this function - // provides the scaler for the square root of - // the weight directly - double tweakingConstantQuantile() throw(Isis::IException); // returns which quantile of the residuals is recommended to - // use as the tweaking constant, this varies as a function of - // the model being employed - - QString weightedResidualCutoff() throw(Isis::IException); - - QDataStream &write(QDataStream &stream) const throw(Isis::IException); - QDataStream &read(QDataStream &stream) throw(Isis::IException); - }; -}; diff --git a/isis/sipfiles/Statistics.sip b/isis/sipfiles/Statistics.sip deleted file mode 100644 index 089b76a636..0000000000 --- a/isis/sipfiles/Statistics.sip +++ /dev/null @@ -1,41 +0,0 @@ - -namespace Isis { - class Statistics : public QObject { - %TypeHeaderCode - #include "Statistics.h" - %End - public: - Statistics(const Isis::Statistics &other) throw(Isis::IException); - - void Reset() throw(Isis::IException); - - void AddData(const double *data, const unsigned int count) throw(Isis::IException); - void AddData(const double data) throw(Isis::IException); - - void RemoveData(const double *data, const unsigned int count) throw(Isis::IException); - void RemoveData(const double data) throw(Isis::IException); - - double ValidMinimum() const throw(Isis::IException); - double ValidMaximum() const throw(Isis::IException); - bool InRange(const double value) throw(Isis::IException); - bool AboveRange(const double value) throw(Isis::IException); - bool BelowRange(const double value) throw(Isis::IException); - - double Average() const throw(Isis::IException); - double StandardDeviation() const throw(Isis::IException); - double Variance() const throw(Isis::IException); - double Sum() const throw(Isis::IException); - double SumSquare() const throw(Isis::IException); - double Rms() const throw(Isis::IException); - - double Minimum() const throw(Isis::IException); - double Maximum() const throw(Isis::IException); - double ChebyshevMinimum(const double percent = 99.5) const throw(Isis::IException); - double ChebyshevMaximum(const double percent = 99.5) const throw(Isis::IException); - double BestMinimum(const double percent = 99.5) const throw(Isis::IException); - double BestMaximum(const double percent = 99.5) const throw(Isis::IException); - double ZScore(const double value) const throw(Isis::IException); - - bool RemovedData() const throw(Isis::IException); - }; -}; diff --git a/isis/sipfiles/master.sip b/isis/sipfiles/master.sip deleted file mode 100644 index 2cdb950c9c..0000000000 --- a/isis/sipfiles/master.sip +++ /dev/null @@ -1,75 +0,0 @@ -%Module(name=libisispy, - version=0, - keyword_arguments="Optional") - -%ExportedHeaderCode - #include - #include - #include - #include - #include - - using namespace std; - - // Wraps glob to return a STD vector to avoid dealing with C style globbing - inline vector glob(const QString& pat){ - glob_t glob_result; - glob(pat.toLatin1().data(),GLOB_TILDE,NULL,&glob_result); - vector ret; - for(unsigned int i=0;i libs = glob(pat); - QLibrary lib_loader; - - for (vector::const_iterator i = libs.begin(); i != libs.end(); ++i) { - // Strip extension - QFileInfo file(*i); - QString lib_dir = file.path() + "/" + file.completeBaseName(); - - lib_loader.setFileName(lib_dir); - - // Load hint required for symbols to be accessible to other libraries loaded later - lib_loader.setLoadHints(QLibrary::ExportExternalSymbolsHint); - - bool load_ok = lib_loader.load(); - - // if verbose is true, print out load info - if (verbose) { - if (load_ok) { - cout << "Loaded " + lib_dir.toStdString() + " : OK" << endl; - } - else if (!load_ok) { - cout << "Loaded " + lib_dir.toStdString() + " : FAILED" << endl - << lib_loader.errorString().toStdString() << endl; - } - } - } - } -%End - -%Include type_conversions.sip - -%Include ControlPoint.sip -%Include BundleMeasure.sip -%Include BundleControlPoint.sip -%Include BundleImage.sip -%Include ControlNet.sip -%Include Statistics.sip -%Include BundleResults.sip -%Include BundleSolutionInfo.sip -%Include BundleObservationSolveSettings.sip -%Include BundleSettings.sip -%Include BundleAdjust.sip -%Include MaximumLikelihoodWFunctions.sip diff --git a/isis/sipfiles/type_conversions.sip b/isis/sipfiles/type_conversions.sip deleted file mode 100644 index 7a337c444f..0000000000 --- a/isis/sipfiles/type_conversions.sip +++ /dev/null @@ -1,292 +0,0 @@ - -%Import QtCore/QtCoremod.sip -%Import QtXml/QtXmlmod.sip - - - -%Exception Isis::IException(SIP_Exception) /PyName=IException/ -{ -%TypeHeaderCode -#include "IException.h" -%End -%RaiseCode - const char *detail = sipExceptionRef.what(); - - SIP_BLOCK_THREADS - PyErr_SetString(sipException_Isis_IException, detail); - SIP_UNBLOCK_THREADS -%End -}; - - -%MappedType QVector > -{ - %TypeHeaderCode - #include "BundleControlPoint.h" - #include - %End - - %ConvertFromTypeCode - size_t size = sipCpp->size(); - PyObject *l = PyList_New(size); - for (size_t i = 0; i < size; ++i) { - - Isis::BundleControlPoint* cppCPoint = sipCpp->at(i).data(); - - PyObject *pyCPoint = sipConvertFromType((void*)(cppCPoint), sipType_Isis_BundleControlPoint, NULL); - PyList_SetItem(l, i, pyCPoint); - } - - return l; - %End - - %ConvertToTypeCode - Py_ssize_t size = PyList_Size(sipPy); - QVector > *cppPointList = new QVector > (); - int sipErr = 0; - for(int i = 0; i < size; i++) { - PyObject *pyCPoint = PyList_GET_ITEM(sipPy, i); - Isis::BundleControlPoint *cppCPoint = (Isis::BundleControlPoint*)sipConvertToType(pyCPoint, sipType_Isis_BundleControlPoint, NULL, SIP_NOT_NONE, NULL, &sipErr); - cppPointList->append(QSharedPointer(cppCPoint)); - } - - *sipCppPtr = cppPointList; - return sipGetState(sipTransferObj); - %End - -}; - -%MappedType QList -{ - %TypeHeaderCode - #include "Statistics.h" - #include - %End - - %ConvertFromTypeCode - size_t size = sipCpp->size(); - PyObject *l = PyList_New(size); - for (size_t i = 0; i < size; ++i) { - Isis::Statistics* cppStats = new Isis::Statistics(sipCpp->at(i)); - PyObject *pyStats = sipConvertFromType((void*)(cppStats), sipType_Isis_Statistics, NULL); - PyList_SetItem(l, i, pyStats); - } - - return l; - %End - - %ConvertToTypeCode - Py_ssize_t size = PyList_Size(sipPy); - QList *cppStatList = new QList(); - int sipErr = 0; - for(int i = 0; i < size; i++) { - PyObject *pyStat = PyList_GET_ITEM(sipPy, i); - Isis::Statistics *stats = (Isis::Statistics*)sipConvertToType(pyStat, sipType_Isis_Statistics, NULL, SIP_NOT_NONE, NULL, &sipErr); - cppStatList->append(*stats); - } - - *sipCppPtr = cppStatList; - return sipGetState(sipTransferObj); - %End -}; - - - -%MappedType QList -{ - %TypeHeaderCode - #include "BundleObservationSolveSettings.h" - #include - %End - - %ConvertFromTypeCode - PyObject *l; - - // Create the Python list of the correct length. - if ((l = PyList_New(sipCpp->size())) == NULL) - return NULL; - - for (int i = 0; i < sipCpp->size(); ++i) { - Isis::BundleObservationSolveSettings *settings = new Isis::BundleObservationSolveSettings(sipCpp->at(i)); - - PyObject *pySettings = sipConvertFromType((void*)(settings), sipType_Isis_BundleObservationSolveSettings, NULL); - PyList_SetItem(l, i, pySettings); - } - - return l; - %End - - - %ConvertToTypeCode - if (!sipIsErr) { - if (!PyList_Check(sipPy)) - return 0; - - for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) - if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), - sipType_Isis_BundleObservationSolveSettings, SIP_NOT_NONE)) - return 0; - - return 1; - } - - Py_ssize_t size = PyList_Size(sipPy); - - QList *cppSettingsList = new QList(); - int state; - - for(Py_ssize_t i = 0; i < size; i++) { - PyObject *pySettings = PyList_GET_ITEM(sipPy, i); - Isis::BundleObservationSolveSettings *settings; - - settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pySettings, sipType_Isis_BundleObservationSolveSettings, 0, SIP_NOT_NONE, &state, sipIsErr); - - if (*sipIsErr) { - sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); - delete cppSettingsList; - return 0; - } - - cppSettingsList->append(*settings); - sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); - } - - *sipCppPtr = cppSettingsList; - return sipGetState(sipTransferObj); - %End -}; - -// convert Bundlesettings wrapped in a QSharedPointer in Isis -%MappedType QSharedPointer -{ - %TypeHeaderCode - #include "BundleImage.h" - #include - %End - - %ConvertFromTypeCode - Isis::BundleImage *cpp = sipCpp->data(); - PyObject *py = sipConvertFromType(cpp, sipType_Isis_BundleImage, NULL); - return py; - %End - - %ConvertToTypeCode - int sipErr = 0; - QSharedPointer* cpp_qsp = new QSharedPointer(); - Isis::BundleImage *cpp = (Isis::BundleImage*)sipConvertToType(sipPy, sipType_Isis_BundleImage, NULL, SIP_NOT_NONE, NULL, &sipErr); - cpp_qsp->reset(cpp); - *sipCppPtr = cpp_qsp; - - return sipGetState(sipTransferObj); - %End -}; - - -// convert Bundlesettings wrapped in a QSharedPointer in Isis -%MappedType QSharedPointer -{ - %TypeHeaderCode - #include "BundleSettings.h" - #include - using namespace std; - %End - - %ConvertFromTypeCode - Isis::BundleSettings *settings = sipCpp->data(); - PyObject *pySettings = sipConvertFromType(settings, sipType_Isis_BundleSettings, NULL); - return pySettings; - %End - - %ConvertToTypeCode - int sipErr = 0; - QSharedPointer* wrappedSettings = new QSharedPointer(); - - Isis::BundleSettings *settings = (BundleSettings*) sipConvertToType(sipPy, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); - wrappedSettings->reset(settings); - *sipCppPtr = wrappedSettings; - - return sipGetState(sipTransferObj); - %End -}; - - -// convert Bundlesettings wrapped in a QSharedPointer in Isis -%MappedType QSharedPointer -{ - %TypeHeaderCode - #include "ControlNet.h" - #include - using namespace std; - %End - - %ConvertFromTypeCode - PyObject *pySettings = sipConvertFromType(sipCpp, sipType_Isis_ControlNet, NULL); - return pySettings; - %End - - %ConvertToTypeCode - int sipErr = 0; - QSharedPointer *qspControlNet = NULL; - if (!sipCanConvertToType(sipPy, sipType_Isis_ControlNet, SIP_NOT_NONE)) { - sipErr = 1; - } - else { - Isis::ControlNet *cppControlNet = (Isis::ControlNet*)sipConvertToType(sipPy, sipType_Isis_ControlNet, NULL, SIP_NOT_NONE, NULL, &sipErr); - qspControlNet->reset(cppControlNet); - } - - *sipCppPtr = qspControlNet; - return sipGetState(sipTransferObj); - %End -}; - - - -// Convert a python str object to a std::string. -%MappedType std::string -{ - %TypeHeaderCode - #include - %End - - %ConvertFromTypeCode - // convert an std::string to a Python (unicode) string - PyObject* newstring; - newstring = PyUnicode_DecodeUTF8(sipCpp->c_str(), sipCpp->length(), NULL); - if(newstring == NULL) { - PyErr_Clear(); - newstring = PyBytes_FromString(sipCpp->c_str()); - } - return newstring; - %End - - %ConvertToTypeCode - // Allow a Python string (or a unicode string) whenever a string is - // expected. - // If argument is a Unicode string, just decode it to UTF-8 - // If argument is a Python string, assume it's UTF-8 - if (sipIsErr == NULL) - return (PyBytes_Check(sipPy) || PyUnicode_Check(sipPy)); - - if (sipPy == Py_None) - { - *sipCppPtr = new std::string; - return 1; - } - - if (PyUnicode_Check(sipPy)) - { - PyObject* s = PyUnicode_AsEncodedString(sipPy, "UTF-8", ""); - *sipCppPtr = new std::string(PyBytes_AS_STRING(s)); - Py_DECREF(s); - return 1; - } - - if (PyBytes_Check(sipPy)) - { - *sipCppPtr = new std::string(PyBytes_AS_STRING(sipPy)); - return 1; - } - return 0; - %End -}; diff --git a/isis/src/control/apps/seedgrid/tsts/errors/errors.txt b/isis/src/control/apps/seedgrid/tsts/errors/errors.txt deleted file mode 100644 index b375d4ea99..0000000000 --- a/isis/src/control/apps/seedgrid/tsts/errors/errors.txt +++ /dev/null @@ -1 +0,0 @@ -[2018-03-21 14:12:04] Failed ... No truth folder or files diff --git a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h index fc69ebc8db..fd570fee7c 100644 --- a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h +++ b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h @@ -156,7 +156,6 @@ class BundleObservationSolveSettings { double positionAprioriSigma = -1.0, double velocityAprioriSigma = -1.0, double accelerationAprioriSigma = -1.0); - InstrumentPositionSolveOption instrumentPositionSolveOption() const; int spkDegree() const; int spkSolveDegree() const; diff --git a/linux-spec.txt b/linux-spec.txt index 9803f9d82f..529ab58395 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -2,14 +2,13 @@ # $ conda create --name --file # platform: linux-64 @EXPLICIT -https://conda.anaconda.org/krodriguez/linux-64/bullet-2.86.1-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/ds9-7.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.5-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/flann-1.8.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.0.0-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geos-3.5.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-0.tar.bz2 @@ -23,39 +22,40 @@ https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-hdf63c60_3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-hdf63c60_3.tar.bz2 +https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/noarch/llvm-meta-5.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mysql-connector-c-6.1.6-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nanoflann-1.2.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/ncurses-5.9-10.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nn-1.86.0-2.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/patchelf-0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pcre-8.39-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/proj4-4.9.3-5.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.3-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/rhash-1.3.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.13.0-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/system-5.8-2.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/system-5.8-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tbb-4.4_20160526-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tk-8.5.19-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/tnt-126-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-6.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/yaml-0.1.7-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/zlib-1.2.11-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 @@ -63,61 +63,57 @@ https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/isl-0.12.2-0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20170329-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libprotobuf-3.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/cloog-0.18.0-0.tar.bz2 +https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.8.0-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/mysql-5.7.20-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python-3.6.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/bz2file-0.98-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py36_0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/bz2file-0.98-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/future-0.16.0-py36_0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py36_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/sip-4.18-py36_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py36_1.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/qt-5.6.2-6.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/setuptools-38.5.1-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py36_mesalib_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/xerces-c-3.1.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/protobuf-3.5.1-py36_3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.6.0-py36_4.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/wheel-0.30.0-py36_2.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py36_blas_openblas_203.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/pip-9.0.1-py36_1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 diff --git a/macos-spec.txt b/macos-spec.txt index 2fd059d08b..2af2397a2f 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,61 +2,26 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.10-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/clangdev-6.0.0-default_0.tar.bz2 -https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.6-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.8.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/future-0.16.0-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.55.0-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gsl-2.4-blas_openblas_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.7.6-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.10.1-2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jsoncpp-1.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libcxx-6.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.34-0.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/llvm-meta-6.0.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/llvmdev-6.0.0-default_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-0.tar.bz2 @@ -64,44 +29,70 @@ https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ncurses-5.9-10.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.14.2-py36_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.20-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/opencv-3.4.1-py36_blas_openblas_200.tar.bz2 https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py36_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.5.1-py36_3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/pyqt-5.6.0-py36_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/python-3.6.4-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/setuptools-39.0.1-py36_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sip-4.18-py36_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py36_1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.6-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_202.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/vtk-8.1.0-py36h87a2a2b_201.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py36_2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/xz-5.2.3-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/certifi-2018.1.18-py27_0.tar.bz2 +https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/protobuf-3.2.0-py27_0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/setuptools-38.5.1-py27_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/pip-9.0.1-py27_1.tar.bz2 -- GitLab From b47ae312b0fb6e66516288818448198863e81ce3 Mon Sep 17 00:00:00 2001 From: jlaura Date: Wed, 4 Apr 2018 08:17:28 -0700 Subject: [PATCH 0265/1212] Revert "Revert "Adding support for libisis python bindings"" --- .gitignore | 160 ++++++++++ isis/Jenkinsfile => Jenkinsfile | 0 configure.py | 88 +++++ environment.yml | 58 ++-- isis/CMakeLists.txt | 287 ++++++++++++++--- isis/cmake/AddIsisModule.cmake | 2 - isis/cmake/CMakeLists.txt | 4 - isis/cmake/FindAllDependencies.cmake | 122 ------- isis/cmake/FindBullet.cmake | 22 +- isis/cmake/FindCSPICE.cmake | 4 +- isis/cmake/FindCholmod.cmake | 18 +- isis/cmake/FindEigen.cmake | 2 +- isis/cmake/FindEmbree.cmake | 4 +- isis/cmake/FindGMM.cmake | 2 +- isis/cmake/FindGSL.cmake | 6 +- isis/cmake/FindGeoTIFF.cmake | 4 +- isis/cmake/FindGeos.cmake | 6 +- isis/cmake/FindHDF5.cmake | 10 +- isis/cmake/FindJama.cmake | 2 +- isis/cmake/FindKakadu.cmake | 8 +- isis/cmake/FindLibPython.py | 10 + isis/cmake/FindNN.cmake | 4 +- isis/cmake/FindOpenCV.cmake | 28 +- isis/cmake/FindPCL.cmake | 8 +- isis/cmake/FindPNG.cmake | 4 +- isis/cmake/FindProtobuf.cmake | 4 +- isis/cmake/FindPython.cmake | 108 +++++++ isis/cmake/FindQwt.cmake | 4 +- isis/cmake/FindSip.cmake | 44 +++ isis/cmake/FindSip.py | 13 + isis/cmake/FindSuperLU.cmake | 4 +- isis/cmake/FindTIFF.cmake | 4 +- isis/cmake/FindTNT.cmake | 2 +- isis/cmake/FindX11.cmake | 2 +- isis/cmake/FindXercesC.cmake | 4 +- isis/cmake/Findnanoflann.cmake | 2 +- isis/sipfiles/BundleAdjust.sip | 31 ++ isis/sipfiles/BundleControlPoint.sip | 68 ++++ isis/sipfiles/BundleImage.sip | 16 + isis/sipfiles/BundleMeasure.sip | 30 ++ .../BundleObservationSolveSettings.sip | 59 ++++ isis/sipfiles/BundleResults.sip | 125 ++++++++ isis/sipfiles/BundleSettings.sip | 113 +++++++ isis/sipfiles/BundleSolutionInfo.sip | 28 ++ isis/sipfiles/ControlNet.sip | 31 ++ isis/sipfiles/ControlPoint.sip | 302 ++++++++++++++++++ isis/sipfiles/MaximumLikelihoodWFunctions.sip | 52 +++ isis/sipfiles/Statistics.sip | 41 +++ isis/sipfiles/master.sip | 75 +++++ isis/sipfiles/type_conversions.sip | 292 +++++++++++++++++ .../apps/seedgrid/tsts/errors/errors.txt | 1 + .../BundleObservationSolveSettings.h | 1 + linux-spec.txt | 76 ++--- macos-spec.txt | 111 ++++--- 54 files changed, 2130 insertions(+), 376 deletions(-) rename isis/Jenkinsfile => Jenkinsfile (100%) create mode 100644 configure.py delete mode 100644 isis/cmake/FindAllDependencies.cmake create mode 100644 isis/cmake/FindLibPython.py create mode 100644 isis/cmake/FindPython.cmake create mode 100644 isis/cmake/FindSip.cmake create mode 100644 isis/cmake/FindSip.py create mode 100644 isis/sipfiles/BundleAdjust.sip create mode 100644 isis/sipfiles/BundleControlPoint.sip create mode 100644 isis/sipfiles/BundleImage.sip create mode 100644 isis/sipfiles/BundleMeasure.sip create mode 100644 isis/sipfiles/BundleObservationSolveSettings.sip create mode 100644 isis/sipfiles/BundleResults.sip create mode 100644 isis/sipfiles/BundleSettings.sip create mode 100644 isis/sipfiles/BundleSolutionInfo.sip create mode 100644 isis/sipfiles/ControlNet.sip create mode 100644 isis/sipfiles/ControlPoint.sip create mode 100644 isis/sipfiles/MaximumLikelihoodWFunctions.sip create mode 100644 isis/sipfiles/Statistics.sip create mode 100644 isis/sipfiles/master.sip create mode 100644 isis/sipfiles/type_conversions.sip create mode 100644 isis/src/control/apps/seedgrid/tsts/errors/errors.txt diff --git a/.gitignore b/.gitignore index 789cc4093c..fdd6c6484c 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,163 @@ print.prt */tsts/*/output/* */build/ */install/ + +# Created by https://www.gitignore.io/api/c++ + +### C++ ### +# Prerequisites +*.d +*.hpp +*.sbf + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + + +# Created by https://www.gitignore.io/api/osx + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon +# Thumbnails +._* +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +# Created by https://www.gitignore.io/api/python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +.venv/ +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject diff --git a/isis/Jenkinsfile b/Jenkinsfile similarity index 100% rename from isis/Jenkinsfile rename to Jenkinsfile diff --git a/configure.py b/configure.py new file mode 100644 index 0000000000..4a3c84d735 --- /dev/null +++ b/configure.py @@ -0,0 +1,88 @@ +import os +import sys +import sipconfig +import sipdistutils +import PyQt5 +import subprocess +import argparse + +from os.path import splitext +from os.path import dirname +from glob import glob +from distutils.spawn import find_executable + +from PyQt5.QtCore import PYQT_CONFIGURATION +from plio.utils.utils import find_in_dict +from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict +from sipconfig import ModuleMakefile + +def main (module): + # The name of the SIP build file generated by SIP and used by the build + # system. + sipy_sip_dir = "sipfiles/" + module = sipy_sip_dir+module + '.sip' + build_file = "bundle"+".sbf" + target = module+".so" + + # Get the extra SIP flags needed by the imported qt module. Note that + # this normally only includes those flags (-x and -t) that relate to SIP's + # versioning system. + qt_sip_flags = qtconfigdict["sip_flags"] + + # sip_bin = current_env_path + "/bin/sip" + sip_bin = find_executable('sip') + pyqt_sip_dir = dirname(dirname(sip_bin)) + "/share/sip/PyQt5" + + # Get the PyQt configuration information. + config = sipconfig.Configuration() + + # Run SIP to generate the code. Note that we tell SIP where to find the qt + # module's specification files using the -I flag. + + errcode = os.system(" ".join([sip_bin, "-e","-c", ".", "-b", build_file, "-I", + pyqt_sip_dir, qt_sip_flags, module])) + + if errcode != 0: + print('sip exited with non zero error code: {}'.format(errcode)) + + # We are going to install the SIP specification file for this module and + # its configuration module. + installs = [] + installs.append([module, os.path.join(pyqt_sip_dir, "isis3")]) + + isis_root = os.getenv("ISISROOT") + if not isis_root: + raise("Please set ISIS") + + extra_libs = ["$(ALLLIBS)", "-Wl,-rpath,"+isis_root+"/lib", "-Wl,-rpath,"+isis_root+"/3rdParty/lib"] + + makefile = ModuleMakefile(configuration=config, build_file=build_file, installs=installs) + makefile.extra_cxxflags = ["$(ALLINCDIRS)", "-Wstrict-aliasing=0", "-Wno-unused-variable"] + makefile.extra_lflags = ["$(ALLLIBDIRS)"] + makefile.extra_include_dirs = [x[0] for x in os.walk('incs/')] + makefile.extra_lib_dirs = [isis_root + '/3rdParty/lib', isis_root + 'lib'] + makefile.generate() + + # add import line for isismake.os + isis_makefile = "include " + isis_root + "/make/isismake.os" + + with open("Makefile", 'r+') as f: + content = f.read() + content = content.replace("LIBS =", "LIBS = " + ' '.join(extra_libs)) + f.seek(0, 0) + f.write(isis_makefile + '\n\n' + content) + +if __name__ == "__main__": + clean = ['cpp', 'c', 'h', 'hpp', 'o', 'sbf'] + + # If clean is passed in, clear up all the files genreated by the scripts + if len(sys.argv) > 1 and sys.argv[1] == 'clean': + files = [] + for filetype in clean: + files.extend(glob('*.{}'.format(filetype))) + + for f in files: + os.remove(f) + exit() + + main('master') diff --git a/environment.yml b/environment.yml index 543eb509e1..0df225c443 100644 --- a/environment.yml +++ b/environment.yml @@ -8,35 +8,36 @@ channels: - jlaura - defaults dependencies: - - ca-certificates==2017.08.26=h1d4fec5_0 + - ca-certificates==2017.08.26 - dbus==1.10.20=0 - - future==0.16.0=y27_1 - - gst-plugins-base=1.8.0=0 + - future==0.16.0 + - gst-plugins-base - gstreamer==1.8.0=0 - - jsoncpp==1.8.3=h3a67955_0 - - libgcc==4.8.5=1 - - libgcc-ng==7.2.0=h7cc24e2_2 + - jsoncpp==1.8.3 - libgfortran==3.0=0 - - libstdcxx-ng==7.2.0=h7a57d05_2 + - libstdcxx-ng==7.2.0 + - qwt=6.1.3 + - pyqt=5.6.0 + - sip=4.18 - libxcb==1.12=1 - - mysql==5.7.20=h55eaa98_0 + - mysql==5.7.20 - ncurses==5.9=10 - ninja==1.7.2=0 - - patchelf==0.9=hf79760b_2 - - pip==9.0.1=py27_1 - - setuptools=38.5.1=py27_0 - - wheel==0.30.0=py27h2bc6bb2_1 + - patchelf==0.9 + - pip==9.0.1 + - setuptools=38.5.1 + - wheel==0.30.0 - xerces-c==3.1.4=0 - xz==5.2.3=0 - zlib==1.2.11=0 - blas==1.1=openblas - - boost==1.65.1=py27_0 - - boost-cpp==1.65.1=1 + - boost==1.65.1 + - boost-cpp==1.65.1 - bzip2==1.0.6=1 - cairo==1.14.6=4 - - certifi==2018.1.18=py27_0 + - certifi==2018.1.18 - cmake==3.9.1=0 - - cspice==66=0 + - cspice==66-0 - curl==7.55.1=0 - doxygen==1.8.14=0 - eigen==3.3.3=0 @@ -48,7 +49,7 @@ dependencies: - freeglut==3.0.0=4 - freetype==2.7=1 - geos==3.5.1=1 - - geotiff==1.4.2=1 + - geotiff==1.4.2 - gettext==0.19.8.1=0 - giflib==5.1.4=0 - glib==2.51.4=0 @@ -56,7 +57,7 @@ dependencies: - gsl==2.2.1=blas_openblas_3 - harfbuzz==1.3.4=2 - hdf5==1.8.18=2 - - icu==58.2=0 + - icu==58.2 - jasper==1.900.1=1 - jbig==2.1=0 - jpeg==9b=2 @@ -80,24 +81,24 @@ dependencies: - mysql-connector-c==6.1.6=0 - nanoflann==1.2.2=0 - nn==1.86.0=2 - - numpy==1.13.3=py27_blas_openblas_200 + - numpy==1.13.3=py36_blas_openblas_200 - openblas==0.2.19=2 - - opencv==3.2.0=np113py27_blas_openblas_203 + - opencv==3.2.0=np113py36_blas_openblas_203 - openssl==1.0.2n=0 - pcre==8.39=0 - pixman==0.34.0=1 - proj4==4.9.3=5 - pthread-stubs==0.3=1 - - python==2.7.14=2 + - python==3.6 - readline==6.2=0 - rhash==1.3.4=0 - - six==1.11.0=py27_1 + - six==1.11.0 - sqlite==3.13.0=1 - suitesparse==4.5.4=blas_openblas_200 - superlu==5.2.1=blas_openblas_201 - tbb==4.4_20160526=1 - tk==8.5.19=2 - - vtk==8.1.0=py27_mesalib_0 + - vtk==8.1.0 - x264==20131217=3 - xorg-kbproto==1.0.7=1 - xorg-libx11==1.6.4=6 @@ -106,21 +107,20 @@ dependencies: - xorg-libxrender==0.9.10=0 - xorg-renderproto==0.11.1=1 - xorg-xproto==7.0.31=6 - - bz2file==0.98=py27_0 + - bz2file==0.98 - cloog==0.18.0=0 - - gcc==4.8.5=7 - isl==0.12.2=0 - - protobuf==2.6.1=py27_1 + - protobuf==3.5.1 - system==5.8=2 - - libprotobuf==2.6.1=0 + - libprotobuf==3.2.0=0 - bullet==2.86.1=0 - ds9==7.5=0 - gmm==5.0=0 - jama==125=0 - pcl==1.8.1=0 - qhull==7.2.0=0 - - qt==5.7.1=0 - - qwt==6.1.3=0 + - qt==5.6.2 + - qwt==6.1.3 - tnt==126=0 - xalan-c==1.11=0 prefix: /scratch/anaconda3/envs/isis diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 47d86789a1..7fa0c88cff 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -57,10 +57,8 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) -# Specify flags used -# on linux, add the conda prefix to handle possible issues with rpaths at link time -# sometimes third parties do not set their rpaths correctly -set(thirdPartyCppFlags -Wall -std=c++11 -DISIS_LITTLE_ENDIAN=1 -fPIC -Wno-unused-parameter -Wno-overloaded-virtual -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) +# make sure to leave rpaths untouched on install +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # Specify user options that can be passed in with the initial CMake command. option(isis3Data "Directory containing Isis3Data" OFF ) @@ -71,92 +69,283 @@ option(buildMissions "Build the mission specific modules" ON ) option(buildStaticCore "Build libisis3 static as well as dynamic" OFF ) option(buildTests "Set up unit, application, and module tests." ON ) option(JP2KFLAG "Whether or not to build using JPEG2000 support" ON ) -option(develop "Use a devleopment configuration" ON ) +option(pybindings "Turn on to build Python bindings" ON ) # if cmake install prefix is not set, and conda env is activated, use the # conda env as the install directory if(DEFINED ENV{CONDA_PREFIX} AND CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") - set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) -endif() - -message("Installing in: ${CMAKE_INSTALL_PREFIX}") - -# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K -# needs to be either 1 or 0 for C style true false -if(JP2KFLAG) - set(JP2KFLAG 1) + set(CMAKE_INSTALL_PREFIX $ENV{CONDA_PREFIX}) endif() # Prioritize passed in variables over env vars, probably a better way to do this if(DEFINED ENV{ISIS3DATA} AND NOT isis3Data) - set(isis3Data $ENV{ISIS3DATA}) - set(isis3Data ON) + set(isis3Data $ENV{ISIS3DATA}) endif() if(DEFINED ENV{ISIS3TESTDATA} AND NOT isis3TestData) - set(isis3TestData $ENV{ISIS3TESTDATA}) - set(isis3TestData ON) + set(isis3TestData $ENV{ISIS3TESTDATA}) endif() if(EXISTS ${isis3Data}) - set(ENV{ISIS3DATA} "${isis3Data}") - message("Using ISIS3DATA = $ENV{ISIS3DATA}") + set(ENV{ISIS3DATA} "${isis3Data}") else() - message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") + message(WARNING "Isis3Data directory ${isis3Data} not found, unit tests will fail.") + set(isis3Data OFF) endif() if(EXISTS ${isis3TestData}) - set(ENV{ISIS3TESTDATA} "${isis3TestData}") - message("Using ISIS3TESTDATA = $ENV{ISIS3TESTDATA}") + set(ENV{ISIS3TESTDATA} "${isis3TestData}") else() - message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") + message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.") + set(isis3TestData OFF) endif() -if(develop) +if(${testOutputDir} STREQUAL "OFF") + message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") + set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") + execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) +else() + # User specified a test output folder, make sure it exists. + message("Writing test data folders to = ${testOutputDir}") + execute_process(COMMAND mkdir -p ${testOutputDir}) +endif() +# inject ISISROOT +add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) +add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) + +message("CONFIGURATION") +message("\tBUILD STATIC CORE: ${buildStaticCore}") +message("\tBUILD TESTS: ${buildTests}") +message("\tBUILD CORE: ${buildCore}") +message("\tBUILD MISSIONS: ${buildMissions}") +message("\tJP2K SUPPORT: ${JP2KFLAG}") +message("\tPYTHON BINDINGS: ${pybindings}") +message("\tISIS3DATA: ${isis3Data}") +message("\tISISTESTDATA: ${isis3TestData}") +message("\tTEST OUTPUT DIR: ${testOutputDir}") +message("\tINSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") + +#=============================================================================== +#=============================================================================== + +# Set up Anaconda prefix in the case with a non-default conda env is activated +if(EXISTS $ENV{CONDA_PREFIX}) + message("CONDA PREFIX: $ENV{CONDA_PREFIX}") + list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} + $ENV{CONDA_PREFIX}/lib/cmake/Qt5) endif() -if(${testOutputDir} STREQUAL "OFF") - message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") - set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") - execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) -else() - # User specified a test output folder, make sure it exists. - message("Writing test data folders to = ${testOutputDir}") - execute_process(COMMAND mkdir -p ${testOutputDir}) +# options only allow on/off but this flag is piped into ISIS as ENABLEJP2K +# needs to be either 1 or 0 for C style true false +if(JP2KFLAG) + set(JP2KFLAG 1) +endif() + + # Set up the ctest tool which is used to run all of the tests. + enable_testing() + include(CTest) + +# Specify flags used +# on linux, add the conda prefix to handle possible issues with rpaths at link time +# sometimes third parties do not set their rpaths correctly +set(thirdPartyCppFlags -Wall + -std=c++11 + -fPIC + -DISIS_LITTLE_ENDIAN=1 + -fPIC -Wno-unused-parameter + -Wno-overloaded-virtual + -DGMM_USES_SUPERLU + -DENABLEJP2K=${JP2KFLAG} + ) + +# Flag to fix numeric literals problem with boost on linux +if(NOT APPLE) + set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals + -Wl,-rpath,$ENV{CONDA_PREFIX}/lib) endif() -# Set the default library extension based on the platform + # Append CPP flags set in the third party lib file to the string set in this file. + string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) + + +# Paths to required executables +find_program(XALAN Xalan REQUIRED) +find_program(LATEX latex) +find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) +find_program(UIC uic REQUIRED) +find_program(MOC moc REQUIRED) +find_program(RCC rcc REQUIRED) +find_program(PROTOC protoc REQUIRED) + +find_package(Qt5 COMPONENTS + Core + Concurrent + Gui + Multimedia + MultimediaWidgets + Network + OpenGL # Needed to install mesa-common-dev for this! + PrintSupport + Qml + Quick + Script + ScriptTools + Sql + Svg + Test + WebChannel + Widgets + Xml + XmlPatterns REQUIRED) + +# Some of these will have non-traditional installs with version numbers in the paths in v007 +# For these, we pass in a version number, and use it in the path suffix +# This only applies to v007, and outside of the building, we should only expect standard installs +# The v007-specific installs are listed beside their find_package calls below: +find_package(Boost 1.59.0 REQUIRED) +find_package(Bullet 2.86 REQUIRED) +find_package(Cholmod 4.4.5 REQUIRED) +find_package(CSPICE 65 REQUIRED) +find_package(Eigen REQUIRED) +find_package(Embree 2.15.0 REQUIRED) +find_package(GeoTIFF 2 REQUIRED) +find_package(GMM 5.0 REQUIRED) +find_package(GSL 19 REQUIRED) +find_package(HDF5 1.8.15 REQUIRED) +find_package(Jama 125 REQUIRED) +find_package(NN REQUIRED) +find_package(OpenCV 3.1.0 REQUIRED) +find_package(PCL 1.8 REQUIRED) +find_package(Protobuf 2.6.1 REQUIRED) +find_package(Qwt 6 REQUIRED) +find_package(SuperLU 4.3 REQUIRED) +find_package(TIFF 4.0.5 REQUIRED) +find_package(TNT 126 REQUIRED) +find_package(XercesC 3.1.2 REQUIRED) +find_package(X11 6 REQUIRED) +find_package(nanoflann REQUIRED) +find_package(PNG REQUIRED) +find_package(Kakadu) +find_package(Geos 3.5.0 REQUIRED) + +# Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) - set(SO ".dylib") -else() - set(SO ".so") + find_package(OpenGL REQUIRED) +endif(APPLE) + +if(pybindings) + find_package(Python REQUIRED) + find_package(Sip REQUIRED) +endif() + +# Iterate through all variables and extract the libraries and include directories +get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES + +set(ALLLIBDIRS "") +set(ALLLIBS "") +set(ALLINCDIRS "") + +# Get all include dir variables +foreach (_variableName ${_variableNames}) +#message("VAR=${_variableName}") + if (_variableName MATCHES ".+_INCLUDE_DIR$") + list(APPEND ALLINCDIRS "${${_variableName}}") + elseif (_variableName MATCHES ".+_INCLUDE_PATH$") + list(APPEND ALLINCDIRS "${${_variableName}}") + endif(_variableName MATCHES ".+_INCLUDE_DIR$") +endforeach() + +# get all Library variables +foreach (_variableName ${_variableNames}) + get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) + if (_variableName MATCHES "^CMAKE+") + elseif (_variableName MATCHES ".+_LIB$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARY$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + elseif (_variableName MATCHES ".+_LIBRARIES$") + list(APPEND ALLLIBDIRS "${LIBDIR}") + list(APPEND ALLLIBS "${${_variableName}}") + endif() +endforeach() + +# Sometimes we add the same lib more than once (especially with LIBDIRS) +list(REMOVE_DUPLICATES ALLLIBDIRS) +list(REMOVE_DUPLICATES ALLLIBS) +list(REMOVE_DUPLICATES ALLINCDIRS) + +#=============================================================================== +#=============================================================================== + +# Set python bindings configuration and set target for generating C++ files +if(pybindings) + message("Configuring Python Bindings") + + if (NOT DEFINED PYINSTALL_DIR) + set(PYINSTALL_DIR ${PYTHON_SITE_PACKAGES_DIR}) + endif() + message("PYTHON BINDINGS INSTALL DIR: ${PYINSTALL_DIR}") + + # We need to get the locations for sip files, modules, etc. + set(ISIS_SIP_DIR "${CMAKE_SOURCE_DIR}/sipfiles") + set(ISIS_SIP_MODULE "${CMAKE_SOURCE_DIR}/sipfiles/master.sip") + set(SIP_BUILD_FILE "isispy.sbf") + set(ISIS_SIP_CODE_DIR ${CMAKE_BINARY_DIR}/sipsrc) + + # Create the output directory for the new .CPP files + execute_process(COMMAND mkdir -p "${ISIS_SIP_CODE_DIR}") + + # get list of output files exepected from sip + + # get the PYQT configuration based flags from Python + execute_process(COMMAND ${PYTHON_EXECUTABLE} -c + "from PyQt5.QtCore import PYQT_CONFIGURATION as qtconfigdict;print(qtconfigdict['sip_flags'])" + OUTPUT_VARIABLE PYQT_SIP_FLAGS) + + # CMAKE doesn't handle spaces from python well when piping that into the + # command because of white space and a trailing new line, + # so we turn it into a list + string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) + string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) + message("Generating C++ code from sip files") + execute_process(COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE}) + + # add target so users can run the command after initial configuration + add_custom_target(sipfiles + COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE} + COMMENT "Generating C++ code from sip files") + + file(GLOB SIP_GENERATED_SOURCE_FILES ${ISIS_SIP_CODE_DIR}/*.cpp) + add_library(isispy MODULE ${SIP_GENERATED_SOURCE_FILES}) + target_link_libraries(isispy ${ALLLIBS}) + target_link_libraries(isispy isis3) + set_target_properties(isispy PROPERTIES LINK_DEPENDS isis3) + add_dependencies(isispy sipfiles) + + install(TARGETS isispy DESTINATION ${PYINSTALL_DIR}) endif() #=============================================================================== #=============================================================================== + # Start setting up the build # Add extension to find fortran until .so symlink can be added to /usr/lib64 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5) -# Set up all the third party library dependencies. -include(FindAllDependencies) - # Allow everything to include the 3rd party libraries include_directories(SYSTEM ${ALLINCDIRS}) link_directories(${ALLLIBDIRS}) -# inject ISISROOT -add_definitions( -DISISROOT="${CMAKE_SOURCE_DIR}" ) -add_definitions( -DISISBUILDDIR="${CMAKE_BINARY_DIR}" ) - # add isis headers file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp) file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc) include_directories(${CMAKE_BINARY_DIR}/inc) - set(CORE_LIB_NAME isis3) # Specify relative library include paths which will be set up on @@ -166,7 +355,6 @@ if(APPLE) else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH};$ORIGIN/../lib;$ORIGIN/../3rdParty/lib") endif() -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # We will set up some links with these files at the end of the install process so # make sure they are cleared at the start of the install process. @@ -177,13 +365,6 @@ EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestP install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/src/base/objs/Preference/TestPreferences ${CMAKE_INSTALL_PREFIX}/)") install(CODE "EXECUTE_PROCESS(COMMAND cp -f ${CMAKE_SOURCE_DIR}/IsisPreferences ${CMAKE_INSTALL_PREFIX}/)") -# Append CPP flags set in the third party lib file to the string set in this file. -string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) -# Set up the ctest tool which is used to run all of the tests. -enable_testing() -include(CTest) - # Delete any existing plugin files in the build folder so they # don't get filled with duplicate entries. file(GLOB existingPlugins "${CMAKE_BINARY_DIR}/plugins/*.plugin") diff --git a/isis/cmake/AddIsisModule.cmake b/isis/cmake/AddIsisModule.cmake index aa403db34f..f4a87169d2 100644 --- a/isis/cmake/AddIsisModule.cmake +++ b/isis/cmake/AddIsisModule.cmake @@ -4,7 +4,6 @@ include(CodeGeneration) - # Incorporate an application folder function(add_isis_app folder libDependencies) @@ -58,7 +57,6 @@ function(add_isis_app folder libDependencies) add_makefile_test_folder(${f} ${appName}_app) endforeach() endif() - endfunction(add_isis_app) diff --git a/isis/cmake/CMakeLists.txt b/isis/cmake/CMakeLists.txt index 4bb9e778d4..8b1df97398 100644 --- a/isis/cmake/CMakeLists.txt +++ b/isis/cmake/CMakeLists.txt @@ -1,4 +1,3 @@ - # This file contains everything that should be exectuted AFTER the installation # step has completed. @@ -10,8 +9,6 @@ install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5.0${SO} ${CMAKE_INSTALL_P install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3.5${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis3${SO})") install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3${SO} ${CMAKE_INSTALL_PREFIX}/lib/libisis${SO})") - - # On OSX, need to correct all the paths encoded in each of the distributed library files so # that they properly find the distruted files using relative paths. if (APPLE) @@ -26,5 +23,4 @@ if (APPLE) get_filename_component(name ${f} NAME) install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/plugins/${name} resetRpath)") endforeach() - endif() diff --git a/isis/cmake/FindAllDependencies.cmake b/isis/cmake/FindAllDependencies.cmake deleted file mode 100644 index 6440e2d679..0000000000 --- a/isis/cmake/FindAllDependencies.cmake +++ /dev/null @@ -1,122 +0,0 @@ -#============================================================================== -# High level script to handle all required 3rd party dependencies -# - All of them are expected to be in the 3rdParty folder, this script does not -# go looking for them if they are not? -#=============================================================================== - -message("USING CONDA PREFIX: $ENV{CONDA_PREFIX}") -list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5) - -# Add thirdPartyCppFlags -set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU) -set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}") - -# Flag to fix numeric literals problem with boost on linux -if(NOT APPLE) - set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals ) -endif() - -# Paths to required executables -find_program(XALAN Xalan REQUIRED) -find_program(LATEX latex) -find_program(DOXYGEN NAME doxygen PATH_SUFFIXES doxygen REQUIRED) -find_program(UIC uic REQUIRED) -find_program(MOC moc REQUIRED) -find_program(RCC rcc REQUIRED) -find_program(PROTOC protoc REQUIRED) - -find_package(Qt5 COMPONENTS - Core - Concurrent - Gui - Multimedia - MultimediaWidgets - Network - OpenGL # Needed to install mesa-common-dev for this! - PrintSupport - Qml - Quick - Script - ScriptTools - Sql - Svg - Test - WebChannel - #WebKit - #WebKitWidgets - Widgets - Xml - XmlPatterns REQUIRED) - -# Some of these will have non-traditional installs with version numbers in the paths in v007 -# For these, we pass in a version number, and use it in the path suffix -# This only applies to v007, and outside of the building, we should only expect standard installs -# The v007-specific installs are listed beside their find_package calls below: -find_package(Boost 1.59.0 REQUIRED) -find_package(Bullet 2.86 REQUIRED) -find_package(Cholmod 4.4.5 REQUIRED) -find_package(CSPICE 65 REQUIRED) -find_package(Eigen REQUIRED) -find_package(Embree 2.15.0 REQUIRED) -find_package(GeoTIFF 2 REQUIRED) -find_package(GMM 5.0 REQUIRED) -find_package(GSL 19 REQUIRED) -find_package(HDF5 1.8.15 REQUIRED) -find_package(Jama 125 REQUIRED) -find_package(NN REQUIRED) -find_package(OpenCV 3.1.0 REQUIRED) -find_package(PCL 1.8 REQUIRED) -find_package(Protobuf 2.6.1 REQUIRED) -find_package(Qwt 6 REQUIRED) -find_package(SuperLU 4.3 REQUIRED) -find_package(TIFF 4.0.5 REQUIRED) -find_package(TNT 126 REQUIRED) -find_package(XercesC 3.1.2 REQUIRED) -find_package(X11 6 REQUIRED) -find_package(nanoflann REQUIRED) -find_package(PNG REQUIRED) -find_package(Kakadu) -find_package(Geos 3.5.0 REQUIRED) - - -# Im this case, we specify the version numbers being searched for in the non-traditional installs. -if(APPLE) - find_package(OpenGL REQUIRED) -endif(APPLE) - -get_cmake_property(_variableNames VARIABLES) # Get All VARIABLES -foreach (_variableName ${_variableNames}) -#message("VAR=${_variableName}") - if (_variableName MATCHES ".+_INCLUDE_DIR$") - list(APPEND ALLINCDIRS "${${_variableName}}") - elseif (_variableName MATCHES ".+_INCLUDE_PATH$") - list(APPEND ALLINCDIRS "${${_variableName}}") - endif(_variableName MATCHES ".+_INCLUDE_DIR$") -endforeach() - -foreach (_variableName ${_variableNames}) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBS "${${_variableName}}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBS "${${_variableName}}") - endif() -endforeach() - -foreach (_variableName ${_variableNames}) - get_filename_component(LIBDIR "${${_variableName}}" DIRECTORY) - if (_variableName MATCHES "^CMAKE+") - elseif (_variableName MATCHES ".+_LIB$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - elseif (_variableName MATCHES ".+_LIBRARY$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - elseif (_variableName MATCHES ".+_LIBRARIES$") - list(APPEND ALLLIBDIRS "${LIBDIR}") - endif(_variableName MATCHES "^CMAKE+") -endforeach() - -list(REMOVE_DUPLICATES ALLLIBDIRS) -list(REMOVE_DUPLICATES ALLLIBS) -list(REMOVE_DUPLICATES ALLINCDIRS) diff --git a/isis/cmake/FindBullet.cmake b/isis/cmake/FindBullet.cmake index dcc984c2b9..8b7b117683 100644 --- a/isis/cmake/FindBullet.cmake +++ b/isis/cmake/FindBullet.cmake @@ -23,14 +23,14 @@ find_library(BULLET3_LINEARMATH_LIBRARY NAMES LinearMath) get_filename_component(BULLET_ROOT_INCLUDE_DIR "${BULLET_INCLUDE_DIR}" DIRECTORY) -message( "-- BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) -message( "-- BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) -message( "-- BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) -message( "-- BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) -message( "-- BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) -message( "-- BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) -message( "-- BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) -message( "-- BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) -message( "-- BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) -message( "-- BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) -message( "-- BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) +message(STATUS "BULLET INCLUDE: " ${BULLET_INCLUDE_DIR} ) +message(STATUS "BULLET OPENCL: " ${BULLET_OPENCL_LIBRARY} ) +message(STATUS "BULLET SOFTBODY: " ${BULLET_SOFTBODY_LIBRARY}) +message(STATUS "BULLET INVERSE DYNAMICS: " ${BULLET_INVERSEDYNAMICS_LIBRARY} ) +message(STATUS "BULLET DYNAMICS: " ${BULLET_DYNAMICS_LIBRARY} ) +message(STATUS "BULLET COLLISION: " ${BULLET_COLLISION_LIBRARY} ) +message(STATUS "BULLET GEOMETRY: " ${BULLET3_GEOMETRY_LIBRARY} ) +message(STATUS "BULLET3 3DYNAMICS: " ${BULLET3_3DYNAMICS_LIBRARY} ) +message(STATUS "BULLET3 3COLLISION: " ${BULLET3_3COLLISION_LIBRARY} ) +message(STATUS "BULLET3 COMMON: " ${BULLET3_COMMON_LIBRARY} ) +message(STATUS "BULLET3 LINEARMATH: " ${BULLET3_LINEARMATH_LIBRARY} ) diff --git a/isis/cmake/FindCSPICE.cmake b/isis/cmake/FindCSPICE.cmake index 78f1af260b..3df2e1ff87 100644 --- a/isis/cmake/FindCSPICE.cmake +++ b/isis/cmake/FindCSPICE.cmake @@ -14,5 +14,5 @@ find_library(CSPICE_LIBRARY NAMES cspice ) -message( "-- CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) -message( "-- CSPICE LIB: " ${CSPICE_LIBRARY} ) +message(STATUS "CSPICE INCLUDE: " ${CSPICE_INCLUDE_DIR} ) +message(STATUS "CSPICE LIB: " ${CSPICE_LIBRARY} ) diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index c8119a296d..a46f6d9c36 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -36,15 +36,15 @@ endif() get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) -message( "-- CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) -message( "-- CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) -message( "-- CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) -message( "-- CAMD LIB: " ${CAMD_LIBRARY} ) -message( "-- AMD LIB: " ${AMD_LIBRARY} ) -message( "-- SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) -message( "-- FORTRAN LIB: " ${FORTRAN_LIBRARY} ) -message( "-- BLAS LIB: " ${BLAS_LIBRARY} ) +message(STATUS "CHOLMOD INCLUDE: " ${CHOLMOD_INCLUDE_DIR} ) +message(STATUS "CHOLMOD LIB: " ${CHOLMOD_LIBRARY} ) +message(STATUS "CCOLMOD LIB: " ${CCOLAMD_LIBRARY} ) +message(STATUS "CAMD LIB: " ${CAMD_LIBRARY} ) +message(STATUS "AMD LIB: " ${AMD_LIBRARY} ) +message(STATUS "SUITESPARSE LIB: " ${SUITESPARSE_LIBRARY} ) +message(STATUS "FORTRAN LIB: " ${FORTRAN_LIBRARY} ) +message(STATUS "BLAS LIB: " ${BLAS_LIBRARY} ) if(NOT APPLE) - message("-- LAPACK LIB: " ${LAPACK_LIBRARY}) + message(STATUS "LAPACK LIB: " ${LAPACK_LIBRARY}) endif() diff --git a/isis/cmake/FindEigen.cmake b/isis/cmake/FindEigen.cmake index ef0829284e..154a23cd59 100644 --- a/isis/cmake/FindEigen.cmake +++ b/isis/cmake/FindEigen.cmake @@ -14,4 +14,4 @@ find_path(EIGEN_ROOT_INCLUDE_DIR PATH_SUFFIXES eigen eigen3 ) -message( "-- EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) +message(STATUS "EIGEN INCLUDE DIR: " ${EIGEN_ROOT_INCLUDE_DIR} ) diff --git a/isis/cmake/FindEmbree.cmake b/isis/cmake/FindEmbree.cmake index 786e3307f6..d7af1d78d6 100644 --- a/isis/cmake/FindEmbree.cmake +++ b/isis/cmake/FindEmbree.cmake @@ -16,5 +16,5 @@ find_library(EMBREE_LIBRARY get_filename_component(EMBREE_ROOT_INCLUDE_DIR "${EMBREE_INCLUDE_DIR}" DIRECTORY) -message( "-- EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) -message( "-- EMBREE LIB: " ${EMBREE_LIBRARY}) +message(STATUS "EMBREE INCLUDE: " ${EMBREE_INCLUDE_DIR}) +message(STATUS "EMBREE LIB: " ${EMBREE_LIBRARY}) diff --git a/isis/cmake/FindGMM.cmake b/isis/cmake/FindGMM.cmake index e2a7d8da50..3787fa9534 100644 --- a/isis/cmake/FindGMM.cmake +++ b/isis/cmake/FindGMM.cmake @@ -11,4 +11,4 @@ find_path(GMM_INCLUDE_DIR get_filename_component(GMM_ROOT_INCLUDE_DIR "${GMM_INCLUDE_DIR}" DIRECTORY) -message( "-- GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") +message(STATUS "GMM INCLUDE DIR: ${GMM_INCLUDE_DIR}") diff --git a/isis/cmake/FindGSL.cmake b/isis/cmake/FindGSL.cmake index cd38cf470f..105dad800e 100644 --- a/isis/cmake/FindGSL.cmake +++ b/isis/cmake/FindGSL.cmake @@ -20,6 +20,6 @@ find_library(GSL_CBLAS_LIBRARY get_filename_component(GSL_ROOT_INCLUDE_DIR "${GSL_INCLUDE_DIR}" DIRECTORY) -message( "-- GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") -message( "-- GSL LIB: ${GSL_LIBRARY}") -message( "-- GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") +message(STATUS "GSL INCLUDE DIR: ${GSL_INCLUDE_DIR}") +message(STATUS "GSL LIB: ${GSL_LIBRARY}") +message(STATUS "GSL CBLAS LIB: ${GSL_CBLAS_LIBRARY}") diff --git a/isis/cmake/FindGeoTIFF.cmake b/isis/cmake/FindGeoTIFF.cmake index fce2108576..9bfbb68cac 100644 --- a/isis/cmake/FindGeoTIFF.cmake +++ b/isis/cmake/FindGeoTIFF.cmake @@ -16,5 +16,5 @@ find_library(GEOTIFF_LIBRARY get_filename_component(GEOTIFF_ROOT_INCLUDE_DIR "${GEOTIFF_INCLUDE_DIR}" DIRECTORY) -message( "-- GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") -message( "-- GEOTIFF LIB: ${GEOTIFF_LIBRARY}") +message(STATUS "GEOTIFF INCLUDE DIR: ${GEOTIFF_INCLUDE_DIR}") +message(STATUS "GEOTIFF LIB: ${GEOTIFF_LIBRARY}") diff --git a/isis/cmake/FindGeos.cmake b/isis/cmake/FindGeos.cmake index 8f4cf44249..dc2df58ec2 100644 --- a/isis/cmake/FindGeos.cmake +++ b/isis/cmake/FindGeos.cmake @@ -17,8 +17,8 @@ find_library(GEOS_C_LIBRARY NAMES geos_c ) -message( "-- GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) -message( "-- GEOS LIB: " ${GEOS_LIBRARY} ) -message( "-- GEOS C LIB: " ${GEOS_C_LIBRARY} ) +message(STATUS "GEOS INCLUDE DIR: " ${GEOS_INCLUDE_DIR} ) +message(STATUS "GEOS LIB: " ${GEOS_LIBRARY} ) +message(STATUS "GEOS C LIB: " ${GEOS_C_LIBRARY} ) get_filename_component(GEOS_ROOT_INCLUDE_DIR "${GEOS_INCLUDE_DIR}" DIRECTORY) diff --git a/isis/cmake/FindHDF5.cmake b/isis/cmake/FindHDF5.cmake index e9abbc72b8..1ebf7edcd3 100644 --- a/isis/cmake/FindHDF5.cmake +++ b/isis/cmake/FindHDF5.cmake @@ -17,8 +17,8 @@ find_library(HDF5_HLCPP_LIBRARY NAMES hdf5_hl_cpp) get_filename_component(HDF5_ROOT_INCLUDE_DIR "${HDF5_INCLUDE_DIR}" DIRECTORY) -message( "-- HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") -message( "-- HDF5 LIB: ${HDF5_LIBRARY}") -message( "-- HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") -message( "-- HDF5 HL LIB: ${HDF5_HL_LIBRARY}") -message( "-- HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") +message(STATUS "HDF5 INCLUDE DIR: ${HDF5_INCLUDE_DIR}") +message(STATUS "HDF5 LIB: ${HDF5_LIBRARY}") +message(STATUS "HDF5 CPP LIB: ${HDF5_CPP_LIBRARY}") +message(STATUS "HDF5 HL LIB: ${HDF5_HL_LIBRARY}") +message(STATUS "HDF5 HLCPP LIB: ${HDF5_HLCPP_LIBRARY}") diff --git a/isis/cmake/FindJama.cmake b/isis/cmake/FindJama.cmake index 71de34db60..c547d3b27d 100644 --- a/isis/cmake/FindJama.cmake +++ b/isis/cmake/FindJama.cmake @@ -11,4 +11,4 @@ find_path(JAMA_INCLUDE_DIR get_filename_component(JAMA_ROOT_INCLUDE_DIR "${JAMA_INCLUDE_DIR}" DIRECTORY) -message( "-- JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") +message(STATUS "JAMA INCLUDE DIR: ${JAMA_INCLUDE_DIR}") diff --git a/isis/cmake/FindKakadu.cmake b/isis/cmake/FindKakadu.cmake index a6edd15542..ed637a0e6f 100644 --- a/isis/cmake/FindKakadu.cmake +++ b/isis/cmake/FindKakadu.cmake @@ -23,9 +23,9 @@ if(JP2KFLAG) get_filename_component(KAKADU_ROOT_INCLUDE_DIR "${KAKADU_INCLUDE_DIR}" DIRECTORY) - message( "-- KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") - message( "-- KAKADU A LIB: ${KAKADU_A_LIBRARY}") - message( "-- KAKADU V LIB: ${KAKADU_V_LIBRARY}") + message(STATUS "KAKADU INC DIR: ${KAKADU_INCLUDE_DIR}") + message(STATUS "KAKADU A LIB: ${KAKADU_A_LIBRARY}") + message(STATUS "KAKADU V LIB: ${KAKADU_V_LIBRARY}") else() - message("-- KAKADU DISABLED") + message(STATUS "KAKADU DISABLED") endif() diff --git a/isis/cmake/FindLibPython.py b/isis/cmake/FindLibPython.py new file mode 100644 index 0000000000..38ae93fd3b --- /dev/null +++ b/isis/cmake/FindLibPython.py @@ -0,0 +1,10 @@ +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS + +import sys +import distutils.sysconfig + +print("exec_prefix:%s" % sys.exec_prefix) +print("short_version:%s" % sys.version[:3]) +print("long_version:%s" % sys.version.split()[0]) +print("py_inc_dir:%s" % distutils.sysconfig.get_python_inc()) +print("site_packages_dir:%s" % distutils.sysconfig.get_python_lib(plat_specific=1)) diff --git a/isis/cmake/FindNN.cmake b/isis/cmake/FindNN.cmake index 17c030e282..fa2b596278 100644 --- a/isis/cmake/FindNN.cmake +++ b/isis/cmake/FindNN.cmake @@ -15,5 +15,5 @@ find_library(NN_LIBRARY get_filename_component(NN_ROOT_INCLUDE_DIR "${NN_INCLUDE_DIR}" DIRECTORY) -message( "-- NN INCLUDE DIR: ${NN_INCLUDE_DIR}") -message( "-- NN LIB: ${NN_LIBRARY}") +message(STATUS "NN INCLUDE DIR: ${NN_INCLUDE_DIR}") +message(STATUS "NN LIB: ${NN_LIBRARY}") diff --git a/isis/cmake/FindOpenCV.cmake b/isis/cmake/FindOpenCV.cmake index 0984686d94..0450572ef0 100644 --- a/isis/cmake/FindOpenCV.cmake +++ b/isis/cmake/FindOpenCV.cmake @@ -28,17 +28,17 @@ find_library(OPENCV_FLANN_LIBRARY NAMES opencv_flann) get_filename_component(OPENCV_ROOT_INCLUDE_DIR "${OPENCV_INCLUDE_DIR}" DIRECTORY) -message( "-- OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") -message( "-- OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") -message( "-- OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") -message( "-- OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") -message( "-- OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") -message( "-- OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") -message( "-- OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") -message( "-- OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") -message( "-- OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") -message( "-- OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") -message( "-- OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") -message( "-- OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") -message( "-- OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") -message( "-- OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") +message(STATUS "OPENCV INCLUDE DIR: ${OPENCV_INCLUDE_DIR}") +message(STATUS "OPENCV CORE LIB: ${OPENCV_CORE_LIBRARY}") +message(STATUS "OPENCV VIDEOSTAB LIB: ${OPENCV_VIDEOSTAB_LIBRARY}") +message(STATUS "OPENCV SUPERRES LIB: ${OPENCV_SUPERRES_LIBRARY}") +message(STATUS "OPENCV STITCHING LIB: ${OPENCV_STITCHING_LIBRARY}") +message(STATUS "OPENCV PHOTO LIB: ${OPENCV_PHOTO_LIBRARY}") +message(STATUS "OPENCV OBJDETECT LIB: ${OPENCV_OBJDETECT_LIBRARY}") +message(STATUS "OPENCV IMGCODECS LIB: ${OPENCV_IMGCODECS_LIBRARY}") +message(STATUS "OPENCV IMGPROC LIB: ${OPENCV_IMGPROC_LIBRARY}") +message(STATUS "OPENCV CALIB3D LIB: ${OPENCV_CALIB3D_LIBRARY}") +message(STATUS "OPENCV FEATURES2D LIB: ${OPENCV_FEATURES2D_LIBRARY}") +message(STATUS "OPENCV xFEATURES2D LIB: ${OPENCV_XFEATURES2D_LIBRARY}") +message(STATUS "OPENCV HIGHGUI LIB: ${OPENCV_HIGHGUI_LIBRARY}") +message(STATUS "OPENCV FLANN LIB: ${OPENCV_FLANN_LIBRARY}") diff --git a/isis/cmake/FindPCL.cmake b/isis/cmake/FindPCL.cmake index 625a6126d7..902b5b6b1c 100644 --- a/isis/cmake/FindPCL.cmake +++ b/isis/cmake/FindPCL.cmake @@ -21,7 +21,7 @@ find_library(PCL_IO_LIBRARY NAMES pcl_io) get_filename_component(PCL_ROOT_INCLUDE_DIR "${PCL_INCLUDE_DIR}" DIRECTORY) -message( "-- PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") -message( "-- PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") -message( "-- PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") -message( "-- PCL IO LIB: ${PCL_IO_LIBRARY}") +message(STATUS "PCL INCLUDE DIR: ${PCL_INCLUDE_DIR}") +message(STATUS "PCL COMMON LIB: ${PCL_COMMON_LIBRARY}") +message(STATUS "PCL OCTREE LIB: ${PCL_OCTREE_LIBRARY}") +message(STATUS "PCL IO LIB: ${PCL_IO_LIBRARY}") diff --git a/isis/cmake/FindPNG.cmake b/isis/cmake/FindPNG.cmake index bc11004ec1..6c2439f113 100644 --- a/isis/cmake/FindPNG.cmake +++ b/isis/cmake/FindPNG.cmake @@ -13,5 +13,5 @@ find_library(PNG_LIBRARY NAMES png ) -message( "-- PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") -message( "-- PNG LIB: ${PNG_LIBRARY}") +message(STATUS "PNG INCLUDE DIR: ${PNG_INCLUDE_DIR}") +message(STATUS "PNG LIB: ${PNG_LIBRARY}") diff --git a/isis/cmake/FindProtobuf.cmake b/isis/cmake/FindProtobuf.cmake index 5374cb50e8..74db9e4342 100644 --- a/isis/cmake/FindProtobuf.cmake +++ b/isis/cmake/FindProtobuf.cmake @@ -7,5 +7,5 @@ find_library(PROTOBUF_LIBRARY NAMES protobuf) get_filename_component(PROTOBUF_ROOT_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}" DIRECTORY) -message( "-- PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") -message( "-- PROTOBUF LIB: ${PROTOBUF_LIBRARY}") +message(STATUS "PROTOBUF INCLUDE DIR: ${PROTOBUF_INCLUDE_DIR}") +message(STATUS "PROTOBUF LIB: ${PROTOBUF_LIBRARY}") diff --git a/isis/cmake/FindPython.cmake b/isis/cmake/FindPython.cmake new file mode 100644 index 0000000000..5f5a64a98d --- /dev/null +++ b/isis/cmake/FindPython.cmake @@ -0,0 +1,108 @@ +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS +# +# PYTHON_EXECUTABLE - The path and filename of the Python interpreter. +# +# PYTHON_SHORT_VERSION - The version of the Python interpreter found, +# excluding the patch version number. (e.g. 2.5 and not 2.5.1)) +# +# PYTHON_LONG_VERSION - The version of the Python interpreter found as a human +# readable string. +# +# PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory. +# +# PYTHON_INCLUDE_PATH - Directory holding the python.h include file. +# +# PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library. + +INCLUDE(CMakeFindFrameworks) + +if(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") + # Already in cache, be silent + set(PYTHONLIBRARY_FOUND TRUE) +else(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") + + FIND_PACKAGE(PythonInterp 3) + + if(PYTHONINTERP_FOUND) + FIND_FILE(_find_lib_python_py FindLibPython.py PATHS ${CMAKE_MODULE_PATH}) + + EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_lib_python_py} OUTPUT_VARIABLE python_config) + if(python_config) + STRING(REGEX REPLACE ".*exec_prefix:([^\n]+).*$" "\\1" PYTHON_PREFIX ${python_config}) + STRING(REGEX REPLACE ".*\nshort_version:([^\n]+).*$" "\\1" PYTHON_SHORT_VERSION ${python_config}) + STRING(REGEX REPLACE ".*\nlong_version:([^\n]+).*$" "\\1" PYTHON_LONG_VERSION ${python_config}) + STRING(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" PYTHON_INCLUDE_PATH ${python_config}) + if(NOT PYTHON_SITE_PACKAGES_DIR) + if(NOT PYTHON_LIBS_WITH_KDE_LIBS) + STRING(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" PYTHON_SITE_PACKAGES_DIR ${python_config}) + else(NOT PYTHON_LIBS_WITH_KDE_LIBS) + set(PYTHON_SITE_PACKAGES_DIR ${KDE4_LIB_INSTALL_DIR}/python${PYTHON_SHORT_VERSION}/site-packages) + endif(NOT PYTHON_LIBS_WITH_KDE_LIBS) + endif(NOT PYTHON_SITE_PACKAGES_DIR) + STRING(REGEX REPLACE "([0-9]+).([0-9]+)" "\\1\\2" PYTHON_SHORT_VERSION_NO_DOT ${PYTHON_SHORT_VERSION}) + set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION} python${PYTHON_SHORT_VERSION_NO_DOT} python${PYTHON_SHORT_VERSION}m python${PYTHON_SHORT_VERSION_NO_DOT}m) + if(WIN32) + STRING(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR}) + FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES} PATHS ${PYTHON_PREFIX}/lib ${PYTHON_PREFIX}/libs) + endif(WIN32) + FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES}) + set(PYTHON_INCLUDE_PATH ${PYTHON_INCLUDE_PATH} CACHE FILEPATH "Directory holding the python.h include file" FORCE) + set(PYTHONLIBRARY_FOUND TRUE) + endif(python_config) + + # adapted from cmake's builtin FindPythonLibs + if(APPLE) + # If a framework has been detected in the include path, make sure + # framework's versioned library (not any .dylib) is used for linking + # NOTE: don't rely upon Python.framework/Versions/Current, since that may be 2.7 + if("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") + set(PYTHON_LIBRARY "") + set(PYTHON_DEBUG_LIBRARY "") + # get clean path to just framework + STRING(REGEX REPLACE "^(.*/Python\\.framework).*$" "\\1" _py_fw "${PYTHON_INCLUDE_PATH}") + if("${_py_fw}" MATCHES "Cellar/python") + # Appears to be a Homebrew Python install; do specific fix ups + # get Homebrew prefix (may not be /usr/local) + STRING(REGEX REPLACE "^(.+)/Cellar.*$" "\\1" _hb_prefix "${_py_fw}") + # prefer the Homebrew prefix framework over only versioned Python keg + set(_py_fw "${_hb_prefix}/Frameworks/Python.framework") + # prefer the symlinked-to Homebrew site-packages over only versioned Python keg + set(PYTHON_SITE_PACKAGES_DIR "${_hb_prefix}/lib/python${PYTHON_SHORT_VERSION}/site-packages") + endif("${_py_fw}" MATCHES "Cellar/python") + # prefer the Headers subdirectory for includes + if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") + set(PYTHON_INCLUDE_PATH "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers" CACHE FILEPATH "Directory holding the python.h include file" FORCE) + endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers") + endif("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework") + if(NOT PYTHON_LIBRARY) + # ensure the versioned framework's library is defined, instead of relying upon -F search paths + if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") + set(PYTHON_LIBRARY "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python" CACHE FILEPATH "Python framework library" FORCE) + endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python") + endif(NOT PYTHON_LIBRARY) + if(PYTHON_LIBRARY) + set(PYTHONLIBRARY_FOUND TRUE) + endif(PYTHON_LIBRARY) + endif(APPLE) + endif(PYTHONINTERP_FOUND) + + if(PYTHONLIBRARY_FOUND) + if(APPLE) + # keep reference to system or custom python site-packages + # useful during app-bundling operations + set(PYTHON_SITE_PACKAGES_SYS ${PYTHON_SITE_PACKAGES_DIR}) + endif(APPLE) + set(PYTHON_LIBRARIES ${PYTHON_LIBRARY}) + if(NOT PYTHONLIBRARY_FIND_QUIETLY) + message(STATUS "Found Python executable: ${PYTHON_EXECUTABLE}") + message(STATUS "Found Python version: ${PYTHON_LONG_VERSION}") + message(STATUS "Found Python library: ${PYTHON_LIBRARY}") + message(STATUS "Found Python site-packages: ${PYTHON_SITE_PACKAGES_DIR}") + endif(NOT PYTHONLIBRARY_FIND_QUIETLY) + else(PYTHONLIBRARY_FOUND) + if(PYTHONLIBRARY_FIND_REQUIRED) + message(FATAL_ERROR "Could not find Python") + endif(PYTHONLIBRARY_FIND_REQUIRED) + endif(PYTHONLIBRARY_FOUND) + +endif (EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}") diff --git a/isis/cmake/FindQwt.cmake b/isis/cmake/FindQwt.cmake index 8b52467945..8262a57b69 100644 --- a/isis/cmake/FindQwt.cmake +++ b/isis/cmake/FindQwt.cmake @@ -16,5 +16,5 @@ find_library(QWT_LIBRARY get_filename_component(QWT_ROOT_INCLUDE_DIR "${QWT_INCLUDE_DIR}" DIRECTORY) -message( "-- QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") -message( "-- QWT LIB: ${QWT_LIBRARY}") +message(STATUS "QWT INCLUDE LIB: ${QWT_INCLUDE_DIR}") +message(STATUS "QWT LIB: ${QWT_LIBRARY}") diff --git a/isis/cmake/FindSip.cmake b/isis/cmake/FindSip.cmake new file mode 100644 index 0000000000..8ede37c8d7 --- /dev/null +++ b/isis/cmake/FindSip.cmake @@ -0,0 +1,44 @@ +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS +# +# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number +# suitable for comparison as a string. +# +# SIP_VERSION_STR - The version of SIP found as a human readable string. +# +# SIP_BINARY_PATH - Path and filename of the SIP command line executable. +# +# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file. +# +# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed +# into. + +IF(SIP_VERSION) + # Already in cache, be silent + SET(SIP_FOUND TRUE) +ELSE(SIP_VERSION) + + FIND_FILE(_find_sip_py FindSip.py PATHS ${CMAKE_MODULE_PATH}) + + EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config) + IF(sip_config) + STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_BINARY_PATH ${sip_config}) + STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config}) + STRING(REGEX REPLACE ".*\nsip_mod_dir:([^\n]+).*$" "\\1" SIP_MOD_DIR ${sip_config}) + SET(SIP_FOUND TRUE) + ENDIF(sip_config) + + IF(SIP_FOUND) + IF(NOT SIP_FIND_QUIETLY) + MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}") + ENDIF(NOT SIP_FIND_QUIETLY) + ELSE(SIP_FOUND) + IF(SIP_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find SIP") + ENDIF(SIP_FIND_REQUIRED) + ENDIF(SIP_FOUND) + +ENDIF(SIP_VERSION) diff --git a/isis/cmake/FindSip.py b/isis/cmake/FindSip.py new file mode 100644 index 0000000000..8cbb00fa5c --- /dev/null +++ b/isis/cmake/FindSip.py @@ -0,0 +1,13 @@ +# Borrowed mostly from the QGIS project: https://github.com/qgis/QGIS + + +import sipconfig + +sipcfg = sipconfig.Configuration() +print("sip_version:%06.0x" % sipcfg.sip_version) +print("sip_version_num:%d" % sipcfg.sip_version) +print("sip_version_str:%s" % sipcfg.sip_version_str) +print("sip_bin:%s" % sipcfg.sip_bin) +print("default_sip_dir:%s" % sipcfg.default_sip_dir) +print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) +print("sip_mod_dir:%s" % sipcfg.sip_mod_dir) diff --git a/isis/cmake/FindSuperLU.cmake b/isis/cmake/FindSuperLU.cmake index 7462e6dc9a..2c588bd138 100644 --- a/isis/cmake/FindSuperLU.cmake +++ b/isis/cmake/FindSuperLU.cmake @@ -17,5 +17,5 @@ find_library(SUPERLU_LIBRARY get_filename_component(SUPERLU_ROOT_INCLUDE_DIR "${SUPERLU_INCLUDE_DIR}" DIRECTORY) -message( "-- SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") -message( "-- SUPERLU LIB: ${SUPERLU_LIBRARY}") +message(STATUS "SUPERLU INCLUDE DIR: ${SUPERLU_INCLUDE_DIR}") +message(STATUS "SUPERLU LIB: ${SUPERLU_LIBRARY}") diff --git a/isis/cmake/FindTIFF.cmake b/isis/cmake/FindTIFF.cmake index 6b7149b687..f483f58778 100644 --- a/isis/cmake/FindTIFF.cmake +++ b/isis/cmake/FindTIFF.cmake @@ -5,5 +5,5 @@ find_path(TIFF_INCLUDE_DIR find_library(TIFF_LIBRARY NAMES tiff) -message( "-- TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") -message( "-- TIFF LIB: ${TIFF_LIBRARY}") +message(STATUS "TIFF INCLUDE DIR: ${TIFF_INCLUDE_DIR}") +message(STATUS "TIFF LIB: ${TIFF_LIBRARY}") diff --git a/isis/cmake/FindTNT.cmake b/isis/cmake/FindTNT.cmake index aea3a60d36..0bbfb154c0 100644 --- a/isis/cmake/FindTNT.cmake +++ b/isis/cmake/FindTNT.cmake @@ -11,4 +11,4 @@ find_path(TNT_INCLUDE_DIR get_filename_component(TNT_ROOT_INCLUDE_DIR "${TNT_INCLUDE_DIR}" DIRECTORY) -message("-- TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) +message(STATUS "TNT INCLUDE DIR: ${TNT_INCLUDE_DIR}" ) diff --git a/isis/cmake/FindX11.cmake b/isis/cmake/FindX11.cmake index a1714cb526..fe25ac1315 100644 --- a/isis/cmake/FindX11.cmake +++ b/isis/cmake/FindX11.cmake @@ -8,4 +8,4 @@ find_library(X11_LIBRARY NAMES X11 ) -message( "-- X11 LIB: " ${X11_LIBRARY} ) +message(STATUS "X11 LIB: " ${X11_LIBRARY} ) diff --git a/isis/cmake/FindXercesC.cmake b/isis/cmake/FindXercesC.cmake index 6e72e533aa..335dca4fda 100644 --- a/isis/cmake/FindXercesC.cmake +++ b/isis/cmake/FindXercesC.cmake @@ -6,5 +6,5 @@ find_path(XERCESC_INCLUDE_DIR find_library(XercesC_LIBRARY NAMES xerces-c) -message( "-- XERCES LIB: " ${XercesC_LIBRARY} ) -message( "-- XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) +message(STATUS "XERCES LIB: " ${XercesC_LIBRARY} ) +message(STATUS "XERCES INCLUDE DIR: " ${XERCESC_INCLUDE_DIR} ) diff --git a/isis/cmake/Findnanoflann.cmake b/isis/cmake/Findnanoflann.cmake index 3562e074d8..3c05e57013 100644 --- a/isis/cmake/Findnanoflann.cmake +++ b/isis/cmake/Findnanoflann.cmake @@ -12,4 +12,4 @@ find_path(NANOFLANN_INCLUDE_DIR get_filename_component(NANOFLANN_ROOT_INCLUDE_DIR "${NANOFLANN_INCLUDE_DIR}" DIRECTORY) -message( "-- NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") +message(STATUS "NANOFLANN INCLUDE DIR: ${NANOFLANN_INCLUDE_DIR}") diff --git a/isis/sipfiles/BundleAdjust.sip b/isis/sipfiles/BundleAdjust.sip new file mode 100644 index 0000000000..098d7cab9c --- /dev/null +++ b/isis/sipfiles/BundleAdjust.sip @@ -0,0 +1,31 @@ +// SIP Wrapper to the ISIS3 bundle class +%Include type_conversions.sip + + +namespace Isis { + class BundleAdjust : public QObject { + %TypeHeaderCode + #include "BundleAdjust.h" + #include "IException.h" + %End + + public: + BundleAdjust(PyObject* settings, const QString &cnetFile, const QString &cubeList, bool printSummary = true) throw(Isis::IException) [(QSharedPointer, QString, QString, bool)]; + %MethodCode + int sipErr = 0; + QSharedPointer *wrappedSettings = new QSharedPointer(); + + Isis::BundleSettings *settings = (Isis::BundleSettings*) sipConvertToType(a0, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + wrappedSettings->reset(settings); + try { + sipCpp = new sipIsis_BundleAdjust(*wrappedSettings, *a1, *a2, a3); + } + catch (Isis::IException &error) { + PyErr_SetString(sipException_Isis_IException, error.what()); + return NULL; + } + %End + + Isis::BundleSolutionInfo solveCholeskyBR() throw(Isis::IException) ; + }; +}; diff --git a/isis/sipfiles/BundleControlPoint.sip b/isis/sipfiles/BundleControlPoint.sip new file mode 100644 index 0000000000..934b00bc94 --- /dev/null +++ b/isis/sipfiles/BundleControlPoint.sip @@ -0,0 +1,68 @@ +namespace Isis { + class BundleControlPoint { + + %TypeHeaderCode + #include "BundleControlPoint.h" + #include + %End + + public: + + SIP_PYTYPE measures() throw(Isis::IException); + %MethodCode + size_t size = sipCpp->size(); + + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + Isis::BundleMeasure* cppMeasure = sipCpp->at(i).data(); + + PyObject *pyMeasure = sipConvertFromType((void*)(cppMeasure), sipType_Isis_BundleMeasure, NULL); + PyList_SetItem(l, i, pyMeasure); + } + + return l; + + %End + + // BundleControlPoint(ControlPoint *point); // default constructor + BundleControlPoint(const Isis::BundleControlPoint &src) throw(Isis::IException); + ~BundleControlPoint(); + + // copy + void copy(const Isis::BundleControlPoint &src) throw(Isis::IException); + + // mutators + // QSharedPointer addMeasure(ControlMeasure *controlMeasure); + void computeResiduals() throw(Isis::IException); + void setNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); + void setRejected(bool reject) throw(Isis::IException); + void setWeights(const QSharedPointer settings, double metersToRadians) throw(Isis::IException); + void zeroNumberOfRejectedMeasures() throw(Isis::IException); + + // accessors + bool isRejected() const throw(Isis::IException); + int numberOfMeasures() const throw(Isis::IException); + int numberOfRejectedMeasures() const throw(Isis::IException); + double residualRms() const throw(Isis::IException); + QString id() const throw(Isis::IException); + Isis::ControlPoint::PointType type() const throw(Isis::IException); + + // string format methods + QString formatBundleOutputSummaryString(bool errorPropagation) const throw(Isis::IException); + QString formatBundleOutputDetailString(bool errorPropagation, double RTM, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatValue(double value, int fieldWidth, int precision) throw(Isis::IException); + QString formatAprioriSigmaString(int type, int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatLatitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); + QString formatLongitudeAprioriSigmaString(int fieldWidth, int precision) const throw(Isis::IException); + QString formatRadiusAprioriSigmaString(int fieldWidth, int precision, bool solveRadius=false) throw(Isis::IException) /KeywordArgs="Optional"/; + QString formatAdjustedSigmaString(int type, int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatLatitudeAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatLongitudeAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision, + bool errorPropagation) const throw(Isis::IException); + + }; +}; diff --git a/isis/sipfiles/BundleImage.sip b/isis/sipfiles/BundleImage.sip new file mode 100644 index 0000000000..bf8d975d4c --- /dev/null +++ b/isis/sipfiles/BundleImage.sip @@ -0,0 +1,16 @@ +namespace Isis { + class BundleImage /NoDefaultCtors/ { + %TypeHeaderCode + #include "BundleImage.h" + %End + %InstanceCode + sipCpp = new Isis::BundleImage(NULL, "", ""); + %End + public: + + + // QSharedPointer parentObservation(); + QString serialNumber() throw(Isis::IException); + QString fileName() throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/BundleMeasure.sip b/isis/sipfiles/BundleMeasure.sip new file mode 100644 index 0000000000..fd2a02942c --- /dev/null +++ b/isis/sipfiles/BundleMeasure.sip @@ -0,0 +1,30 @@ +%Include type_conversions.sip + +namespace Isis { + class BundleMeasure /NoDefaultCtors/ { + %TypeHeaderCode + #include "BundleMeasure.h" + %End + + public: + + bool isRejected() const throw(Isis::IException); + // Camera *camera() const; + // Isis::BundleControlPoint *parentControlPoint(); + QSharedPointer parentBundleImage() throw(Isis::IException); + // QSharedPointer parentBundleObservation(); + // const QSharedPointer observationSolveSettings(); + + double sample() const throw(Isis::IException); + double sampleResidual() const throw(Isis::IException); + double line() const throw(Isis::IException); + double lineResidual() const throw(Isis::IException); + double residualMagnitude() const throw(Isis::IException); + QString cubeSerialNumber() const throw(Isis::IException); + double focalPlaneComputedX() const throw(Isis::IException); + double focalPlaneComputedY() const throw(Isis::IException); + double focalPlaneMeasuredX() const throw(Isis::IException); + double focalPlaneMeasuredY() const throw(Isis::IException); + int observationIndex() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/BundleObservationSolveSettings.sip b/isis/sipfiles/BundleObservationSolveSettings.sip new file mode 100644 index 0000000000..89b28277c0 --- /dev/null +++ b/isis/sipfiles/BundleObservationSolveSettings.sip @@ -0,0 +1,59 @@ + +%Import QtCore/QtCoremod.sip +%Import QtXml/QtXmlmod.sip + +namespace Isis{ + class BundleObservationSolveSettings { + %TypeHeaderCode + #include "BundleObservationSolveSettings.h" + %End + public: + + enum InstrumentPointingSolveOption { + NoPointingFactors = 0, /**< Solve for none of the pointing factors.*/ + AnglesOnly = 1, /**< Solve for pointing angles: right ascension, declination + and, optionally, twist.*/ + AnglesVelocity = 2, //!< Solve for pointing angles and their angular velocities. + AnglesVelocityAcceleration = 3, /**< Solve for pointing angles, their velocities and their + accelerations.*/ + AllPointingCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to + the pointing angles.*/ + }; + + //! Options for how to solve for instrument position + enum InstrumentPositionSolveOption { + NoPositionFactors = 0, /**< Solve for none of the position factors.*/ + PositionOnly = 1, /**< Solve for instrument positions only.*/ + PositionVelocity = 2, /**< Solve for instrument positions and velocities.*/ + PositionVelocityAcceleration = 3, /**< Solve for instrument positions, velocities, and + accelerations.*/ + AllPositionCoefficients = 4 /**< Solve for all coefficients in the polynomials fit to + the instrument positions.*/ + }; + + BundleObservationSolveSettings() throw(Isis::IException); + InstrumentPositionSolveOption stringToInstrumentPositionSolveOption(QString option) throw(Isis::IException); + InstrumentPointingSolveOption stringToInstrumentPointingSolveOption(QString option) throw(Isis::IException); + + void setInstrumentPositionSettings(InstrumentPositionSolveOption option, + int spkDegree = 2, + int spkSolveDegree = 2, + bool positionOverHermite = false, + double positionAprioriSigma = -1.0, + double velocityAprioriSigma = -1.0, + double accelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; + + + void setInstrumentPointingSettings(InstrumentPointingSolveOption option, + bool solveTwist, + int ckDegree = 2, + int ckSolveDegree = 2, + bool solvePolynomialOverExisting = false, + double anglesAprioriSigma = -1.0, + double angularVelocityAprioriSigma = -1.0, + double angularAccelerationAprioriSigma = -1.0) throw(Isis::IException) /KeywordArgs="Optional"/; + + + + }; +}; diff --git a/isis/sipfiles/BundleResults.sip b/isis/sipfiles/BundleResults.sip new file mode 100644 index 0000000000..777ae54aed --- /dev/null +++ b/isis/sipfiles/BundleResults.sip @@ -0,0 +1,125 @@ +%Include Statistics.sip +%Include type_conversions.sip + + +namespace Isis { + class BundleResults : public QObject { + %TypeHeaderCode + #include "BundleResults.h" + %End + + public: + BundleResults(const Isis::BundleResults &src); + void initialize(); + + void resizeSigmaStatisticsVectors(int numberImages); + // void setRmsImageResidualLists(QList rmsImageLineResiduals, + // QList rmsImageSampleResiduals, + // QList rmsImageResiduals); + // void setRmsImageResidualLists(QVector rmsImageLineResiduals, + // QVector rmsImageSampleResiduals, + // QVector rmsImageResiduals); + // void setSigmaLatitudeRange(Distance minLatDist, Distance maxLatDist, + // QString minLatPointId, QString maxLatPointId); + // void setSigmaLongitudeRange(Distance minLonDist, Distance maxLonDist, + // QString minLonPointId, QString maxLonPointId); + // void setSigmaRadiusRange(Distance minRadDist, Distance maxRadDist, + // QString minRadPointId, QString maxRadPointId); + void setRmsFromSigmaStatistics(double rmsFromSigmaLatStats, + double rmsFromSigmaLonStats, + double rmsFromSigmaRadStats); + + void printMaximumLikelihoodTierInformation() throw(Isis::IException); + void incrementMaximumLikelihoodModelIndex() throw(Isis::IException); + + void incrementFixedPoints() throw(Isis::IException); + int numberFixedPoints() const throw(Isis::IException); + void incrementHeldImages() throw(Isis::IException); + int numberHeldImages() const throw(Isis::IException); + void incrementIgnoredPoints() throw(Isis::IException); + int numberIgnoredPoints() const throw(Isis::IException); // currently unused ??? + void setRejectionLimit(double rejectionLimit) throw(Isis::IException); + void setRmsXYResiduals(double rx, double ry, double rxy) throw(Isis::IException); + + void setNumberRejectedObservations(int numberObservations) throw(Isis::IException); + void setNumberObservations(int numberObservations) throw(Isis::IException); + void setNumberImageParameters(int numberParameters) throw(Isis::IException); // ??? this is the same value an m_nRank + void resetNumberConstrainedPointParameters() throw(Isis::IException); + void incrementNumberConstrainedPointParameters(int incrementAmount) throw(Isis::IException); + void resetNumberConstrainedImageParameters() throw(Isis::IException); + void incrementNumberConstrainedImageParameters(int incrementAmount) throw(Isis::IException); + void resetNumberConstrainedTargetParameters() throw(Isis::IException); + void incrementNumberConstrainedTargetParameters(int incrementAmount) throw(Isis::IException); + void setNumberUnknownParameters(int numberParameters) throw(Isis::IException); + void computeDegreesOfFreedom() throw(Isis::IException); + + void computeSigma0(double dvtpv, Isis::BundleSettings::ConvergenceCriteria criteria) throw(Isis::IException); + void setDegreesOfFreedom(double degreesOfFreedom) throw(Isis::IException); + void setSigma0(double sigma0) throw(Isis::IException); + void setElapsedTime(double time) throw(Isis::IException); + void setElapsedTimeErrorProp(double time) throw(Isis::IException); + void setRadiansToMeters(double rtm) throw(Isis::IException); + void setConverged(bool converged) throw(Isis::IException); // or initialze method + // void setBundleControlPoints(QVector controlPoints); + // void setOutputControlNet(QSharedPointer outNet); + void setIterations(int iterations) throw(Isis::IException); + // void setObservations(BundleObservationVector observations) throw(Isis::IException); + + QList rmsImageSampleResiduals() const throw(Isis::IException); + QList rmsImageLineResiduals() const throw(Isis::IException); + QList rmsImageResiduals() const throw(Isis::IException); + QVector rmsImageXSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageYSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageZSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageRASigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageDECSigmas() const throw(Isis::IException); // currently unused ??? + QVector rmsImageTWISTSigmas() const throw(Isis::IException); // currently unused ??? + + // Distance minSigmaLatitudeDistance() const throw(Isis::IException); + // Distance maxSigmaLatitudeDistance() const throw(Isis::IException); + // Distance minSigmaLongitudeDistance() const throw(Isis::IException); + // Distance maxSigmaLongitudeDistance() const throw(Isis::IException); + // Distance minSigmaRadiusDistance() const throw(Isis::IException); + // Distance maxSigmaRadiusDistance() const throw(Isis::IException); + + QString maxSigmaLatitudePointId() const throw(Isis::IException); + QString minSigmaLatitudePointId() const throw(Isis::IException); + QString minSigmaLongitudePointId() const throw(Isis::IException); + QString maxSigmaLongitudePointId() const throw(Isis::IException); + QString minSigmaRadiusPointId() const throw(Isis::IException); + QString maxSigmaRadiusPointId() const throw(Isis::IException); + double sigmaLatitudeStatisticsRms() const throw(Isis::IException); + double sigmaLongitudeStatisticsRms() const throw(Isis::IException); + double sigmaRadiusStatisticsRms() const throw(Isis::IException); + double rmsRx() const throw(Isis::IException); // currently unused ??? + double rmsRy() const throw(Isis::IException); // currently unused ??? + double rmsRxy() const throw(Isis::IException); // currently unused ??? + double rejectionLimit() const throw(Isis::IException); + double radiansToMeters() const throw(Isis::IException); + int numberRejectedObservations() const throw(Isis::IException); + int numberObservations() const throw(Isis::IException); + + int numberImageParameters() const throw(Isis::IException); // ??? this is the same value an m_nRank + int numberConstrainedPointParameters() const throw(Isis::IException); + int numberConstrainedImageParameters() const throw(Isis::IException); + int numberConstrainedTargetParameters() const throw(Isis::IException); + int numberUnknownParameters() const throw(Isis::IException); + int degreesOfFreedom() const throw(Isis::IException); + double sigma0() const throw(Isis::IException); + double elapsedTime() const throw(Isis::IException); + double elapsedTimeErrorProp() const throw(Isis::IException); + bool converged() const throw(Isis::IException); // or initialze method + + QVector > &bundleControlPoints(); + QSharedPointer outputControlNet() const throw(Isis::IException); + + int iterations() const throw(Isis::IException); + + int numberMaximumLikelihoodModels() const throw(Isis::IException); + int maximumLikelihoodModelIndex() const throw(Isis::IException); + double maximumLikelihoodMedianR2Residuals() const throw(Isis::IException); + double maximumLikelihoodModelQuantile(int modelIndex) const throw(Isis::IException); + + }; + +}; diff --git a/isis/sipfiles/BundleSettings.sip b/isis/sipfiles/BundleSettings.sip new file mode 100644 index 0000000000..b6f9799ab4 --- /dev/null +++ b/isis/sipfiles/BundleSettings.sip @@ -0,0 +1,113 @@ +%Include BundleObservationSolveSettings.sip +%Include MaximumLikelihoodWFunctions.sip + +%Include type_conversions.sip + +namespace Isis { + + class BundleSettings { + %TypeHeaderCode + #include "BundleSettings.h" + #include "BundleObservationSolveSettings.h" + #include + %End + public: + + enum ConvergenceCriteria { + Sigma0, /**< The value of sigma0 will be used to determine that the bundle + adjustment has converged.*/ + ParameterCorrections /**< All parameter corrections will be used to determine that the + bundle adjustment has converged.*/ + }; + + // enum MaximumLikelihoodModel { + // NoMaximumLikelihoodEstimator, + // Huber, + // ModifiedHuber, + // Welsch, + // Chen + // }; + + BundleSettings() throw(Isis::IException); + + void setValidateNetwork(bool) throw(Isis::IException); + + void setSolveOptions(bool solveObservationMode = false, + bool updateCubeLabel = false, + bool errorPropagation = false, + bool solveRadius = false, + double globalLatitudeAprioriSigma = Isis::Null, + double globalLongitudeAprioriSigma = Isis::Null, + double globalRadiusAprioriSigma = Isis::Null) throw(Isis::IException) /KeywordArgs="Optional"/; + + void setOutlierRejection(bool outlierRejection, + double multiplier = 1.0) throw(Isis::IException); + + bool solveObservationMode() const throw(Isis::IException); + bool solveRadius() const throw(Isis::IException); + bool updateCubeLabel() const throw(Isis::IException); + bool errorPropagation() const throw(Isis::IException); + bool outlierRejection() const throw(Isis::IException); + double outlierRejectionMultiplier() const throw(Isis::IException); + double globalLatitudeAprioriSigma() const throw(Isis::IException); + double globalLongitudeAprioriSigma() const throw(Isis::IException); + double globalRadiusAprioriSigma() const throw(Isis::IException); + + int numberSolveSettings() const throw(Isis::IException); + Isis::BundleObservationSolveSettings observationSolveSettings(QString instrumentId) const throw(Isis::IException); + Isis::BundleObservationSolveSettings observationSolveSettings(int n) const throw(Isis::IException); + + void setObservationSolveOptions(QList); + // %MethodCode + // Py_ssize_t size = PyList_Size(a0); + // QList *cppSettingsList = new QList(); + // int sipErr = 0; + // for(int i = 0; i < size; i++) { + // PyObject *pyStat = PyList_GET_ITEM(a0, i); + // Isis::BundleObservationSolveSettings *settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pyStat, sipType_Isis_BundleObservationSolveSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + // cppSettingsList->append(*settings); + // } + // + // sipCpp->setObservationSolveOptions(*cppSettingsList); + // %End + + SIP_PYLIST maximumLikelihoodEstimatorModels() const throw(Isis::IException); + %MethodCode // convert QList to Python list if tuples + typedef Isis::MaximumLikelihoodWFunctions::Model Model; + size_t size = sipCpp->maximumLikelihoodEstimatorModels().size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + // get the two items from the QPair + Model *model = new Model(sipCpp->maximumLikelihoodEstimatorModels()[i].first); + double doubl = sipCpp->maximumLikelihoodEstimatorModels()[i].second; + + // Convert the two items to PyObjects + PyObject *first = sipConvertFromType((void*)(model), sipType_Isis_MaximumLikelihoodWFunctions_Model, NULL); + PyObject *second = PyFloat_FromDouble(doubl); + + // set the tuple items + PyObject *tuple = PyTuple_New(2); + PyTuple_SetItem(tuple, 0, first); + PyTuple_SetItem(tuple, 1, second); + + // Add new tuple to list + PyList_SetItem(l, i, tuple); + } + return l; + %End + + + int numberTargetBodyParameters() const throw(Isis::IException); + bool solveTargetBody() const throw(Isis::IException); + bool solvePoleRA() const throw(Isis::IException); + bool solvePoleRAVelocity() const throw(Isis::IException); + bool solvePoleDec() const throw(Isis::IException); + bool solvePoleDecVelocity() const throw(Isis::IException); + bool solvePM() const throw(Isis::IException); + bool solvePMVelocity() const throw(Isis::IException); + bool solvePMAcceleration() const throw(Isis::IException); + bool solveTriaxialRadii() const throw(Isis::IException); + bool solveMeanRadius() const throw(Isis::IException); + + }; +}; diff --git a/isis/sipfiles/BundleSolutionInfo.sip b/isis/sipfiles/BundleSolutionInfo.sip new file mode 100644 index 0000000000..7f1c27ba14 --- /dev/null +++ b/isis/sipfiles/BundleSolutionInfo.sip @@ -0,0 +1,28 @@ + +%Include type_conversions.sip + +namespace Isis{ + +class BundleSolutionInfo : public QObject { + %TypeHeaderCode + #include "BundleSolutionInfo.h" + %End + + public: + BundleSolutionInfo(const Isis::BundleSolutionInfo &src) throw(Isis::IException); + + void setOutputStatistics(Isis::BundleResults statisticsResults) throw(Isis::IException); + void setRunTime(QString runTime) throw(Isis::IException); + + QString id() const throw(Isis::IException); + QString controlNetworkFileName() const throw(Isis::IException); + QSharedPointer bundleSettings() throw(Isis::IException); + Isis::BundleResults bundleResults() throw(Isis::IException); + QString runTime() const throw(Isis::IException); + + bool outputText() throw(Isis::IException); + bool outputPointsCSV() throw(Isis::IException); + bool outputResiduals() throw(Isis::IException); + + }; // end namespace Isis +}; diff --git a/isis/sipfiles/ControlNet.sip b/isis/sipfiles/ControlNet.sip new file mode 100644 index 0000000000..73408334cf --- /dev/null +++ b/isis/sipfiles/ControlNet.sip @@ -0,0 +1,31 @@ +namespace Isis { + class ControlNet : public QObject { + %TypeHeaderCode + #include "ControlNet.h" + %End + public: + ControlNet() throw(Isis::IException); + ControlNet(const Isis::ControlNet &other) throw(Isis::IException); + + void clear() throw(Isis::IException); + + void Write(const QString &filename, bool pvl = false) throw(Isis::IException); + + double GetMaximumResidual() throw(Isis::IException); + QString GetNetworkId() const throw(Isis::IException); + int GetNumEditLockMeasures() throw(Isis::IException); + int GetNumEditLockPoints() throw(Isis::IException); + int GetNumIgnoredMeasures() throw(Isis::IException); + int GetNumberOfValidMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + int GetNumberOfJigsawRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + void ClearJigsawRejected() throw(Isis::IException); + void IncrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + void DecrementNumberOfRejectedMeasuresInImage(const QString &serialNumber) throw(Isis::IException); + int GetNumMeasures() const throw(Isis::IException); + int GetNumPoints() const throw(Isis::IException); + int GetNumValidMeasures() throw(Isis::IException); + int GetNumValidPoints() throw(Isis::IException); + QString GetTarget() const throw(Isis::IException); + QString GetUserName() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/ControlPoint.sip b/isis/sipfiles/ControlPoint.sip new file mode 100644 index 0000000000..8dd80250aa --- /dev/null +++ b/isis/sipfiles/ControlPoint.sip @@ -0,0 +1,302 @@ +namespace Isis { + + class ControlPoint : public QObject { + %TypeHeaderCode + #include "ControlPoint.h" + %End + public: + enum PointType { + Fixed = 0, + Constrained = 1, + Free = 2 + }; + + + enum Status { + Failure, + Success, + PointLocked + }; + + enum ConstraintStatus { + LatitudeConstrained = 0, + LongitudeConstrained = 1, + RadiusConstrained = 2, +// XConstrained = 3, +// YConstrained = 4, +// ZConstrained = 5; + }; + + // This stuff input to jigsaw + // How did apriori source get computed?? + struct SurfacePointSource { + enum Source { + None, + User, + AverageOfMeasures, + Reference, + Basemap, + BundleSolution + }; + }; + + struct RadiusSource { + enum Source { + None, + User, + AverageOfMeasures, + Ellipsoid, + DEM, + BundleSolution + }; + }; + + ControlPoint() throw(Isis::IException); + ControlPoint(const QString &id) throw(Isis::IException); + + // Isis::ControlNet *Parent() { return parentNetwork; } + + // void Load(PvlObject &p) throw(Isis::IException); + + // void Add(ControlMeasure *measure) throw(Isis::IException); + // int Delete(ControlMeasure *measure) throw(Isis::IException); + // int Delete(QString serialNumber) throw(Isis::IException); + // int Delete(int index) throw(Isis::IException); + // Status ResetApriori() throw(Isis::IException); + + // const Isis::ControlMeasure *GetMeasure(QString serialNumber) const throw(Isis::IException); + // ControlMeasure *GetMeasure(QString serialNumber) throw(Isis::IException); + + // const ControlMeasure *GetMeasure(int index) const throw(Isis::IException); + // ControlMeasure *GetMeasure(int index) throw(Isis::IException); + + // const ControlMeasure *GetRefMeasure() const throw(Isis::IException); + // ControlMeasure *GetRefMeasure() throw(Isis::IException); + + // Status SetChooserName(QString name) throw(Isis::IException); + // Status SetDateTime(QString newDateTime) throw(Isis::IException); + // Status SetEditLock(bool editLock) throw(Isis::IException); + // Status SetId(QString id) throw(Isis::IException); + // Status SetRefMeasure(ControlMeasure *cm) throw(Isis::IException); + // Status SetRefMeasure(int index) throw(Isis::IException); + // Status SetRefMeasure(QString sn) throw(Isis::IException); + // Status SetRejected(bool rejected) throw(Isis::IException); + // Status SetIgnored(bool newIgnoreStatus) throw(Isis::IException); + // Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint) throw(Isis::IException); + // Status SetType(PointType newType) throw(Isis::IException); + // + // Status SetAprioriRadiusSource(RadiusSource::Source source) throw(Isis::IException); + // Status SetAprioriRadiusSourceFile(QString sourceFile) throw(Isis::IException); + // Status SetAprioriSurfacePoint(SurfacePoint aprioriSP) throw(Isis::IException); + // Status SetAprioriSurfacePointSource(SurfacePointSource::Source source) throw(Isis::IException); + // Status SetAprioriSurfacePointSourceFile(QString sourceFile) throw(Isis::IException); + + // Status UpdateSphericalPointCoordinates(const Latitude &lat, const Longitude &lon, + // const Distance &radius) throw(Isis::IException); + + // Status ComputeApriori() throw(Isis::IException); + // Status ComputeResiduals() throw(Isis::IException); + // Status ComputeResiduals_Millimeters() throw(Isis::IException); + // + // SurfacePoint GetAdjustedSurfacePoint() const throw(Isis::IException); + // SurfacePoint GetBestSurfacePoint() const throw(Isis::IException); + + QString GetChooserName() const throw(Isis::IException); + QString GetDateTime() const throw(Isis::IException); + bool IsEditLocked() const throw(Isis::IException); + bool IsRejected() const throw(Isis::IException); + QString GetId() const throw(Isis::IException); + bool IsIgnored() const throw(Isis::IException); + bool IsValid() const throw(Isis::IException); + bool IsInvalid() const throw(Isis::IException); + bool IsFixed() const throw(Isis::IException); + + bool HasAprioriCoordinates() throw(Isis::IException); + bool IsConstrained() throw(Isis::IException); + bool IsLatitudeConstrained() throw(Isis::IException); + bool IsLongitudeConstrained() throw(Isis::IException); + bool IsRadiusConstrained() throw(Isis::IException); + int NumberOfConstrainedCoordinates() throw(Isis::IException); + + static QString PointTypeToString(PointType type) throw(Isis::IException); + static PointType StringToPointType(QString pointTypeString) throw(Isis::IException); + + QString GetPointTypeString() const throw(Isis::IException); + // PointType GetType() const throw(Isis::IException); + + static QString RadiusSourceToString(RadiusSource::Source source) throw(Isis::IException); + static RadiusSource::Source StringToRadiusSource(QString str) throw(Isis::IException); + QString GetRadiusSourceString() const throw(Isis::IException); + static QString SurfacePointSourceToString(SurfacePointSource::Source source) throw(Isis::IException); + // static SurfacePointSource::Source StringToSurfacePointSource(QString str) throw(Isis::IException); + QString GetSurfacePointSourceString() const throw(Isis::IException); + + // SurfacePoint GetAprioriSurfacePoint() const throw(Isis::IException); + // RadiusSource::Source GetAprioriRadiusSource() const throw(Isis::IException); + // QString GetAprioriRadiusSourceFile() const throw(Isis::IException); + // SurfacePointSource::Source GetAprioriSurfacePointSource() const throw(Isis::IException); + // QString GetAprioriSurfacePointSourceFile() const throw(Isis::IException); + + int GetNumMeasures() const throw(Isis::IException); + int GetNumValidMeasures() const throw(Isis::IException); + int GetNumLockedMeasures() const throw(Isis::IException); + bool HasSerialNumber(QString serialNumber) const throw(Isis::IException); + // int IndexOf(ControlMeasure *, bool throws = true) const throw(Isis::IException); + int IndexOf(QString sn, bool throws = true) const throw(Isis::IException); + int IndexOfRefMeasure() const throw(Isis::IException); + bool IsReferenceExplicit() const throw(Isis::IException); + QString GetReferenceSN() const throw(Isis::IException); + + // Statistics GetStatistic(double(ControlMeasure::*statFunc)() const) const throw(Isis::IException); + // Statistics GetStatistic(long dataType) const throw(Isis::IException); + + // QList< ControlMeasure * > getMeasures(bool excludeIgnored = false) const throw(Isis::IException); + // QList< QString > getCubeSerialNumbers() const throw(Isis::IException); + + // const ControlMeasure *operator[](QString serialNumber) const throw(Isis::IException); + // ControlMeasure *operator[](QString serialNumber) throw(Isis::IException); + + // const ControlMeasure *operator[](int index) const throw(Isis::IException); + // ControlMeasure *operator[](int index) throw(Isis::IException); + + // bool operator!=(const ControlPoint &pPoint) const throw(Isis::IException); + // bool operator==(const ControlPoint &pPoint) const throw(Isis::IException); + // const ControlPoint &operator=(const ControlPoint &pPoint) throw(Isis::IException); + + // The next 7 methods are specifically to support BundleAdjust + void ZeroNumberOfRejectedMeasures() throw(Isis::IException); + void SetNumberOfRejectedMeasures(int numRejected) throw(Isis::IException); + int GetNumberOfRejectedMeasures() const throw(Isis::IException); + double GetSampleResidualRms() const throw(Isis::IException); + double GetLineResidualRms() const throw(Isis::IException); + double GetResidualRms() const throw(Isis::IException); + void ClearJigsawRejected() throw(Isis::IException); + + // ControlPointFileEntryV0002 ToFileEntry() const throw(Isis::IException); + + private: + // void SetExplicitReference(ControlMeasure *measure) throw(Isis::IException); + void ValidateMeasure(QString serialNumber) const throw(Isis::IException); + // void AddMeasure(ControlMeasure *measure) throw(Isis::IException); + void PointModified() throw(Isis::IException); + + + // private: + // ControlNet *parentNetwork; + // + // //!< List of Control Measures + // QHash< QString, ControlMeasure * > * measures; + // + // QStringList *cubeSerials; + // + // ControlMeasure *referenceMeasure; + // + // /** + // * This is the control point ID. This is supposed to be a unique + // * identifier for control points. This often has a number in it, and + // * looks like "T0052" where the next one is "T0053" and so on. + // */ + // QString id; + // + // /** + // * This is the user name of the person who last modified this control + // * point. Modifications are things like updating the surface point, but + // * not things like updating the last modified time. The calculations + // * relating to this control point have to actually change for this to + // * be updated. This is an empty string if we need to dynamically + // * get the username of the caller when asked for (or written to file). + // */ + // QString chooserName; + // + // /** + // * This is the last modified date and time. This is updated automatically + // * and works virtually in the same way as chooserName. + // */ + // QString dateTime; + // + // /** + // * What this control point is tying together. + // * @see PointType + // */ + // PointType type; + // + // /** + // * If we forced a build that we would normally have thrown an exception + // * for then this is set to true. Otherwise, and most of the time, this + // * is false. + // */ + // bool invalid; + // + // /** + // * This stores the edit lock state. + // * @see SetEditLock + // */ + // bool editLock; + // + // /** + // * This stores the jigsaw rejected state. + // * @see SetJigsawReject + // */ + // bool jigsawRejected; + // + // /** + // * This stores the constraint status of the a priori SurfacePoint + // * @todo Eventually add x, y, and z + // */ + // std::bitset<6> constraintStatus; + // + // /** + // * This indicates if a program has explicitely set the reference in this + // * point or the implicit reference is still the current reference. This + // * is useful for programs that want to choose the reference for all + // * points where this hasn't happened yet. + // */ + // bool referenceExplicitlySet; + // + // /** + // * True if we should preserve but ignore the entire control point and its + // * measures. + // */ + // bool ignore; + // + // //! Where the apriori surface point originated from + // SurfacePointSource::Source aprioriSurfacePointSource; + // + // //! FileName where the apriori surface point originated from + // QString aprioriSurfacePointSourceFile; + // + // /** + // * Where the apriori surface point's radius originated from, most commonly + // * used by jigsaw. + // */ + // RadiusSource::Source aprioriRadiusSource; + // + // /** + // * The name of the file that derives the apriori surface point's radius + // */ + // QString aprioriRadiusSourceFile; + // + // /** + // * The apriori surface point. This is the "known truth" or trustworthy + // * point that should not be modified unless done very explicitely. This + // * comes from places like hand picking where you really don't want the + // * surface point to vary far from this point, but some variation is + // * okay (1/10th of a pixel is fair for human accuracy for example). Very + // * often this point does not exist. + // */ + // SurfacePoint aprioriSurfacePoint; + // + // /** + // * This is the calculated, or aposterori, surface point. This is what most + // * programs should be working with and updating. + // */ + // SurfacePoint adjustedSurfacePoint; + // + // /** + // * This parameter is used and maintained by BundleAdjust for the jigsaw + // * application. It is stored here because ControlPoint contains the index + // * of the measures. + // */ + // int numberOfRejectedMeasures; + }; +}; diff --git a/isis/sipfiles/MaximumLikelihoodWFunctions.sip b/isis/sipfiles/MaximumLikelihoodWFunctions.sip new file mode 100644 index 0000000000..cbc668d80d --- /dev/null +++ b/isis/sipfiles/MaximumLikelihoodWFunctions.sip @@ -0,0 +1,52 @@ +namespace Isis { + + class MaximumLikelihoodWFunctions { + %TypeHeaderCode + #include "MaximumLikelihoodWFunctions.h" + %End + + public: + + enum Model { + Huber, + HuberModified, + Welsch, + Chen + }; + + static QString modelToString(Model model) throw(Isis::IException); + static Isis::MaximumLikelihoodWFunctions::Model stringToModel(QString modelName) throw(Isis::IException); + + MaximumLikelihoodWFunctions() throw(Isis::IException); + MaximumLikelihoodWFunctions(Model modelSelection) throw(Isis::IException); + MaximumLikelihoodWFunctions(Model modelSelection, double tweakingConstant) throw(Isis::IException); + MaximumLikelihoodWFunctions(const Isis::MaximumLikelihoodWFunctions &other) throw(Isis::IException); + + void setModel(Model modelSelection) throw(Isis::IException); // uses default tweaking constant + void setTweakingConstantDefault() throw(Isis::IException); + + void setModel(Model modelSelection, double tweakingConstant) throw(Isis::IException); + void setTweakingConstant(double tweakingConstant) throw(Isis::IException); + + Model model() const throw(Isis::IException); + double tweakingConstant() const throw(Isis::IException); + + // the W functions provide an additional weighting factor W which is used + // to 're-weight' each observation dynamically during an adjustment, the + // scalar functions provide access to various flavors of this scalar (as + // a function of the residual divided by the residuals sigma) + + double sqrtWeightScaler(double residualZScore) throw(Isis::IException); //it is often convient to use square roots of + //weights when building normals, this function + // provides the scaler for the square root of + // the weight directly + double tweakingConstantQuantile() throw(Isis::IException); // returns which quantile of the residuals is recommended to + // use as the tweaking constant, this varies as a function of + // the model being employed + + QString weightedResidualCutoff() throw(Isis::IException); + + QDataStream &write(QDataStream &stream) const throw(Isis::IException); + QDataStream &read(QDataStream &stream) throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/Statistics.sip b/isis/sipfiles/Statistics.sip new file mode 100644 index 0000000000..089b76a636 --- /dev/null +++ b/isis/sipfiles/Statistics.sip @@ -0,0 +1,41 @@ + +namespace Isis { + class Statistics : public QObject { + %TypeHeaderCode + #include "Statistics.h" + %End + public: + Statistics(const Isis::Statistics &other) throw(Isis::IException); + + void Reset() throw(Isis::IException); + + void AddData(const double *data, const unsigned int count) throw(Isis::IException); + void AddData(const double data) throw(Isis::IException); + + void RemoveData(const double *data, const unsigned int count) throw(Isis::IException); + void RemoveData(const double data) throw(Isis::IException); + + double ValidMinimum() const throw(Isis::IException); + double ValidMaximum() const throw(Isis::IException); + bool InRange(const double value) throw(Isis::IException); + bool AboveRange(const double value) throw(Isis::IException); + bool BelowRange(const double value) throw(Isis::IException); + + double Average() const throw(Isis::IException); + double StandardDeviation() const throw(Isis::IException); + double Variance() const throw(Isis::IException); + double Sum() const throw(Isis::IException); + double SumSquare() const throw(Isis::IException); + double Rms() const throw(Isis::IException); + + double Minimum() const throw(Isis::IException); + double Maximum() const throw(Isis::IException); + double ChebyshevMinimum(const double percent = 99.5) const throw(Isis::IException); + double ChebyshevMaximum(const double percent = 99.5) const throw(Isis::IException); + double BestMinimum(const double percent = 99.5) const throw(Isis::IException); + double BestMaximum(const double percent = 99.5) const throw(Isis::IException); + double ZScore(const double value) const throw(Isis::IException); + + bool RemovedData() const throw(Isis::IException); + }; +}; diff --git a/isis/sipfiles/master.sip b/isis/sipfiles/master.sip new file mode 100644 index 0000000000..2cdb950c9c --- /dev/null +++ b/isis/sipfiles/master.sip @@ -0,0 +1,75 @@ +%Module(name=libisispy, + version=0, + keyword_arguments="Optional") + +%ExportedHeaderCode + #include + #include + #include + #include + #include + + using namespace std; + + // Wraps glob to return a STD vector to avoid dealing with C style globbing + inline vector glob(const QString& pat){ + glob_t glob_result; + glob(pat.toLatin1().data(),GLOB_TILDE,NULL,&glob_result); + vector ret; + for(unsigned int i=0;i libs = glob(pat); + QLibrary lib_loader; + + for (vector::const_iterator i = libs.begin(); i != libs.end(); ++i) { + // Strip extension + QFileInfo file(*i); + QString lib_dir = file.path() + "/" + file.completeBaseName(); + + lib_loader.setFileName(lib_dir); + + // Load hint required for symbols to be accessible to other libraries loaded later + lib_loader.setLoadHints(QLibrary::ExportExternalSymbolsHint); + + bool load_ok = lib_loader.load(); + + // if verbose is true, print out load info + if (verbose) { + if (load_ok) { + cout << "Loaded " + lib_dir.toStdString() + " : OK" << endl; + } + else if (!load_ok) { + cout << "Loaded " + lib_dir.toStdString() + " : FAILED" << endl + << lib_loader.errorString().toStdString() << endl; + } + } + } + } +%End + +%Include type_conversions.sip + +%Include ControlPoint.sip +%Include BundleMeasure.sip +%Include BundleControlPoint.sip +%Include BundleImage.sip +%Include ControlNet.sip +%Include Statistics.sip +%Include BundleResults.sip +%Include BundleSolutionInfo.sip +%Include BundleObservationSolveSettings.sip +%Include BundleSettings.sip +%Include BundleAdjust.sip +%Include MaximumLikelihoodWFunctions.sip diff --git a/isis/sipfiles/type_conversions.sip b/isis/sipfiles/type_conversions.sip new file mode 100644 index 0000000000..7a337c444f --- /dev/null +++ b/isis/sipfiles/type_conversions.sip @@ -0,0 +1,292 @@ + +%Import QtCore/QtCoremod.sip +%Import QtXml/QtXmlmod.sip + + + +%Exception Isis::IException(SIP_Exception) /PyName=IException/ +{ +%TypeHeaderCode +#include "IException.h" +%End +%RaiseCode + const char *detail = sipExceptionRef.what(); + + SIP_BLOCK_THREADS + PyErr_SetString(sipException_Isis_IException, detail); + SIP_UNBLOCK_THREADS +%End +}; + + +%MappedType QVector > +{ + %TypeHeaderCode + #include "BundleControlPoint.h" + #include + %End + + %ConvertFromTypeCode + size_t size = sipCpp->size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + + Isis::BundleControlPoint* cppCPoint = sipCpp->at(i).data(); + + PyObject *pyCPoint = sipConvertFromType((void*)(cppCPoint), sipType_Isis_BundleControlPoint, NULL); + PyList_SetItem(l, i, pyCPoint); + } + + return l; + %End + + %ConvertToTypeCode + Py_ssize_t size = PyList_Size(sipPy); + QVector > *cppPointList = new QVector > (); + int sipErr = 0; + for(int i = 0; i < size; i++) { + PyObject *pyCPoint = PyList_GET_ITEM(sipPy, i); + Isis::BundleControlPoint *cppCPoint = (Isis::BundleControlPoint*)sipConvertToType(pyCPoint, sipType_Isis_BundleControlPoint, NULL, SIP_NOT_NONE, NULL, &sipErr); + cppPointList->append(QSharedPointer(cppCPoint)); + } + + *sipCppPtr = cppPointList; + return sipGetState(sipTransferObj); + %End + +}; + +%MappedType QList +{ + %TypeHeaderCode + #include "Statistics.h" + #include + %End + + %ConvertFromTypeCode + size_t size = sipCpp->size(); + PyObject *l = PyList_New(size); + for (size_t i = 0; i < size; ++i) { + Isis::Statistics* cppStats = new Isis::Statistics(sipCpp->at(i)); + PyObject *pyStats = sipConvertFromType((void*)(cppStats), sipType_Isis_Statistics, NULL); + PyList_SetItem(l, i, pyStats); + } + + return l; + %End + + %ConvertToTypeCode + Py_ssize_t size = PyList_Size(sipPy); + QList *cppStatList = new QList(); + int sipErr = 0; + for(int i = 0; i < size; i++) { + PyObject *pyStat = PyList_GET_ITEM(sipPy, i); + Isis::Statistics *stats = (Isis::Statistics*)sipConvertToType(pyStat, sipType_Isis_Statistics, NULL, SIP_NOT_NONE, NULL, &sipErr); + cppStatList->append(*stats); + } + + *sipCppPtr = cppStatList; + return sipGetState(sipTransferObj); + %End +}; + + + +%MappedType QList +{ + %TypeHeaderCode + #include "BundleObservationSolveSettings.h" + #include + %End + + %ConvertFromTypeCode + PyObject *l; + + // Create the Python list of the correct length. + if ((l = PyList_New(sipCpp->size())) == NULL) + return NULL; + + for (int i = 0; i < sipCpp->size(); ++i) { + Isis::BundleObservationSolveSettings *settings = new Isis::BundleObservationSolveSettings(sipCpp->at(i)); + + PyObject *pySettings = sipConvertFromType((void*)(settings), sipType_Isis_BundleObservationSolveSettings, NULL); + PyList_SetItem(l, i, pySettings); + } + + return l; + %End + + + %ConvertToTypeCode + if (!sipIsErr) { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), + sipType_Isis_BundleObservationSolveSettings, SIP_NOT_NONE)) + return 0; + + return 1; + } + + Py_ssize_t size = PyList_Size(sipPy); + + QList *cppSettingsList = new QList(); + int state; + + for(Py_ssize_t i = 0; i < size; i++) { + PyObject *pySettings = PyList_GET_ITEM(sipPy, i); + Isis::BundleObservationSolveSettings *settings; + + settings = (Isis::BundleObservationSolveSettings*)sipConvertToType(pySettings, sipType_Isis_BundleObservationSolveSettings, 0, SIP_NOT_NONE, &state, sipIsErr); + + if (*sipIsErr) { + sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); + delete cppSettingsList; + return 0; + } + + cppSettingsList->append(*settings); + sipReleaseType(pySettings, sipType_Isis_BundleObservationSolveSettings, state); + } + + *sipCppPtr = cppSettingsList; + return sipGetState(sipTransferObj); + %End +}; + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "BundleImage.h" + #include + %End + + %ConvertFromTypeCode + Isis::BundleImage *cpp = sipCpp->data(); + PyObject *py = sipConvertFromType(cpp, sipType_Isis_BundleImage, NULL); + return py; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer* cpp_qsp = new QSharedPointer(); + Isis::BundleImage *cpp = (Isis::BundleImage*)sipConvertToType(sipPy, sipType_Isis_BundleImage, NULL, SIP_NOT_NONE, NULL, &sipErr); + cpp_qsp->reset(cpp); + *sipCppPtr = cpp_qsp; + + return sipGetState(sipTransferObj); + %End +}; + + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "BundleSettings.h" + #include + using namespace std; + %End + + %ConvertFromTypeCode + Isis::BundleSettings *settings = sipCpp->data(); + PyObject *pySettings = sipConvertFromType(settings, sipType_Isis_BundleSettings, NULL); + return pySettings; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer* wrappedSettings = new QSharedPointer(); + + Isis::BundleSettings *settings = (BundleSettings*) sipConvertToType(sipPy, sipType_Isis_BundleSettings, NULL, SIP_NOT_NONE, NULL, &sipErr); + wrappedSettings->reset(settings); + *sipCppPtr = wrappedSettings; + + return sipGetState(sipTransferObj); + %End +}; + + +// convert Bundlesettings wrapped in a QSharedPointer in Isis +%MappedType QSharedPointer +{ + %TypeHeaderCode + #include "ControlNet.h" + #include + using namespace std; + %End + + %ConvertFromTypeCode + PyObject *pySettings = sipConvertFromType(sipCpp, sipType_Isis_ControlNet, NULL); + return pySettings; + %End + + %ConvertToTypeCode + int sipErr = 0; + QSharedPointer *qspControlNet = NULL; + if (!sipCanConvertToType(sipPy, sipType_Isis_ControlNet, SIP_NOT_NONE)) { + sipErr = 1; + } + else { + Isis::ControlNet *cppControlNet = (Isis::ControlNet*)sipConvertToType(sipPy, sipType_Isis_ControlNet, NULL, SIP_NOT_NONE, NULL, &sipErr); + qspControlNet->reset(cppControlNet); + } + + *sipCppPtr = qspControlNet; + return sipGetState(sipTransferObj); + %End +}; + + + +// Convert a python str object to a std::string. +%MappedType std::string +{ + %TypeHeaderCode + #include + %End + + %ConvertFromTypeCode + // convert an std::string to a Python (unicode) string + PyObject* newstring; + newstring = PyUnicode_DecodeUTF8(sipCpp->c_str(), sipCpp->length(), NULL); + if(newstring == NULL) { + PyErr_Clear(); + newstring = PyBytes_FromString(sipCpp->c_str()); + } + return newstring; + %End + + %ConvertToTypeCode + // Allow a Python string (or a unicode string) whenever a string is + // expected. + // If argument is a Unicode string, just decode it to UTF-8 + // If argument is a Python string, assume it's UTF-8 + if (sipIsErr == NULL) + return (PyBytes_Check(sipPy) || PyUnicode_Check(sipPy)); + + if (sipPy == Py_None) + { + *sipCppPtr = new std::string; + return 1; + } + + if (PyUnicode_Check(sipPy)) + { + PyObject* s = PyUnicode_AsEncodedString(sipPy, "UTF-8", ""); + *sipCppPtr = new std::string(PyBytes_AS_STRING(s)); + Py_DECREF(s); + return 1; + } + + if (PyBytes_Check(sipPy)) + { + *sipCppPtr = new std::string(PyBytes_AS_STRING(sipPy)); + return 1; + } + return 0; + %End +}; diff --git a/isis/src/control/apps/seedgrid/tsts/errors/errors.txt b/isis/src/control/apps/seedgrid/tsts/errors/errors.txt new file mode 100644 index 0000000000..b375d4ea99 --- /dev/null +++ b/isis/src/control/apps/seedgrid/tsts/errors/errors.txt @@ -0,0 +1 @@ +[2018-03-21 14:12:04] Failed ... No truth folder or files diff --git a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h index fd570fee7c..fc69ebc8db 100644 --- a/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h +++ b/isis/src/control/objs/BundleUtilities/BundleObservationSolveSettings.h @@ -156,6 +156,7 @@ class BundleObservationSolveSettings { double positionAprioriSigma = -1.0, double velocityAprioriSigma = -1.0, double accelerationAprioriSigma = -1.0); + InstrumentPositionSolveOption instrumentPositionSolveOption() const; int spkDegree() const; int spkSolveDegree() const; diff --git a/linux-spec.txt b/linux-spec.txt index 529ab58395..9803f9d82f 100644 --- a/linux-spec.txt +++ b/linux-spec.txt @@ -2,13 +2,14 @@ # $ conda create --name --file # platform: linux-64 @EXPLICIT -https://conda.anaconda.org/usgs-astrogeology/linux-64/bullet-2.86.1-0.tar.bz2 +https://conda.anaconda.org/krodriguez/linux-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/ca-certificates-2017.08.26-h1d4fec5_0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/ds9-7.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/flann-1.8.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.0.0-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geos-3.5.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-0.tar.bz2 @@ -22,40 +23,39 @@ https://conda.anaconda.org/conda-forge/linux-64/jpeg-9b-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/krb5-1.14.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgcc-4.8.5-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-h7cc24e2_2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libgcc-ng-7.2.0-hdf63c60_3.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/libgfortran-3.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.15-0.tar.bz2 -https://conda.anaconda.org/probcomp/linux-64/libprotobuf-2.6.1-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-h7a57d05_2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libstdcxx-ng-7.2.0-hdf63c60_3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libuv-1.11.0-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/noarch/llvm-meta-5.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mysql-connector-c-6.1.6-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nanoflann-1.2.2-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/ncurses-5.9-10.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/ninja-1.7.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-5.9-10.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/patchelf-0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pcre-8.39-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/proj4-4.9.3-5.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.3-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/rhash-1.3.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.13.0-1.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/system-5.8-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/system-5.8-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tbb-4.4_20160526-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/tk-8.5.19-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/tnt-126-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/x264-20131217-3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-6.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/xz-5.2.3-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/zlib-1.2.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.1.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cspice-66-0.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/dbus-1.10.20-0.tar.bz2 @@ -63,57 +63,61 @@ https://conda.anaconda.org/conda-forge/linux-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-3.2.4-3.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/glib-2.51.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.8.18-2.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/isl-0.12.2-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/isl-0.12.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/jasper-1.900.1-1.tar.bz2 https://conda.anaconda.org/anaconda/linux-64/jsoncpp-1.8.3-h3a67955_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20170329-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.28-2.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/libprotobuf-3.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.0.9-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.12-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.7-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/llvmdev-5.0.0-default_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpfr-3.1.5-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.19-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/patchelf-0.9-hf79760b_2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/qhull-7.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/readline-6.2-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2 -https://repo.continuum.io/pkgs/main/linux-64/cloog-0.18.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/cloog-0.18.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/freetype-2.7-1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gstreamer-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.8.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.8.0-2.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/libwebp-0.5.2-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mesalib-17.2.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/mpc-1.0.3-4.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/mysql-5.7.20-h55eaa98_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/python-2.7.14-2.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/bz2file-0.98-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/mysql-5.7.20-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/python-3.6.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.4-6.tar.bz2 +https://conda.anaconda.org/anaconda/linux-64/bz2file-0.98-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/certifi-2018.1.18-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/curl-7.55.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/future-0.16.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/future-0.16.0-py36_0.tar.bz2 https://repo.continuum.io/pkgs/free/linux-64/gcc-4.8.5-7.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://repo.continuum.io/pkgs/free/linux-64/protobuf-2.6.1-py27_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.8.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.13.3-py36_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/sip-4.18-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/six-1.11.0-py36_1.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py27_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/boost-1.65.1-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cairo-1.14.6-4.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/cmake-3.9.1-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qt-5.7.1-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py27_mesalib_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/qt-5.6.2-6.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/setuptools-38.5.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/vtk-8.1.0-py36_mesalib_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xerces-c-3.1.4-0.tar.bz2 https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-1.3.4-2.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/linux-64/pcl-1.8.1-0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/linux-64/qwt-6.1.3-0.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/wheel-0.30.0-py27h2bc6bb2_1.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py27_blas_openblas_203.tar.bz2 -https://conda.anaconda.org/anaconda/linux-64/pip-9.0.1-py27_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/protobuf-3.5.1-py36_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.6.0-py36_4.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/wheel-0.30.0-py36_2.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/linux-64/xalan-c-1.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/opencv-3.2.0-np113py36_blas_openblas_203.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/pip-9.0.1-py36_1.tar.bz2 diff --git a/macos-spec.txt b/macos-spec.txt index 2af2397a2f..2fd059d08b 100644 --- a/macos-spec.txt +++ b/macos-spec.txt @@ -2,26 +2,61 @@ # $ conda create --name --file # platform: osx-64 @EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/bullet-2.86.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2018.1.18-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.10-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/certifi-2018.1.18-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/clangdev-6.0.0-default_0.tar.bz2 +https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/ds9-7.5-h35e3669_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/eigen-3.3.3-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/embree-2.14.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/expat-2.2.5-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.6-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.8.1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/future-0.16.0-py36_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/geos-3.5.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/gettext-0.19.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.1.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/glib-2.55.0-0.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/gmm-5.0-h6aef312_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.11-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/gsl-2.4-blas_openblas_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.7.6-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.10.1-2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/icu-58.2-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/jama-125-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/jpeg-9b-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/jsoncpp-1.8.1-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/krb5-1.14.2-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libcxx-6.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libffi-3.2.1-3.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/libgcc-4.8.5-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libgfortran-3.0.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.15-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.34-0.tar.bz2 +https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/libuv-1.11.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/llvm-meta-6.0.0-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/llvmdev-6.0.0-default_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/m4-1.4.17-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-3.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/naif-n0066-0.tar.bz2 @@ -29,70 +64,44 @@ https://conda.anaconda.org/conda-forge/osx-64/nanoflann-1.2.2-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ncurses-5.9-10.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/ninja-1.7.2-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/nn-1.86.0-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.14.2-py36_blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.20-7.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/opencv-3.4.1-py36_blas_openblas_200.tar.bz2 https://conda.anaconda.org/inria-pro-sed/osx-64/openmpi-1.8.6-4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 +https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/patchelf-0.9-h879b6ae_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pcre-8.39-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pip-9.0.1-py36_1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/pixman-0.34.0-1.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/proj4-4.9.3-5.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/protobuf-3.5.1-py36_3.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/pyqt-5.6.0-py36_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/python-3.6.4-0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/rhash-1.3.4-0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-39.0.1-py36_0.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sip-4.18-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py36_1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.6-blas_openblas_200.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_202.tar.bz2 https://conda.anaconda.org/usgs-astrogeology/osx-64/tbb-4.4-hf7780a4_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.7-0.tar.bz2 https://conda.anaconda.org/krodriguez/osx-64/tnt-126-0.tar.bz2 +https://repo.continuum.io/pkgs/main/osx-64/vtk-8.1.0-py36h87a2a2b_201.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py36_2.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/x264-20131217-3.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 +https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-kbproto-1.0.7-1.tar.bz2 +https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.8-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.2-3.tar.bz2 https://conda.anaconda.org/conda-forge/osx-64/xorg-xproto-7.0.31-6.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/xz-5.2.3-0.tar.bz2 https://conda.anaconda.org/anaconda/osx-64/zlib-1.2.11-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-cpp-1.65.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cspice-66-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/dbus-1.10.22-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/doxygen-1.8.14-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/ffmpeg-3.2.4-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/glib-2.51.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.8.18-3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/jasper-1.900.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/lapack-3.6.1-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.28-2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/libprotobuf-3.2.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.0.9-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.12-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.9.7-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openblas-0.2.19-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/openssl-1.0.2n-0.tar.bz2 -https://conda.anaconda.org/inria-pro-sed/osx-64/parmetis-4.0.3p2-1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/qhull-7.2.0-h396fa31_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/readline-7.0-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/blas-1.1-openblas.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/flann-1.8.4-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.7-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.4.2-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.8.0-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/libwebp-0.5.2-7.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qt-5.6.2-h9e3eb04_4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.20.1-2.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/xorg-libx11-1.6.4-6.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/curl-7.55.1-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.12.1-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/gsl-2.2.1-blas_openblas_3.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/python-2.7.14-4.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/qwt-6.1.3-1.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/suitesparse-4.5.4-blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/superlu-5.2.1-blas_openblas_201.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.14.6-4.tar.bz2 -https://repo.continuum.io/pkgs/main/osx-64/certifi-2018.1.18-py27_0.tar.bz2 -https://repo.continuum.io/pkgs/free/osx-64/cmake-3.6.3-0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.13.3-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/six-1.11.0-py27_1.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/vtk-7.1.1-py27h56fd973_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xerces-c-3.1.4-h10f7eb2_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/boost-1.65.1-py27_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-1.3.4-2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/protobuf-3.2.0-py27_0.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/setuptools-38.5.1-py27_0.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/xalan-c-1.11-h1922a5c_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/opencv-3.3.0-py27_blas_openblas_200.tar.bz2 -https://conda.anaconda.org/usgs-astrogeology/osx-64/pcl-1.8.1-h7a71350_0.tar.bz2 -https://conda.anaconda.org/conda-forge/osx-64/wheel-0.30.0-py27_2.tar.bz2 -https://conda.anaconda.org/anaconda/osx-64/pip-9.0.1-py27_1.tar.bz2 -- GitLab From 9f8e2ab0479c9bfdd3b983c7ba55f35f837ad60c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 14:05:09 -0700 Subject: [PATCH 0266/1212] Added slot to remove the QMdiSubWindow containing the given view (AbstractProjectItemView). --- isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 81 +++++++++++++++++++-- isis/src/qisis/apps/ipce/IpceMainWindow.h | 3 + 2 files changed, 77 insertions(+), 7 deletions(-) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index d33730594b..82b31dd6dc 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -91,6 +91,7 @@ namespace Isis { m_directory = new Directory(this); connect(m_directory, SIGNAL( newWidgetAvailable(QWidget *) ), this, SLOT( addView(QWidget *) ) ); + connect(m_directory, SIGNAL(viewClosed(QWidget *)), this, SLOT(removeView(QWidget *))); connect(m_directory, SIGNAL( directoryCleaned() ), this, SLOT( removeAllViews() ) ); connect(m_directory->project(), SIGNAL(projectLoaded(Project *)), @@ -226,11 +227,47 @@ namespace Isis { if ( QMdiArea *mdiArea = qobject_cast( centralWidget() ) ) { mdiArea->addSubWindow(newWidget); newWidget->show(); + QMdiSubWindow *window = qobject_cast(newWidget); + qDebug()<<"IpceMainWindow::addView new subwindow = "<close(); + break; + } + } +// QMdiSubWindow *window = qobject_cast(view); +// qDebug()<<"IpceMainWindow::removeView activewindow = "<setActiveSubWindow(qobject_cast(view)); +// qDebug()<<"IpceMainWindow::removeView"; +// mdiArea->closeActiveSubWindow(); + delete view; + } + } + + /** * Removes All Views in main window, connected to directory signal directoryCleaned() */ @@ -238,12 +275,12 @@ namespace Isis { setWindowTitle("ipce"); QMdiArea *mdiArea = qobject_cast( centralWidget() ); if (mdiArea){ - QMdiSubWindow* window = new QMdiSubWindow(); - window->show(); - window->activateWindow(); - mdiArea->addSubWindow(window); +// QMdiSubWindow* window = new QMdiSubWindow(); +// window->show(); +// window->activateWindow(); +// mdiArea->addSubWindow(window); mdiArea->closeAllSubWindows(); - delete window; +// delete window; } if (!m_detachedViews.isEmpty()) { foreach ( QMainWindow* view, m_detachedViews ) { @@ -411,7 +448,13 @@ namespace Isis { m_permToolBar->addAction(action); } foreach (QAction *action, m_permToolBarActions) { - m_permToolBar->addAction(action); + if (action->text() == "&Save Active Control Network") { + m_permToolBar->addSeparator(); + } + m_permToolBar->addAction(action); + if (action->text() == "&Save Active Control Network") { + m_permToolBar->addSeparator(); + } } m_permToolBar->addSeparator(); if (m_activeView) { @@ -515,6 +558,30 @@ namespace Isis { m_fileMenuActions.append(exitAction); m_permToolBarActions.append(exitAction); + QAction *saveNet = new QAction("&Save Active Control Network", this); + saveNet->setIcon( QIcon::fromTheme("document-save") ); + saveNet->setShortcut(Qt::CTRL + Qt::Key_S); + saveNet->setToolTip("Save current active control network"); + saveNet->setStatusTip("Save current active control network"); + QString whatsThis = "Function: Saves the current active" + "control network"; + saveNet->setWhatsThis(whatsThis); + connect(saveNet, SIGNAL(triggered()), m_directory, SLOT(saveActiveControl())); + m_permToolBarActions.append(saveNet); + +// m_saveAsNet = new QAction(QPixmap(toolIconDir() + "/mActionFileSaveAs.png"), +// "Save Control Network &As...", +// m_matchTool); +// m_saveAsNet->setToolTip("Save current control network to chosen file"); +// m_saveAsNet->setStatusTip("Save current control network to chosen file"); +// whatsThis = "Function: Saves the current " +// "control network under chosen filename"; +// m_saveAsNet->setWhatsThis(whatsThis); +// connect(m_saveAsNet, SIGNAL(triggered()), this, SLOT(saveAsNet())); + + + + QAction *undoAction = m_directory->undoAction(); undoAction->setShortcut(Qt::Key_Z | Qt::CTRL); @@ -1045,7 +1112,7 @@ namespace Isis { menuBar->addMenu(viewMenu); if ( !view->settingsMenuActions().isEmpty() ) { - QMenu *settingsMenu = new QMenu("&Settings", newWindow); + QMenu *settingsMenu = new QMenu("S&ettings", newWindow); foreach ( QAction *action, view->settingsMenuActions() ) { settingsMenu->addAction(action); } diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index f65ab04bf6..39422f0f0c 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -123,6 +123,8 @@ namespace Isis { * the history dock. Fixes #5151. * @history 2018-03-02 Tracie Sucharski - added static keyword to the m_maxRecentProject member * variable, fixes OSX compile warning. References #5341. + * @history 2018-04-04 Tracie Sucharski - Added removeView slot which removes the view + * containing the given widget. */ class IpceMainWindow : public QMainWindow { Q_OBJECT @@ -132,6 +134,7 @@ namespace Isis { public slots: void addView(QWidget *newWidget); + void removeView(QWidget *view); void removeAllViews(); void setActiveView(AbstractProjectItemView *view); -- GitLab From de4f06f7d36f0a2cb13d88dfd23e4bbf8c831f4d Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 14:10:16 -0700 Subject: [PATCH 0267/1212] Added setModified and isModified mthods to keep track of the modification state of the control net. Added write method so that the state of the control net is known before writing to disk. --- isis/src/qisis/objs/Control/Control.cpp | 60 +++++++++++++++++++++++++ isis/src/qisis/objs/Control/Control.h | 13 +++++- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/Control/Control.cpp b/isis/src/qisis/objs/Control/Control.cpp index c71ac7db4d..4286bb3672 100644 --- a/isis/src/qisis/objs/Control/Control.cpp +++ b/isis/src/qisis/objs/Control/Control.cpp @@ -31,6 +31,7 @@ namespace Isis { m_controlNet = NULL; m_displayProperties = NULL; m_project = NULL; + m_modified = false; try { openControlNet(); @@ -59,6 +60,7 @@ namespace Isis { m_controlNet = NULL; m_displayProperties = NULL; m_project = project; + m_modified = false; m_displayProperties = new ControlDisplayProperties(FileName(m_fileName).name(), this); @@ -82,6 +84,7 @@ namespace Isis { m_controlNet = controlNet; m_displayProperties = NULL; m_project = NULL; + m_modified = false; m_displayProperties = new ControlDisplayProperties(FileName(m_fileName).name(), this); @@ -103,6 +106,7 @@ namespace Isis { m_displayProperties = NULL; m_id = NULL; m_project = NULL; + m_modified = false; xmlReader->pushContentHandler(new XmlHandler(this, cnetFolder)); } @@ -122,6 +126,9 @@ namespace Isis { // destructor will take care of deleting the display props. See call to // DisplayProperties' constructor. m_displayProperties = NULL; + + // TODO: If control net is modified, prompt for save before destroying?? + } @@ -154,6 +161,7 @@ namespace Isis { if (m_project) { m_controlNet->SetMutex(m_project->mutex()); } + m_modified = false; } catch (IException &e) { @@ -163,6 +171,32 @@ namespace Isis { } + /** + * @description Write control net to disk. This method is used instead of calling + * ControlNet::Write directly so that Control knows the modification state of the control net. + * + * @return @b bool Returns false if there is not a control net open to write + * + * @throws IException::Programmer "Cannot write control net to disk" + */ + bool Control::write() { + + if (!m_controlNet) { + return false; + } + + try { + m_controlNet->Write(fileName()); + } + catch (IException &e) { + throw IException(e, IException::Programmer, "Cannot write control net.", _FILEINFO_); + } + + m_modified = false; + return true; + } + + /** * Cleans up the ControlNet pointer. This method should be called * once there is no more need for this network because the OS will limit @@ -173,6 +207,31 @@ namespace Isis { delete m_controlNet; m_controlNet = NULL; } + m_modified = false; + } + + + /** + * @description Has this control been modified? + * + * @return @b bool Has this control been modified? + * + */ + bool Control::isModified() { + return m_modified; + } + + + /** + * @description Sets the modification state of this control. This is needed for now since many + * classes make changes to the control net contained in this object, but the control does not + * know the state of the control net. + * TODO: Change this class to always know the state of the control Net. + * + */ + void Control::setModified(bool modified) { + + m_modified = modified; } @@ -256,6 +315,7 @@ namespace Isis { // If we're the last thing in the folder, remove the folder too. QDir dir; dir.rmdir(FileName(m_fileName).path()); + m_modified = false; } diff --git a/isis/src/qisis/objs/Control/Control.h b/isis/src/qisis/objs/Control/Control.h index c1d2186278..984f095d61 100644 --- a/isis/src/qisis/objs/Control/Control.h +++ b/isis/src/qisis/objs/Control/Control.h @@ -67,13 +67,18 @@ namespace Isis { * to compare project roots. References #4804, #4849. * @history 2018-01-19 Tracie Sucharski - Do not copy control unless the project root has * changed. References #5212. + * @history 2018-03-30 Tracie Sucharski - Added setModified and is Modified methods to keep + * track of the modification state of the control net. Add write method + * to write the control net to disk. This write method should be called + * by ipce classes instead of calling the ControlNet::Write directly so + * that control knows the state of the control net. */ class Control : public QObject { Q_OBJECT public: ControlNet *m_controlNet; /**< A pointer to the ControlNet object associated with this Control object.*/ - explicit Control(QString cnetFileName, QObject *parent = 0); + explicit Control(QString cnetFileName, QObject *parent = 0); explicit Control(Project *project, QString cnetFileName, QObject *parent = 0); explicit Control(ControlNet *controlNet, QString cnetFileName, QObject *parent = 0); Control(FileName cnetFolder, XmlStackedHandlerReader *xmlReader, QObject *parent = 0); @@ -87,6 +92,10 @@ namespace Isis { QString id() const; + bool isModified(); + void setModified(bool modified = true); + bool write(); + void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const; void copyToNewProjectRoot(const Project *project, FileName newProjectRoot); void deleteFromDisk(); @@ -123,6 +132,8 @@ namespace Isis { Control(const Control &other); Control &operator=(const Control &rhs); + bool m_modified; + ControlDisplayProperties *m_displayProperties; /**< Contains the display properties for this Control object.*/ Project *m_project; //! Project associated with this control -- GitLab From 9ddccab703e97b8a4d7d6939ec1e7ac37ef6db9d Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 15:07:01 -0700 Subject: [PATCH 0268/1212] Save the Control in addition to the control net. Use Control's write method instead of directly writing the control net. This is done so that Control can maintain the modification state of the control net. --- .../ControlPointEditWidget.cpp | 20 ++++++++++++------- .../ControlPointEditWidget.h | 20 ++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index ad53e404b6..5bfa408fee 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -585,6 +585,7 @@ namespace Isis { */ void ControlPointEditWidget::setControl(Control *control) { // TODO more error checking + m_control = control; m_controlNet = control->controlNet(); m_cnetFileName = control->fileName(); @@ -604,8 +605,9 @@ namespace Isis { void ControlPointEditWidget::setControlFromActive() { if (m_directory->project()->activeControl()) { - m_controlNet = m_directory->project()->activeControl()->controlNet(); - m_cnetFileName = m_directory->project()->activeControl()->fileName(); + m_control = m_directory->project()->activeControl(); + m_controlNet = m_control->controlNet(); + m_cnetFileName = m_control->fileName(); m_cnetFileNameLabel->setText("Control Network: " + m_cnetFileName); setWindowTitle("Control Point Editor- Control Network File: " + m_cnetFileName); @@ -1180,7 +1182,7 @@ namespace Isis { } } - this->setVisible(false); + //this->setVisible(false); // remove this point from the control network if (m_controlNet->DeletePoint(m_editPoint->GetId()) == ControlPoint::PointLocked) { @@ -1189,8 +1191,8 @@ namespace Isis { return; } if (m_editPoint != NULL && m_editPoint->Parent() == NULL) { - delete m_editPoint; - m_editPoint = NULL; +// delete m_editPoint; +// m_editPoint = NULL; } } @@ -1244,7 +1246,10 @@ namespace Isis { } // emit a signal to alert user to save when exiting + qDebug()<<"ControlPointEditWidget before cnetModified signal"; emit cnetModified(); + qDebug()<<"ControlPointEditWidget after cnetModified signal"; + emit saveControlNet(); if (m_editPoint != NULL) { // Change Save Point button text to red @@ -2511,7 +2516,7 @@ namespace Isis { */ void ControlPointEditWidget::saveNet() { - m_controlNet->Write(m_cnetFileName); + m_control->write(); // Change Save Measure button text back to default m_saveNet->setPalette(m_saveDefaultPalette); @@ -2520,7 +2525,8 @@ namespace Isis { } - /** + /** + * This was used when ipce used docked widgets. * This method is called from the constructor so that when the * Main window is created, it know's it's size and location. * diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index 286bf0c663..0a0dbbe34b 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -67,7 +67,7 @@ namespace Isis { * current editPoint Id. Removed measure table methods. Fixes #5007, * #5008. * @history 2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to - * SerialNumberList.remove() + * SerialNumberList.remove() * @history 2017-08-09 Christopher Combs - Added QPushButton and slot for reloading a point's * measures in the ChipViewports. Fixes #5070. * @history 2017-08-09 Christopher Combs - Added Apriori Latitude, Longitude, and Radius to @@ -77,10 +77,14 @@ namespace Isis { * @history 2017-08-11 Tracie Sucharski - Fixed save point and colorization of buttons. * Fixes #4984. * @history 2017-08-15 Tracie Sucharski - When ControlPoint is deleted, set the visibility of - * this widget to false, then to true in loadPoint(). Fixes #5073. - * @history 2018-03-23 Tracie Sucharski - Update the cnet filename with current cnet. - * @history 2018-03-26 Tracie Sucharski - Update editor if a new active control net is set in - * ipce. References #4567. + * this widget to false, then to true in loadPoint(). Fixes #5073. + * @history 2018-03-23 Tracie Sucharski - Update the cnet filename with current cnet when it is + * changed. + * @history 2018-03-26 Tracie Sucharski - Added slot, setControlFromActive which update editor + * if a new active control net is set in ipce. References #4567. + * @history 2018-03-30 Tracie Sucharski - Save Control in addition to the control net and use + * Control to write the control net so Control can keep track of the + * modification state of the control net. */ class ControlPointEditWidget : public QWidget { Q_OBJECT @@ -102,6 +106,7 @@ namespace Isis { void newControlNetwork(ControlNet *); void stretchChipViewport(Stretch *, CubeViewport *); void measureChanged(); + // temporary signal for quick & dirty autosave in Ipce void saveControlNet(); public slots: @@ -236,9 +241,10 @@ namespace Isis { QPointer m_measureWindow; //!< Main window for the the measure table widget QPointer m_measureTable; //!< Table widget for the measures - QPointer m_editPoint; //!< The control point being edited + QPointer m_editPoint; //!< The control point being edited SerialNumberList *m_serialNumberList; //!< Serial number list for the loaded cubes - QPointer m_controlNet; //!< Current control net + QPointer m_controlNet; //!< Current control net + QPointer m_control; //!< Current Control QPointer m_newPoint; //!< New control point QString m_lastUsedPointId; //!< Point id of the last used control point -- GitLab From 1aaf3b4faddbb9862cafbd2e224a83167bff2813 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 15:14:02 -0700 Subject: [PATCH 0269/1212] PROG: Added connections so that Control's write method is used to write control net rather than using the control net's write method, which allows Control to maintain the modification state of it's control net. Added slot to reload the active control in the cneteditorview which effective discards any edits. --- isis/src/qisis/objs/Directory/Directory.cpp | 56 +++++++++++++++++++-- isis/src/qisis/objs/Directory/Directory.h | 16 +++++- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 8e53b28d11..392f4906ca 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -132,11 +132,14 @@ namespace Isis { //connect( m_project, SIGNAL(guiCamerasAdded(GuiCameraList *) ), //this, SLOT(guiCamerasAddedToProject(GuiCameraList *) ) ); - connect( m_project, SIGNAL(projectLoaded(Project *) ), + connect( m_project, SIGNAL(projectLoaded(Project *) ), this, SLOT(updateRecentProjects(Project *) ) ); + connect(this, SIGNAL(cnetModified()), m_project, SLOT(activeControlModified())); connect(m_project, SIGNAL(activeControlSet(bool)), this, SLOT(newActiveControl(bool))); + connect(m_project, SIGNAL(discardActiveControlEdits()), + this, SLOT(reloadActiveControlInCnetEditorView())); m_projectItemModel = new ProjectItemModel(this); m_projectItemModel->addProject(m_project); @@ -532,8 +535,38 @@ namespace Isis { } + /** + * @description This slot was created specifically for the CnetEditorWidgets when user chooses a + * new active control and wants to discard any edits in the old active control. The only view + * which will not be updated with the new control are any CnetEditorViews showing the old active + * control. CnetEditorWidget classes do not have the ability to reload a control net, so the + * CnetEditor view displaying the old control is removed, then recreated. + * + */ + void Directory::reloadActiveControlInCnetEditorView() { + qDebug()<<"Directory::reloadActiveControlInCnetEditorView"; + foreach(CnetEditorWidget *cnetEditorView, m_cnetEditorViewWidgets) { + if (cnetEditorView->control() == project()->activeControl()->controlNet()) { + emit viewClosed(cnetEditorView); +// cnetEditorView->close(); +// delete cnetEditorView; + project()->activeControl()->closeControlNet(); + project()->activeControl()->openControlNet(); + addCnetEditorView(project()->activeControl()); + } + } + } + + void Directory::newActiveControl(bool newControl) { +// if (newControl && m_controlPointEditViewWidget) { +// bool closed = m_controlPointEditViewWidget->close(); +// qDebug()<<"Directory::newActiveControl CPEditor closed = "<displayProperties()->displayName() ); - FileName configFile("$HOME/.Isis/" + QApplication::applicationName() + "/" + title + ".config"); // TODO: This layout should be inside of the cnet editor widget, but I put it here to not @@ -868,8 +900,14 @@ namespace Isis { // Create connections between signals from control point edit view and equivalent directory // signals that can then be connected to other views that display control nets. + qDebug()<<"ControlPointEditView::addControlPointEditView before cnetModified connection."; +// connect(mainWidget, SIGNAL(cnetModified()), +// this, SIGNAL(cnetModified())); connect(result->controlPointEditWidget(), SIGNAL(cnetModified()), this, SIGNAL(cnetModified())); + connect(result->controlPointEditWidget(), SIGNAL(cnetModified()), + m_project, SLOT(activeControlModified())); + qDebug()<<"ControlPointEditView::addControlPointEditView after cnetModified connection."; connect(result->controlPointEditWidget(), SIGNAL(saveControlNet()), this, SLOT(makeBackupActiveControl())); @@ -1071,7 +1109,7 @@ namespace Isis { * @brief Removes pointers to deleted CnetEditorWidget objects. */ void Directory::cleanupCnetEditorViewWidgets(QObject *obj) { - + qDebug()<<"Directory::cleanupCnetEditorViewWidgets"; CnetEditorWidget *cnetEditorWidget = static_cast(obj); if (!cnetEditorWidget) { return; @@ -1157,10 +1195,12 @@ namespace Isis { */ void Directory::cleanupControlPointEditViewWidget(QObject *obj) { + qDebug()<<"Directory::cleanupControlPointEditView"; ControlPointEditView *controlPointEditView = static_cast(obj); if (!controlPointEditView) { return; } + m_controlPointEditViewWidget = NULL; m_project->setClean(false); } @@ -1818,6 +1858,16 @@ namespace Isis { } + /** + * Save the current active control. + * + */ + void Directory::saveActiveControl() { + + project()->activeControl()->write(); + } + + /** * Autosave for control net. The control net is auto saved to the same directory as the input * net. It is saved to controlNetFilename.net.bak. diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 4205c54e9a..6026ff9df2 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -215,7 +215,17 @@ namespace Isis { * addCubeDnView. Added method controlUsedInCnetEditorWidget so Project * knows whether it is safe to close a control net when a new active is * set. References #5026. - * + * @history 2018-03-30 Tracie Sucharski - Use the Control::write to write the control net to + * disk instead of directly calling ControlNet::Write, so that the + * Control can keep track of the modified status of the control net. + * Connect cnetModified signal to Project::activeControlModified so + * modified state of the active control can be set so project knows + * that control has unsaved changes. + * @history 2018-04-02 Tracie Sucharski - Cleanup m_controlPointEditViewWidget pointer when + * the ControlPointEditView is deleted. Added slot to reload the active + * control net in cneteditor view, effectively discarding any edits. + * This was done because there is no way to re-load a control net in the + * CnetEditor widget classes. */ class Directory : public QObject { Q_OBJECT @@ -336,6 +346,8 @@ namespace Isis { void newWarning(); void newWidgetAvailable(QWidget *newWidget); + void viewClosed(QWidget *widget); + void cnetModified(); void redrawMeasures(); @@ -355,6 +367,7 @@ namespace Isis { //void imagesAddedToProject(ImageList *images); void updateControlNetEditConnections(); + void saveActiveControl(); // TODO temporary slot until autosave is implemented void makeBackupActiveControl(); @@ -372,6 +385,7 @@ namespace Isis { private slots: void initiateRenameProjectWorkOrder(QString projectName); void newActiveControl(bool newControl); + void reloadActiveControlInCnetEditorView(); private: /** -- GitLab From 127043f043cb1d3b080738a713c9f13ec6a9f5c3 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 15:15:41 -0700 Subject: [PATCH 0270/1212] PROG: Copy control net rather than reading, then writing. --- .../Directory/ExportControlNetWorkOrder.cpp | 18 ++++++------------ .../objs/Directory/ExportControlNetWorkOrder.h | 3 +++ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp index ec9484241a..a7c43d919f 100644 --- a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.cpp @@ -123,21 +123,19 @@ namespace Isis { QStringList internalData; Control *control = NULL; + // See if there are any other control lists in the project and give these to the user as // choices for control nets they can export. - - - if(project()) { + if (project()) { Project *proj = project(); QList controls = proj->controls(); if (controls.count() > 0) { - ControlList *l=controls.first(); + ControlList *l = controls.first(); WorkOrder::setData(l); control = controlList()->first(); } - else { QMap cnetChoices; @@ -156,8 +154,6 @@ namespace Isis { control = cnetChoices.key(choice); internalData.append(control->id()); - - } } @@ -201,11 +197,9 @@ namespace Isis { control = controlList()->first(); } - try { - control->controlNet()->Write(destination); - } - catch (IException &e) { - m_warning = e.toString(); + QString currentLocation = control->fileName(); + if (!QFile::copy(currentLocation, destination) ) { + m_warning = "Error saving control net."; } } diff --git a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h index db46bae00c..1a393d21a1 100644 --- a/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h +++ b/isis/src/qisis/objs/Directory/ExportControlNetWorkOrder.h @@ -29,6 +29,9 @@ namespace Isis { * isExecutable to prevent potential seg faults. References #4760. * @history 2018-03-13 Tracie Sucharski - Added Undo text to prevent runtime warning. Also * correct redmine ticket number in previous history entry. + * @history 2018-03-30 Tracie Sucharski - Copy the control net instead of writing. This will + * be faster and will prevent another control net from being read into + * memory. */ class ExportControlNetWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From 5a6eba9b66ff1bf0108688d3c132a4030b9edc6e Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 15:17:28 -0700 Subject: [PATCH 0271/1212] PROG: Copy control net rather than reading, then writing. --- .../Directory/ImportControlNetWorkOrder.cpp | 17 +++++++++++------ .../objs/Directory/ImportControlNetWorkOrder.h | 1 + 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp index dca33080cd..325192826c 100644 --- a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp @@ -276,17 +276,22 @@ namespace Isis { Control *control = NULL; try { QString cnetFileName = cnetFileNameAndProgress.first.original(); - ControlNet *cnet = new ControlNet(); - cnet->SetMutex(m_project->mutex()); - cnet->ReadControl(cnetFileName, cnetFileNameAndProgress.second); +// ControlNet *cnet = new ControlNet(); +// cnet->SetMutex(m_project->mutex()); + +// cnet->ReadControl(cnetFileName, cnetFileNameAndProgress.second); QString baseFilename = FileName(cnetFileName).name(); QString destination = m_destinationFolder.canonicalPath() + "/" + baseFilename; - cnet->Write(destination); + if (!QFile::copy(cnetFileName, destination) ) { + //m_warning = "Error saving control net."; + } + +// cnet->Write(destination); - delete cnet; - cnet = NULL; +// delete cnet; +// cnet = NULL; control = new Control(m_project, destination); control->closeControlNet(); diff --git a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h index 2ea3a37bd8..e4eedf4500 100644 --- a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h +++ b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h @@ -65,6 +65,7 @@ namespace Isis { * Control is created Fixes #5026 * @histroy 2017-10-24 Adam Goins - Removed the undoStack() call that occurred when a * Failed cnet is imported. Fixes #5186 + * @history 2018-03-30 Tracie Sucharski - Copy the control net instead of writing. */ class ImportControlNetWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From d578d392fcea1bfaf657a0b32fefe4d79652669a Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 4 Apr 2018 15:19:19 -0700 Subject: [PATCH 0272/1212] PROG: Added slot, activeControlModified, which sets the modification state of Control's control net. --- isis/src/qisis/objs/Project/Project.cpp | 36 +++++++++++++++++++++++++ isis/src/qisis/objs/Project/Project.h | 13 +++++++++ 2 files changed, 49 insertions(+) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index d51ed9a8fc..dc5d3904de 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -1702,11 +1702,41 @@ namespace Isis { * being chosen Fixes #4969 * @history 2017-08-02 Cole Neubauer - Added functionality to switch between active controls * Fixes #4567 + * @history 2018-03-30 Tracie Sucharski - If current activeControl has been modified, prompt for + * saving. Emit signal to discardActiveControlEdits. * */ void Project::setActiveControl(QString displayName) { Control *previousControl = m_activeControl; if (m_activeControl) { + qDebug()<<"PRoject::setActiveControl m_activeControl->isModified() = "<isModified(); + + // If the current active control has been modified, ask user if they want to save or discard + // changes. + if (m_activeControl->isModified()) { + QMessageBox msgBox; + msgBox.setText("Save current active control"); + msgBox.setInformativeText("The current active control has been modified. Do you want " + "to save before setting a new active control?"); + msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel); + msgBox.setDefaultButton(QMessageBox::Save); + int ret = msgBox.exec(); + switch (ret) { + // Save current active control + case QMessageBox::Save: + qDebug()<<" ** SAVE **"; + m_activeControl->write(); + break; + // Discard any changes made to cnet + case QMessageBox::Discard: + emit discardActiveControlEdits(); + break; + // Cancel operation + case QMessageBox::Cancel: + return; + } + } + qDebug()<<"Project::setActiveControl before emit activeControlSet"; emit activeControlSet(false); ProjectItem *item = directory()->model()->findItemData(m_activeControl-> displayProperties()->displayName(), Qt::DisplayRole); @@ -1773,6 +1803,12 @@ namespace Isis { } + void Project::activeControlModified() { + qDebug()<<"Project::activeControlModified m_activeControl = "<setModified(true); + } + + /** * @brief Set the Active ImageList from the displayName which is saved in project.xml * diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 528bc52217..f879000718 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -234,6 +234,16 @@ namespace Isis { * @history 2018-03-27 Tracie Sucharski - Removed the calls to work orders from activeImageList * and activeControl methods. Additional errors checks needed for * default values that are not in work orders. Fixes #5256. + * @history 2018-03-30 Tracie Sucharski - Added public slot, activeControlModified, which sets + * the modified state on the active Control. This was done, so that a + * Control knows if its control net has been modified. Also added + * signal, discardActiveControlEdits if user does not want to save + * edits. This is needed for CnetEditorWidgets that are displaying + * the modified active control, it will effectively close that + * CnetEditorView and reload with the original control net. It was + * done this way because there is no easy way to reload a control net in + * the CnetEditor widgets. + * */ class Project : public QObject { Q_OBJECT @@ -475,9 +485,12 @@ namespace Isis { void templatesAdded(TemplateList *newTemplates); + void discardActiveControlEdits(); + public slots: void open(QString); void setClean(bool value); + void activeControlModified(); private slots: void controlClosed(QObject *control); -- GitLab From a898329c92dd32bf68960f74fc85272b5f1f5572 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Thu, 5 Apr 2018 11:26:18 -0700 Subject: [PATCH 0273/1212] Added hasTargetRadii() and targetRadii() to ControlNetVersioner. Added history comment. --- .../ControlNetVersioner.cpp | 19 +++++++++++++++++++ .../ControlNetVersioner/ControlNetVersioner.h | 5 +++++ 2 files changed, 24 insertions(+) diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp index 5a1ccc4d86..949ab879fe 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp @@ -166,6 +166,25 @@ namespace Isis { } + /** + * Returns true if the targetRadii in the header has values. + * + * @return @b boolean True if the targetRadii in the header is populated. + */ + bool ControlNetVersioner::hasTargetRadii() const { + return m_header.targetRadii.empty() ? false : true; + } + + /** + * Returns the targetRadii Distance vector located in the header. + * + * @return @b std::vector A vector containing the target body radii. + */ + std::vector ControlNetVersioner::targetRadii() const { + return m_header.targetRadii; + } + + /** * Returns the number of points that have been read in or are ready to write out. * diff --git a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h index 4e08ca98de..ca6dcae9d1 100644 --- a/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h +++ b/isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h @@ -406,6 +406,9 @@ namespace Isis { * @history 2018-03-28 Adam Goins - Added targetRadii groups to the header. Changed the * versioner to write these values out in a targetRadii group for * both binary V0005 and PvlV0005 networks. Fixes #5361. + * @history 2018-04-05 Adam Goins - Added hastargetRadii() and targetRadii() to the versioner + * so that these values can be grabbed from a ControlNet on read. + * Also Fixes #5361. */ class ControlNetVersioner { @@ -420,6 +423,8 @@ namespace Isis { QString lastModificationDate() const; QString description() const; QString userName() const; + bool hasTargetRadii() const; + std::vector targetRadii() const; int numPoints() const; ControlPoint *takeFirstPoint(); -- GitLab From 39393271010ee3131e2167a3695258fb6fdc97d0 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Thu, 5 Apr 2018 11:29:52 -0700 Subject: [PATCH 0274/1212] Added a check to the versionedReader targetRadii group to set radii values to those ingested from the versioner if they exist. Added history comment. --- isis/src/control/objs/ControlNet/ControlNet.cpp | 16 +++++++++++----- isis/src/control/objs/ControlNet/ControlNet.h | 6 +++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/isis/src/control/objs/ControlNet/ControlNet.cpp b/isis/src/control/objs/ControlNet/ControlNet.cpp index 6c204b30eb..cca11706db 100644 --- a/isis/src/control/objs/ControlNet/ControlNet.cpp +++ b/isis/src/control/objs/ControlNet/ControlNet.cpp @@ -237,14 +237,20 @@ namespace Isis { * parent prematurely to be able to set the radii * in ControlPoint. * @history 2017-12-21 Jesse Mapel - Modified to use the ControlNetVersioner. - * + * @history 2018-04-05 Adam Goins - Added a check to the versionedReader targetRadii + * group to set radii values to those ingested from the versioner + * if they exist. Otherwise, we call SetTarget with the targetname. */ void ControlNet::ReadControl(const QString &filename, Progress *progress) { FileName cnetFileName(filename); ControlNetVersioner versionedReader(cnetFileName, progress); - - SetTarget( versionedReader.targetName() ); + if ( versionedReader.hasTargetRadii() ) { + p_targetRadii = versionedReader.targetRadii(); + } + else { + SetTarget( versionedReader.targetName() ); + } p_networkId = versionedReader.netId(); p_userName = versionedReader.userName(); p_created = versionedReader.creationDate(); @@ -346,8 +352,8 @@ namespace Isis { /** - * Adds a whole point to the control net graph. - * + * Adds a whole point to the control net graph. + * * @throws IException::Programmer "NULL measure passed to ControlNet::AddControlCubeGraphNode!" * @throws IException::Programmer "Control measure with NULL parent passed to * ControlNet::AddControlCubeGraphNode!" diff --git a/isis/src/control/objs/ControlNet/ControlNet.h b/isis/src/control/objs/ControlNet/ControlNet.h index 56b9f3bead..5ae923fbb9 100644 --- a/isis/src/control/objs/ControlNet/ControlNet.h +++ b/isis/src/control/objs/ControlNet/ControlNet.h @@ -212,7 +212,11 @@ namespace Isis { * @history 2017-01-19 Jesse Mapel - Added a method to get all of the valid measures in an * image. Previously, this had to be done throug the graph. * @history 2018-01-26 Kristin Berry - Added pointAdded() function to eliminate redundant measure - * adds to the control network. + * adds to the control network. + * @history 2018-04-05 Adam Goins - Added a check to the versionedReader targetRadii + * group to set radii values to those ingested from the versioner + * if they exist. Otherwise, we call SetTarget with the targetname. + * Fixes #5361. */ class ControlNet : public QObject { Q_OBJECT -- GitLab From 71eef24730b39b6b87dcac10b5f82ab2d49f9a06 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Thu, 5 Apr 2018 11:34:30 -0700 Subject: [PATCH 0275/1212] Fixed build error --- isis/src/control/objs/ControlNet/ControlNet.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/isis/src/control/objs/ControlNet/ControlNet.cpp b/isis/src/control/objs/ControlNet/ControlNet.cpp index cca11706db..8af5827bca 100644 --- a/isis/src/control/objs/ControlNet/ControlNet.cpp +++ b/isis/src/control/objs/ControlNet/ControlNet.cpp @@ -246,7 +246,9 @@ namespace Isis { FileName cnetFileName(filename); ControlNetVersioner versionedReader(cnetFileName, progress); if ( versionedReader.hasTargetRadii() ) { - p_targetRadii = versionedReader.targetRadii(); + foreach (Distance distance, versionedReader.targetRadii()) { + p_targetRadii.push_back(distance); + } } else { SetTarget( versionedReader.targetName() ); -- GitLab From 8e6fbd92b0d240d96ff9eccb04cbfd7c21f6df74 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Thu, 5 Apr 2018 11:37:41 -0700 Subject: [PATCH 0276/1212] Fixed targetname error. --- isis/src/control/objs/ControlNet/ControlNet.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/control/objs/ControlNet/ControlNet.cpp b/isis/src/control/objs/ControlNet/ControlNet.cpp index 8af5827bca..9c3a06ebe3 100644 --- a/isis/src/control/objs/ControlNet/ControlNet.cpp +++ b/isis/src/control/objs/ControlNet/ControlNet.cpp @@ -246,6 +246,8 @@ namespace Isis { FileName cnetFileName(filename); ControlNetVersioner versionedReader(cnetFileName, progress); if ( versionedReader.hasTargetRadii() ) { + p_targetName = versionedReader.targetName(); + p_targetRadii.clear(); foreach (Distance distance, versionedReader.targetRadii()) { p_targetRadii.push_back(distance); } -- GitLab From 6ea3d105727a2ae4de0bc382f58b7e2435fb0eba Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Fri, 6 Apr 2018 15:05:33 -0700 Subject: [PATCH 0277/1212] Fixed issue with apps core dumping when ISISROOT not set. Fixes #5360. --- isis/src/base/objs/Application/Application.cpp | 4 +++- isis/src/base/objs/Isis/Isis.h | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/isis/src/base/objs/Application/Application.cpp b/isis/src/base/objs/Application/Application.cpp index 1e32f38704..30453affd3 100644 --- a/isis/src/base/objs/Application/Application.cpp +++ b/isis/src/base/objs/Application/Application.cpp @@ -103,11 +103,13 @@ namespace Isis { putenv(env); // Verify ISISROOT was set + // Note: as printing and logging IExceptions requires ISISROOT to be set (for preferences), + // The case below cannot be handled with IExceptions if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { QString message = "Please set ISISROOT before running any Isis " "applications"; cerr << message << endl; - abort(); + exit(1); } // Get the starting cpu time, direct I/Os, page faults, and swaps diff --git a/isis/src/base/objs/Isis/Isis.h b/isis/src/base/objs/Isis/Isis.h index df6889d3e2..d4611a10f0 100644 --- a/isis/src/base/objs/Isis/Isis.h +++ b/isis/src/base/objs/Isis/Isis.h @@ -119,13 +119,15 @@ int main(int argc, char *argv[]) { #ifdef USE_GUI_QAPP Isis::Application::p_applicationForceGuiApp = true; #endif - + + // ISISROOT not set is handled in Application initialization, needs to be before qtpluginpath + Isis::Application *app = new Isis::Application(argc, argv); + app->RegisterGuiHelpers(GuiHelpers()); + // Add the plugin directory so QT looks at the Isis plugin dir Isis::FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); - Isis::Application *app = new Isis::Application(argc, argv); - app->RegisterGuiHelpers(GuiHelpers()); int status = app->Run(APPLICATION); delete app; delete QCoreApplication::instance(); -- GitLab From 51ccc893f41504e8fe541b47e4dbc368133a4dd9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 6 Apr 2018 16:53:48 -0700 Subject: [PATCH 0278/1212] Added line back in that caused install errors --- environment.yml | 35 ++++++++++++++--------------------- isis/CMakeLists.txt | 24 +++++++++++++++++++++++- isis/cmake/FindCholmod.cmake | 1 - 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/environment.yml b/environment.yml index 0df225c443..5202ee3c74 100644 --- a/environment.yml +++ b/environment.yml @@ -9,15 +9,12 @@ channels: - defaults dependencies: - ca-certificates==2017.08.26 - - dbus==1.10.20=0 + - dbus - future==0.16.0 - - gst-plugins-base - - gstreamer==1.8.0=0 - jsoncpp==1.8.3 - - libgfortran==3.0=0 - - libstdcxx-ng==7.2.0 + - libgfortran==3.0 - qwt=6.1.3 - - pyqt=5.6.0 + - pyqt - sip=4.18 - libxcb==1.12=1 - mysql==5.7.20 @@ -46,18 +43,16 @@ dependencies: - ffmpeg==3.2.4=3 - flann==1.8.4=0 - fontconfig==2.12.1=4 - - freeglut==3.0.0=4 - - freetype==2.7=1 - geos==3.5.1=1 - - geotiff==1.4.2 + - geotiff==1.4.2=1 - gettext==0.19.8.1=0 - giflib==5.1.4=0 - glib==2.51.4=0 - gmp==6.1.2=0 - gsl==2.2.1=blas_openblas_3 - - harfbuzz==1.3.4=2 + - harfbuzz - hdf5==1.8.18=2 - - icu==58.2 + - icu==58.2=0 - jasper==1.900.1=1 - jbig==2.1=0 - jpeg==9b=2 @@ -83,7 +78,7 @@ dependencies: - nn==1.86.0=2 - numpy==1.13.3=py36_blas_openblas_200 - openblas==0.2.19=2 - - opencv==3.2.0=np113py36_blas_openblas_203 + - opencv - openssl==1.0.2n=0 - pcre==8.39=0 - pixman==0.34.0=1 @@ -98,7 +93,6 @@ dependencies: - superlu==5.2.1=blas_openblas_201 - tbb==4.4_20160526=1 - tk==8.5.19=2 - - vtk==8.1.0 - x264==20131217=3 - xorg-kbproto==1.0.7=1 - xorg-libx11==1.6.4=6 @@ -109,18 +103,17 @@ dependencies: - xorg-xproto==7.0.31=6 - bz2file==0.98 - cloog==0.18.0=0 - - isl==0.12.2=0 + - isl==0.12.2 - protobuf==3.5.1 - - system==5.8=2 - libprotobuf==3.2.0=0 - bullet==2.86.1=0 - - ds9==7.5=0 - - gmm==5.0=0 + - ds9==7.5 + - gmm==5.0 - jama==125=0 - - pcl==1.8.1=0 + - pcl==1.8.1 - qhull==7.2.0=0 - - qt==5.6.2 - - qwt==6.1.3 + - qt + - qwt==6.1.3=0 - tnt==126=0 - - xalan-c==1.11=0 + - xalan-c==1.11 prefix: /scratch/anaconda3/envs/isis diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index 7fa0c88cff..a5b13eabbf 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -57,7 +57,7 @@ message("Detected Operating System: ${osVersionString}") # as a static library using some specialized code in Utilities.cmake. set(BUILD_SHARED_LIBS ON) -# make sure to leave rpaths untouched on install +# make sure to leave rpaths untouched on install set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # Specify user options that can be passed in with the initial CMake command. @@ -128,6 +128,10 @@ message("\tINSTALL PREFIX: ${CMAKE_INSTALL_PREFIX}") #=============================================================================== #=============================================================================== +# Set up the ctest tool which is used to run all of the tests. +enable_testing() +include(CTest) + # Set up Anaconda prefix in the case with a non-default conda env is activated if(EXISTS $ENV{CONDA_PREFIX}) message("CONDA PREFIX: $ENV{CONDA_PREFIX}") @@ -158,6 +162,11 @@ set(thirdPartyCppFlags -Wall -DENABLEJP2K=${JP2KFLAG} ) + # Append CPP flags set in the third party lib file to the string set in this file. + string(REPLACE ";" " " FLAGS_STR "${thirdPartyCppFlags}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_STR}" ) + + # Flag to fix numeric literals problem with boost on linux if(NOT APPLE) set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals @@ -311,6 +320,12 @@ if(pybindings) string(STRIP ${PYQT_SIP_FLAGS} PYQT_SIP_FLAGS) string(REPLACE " " ";" PYQT_SIP_FLAGS ${PYQT_SIP_FLAGS}) message("Generating C++ code from sip files") + + message(STATUS "SIP BUILD FILE: ${SIP_BUILD_FILE}") + message(STATUS "SIP MODULE: ${ISIS_SIP_MODULE}") + message(STATUS "SIP GENERATED CODE DIR: ${ISIS_SIP_CODE_DIR}") + + execute_process(COMMAND ${SIP_BINARY_PATH} -e -o -c ${ISIS_SIP_CODE_DIR} -I ${SIP_DEFAULT_SIP_DIR}/PyQt5 ${PYQT_SIP_FLAGS} ${ISIS_SIP_MODULE}) # add target so users can run the command after initial configuration @@ -395,6 +410,13 @@ add_subdirectory(src objects) # Set up third party libraries for installation # install_third_party() +if(APPLE) + set(SO ".dylib") +else() + set(SO ".so") +endif() + + # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. diff --git a/isis/cmake/FindCholmod.cmake b/isis/cmake/FindCholmod.cmake index a46f6d9c36..d3f61be782 100644 --- a/isis/cmake/FindCholmod.cmake +++ b/isis/cmake/FindCholmod.cmake @@ -28,7 +28,6 @@ endif() # if(APPLE) find_library(FORTRAN_LIBRARY NAMES gfortran NAMES gfortran - PATHS /opt/usgs/v007/ports/lib/gcc5/ ) find_library(BLAS_LIBRARY NAMES blas) -- GitLab From b43a0063b1d106f29c71e56e0fd2416f0883f400 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 6 Apr 2018 17:06:32 -0700 Subject: [PATCH 0279/1212] removed calls to run finalizeInstalledOsxRpaths.py --- isis/cmake/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/isis/cmake/CMakeLists.txt b/isis/cmake/CMakeLists.txt index 8b1df97398..85bfcdc541 100644 --- a/isis/cmake/CMakeLists.txt +++ b/isis/cmake/CMakeLists.txt @@ -12,11 +12,6 @@ install(CODE "EXECUTE_PROCESS(COMMAND ln -sf libisis3${SO} ${CMAKE_INSTALL_PREFI # On OSX, need to correct all the paths encoded in each of the distributed library files so # that they properly find the distruted files using relative paths. if (APPLE) - # Call the correction script on each folder containing libraries - install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/lib)") - install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/3rdParty/lib resetRpath)") - install(CODE "EXECUTE_PROCESS(COMMAND python ${CMAKE_SOURCE_DIR}/scripts/finalizeInstalledOsxRpaths.py ${CMAKE_INSTALL_PREFIX}/bin)") - # Also need to get the plugin folders get_subdirectory_list(${CMAKE_SOURCE_DIR}/3rdParty/plugins pluginFolders) foreach(f ${pluginFolders}) -- GitLab From 1e4a9fbd51059a4ebe6eed05aded47ac40ec6af6 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Fri, 6 Apr 2018 20:17:16 -0700 Subject: [PATCH 0280/1212] added python 3.6 to env file --- environment.yml | 10 +++++----- isis/CMakeLists.txt | 4 ---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/environment.yml b/environment.yml index 5202ee3c74..4ed92ed693 100644 --- a/environment.yml +++ b/environment.yml @@ -8,14 +8,14 @@ channels: - jlaura - defaults dependencies: - - ca-certificates==2017.08.26 + - python==3.6 - dbus - future==0.16.0 - jsoncpp==1.8.3 - libgfortran==3.0 - qwt=6.1.3 - - pyqt - - sip=4.18 + - pyqt==5.6.0 + - sip==4.18 - libxcb==1.12=1 - mysql==5.7.20 - ncurses==5.9=10 @@ -112,8 +112,8 @@ dependencies: - jama==125=0 - pcl==1.8.1 - qhull==7.2.0=0 - - qt - - qwt==6.1.3=0 + - qt=5.6.2 + - qwt - tnt==126=0 - xalan-c==1.11 prefix: /scratch/anaconda3/envs/isis diff --git a/isis/CMakeLists.txt b/isis/CMakeLists.txt index a5b13eabbf..c71ccf417d 100644 --- a/isis/CMakeLists.txt +++ b/isis/CMakeLists.txt @@ -407,16 +407,12 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/make DESTINATION ${CMAKE_INSTALL_PREFIX}) # Have CMake process all of the source code and tests. add_subdirectory(src objects) -# Set up third party libraries for installation -# install_third_party() - if(APPLE) set(SO ".dylib") else() set(SO ".so") endif() - # Set up documentation build target. # - This script is called by running "make docs". # - This long call passes all desired variables to the script. -- GitLab From ae1d5aa02058c0c9a959cb2a98db2218472e1af9 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Sat, 7 Apr 2018 02:25:38 -0700 Subject: [PATCH 0281/1212] removed some dependencies of dependencies --- environment.yml | 57 ++++--------------------------------------------- 1 file changed, 4 insertions(+), 53 deletions(-) diff --git a/environment.yml b/environment.yml index 4ed92ed693..6a2f756e00 100644 --- a/environment.yml +++ b/environment.yml @@ -8,108 +8,59 @@ channels: - jlaura - defaults dependencies: - - python==3.6 - - dbus - - future==0.16.0 - - jsoncpp==1.8.3 - libgfortran==3.0 - qwt=6.1.3 - pyqt==5.6.0 - sip==4.18 - - libxcb==1.12=1 - mysql==5.7.20 - - ncurses==5.9=10 - ninja==1.7.2=0 - patchelf==0.9 - pip==9.0.1 - setuptools=38.5.1 - wheel==0.30.0 - xerces-c==3.1.4=0 - - xz==5.2.3=0 - zlib==1.2.11=0 - blas==1.1=openblas - boost==1.65.1 - boost-cpp==1.65.1 - bzip2==1.0.6=1 - - cairo==1.14.6=4 - - certifi==2018.1.18 - cmake==3.9.1=0 - cspice==66-0 - curl==7.55.1=0 - doxygen==1.8.14=0 - eigen==3.3.3=0 - embree==2.14.0=0 - - expat==2.2.5=0 - - ffmpeg==3.2.4=3 - - flann==1.8.4=0 - - fontconfig==2.12.1=4 - geos==3.5.1=1 - geotiff==1.4.2=1 - - gettext==0.19.8.1=0 - - giflib==5.1.4=0 - - glib==2.51.4=0 - gmp==6.1.2=0 - gsl==2.2.1=blas_openblas_3 - - harfbuzz - hdf5==1.8.18=2 - icu==58.2=0 - - jasper==1.900.1=1 - - jbig==2.1=0 - jpeg==9b=2 - krb5==1.14.2=0 - - lapack==3.6.1=1 - - libffi==3.2.1=3 - - libiconv==1.15=0 - libpng==1.6.28=2 - - libssh2==1.8.0=2 - libtiff==4.0.9=0 - - libuv==1.11.0=0 - - libwebp==0.5.2=7 - libxml2==2.9.7=0 - - llvm-meta==5.0.0=0 - - llvmdev==5.0.0=default_1 - - m4==1.4.17=1 - mesalib==17.2.0=0 - - metis==5.1.0=3 - - mpc==1.0.3=4 - - mpfr==3.1.5=0 - mysql-connector-c==6.1.6=0 - - nanoflann==1.2.2=0 - nn==1.86.0=2 - numpy==1.13.3=py36_blas_openblas_200 - openblas==0.2.19=2 - - opencv + - opencv==3.3.0 + - nanoflann==1.22 + - gmm==5.0 + - jama==125 - openssl==1.0.2n=0 - - pcre==8.39=0 - - pixman==0.34.0=1 - - proj4==4.9.3=5 - - pthread-stubs==0.3=1 - python==3.6 - - readline==6.2=0 - - rhash==1.3.4=0 - - six==1.11.0 - sqlite==3.13.0=1 - suitesparse==4.5.4=blas_openblas_200 - superlu==5.2.1=blas_openblas_201 - - tbb==4.4_20160526=1 - - tk==8.5.19=2 - - x264==20131217=3 - xorg-kbproto==1.0.7=1 - xorg-libx11==1.6.4=6 - - xorg-libxau==1.0.8=3 - - xorg-libxdmcp==1.1.2=3 - - xorg-libxrender==0.9.10=0 - - xorg-renderproto==0.11.1=1 - - xorg-xproto==7.0.31=6 - bz2file==0.98 - - cloog==0.18.0=0 - - isl==0.12.2 - protobuf==3.5.1 - libprotobuf==3.2.0=0 - bullet==2.86.1=0 - - ds9==7.5 - - gmm==5.0 - - jama==125=0 - pcl==1.8.1 - qhull==7.2.0=0 - qt=5.6.2 -- GitLab From 8ef9fc4183ffbf628a2b97a86bf95d2e2bbd78e1 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Tue, 10 Apr 2018 14:00:32 -0700 Subject: [PATCH 0282/1212] Added space before Fixes, added decsription for the return value of getIndex(), and made sure code was properly aligned. --- isis/src/base/apps/caminfo/caminfo.xml | 2 +- isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp | 4 ++-- isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/isis/src/base/apps/caminfo/caminfo.xml b/isis/src/base/apps/caminfo/caminfo.xml index 22bed53daa..065e112def 100644 --- a/isis/src/base/apps/caminfo/caminfo.xml +++ b/isis/src/base/apps/caminfo/caminfo.xml @@ -363,7 +363,7 @@ Added oblique sample, line, detector, and pixel resolutions to the geometry PVL group. Updated example output in application description, - so that the addded oblique elements are included.Fixes #4100. + so that the addded oblique elements are included. Fixes #4100. diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp index 4dbdbc7c6c..f356362931 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.cpp @@ -228,10 +228,10 @@ namespace Isis { /** * This method finds the index of the header in checkBoxItems by looping * through checkBoxItems, grabbing the header from each QList, and parsing - * the header at ":" to account for check boxes turning on multiple columns + * the header at ":" to account for check boxes selecting multiple columns. * * @param keyword Header to be found - * @return int + * @return int The index of the item to be added */ int AdvancedTrackTool::getIndex(QString keyword) { int index = 0; diff --git a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h index a4800624a4..3ea7e8c50d 100644 --- a/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h +++ b/isis/src/qisis/objs/AdvancedTrackTool/AdvancedTrackTool.h @@ -86,11 +86,11 @@ namespace Isis { * to record the point into so that the first recorded point is drawn. * Fixes #5143. * @history 2018-03-07 Kaitlyn Lee - Added columns for oblique pixel, sample, line, -` * and detector resolutions. Added checkBoxItems and loop to add + * and detector resolutions. Added checkBoxItems and loop to add * the elments to the AdvancedTrackTool, instead of hardcoded method * calls. Instead of using the enum, I added a method getIndex() * that calculates what column the element should be added to. - * Fixes #4100.` + * Fixes #4100. */ class AdvancedTrackTool : public Tool { Q_OBJECT -- GitLab From e1a994bca1fa86193ff3f2b65128ac3aae04fb53 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 08:45:38 -0700 Subject: [PATCH 0283/1212] PROG:Added removeView slot to remove a view, and check for modified active control. --- isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 12 +++++------- isis/src/qisis/apps/ipce/IpceMainWindow.h | 5 ++++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index 82b31dd6dc..42b5de1162 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -227,10 +227,6 @@ namespace Isis { if ( QMdiArea *mdiArea = qobject_cast( centralWidget() ) ) { mdiArea->addSubWindow(newWidget); newWidget->show(); - QMdiSubWindow *window = qobject_cast(newWidget); - qDebug()<<"IpceMainWindow::addView new subwindow = "<close(); break; } @@ -873,7 +867,11 @@ namespace Isis { * state information before forwarding the event to the QMainWindow. */ void IpceMainWindow::closeEvent(QCloseEvent *event) { - if (!m_directory->project()->isClean()) { + + // The active control is checked here for modification because this was the simplest solution + // vs changing the project clean state every time the control is modified or saved. + if (!m_directory->project()->isClean() || (m_directory->project()->activeControl() && + m_directory->project()->activeControl()->isModified())) { QMessageBox *box = new QMessageBox(QMessageBox::NoIcon, QString("Current Project Has Unsaved Changes"), QString("Would you like to save your current project?"), NULL, qobject_cast(parent()), Qt::Dialog); diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 39422f0f0c..724189d198 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -124,7 +124,10 @@ namespace Isis { * @history 2018-03-02 Tracie Sucharski - added static keyword to the m_maxRecentProject member * variable, fixes OSX compile warning. References #5341. * @history 2018-04-04 Tracie Sucharski - Added removeView slot which removes the view - * containing the given widget. + * containing the given widget. In the closeEvent method check whether + * there is an active control and if it has been modified as additional + * test to determine whether project needs saving. + * */ class IpceMainWindow : public QMainWindow { Q_OBJECT -- GitLab From d067c15266111e567803a6173d7adad9db517fff Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:14:15 -0700 Subject: [PATCH 0284/1212] PROG: Moved xml serialization to newly created CnetEditorView. --- .../CnetEditorWidget/CnetEditorWidget.cpp | 79 +------------------ .../objs/CnetEditorWidget/CnetEditorWidget.h | 33 +------- 2 files changed, 3 insertions(+), 109 deletions(-) diff --git a/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.cpp b/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.cpp index b55d7c57cc..30dbba1a8c 100644 --- a/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.cpp +++ b/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.cpp @@ -98,6 +98,7 @@ namespace Isis { * Destructor */ CnetEditorWidget::~CnetEditorWidget() { + writeSettings(); delete m_workingVersion; @@ -1040,82 +1041,4 @@ namespace Isis { m_connectionModel->setFrozen(false); } } - - - /** - * This method pushes a new XmlHandler into the parser stack. - * - * @param xmlReader This is the parser stack. - */ - void CnetEditorWidget::load(XmlStackedHandlerReader *xmlReader) { - xmlReader->pushContentHandler(new XmlHandler(this)); - } - - - /** - * This method saves the Controls object ids to the stream. - * - * @param stream The stream that will output to directory.xml - * @param project The project to save the users settings to - * @param newProjectRoot New project's root directory - */ - void CnetEditorWidget::save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) { - stream.writeStartElement("control"); - stream.writeAttribute("id", m_control->id()); - stream.writeEndElement(); - } - - - /** - * Creates an XmlHandler for cnetEditor - * - * @param cnetEditor The widget to be serialized - */ - CnetEditorWidget::XmlHandler::XmlHandler(CnetEditorWidget *cnetEditor) { - m_cnetEditor = cnetEditor; - } - - - /** - * Destructor - */ - CnetEditorWidget::XmlHandler::~XmlHandler() { - delete m_cnetEditor; - m_cnetEditor = NULL; - } - - - /** - * Placeholder for later serialization of CnetEditorWidgets - * - * @param cnetEditor The widget to be serialized - * @param namespaceURI ??? - * @param localName Determines what attributes to retrieve from atts. - * @param qName ??? - * @param atts Stores the attributes. - * - * @return @b bool The result of XmlStackedHandler's startElement() method. - */ - bool CnetEditorWidget::XmlHandler::startElement(const QString &namespaceURI, - const QString &localName, const QString &qName, const QXmlAttributes &atts) { - bool result = XmlStackedHandler::startElement(namespaceURI, localName, qName, atts); - return result; - } - - - /** - * This method calls XmlStackedHandler's endElement() and dereferences pointers according to - * the value of localName. - * - * @param namespaceURI ??? - * @param localName Determines which pointers to dereference. - * @param qName ??? - * - * @return @b bool The result of XmlStackedHandler's endElement() method. - */ - bool CnetEditorWidget::XmlHandler::endElement(const QString &namespaceURI, - const QString &localName, const QString &qName) { - bool result = XmlStackedHandler::endElement(namespaceURI, localName, qName); - return result; - } } diff --git a/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.h b/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.h index bdbe010105..e66c559403 100644 --- a/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.h +++ b/isis/src/qisis/objs/CnetEditorWidget/CnetEditorWidget.h @@ -71,6 +71,8 @@ namespace Isis { * a ControlNet. Added load and save methods as well as an XmlHandler * to allow for serialization of the widget into the project. * Fixes #4989. + * @history 2018-04-11 Tracie Sucharski - Moved the Xml serialization to the newly created + * CnetEditorView class for ipce. */ class CnetEditorWidget : public QWidget { Q_OBJECT @@ -116,9 +118,6 @@ namespace Isis { void setPointTableSortingEnabled(bool enabled); void setPointTableSortLimit(int limit); - void load(XmlStackedHandlerReader *xmlReader); - void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot); - public slots: void configSorting(); @@ -191,34 +190,6 @@ namespace Isis { QMap< QString, QList< QAction * > > * m_toolBarActions; //!< QMap of tool bar actions QString *m_settingsPath; //!< Path to read/write settings - - - private: - /** - * This class is a placeholder for future plans to serialize more of - * CnetEditorWidget's configurations when saving a project. - * - * @author 2017-07-25 Christopher Combs - * @internal - * @history 2017-07-25 Christopher Combs - Added Xml StackedHandler class - * to implement serialization of the CnetEditorWidget. - * References #4989. - */ - class XmlHandler : public XmlStackedHandler { - public: - XmlHandler(CnetEditorWidget *cnetEditor); - ~XmlHandler(); - - virtual bool startElement(const QString &namespaceURI, const QString &localName, - const QString &qName, const QXmlAttributes &atts); - virtual bool endElement(const QString &namespaceURI, const QString &localName, - const QString &qName); - - private: - Q_DISABLE_COPY(XmlHandler); - - CnetEditorWidget *m_cnetEditor; - }; }; } -- GitLab From bd460f6b1748941db50f75b0fc058550b92524eb Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:15:29 -0700 Subject: [PATCH 0285/1212] PROG: Created the ipce view to hold the CnetEditorWidget. --- .../objs/CnetEditorView/CnetEditorView.cpp | 328 ++++++++++++++++++ .../objs/CnetEditorView/CnetEditorView.h | 113 ++++++ 2 files changed, 441 insertions(+) create mode 100644 isis/src/qisis/objs/CnetEditorView/CnetEditorView.cpp create mode 100644 isis/src/qisis/objs/CnetEditorView/CnetEditorView.h diff --git a/isis/src/qisis/objs/CnetEditorView/CnetEditorView.cpp b/isis/src/qisis/objs/CnetEditorView/CnetEditorView.cpp new file mode 100644 index 0000000000..eca23209c6 --- /dev/null +++ b/isis/src/qisis/objs/CnetEditorView/CnetEditorView.cpp @@ -0,0 +1,328 @@ +/** + * @file + * $Date$ + * $Revision$ + * + * Unless noted otherwise, the portions of Isis written by the USGS are + * public domain. See individual third-party library and package descriptions + * for intellectual property information, user agreements, and related + * information. + * + * Although Isis has been used by the USGS, no warranty, expressed or + * implied, is made by the USGS as to the accuracy and functioning of such + * software and related material nor shall the fact of distribution + * constitute any such warranty, and no responsibility is assumed by the + * USGS in connection therewith. + * + * For additional information, launch + * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html + * in a browser or see the Privacy & Disclaimers page on the Isis website, + * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on + * http://www.usgs.gov/privacy.html. + */ +#include "IsisDebug.h" + +#include "CnetEditorView.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Control.h" +#include "ControlNet.h" +#include "CnetEditorWidget.h" +#include "Directory.h" +#include "FileName.h" +#include "Project.h" +#include "ToolPad.h" +#include "XmlStackedHandlerReader.h" + + +namespace Isis { + /** + * Constructor. + */ + CnetEditorView::CnetEditorView(Directory *directory, Control *control, FileName configFile, + QWidget *parent) : AbstractProjectItemView(parent) { + + // TODO: This layout should be inside of the cnet editor widget, but I put it here to not + // conflict with current work in the cnet editor widget code. + //QWidget *result = new QWidget; + QGridLayout *resultLayout = new QGridLayout; + setLayout(resultLayout); + + int row = 0; + + QMenuBar *menuBar = new QMenuBar; + resultLayout->addWidget(menuBar, row, 0, 1, 2); + row++; + + m_cnetEditorWidget = new CnetEditorWidget(control, configFile.expanded()); + m_control = control; + + resultLayout->addWidget(m_cnetEditorWidget, row, 0, 1, 2); + row++; + + // Populate the menu... + QMap< QAction *, QList< QString > > actionMap = m_cnetEditorWidget->menuActions(); + QMapIterator< QAction *, QList< QString > > actionMapIterator(actionMap); + + QMap topLevelMenus; + + while ( actionMapIterator.hasNext() ) { + actionMapIterator.next(); + QAction *actionToAdd = actionMapIterator.key(); + QList< QString > location = actionMapIterator.value(); + + QMenu *menuToPutActionInto = NULL; + + if ( location.count() ) { + QString topLevelMenuTitle = location.takeFirst(); + if (!topLevelMenus[topLevelMenuTitle]) { + topLevelMenus[topLevelMenuTitle] = menuBar->addMenu(topLevelMenuTitle); + } + + menuToPutActionInto = topLevelMenus[topLevelMenuTitle]; + } + + foreach (QString menuName, location) { + bool foundSubMenu = false; + foreach ( QAction *possibleSubMenu, menuToPutActionInto->actions() ) { + if (!foundSubMenu && + possibleSubMenu->menu() && possibleSubMenu->menu()->title() == menuName) { + foundSubMenu = true; + menuToPutActionInto = possibleSubMenu->menu(); + } + } + + if (!foundSubMenu) { + menuToPutActionInto = menuToPutActionInto->addMenu(menuName); + } + } + + menuToPutActionInto->addAction(actionToAdd); + } + + QTabWidget *treeViews = new QTabWidget; + treeViews->addTab( m_cnetEditorWidget->pointTreeView(), tr("Point View") ); + treeViews->addTab( m_cnetEditorWidget->serialTreeView(), tr("Serial View") ); + treeViews->addTab( m_cnetEditorWidget->connectionTreeView(), tr("Connection View") ); + resultLayout->addWidget(treeViews, row, 0, 1, 1); + + QTabWidget *filterViews = new QTabWidget; + filterViews->addTab( m_cnetEditorWidget->pointFilterWidget(), tr("Filter Points and Measures") ); + filterViews->addTab( m_cnetEditorWidget->serialFilterWidget(), tr("Filter Images and Points") ); + filterViews->addTab( m_cnetEditorWidget->connectionFilterWidget(), tr("Filter Connections") ); + resultLayout->addWidget(filterViews, row, 1, 1, 1); + row++; + + + + + + m_permToolBar = new QToolBar("Standard Tools", 0); + m_permToolBar->setObjectName("permToolBar"); + m_permToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_permToolBar); + + m_activeToolBar = new QToolBar("Active Tool", 0); + m_activeToolBar->setObjectName("activeToolBar"); + m_activeToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_activeToolBar); + + m_toolPad = new ToolPad("Tool Pad", 0); + m_toolPad->setObjectName("toolPad"); + //toolBarLayout->addWidget(m_toolPad); + + +// m_cnetEditorWidget->addToPermanent(m_permToolBar); +// m_cnetEditorWidget->addTo(m_activeToolBar); +// m_cnetEditorWidget->addTo(m_toolPad); + + m_activeToolBarAction = new QWidgetAction(this); + m_activeToolBarAction->setDefaultWidget(m_activeToolBar); + + setAcceptDrops(true); + + QSizePolicy policy = sizePolicy(); + policy.setHorizontalPolicy(QSizePolicy::Expanding); + policy.setVerticalPolicy(QSizePolicy::Expanding); + setSizePolicy(policy); + + } + + + /** + * Destructor + */ + CnetEditorView::~CnetEditorView() { + + delete m_cnetEditorWidget; + delete m_permToolBar; + delete m_activeToolBar; + delete m_toolPad; + + m_permToolBar = 0; + m_activeToolBar = 0; + m_toolPad = 0; + } + + + /** + * Returns the cnetEditorWidget. + * + * @return (cnetEditorWidget *) The cnetEditorWidget used to + * display the footprints. + */ + CnetEditorWidget *CnetEditorView::cnetEditorWidget() { + return m_cnetEditorWidget; + } + + + /** + * @description Returns the Control displayed in the CnetEditorWidget + * + * @return (Control *) The Control displayed in the CnetEditorWidget + */ + Control *CnetEditorView::control() { + return m_control; + } + + + /** + * Returns the suggested size for the widget. + * + * @return (QSize) The size + */ + QSize CnetEditorView::sizeHint() const { + return QSize(800, 600); + } + + + /** + * Returns a list of actions for the permanent tool bar. + * + * @return (QList) The actions + */ + QList CnetEditorView::permToolBarActions() { + return m_permToolBar->actions(); + } + + + /** + * Returns a list of actions for the active tool bar. + * + * @return (QList) The actions + */ + QList CnetEditorView::activeToolBarActions() { + QList actions; + actions.append(m_activeToolBarAction); + return actions; + } + + + /** + * Returns a list of actions for the tool pad. + * + * @return (QList) The actions + */ + QList CnetEditorView::toolPadActions() { + return m_toolPad->actions(); + } + + + + + /** + * This method pushes a new XmlHandler into the parser stack. + * + * @param xmlReader This is the parser stack. + */ + void CnetEditorView::load(XmlStackedHandlerReader *xmlReader) { + xmlReader->pushContentHandler(new XmlHandler(this)); + } + + + /** + * This method saves the Controls object ids to the stream. + * + * @param stream The stream that will output to directory.xml + * @param project The project to save the users settings to + * @param newProjectRoot New project's root directory + */ + void CnetEditorView::save(QXmlStreamWriter &stream, Project *, FileName) const { + + stream.writeStartElement("control"); + stream.writeAttribute("id", m_control->id()); + stream.writeEndElement(); + } + + + /** + * Creates an XmlHandler for cnetEditor + * + * @param cnetEditor The widget to be serialized + */ + CnetEditorView::XmlHandler::XmlHandler(CnetEditorView *cnetEditorView) { + m_cnetEditorView = cnetEditorView; + } + + + /** + * Destructor + */ + CnetEditorView::XmlHandler::~XmlHandler() { + delete m_cnetEditorView; + m_cnetEditorView = NULL; + } + + + /** + * Placeholder for later serialization of CnetEditorViews + * + * @param cnetEditor The CnetEditorView to be serialized + * @param namespaceURI ??? + * @param localName Determines what attributes to retrieve from atts. + * @param qName ??? + * @param atts Stores the attributes. + * + * @return @b bool The result of XmlStackedHandler's startElement() method. + */ + bool CnetEditorView::XmlHandler::startElement(const QString &namespaceURI, + const QString &localName, const QString &qName, const QXmlAttributes &atts) { + + bool result = XmlStackedHandler::startElement(namespaceURI, localName, qName, atts); + return result; + } + + + /** + * This method calls XmlStackedHandler's endElement() and dereferences pointers according to + * the value of localName. + * + * @param namespaceURI ??? + * @param localName Determines which pointers to dereference. + * @param qName ??? + * + * @return @b bool The result of XmlStackedHandler's endElement() method. + */ + bool CnetEditorView::XmlHandler::endElement(const QString &namespaceURI, + const QString &localName, const QString &qName) { + + bool result = XmlStackedHandler::endElement(namespaceURI, localName, qName); + return result; + } +} + diff --git a/isis/src/qisis/objs/CnetEditorView/CnetEditorView.h b/isis/src/qisis/objs/CnetEditorView/CnetEditorView.h new file mode 100644 index 0000000000..21e98d307d --- /dev/null +++ b/isis/src/qisis/objs/CnetEditorView/CnetEditorView.h @@ -0,0 +1,113 @@ +#ifndef CnetEditorView_h +#define CnetEditorView_h +/** + * @file + * $Date$ + * $Revision$ + * + * Unless noted otherwise, the portions of Isis written by the USGS are + * public domain. See individual third-party library and package descriptions + * for intellectual property information, user agreements, and related + * information. + * + * Although Isis has been used by the USGS, no warranty, expressed or + * implied, is made by the USGS as to the accuracy and functioning of such + * software and related material nor shall the fact of distribution + * constitute any such warranty, and no responsibility is assumed by the + * USGS in connection therewith. + * + * For additional information, launch + * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html + * in a browser or see the Privacy & Disclaimers page on the Isis website, + * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on + * http://www.usgs.gov/privacy.html. + */ +#include +#include +#include +#include + +#include "AbstractProjectItemView.h" +#include "FileName.h" +#include "XmlStackedHandler.h" + +class QAction; +class QToolBar; +class QWidgetAction; +class QXmlStreamWriter; + +namespace Isis { + class Control; + class CnetEditorWidget; + class Directory; + class FileName; + class Project; + class ToolPad; + class XmlStackedHandlerReader; + + /** + * Ipce view containing the CnetEditorWidget + * + * @author 2018-04-04 Tracie Sucharski + * + * @internal + */ + +class CnetEditorView : public AbstractProjectItemView { + + Q_OBJECT + + public: + CnetEditorView(Directory *directory, Control *control, FileName configFile, + QWidget *parent = 0); + ~CnetEditorView(); + + virtual QList permToolBarActions(); + virtual QList activeToolBarActions(); + virtual QList toolPadActions(); + + CnetEditorWidget *cnetEditorWidget(); + Control *control(); + + QSize sizeHint() const; + + void load(XmlStackedHandlerReader *xmlReader); + void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const; + + + private: + /** + * @author 2012-09-?? Steven Lambright + * + * @internal + * @history 2018-04-04 Tracie Sucharski - Implemented for CnetEditorView + */ + class XmlHandler : public XmlStackedHandler { + public: + XmlHandler(CnetEditorView *cnetEditorView); + ~XmlHandler(); + + virtual bool startElement(const QString &namespaceURI, const QString &localName, + const QString &qName, const QXmlAttributes &atts); + virtual bool endElement(const QString &namespaceURI, const QString &localName, + const QString &qName); + + private: + Q_DISABLE_COPY(XmlHandler); + + CnetEditorView *m_cnetEditorView; //!< The view we are working with + }; + + private: + QPointer m_cnetEditorWidget; + QPointer m_control; + + QToolBar *m_permToolBar; //!< The permanent tool bar + QToolBar *m_activeToolBar; //!< The active tool bar + ToolPad *m_toolPad; //!< The tool pad + + QWidgetAction *m_activeToolBarAction; //!< Stores the active tool bar + }; +} + +#endif // CNETEDITORVIEW_H -- GitLab From 30af0e2dea19faba8d887fa9fcc8fc1cb93ae9aa Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:16:42 -0700 Subject: [PATCH 0286/1212] PROG: If the control has been modified, saved to new project location. --- isis/src/qisis/objs/Control/Control.cpp | 31 ++++++++++++++++++++----- isis/src/qisis/objs/Control/Control.h | 5 +++- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/isis/src/qisis/objs/Control/Control.cpp b/isis/src/qisis/objs/Control/Control.cpp index 4286bb3672..751cc3f83c 100644 --- a/isis/src/qisis/objs/Control/Control.cpp +++ b/isis/src/qisis/objs/Control/Control.cpp @@ -174,6 +174,7 @@ namespace Isis { /** * @description Write control net to disk. This method is used instead of calling * ControlNet::Write directly so that Control knows the modification state of the control net. + * Note that if there is not a control net opened, there should no be any changes to write. * * @return @b bool Returns false if there is not a control net open to write * @@ -283,17 +284,35 @@ namespace Isis { * will be copied. */ void Control::copyToNewProjectRoot(const Project *project, FileName newProjectRoot) { - if (FileName(newProjectRoot).toString() != FileName(project->projectRoot()).toString()) { + if (FileName(newProjectRoot).toString() != FileName(project->projectRoot()).toString()) { + QString newNetworkPath = project->cnetRoot(newProjectRoot.toString()) + "/" + FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name(); - QString oldNetworkPath = project->cnetRoot(project->projectRoot()) + "/" + - FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name(); - if (!QFile::copy(oldNetworkPath,newNetworkPath) ) { - throw IException(IException::Io, "Error saving control net.", _FILEINFO_); + // If there is active control & it has been modified, write to disk instead of copying + // Leave control net at old location in unmodified state + if (isModified()) { + controlNet()->Write(newNetworkPath); + setModified(false); + } + else { + QString oldNetworkPath = project->cnetRoot(project->projectRoot()) + "/" + + FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name(); + if (!QFile::copy(oldNetworkPath,newNetworkPath) ) { + throw IException(IException::Io, "Error saving control net.", _FILEINFO_); + } + } + } + // Project "Save" to current location, if active control exists & is modified, write to disk + // Note: It does not look like this code is ever executed. If project is saved with a + // "Save" this method is not called. + else { + if (isModified()) { + write(); + setModified(false); } - }//end outer-if + } } diff --git a/isis/src/qisis/objs/Control/Control.h b/isis/src/qisis/objs/Control/Control.h index 984f095d61..a3d1011841 100644 --- a/isis/src/qisis/objs/Control/Control.h +++ b/isis/src/qisis/objs/Control/Control.h @@ -71,7 +71,10 @@ namespace Isis { * track of the modification state of the control net. Add write method * to write the control net to disk. This write method should be called * by ipce classes instead of calling the ControlNet::Write directly so - * that control knows the state of the control net. + * that control knows the state of the control net. If a project + * is performing a "Save As", and there is a modified active control,the + * cnet is written out to the new location, it is not save in the old + * project location. */ class Control : public QObject { Q_OBJECT -- GitLab From 87ef505ead3fa034baacdf5c29edac4ed3e450cd Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:22:25 -0700 Subject: [PATCH 0287/1212] PROG: Clean up includes. --- .../qisis/objs/Directory/CnetEditorViewWorkOrder.cpp | 10 +++------- .../src/qisis/objs/Directory/CnetEditorViewWorkOrder.h | 5 +++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.cpp b/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.cpp index e565f110bb..9553e11e2d 100644 --- a/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.cpp @@ -24,17 +24,13 @@ #include -#include -#include -#include +#include +#include -#include "CnetEditorWidget.h" +#include "CnetEditorView.h" #include "Control.h" #include "ControlList.h" -#include "ControlDisplayProperties.h" #include "Directory.h" -#include "MosaicSceneItem.h" -#include "MosaicSceneWidget.h" #include "Project.h" namespace Isis { diff --git a/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.h b/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.h index ac70e04658..b069b97d5f 100644 --- a/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.h +++ b/isis/src/qisis/objs/Directory/CnetEditorViewWorkOrder.h @@ -25,6 +25,10 @@ #include "WorkOrder.h" namespace Isis { +class ControlList; +class Directory; +class Project; + /** * @brief This work order allows the user to open a cnet editor (table) view of a single control network. * This workorder is synchronous and undoable. @@ -42,6 +46,7 @@ namespace Isis { * @history 2017-11-02 Tyler Wilson - Added a null pointer check on the ControList *controls * pointer in the isExecutable(...) function to prevent potential * segfaults. References #4492. + * @history 2018-04-07 Tracie Sucharski - Clean up includes. */ class CnetEditorViewWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From 4893638e711da7741e8bbc7bba034446380b9c82 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:24:09 -0700 Subject: [PATCH 0288/1212] PROG: Created the CnetEditorView class to hold the CnetEditorWidget. This follows the rest of the ipce view design. --- isis/src/qisis/objs/Directory/Directory.cpp | 164 ++++++-------------- isis/src/qisis/objs/Directory/Directory.h | 13 +- 2 files changed, 56 insertions(+), 121 deletions(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 392f4906ca..51ad9ea772 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -45,6 +45,7 @@ #include "BundleObservationViewWorkOrder.h" #include "ChipViewportsWidget.h" #include "CloseProjectWorkOrder.h" +#include "CnetEditorView.h" #include "CnetEditorViewWorkOrder.h" #include "CnetEditorWidget.h" #include "Control.h" @@ -111,8 +112,6 @@ namespace Isis { * because the WorkOrders we are attempting to add to the Directory are corrupt. */ Directory::Directory(QObject *parent) : QObject(parent) { - //qDebug()<<"Directory::Directory"; - try { m_project = new Project(*this); @@ -143,9 +142,7 @@ namespace Isis { m_projectItemModel = new ProjectItemModel(this); m_projectItemModel->addProject(m_project); - connect(m_projectItemModel, SIGNAL(cleanProject(bool)), SIGNAL(cleanProject(bool))); - -// qDebug()<<"Directory::Directory model row counter after addProject = "<rowCount(); + connect(m_projectItemModel, SIGNAL(cleanProject(bool)), this, SIGNAL(cleanProject(bool))); try { @@ -544,12 +541,10 @@ namespace Isis { * */ void Directory::reloadActiveControlInCnetEditorView() { - qDebug()<<"Directory::reloadActiveControlInCnetEditorView"; - foreach(CnetEditorWidget *cnetEditorView, m_cnetEditorViewWidgets) { - if (cnetEditorView->control() == project()->activeControl()->controlNet()) { + + foreach(CnetEditorView *cnetEditorView, m_cnetEditorViewWidgets) { + if (cnetEditorView->control() == project()->activeControl()) { emit viewClosed(cnetEditorView); -// cnetEditorView->close(); -// delete cnetEditorView; project()->activeControl()->closeControlNet(); project()->activeControl()->openControlNet(); addCnetEditorView(project()->activeControl()); @@ -569,14 +564,14 @@ namespace Isis { // If the new active control is the same as what is showing in the cnetEditorWidget, allow // editing of control points from the widget, otherwise turnoff from context menu - foreach(CnetEditorWidget *cnetEditorView, m_cnetEditorViewWidgets) { - if (cnetEditorView->control() == project()->activeControl()->controlNet()) { - cnetEditorView->pointTableView()->content()->setActiveControlNet(true); - cnetEditorView->measureTableView()->content()->setActiveControlNet(true); + foreach(CnetEditorView *cnetEditorView, m_cnetEditorViewWidgets) { + if (cnetEditorView->control() == project()->activeControl()) { + cnetEditorView->cnetEditorWidget()->pointTableView()->content()->setActiveControlNet(true); + cnetEditorView->cnetEditorWidget()->measureTableView()->content()->setActiveControlNet(true); } else { - cnetEditorView->pointTableView()->content()->setActiveControlNet(false); - cnetEditorView->measureTableView()->content()->setActiveControlNet(false); + cnetEditorView->cnetEditorWidget()->pointTableView()->content()->setActiveControlNet(false); + cnetEditorView->cnetEditorWidget()->measureTableView()->content()->setActiveControlNet(false); } } } @@ -634,94 +629,27 @@ namespace Isis { /** * @brief Add the widget for the cnet editor view to the window. - * @param network Control net to edit. - * @return @b (CnetEditorWidget *) The view to add to the window. + * @param Control to edit. + * @return @b (CnetEditorView *) The view to add to the window. */ - CnetEditorWidget *Directory::addCnetEditorView(Control *network) { + CnetEditorView *Directory::addCnetEditorView(Control *control) { - QString title = tr("Cnet Editor View %1").arg( network->displayProperties()->displayName() ); + QString title = tr("Cnet Editor View %1").arg( control->displayProperties()->displayName() ); FileName configFile("$HOME/.Isis/" + QApplication::applicationName() + "/" + title + ".config"); - // TODO: This layout should be inside of the cnet editor widget, but I put it here to not - // conflict with current work in the cnet editor widget code. - QWidget *result = new QWidget; - QGridLayout *resultLayout = new QGridLayout; - result->setLayout(resultLayout); - - int row = 0; - - QMenuBar *menuBar = new QMenuBar; - resultLayout->addWidget(menuBar, row, 0, 1, 2); - row++; - - CnetEditorWidget *mainWidget = new CnetEditorWidget(network, configFile.expanded()); - resultLayout->addWidget(mainWidget, row, 0, 1, 2); - row++; - - // Populate the menu... - QMap< QAction *, QList< QString > > actionMap = mainWidget->menuActions(); - QMapIterator< QAction *, QList< QString > > actionMapIterator(actionMap); + CnetEditorView *result = new CnetEditorView(this, control, configFile); - QMap topLevelMenus; - - while ( actionMapIterator.hasNext() ) { - actionMapIterator.next(); - QAction *actionToAdd = actionMapIterator.key(); - QList< QString > location = actionMapIterator.value(); - - QMenu *menuToPutActionInto = NULL; - - if ( location.count() ) { - QString topLevelMenuTitle = location.takeFirst(); - if (!topLevelMenus[topLevelMenuTitle]) { - topLevelMenus[topLevelMenuTitle] = menuBar->addMenu(topLevelMenuTitle); - } - - menuToPutActionInto = topLevelMenus[topLevelMenuTitle]; - } - - foreach (QString menuName, location) { - bool foundSubMenu = false; - foreach ( QAction *possibleSubMenu, menuToPutActionInto->actions() ) { - if (!foundSubMenu && - possibleSubMenu->menu() && possibleSubMenu->menu()->title() == menuName) { - foundSubMenu = true; - menuToPutActionInto = possibleSubMenu->menu(); - } - } - - if (!foundSubMenu) { - menuToPutActionInto = menuToPutActionInto->addMenu(menuName); - } - } - - menuToPutActionInto->addAction(actionToAdd); - } - - QTabWidget *treeViews = new QTabWidget; - treeViews->addTab( mainWidget->pointTreeView(), tr("Point View") ); - treeViews->addTab( mainWidget->serialTreeView(), tr("Serial View") ); - treeViews->addTab( mainWidget->connectionTreeView(), tr("Connection View") ); - resultLayout->addWidget(treeViews, row, 0, 1, 1); - - QTabWidget *filterViews = new QTabWidget; - filterViews->addTab( mainWidget->pointFilterWidget(), tr("Filter Points and Measures") ); - filterViews->addTab( mainWidget->serialFilterWidget(), tr("Filter Images and Points") ); - filterViews->addTab( mainWidget->connectionFilterWidget(), tr("Filter Connections") ); - resultLayout->addWidget(filterViews, row, 1, 1, 1); - row++; - - if (project()->activeControl() && mainWidget->control() == project()->activeControl()->controlNet()) { - mainWidget->pointTableView()->content()->setActiveControlNet(true); - mainWidget->measureTableView()->content()->setActiveControlNet(true); + if (project()->activeControl() && (control == project()->activeControl())) { + result->cnetEditorWidget()->pointTableView()->content()->setActiveControlNet(true); + result->cnetEditorWidget()->measureTableView()->content()->setActiveControlNet(true); } - // connect destroyed signal for mainWidget to cleanupCnetEditorViewWidgets slot - connect(mainWidget, SIGNAL( destroyed(QObject *) ), - this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); + // connect destroyed signal to cleanupCnetEditorViewWidgets slot + connect(result, SIGNAL( destroyed(QObject *) ), + this, SLOT( cleanupCnetEditorViewWidgets(QObject *) ) ); // Connections for control point editing between views - connect(mainWidget, SIGNAL(editControlPoint(ControlPoint *, QString)), + connect(result->cnetEditorWidget(), SIGNAL(editControlPoint(ControlPoint *, QString)), this, SLOT(modifyControlPoint(ControlPoint *, QString))); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -729,21 +657,21 @@ namespace Isis { // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // // Connection between cneteditor view & other views - connect(mainWidget, SIGNAL(cnetModified()), this, SIGNAL(cnetModified())); + connect(result->cnetEditorWidget(), SIGNAL(cnetModified()), this, SIGNAL(cnetModified())); // ControlPointEditWidget is only object that emits cnetModified when ControlPoint is // deleted or saved - connect(this, SIGNAL(cnetModified()), mainWidget, SLOT(rebuildModels())); + connect(this, SIGNAL(cnetModified()), result->cnetEditorWidget(), SLOT(rebuildModels())); - m_cnetEditorViewWidgets.append(mainWidget); - m_controlMap.insertMulti(network, mainWidget); + m_cnetEditorViewWidgets.append(result); + m_controlMap.insertMulti(control, result); result->setWindowTitle(title); result->setObjectName(title); emit newWidgetAvailable(result); - return mainWidget; + return result; } @@ -900,14 +828,12 @@ namespace Isis { // Create connections between signals from control point edit view and equivalent directory // signals that can then be connected to other views that display control nets. - qDebug()<<"ControlPointEditView::addControlPointEditView before cnetModified connection."; // connect(mainWidget, SIGNAL(cnetModified()), // this, SIGNAL(cnetModified())); connect(result->controlPointEditWidget(), SIGNAL(cnetModified()), this, SIGNAL(cnetModified())); connect(result->controlPointEditWidget(), SIGNAL(cnetModified()), m_project, SLOT(activeControlModified())); - qDebug()<<"ControlPointEditView::addControlPointEditView after cnetModified connection."; connect(result->controlPointEditWidget(), SIGNAL(saveControlNet()), this, SLOT(makeBackupActiveControl())); @@ -1109,21 +1035,20 @@ namespace Isis { * @brief Removes pointers to deleted CnetEditorWidget objects. */ void Directory::cleanupCnetEditorViewWidgets(QObject *obj) { - qDebug()<<"Directory::cleanupCnetEditorViewWidgets"; - CnetEditorWidget *cnetEditorWidget = static_cast(obj); - if (!cnetEditorWidget) { + + CnetEditorView *cnetEditorView = static_cast(obj); + if (!cnetEditorView) { return; } - Control *control = m_controlMap.key(cnetEditorWidget); - - m_controlMap.remove(control, cnetEditorWidget); + Control *control = m_controlMap.key(cnetEditorView); + m_controlMap.remove(control, cnetEditorView); - if ( m_controlMap.count(control) == 0 && project()->activeControl() != control) { + if ( m_controlMap.count(control) == 0 && project()->activeControl() != control) { control->closeControlNet(); } - m_cnetEditorViewWidgets.removeAll(cnetEditorWidget); + m_cnetEditorViewWidgets.removeAll(cnetEditorView); m_project->setClean(false); } @@ -1195,7 +1120,6 @@ namespace Isis { */ void Directory::cleanupControlPointEditViewWidget(QObject *obj) { - qDebug()<<"Directory::cleanupControlPointEditView"; ControlPointEditView *controlPointEditView = static_cast(obj); if (!controlPointEditView) { return; @@ -1283,12 +1207,12 @@ namespace Isis { /** * @brief Returns a list of all the control network views for this directory. - * @return @b QList A pointer list of all the CnetEditorWidget objects. + * @return @b QList A pointer list of all the CnetEditorWidget objects. */ - QList Directory::cnetEditorViews() { - QList results; + QList Directory::cnetEditorViews() { + QList results; - foreach (CnetEditorWidget *widget, m_cnetEditorViewWidgets) { + foreach (CnetEditorView *widget, m_cnetEditorViewWidgets) { results.append(widget); } @@ -1520,7 +1444,7 @@ namespace Isis { if ( !m_cnetEditorViewWidgets.isEmpty() ) { stream.writeStartElement("cnetEditorViews"); - foreach (CnetEditorWidget *cnetEditorWidget, m_cnetEditorViewWidgets) { + foreach (CnetEditorView *cnetEditorWidget, m_cnetEditorViewWidgets) { cnetEditorWidget->save(stream, project(), newProjectRoot); } @@ -1864,7 +1788,13 @@ namespace Isis { */ void Directory::saveActiveControl() { - project()->activeControl()->write(); + if (project()->activeControl()) { + project()->activeControl()->write(); + // add to HistoryTreeWidget + QString saveCnetHistoryEntry = project()->activeControl()->fileName() + + "has been saved."; + m_historyTreeWidget->addToHistory(saveCnetHistoryEntry); + } } diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index 6026ff9df2..e1dc612aac 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -49,6 +49,7 @@ namespace Isis { class BundleObservation; class BundleObservationView; class ChipViewportsWidget; + class CnetEditorView; class CnetEditorWidget; class Control; class ControlNet; @@ -226,6 +227,10 @@ namespace Isis { * control net in cneteditor view, effectively discarding any edits. * This was done because there is no way to re-load a control net in the * CnetEditor widget classes. + * @history 2018-04-04 Tracie Sucharski - Created CnetEditorView class to use to add to QMdiArea + * instead of a CnetEditorWidget. This way there is no longer a + * disconnect between what has been added to the QMdiArea and what is + * stored in m_cnetEditorViewWidgets. */ class Directory : public QObject { Q_OBJECT @@ -240,7 +245,7 @@ namespace Isis { QStringList recentProjectsList(); BundleObservationView *addBundleObservationView(FileItemQsp fileItem); - CnetEditorWidget *addCnetEditorView(Control *network); + CnetEditorView *addCnetEditorView(Control *control); CubeDnView *addCubeDnView(); Footprint2DView *addFootprint2DView(); MatrixSceneWidget *addMatrixView(); @@ -269,7 +274,7 @@ namespace Isis { QList toolPadActions(); QList bundleObservationViews(); - QList cnetEditorViews(); + QList cnetEditorViews(); QList cubeDnViews(); QList footprint2DViews(); QList matrixViews(); @@ -441,7 +446,7 @@ namespace Isis { //!< List of BundleObservationView QList< QPointer > m_bundleObservationViews; - QList< QPointer > m_cnetEditorViewWidgets; //!< List of CnetEditorWidgets + QList< QPointer > m_cnetEditorViewWidgets; //!< List of CnetEditorViews QList< QPointer > m_cubeDnViewWidgets; //!< List of CubeDnCiew obs QList< QPointer > m_fileListWidgets; //!< List of ImageFileListWidgets QList< QPointer > m_footprint2DViewWidgets; //!< List of Footprint2DView objs @@ -484,7 +489,7 @@ namespace Isis { QList m_activeToolBarActions; //!< List of active ToolBar actions QList m_toolPadActions; //!< List of ToolPad actions - QMultiMap m_controlMap; //!< Map to hold every view with an open Control + QMultiMap m_controlMap; //!< Map to hold every view with an open Control QString m_editPointId; //!< Current control point that is in the ControlPointEditWidget -- GitLab From 8efb1ecedb4959fd0bad33cd204b2e2764bc2651 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:25:23 -0700 Subject: [PATCH 0289/1212] PROG: Added new method to allow a non-WorkORder entry to be added to the history tree widget. --- .../HistoryTreeWidget/HistoryTreeWidget.cpp | 37 +++++++++++++++++++ .../HistoryTreeWidget/HistoryTreeWidget.h | 2 + 2 files changed, 39 insertions(+) diff --git a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.cpp b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.cpp index bfadb7dd13..eeb4b0cb8f 100644 --- a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.cpp +++ b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.cpp @@ -159,6 +159,43 @@ namespace Isis { } + /** + * Add a non-workorder history to the display. + * + * @param (QString) historyEntry The string displayed in the history tree + */ + void HistoryTreeWidget::addToHistory(QString historyEntry) { + + QString data = historyEntry; + + QStringList columnData; + columnData.append(data); + + QTreeWidgetItem *newItem = new QTreeWidgetItem(columnData); + + + // Do font for progress text + QFont progressFont = newItem->font(1); + progressFont.setItalic(true); + newItem->setFont(1, progressFont); + newItem->setForeground(1, Qt::gray); + + this->insertTopLevelItem(0, newItem); +// invisibleRootItem()->addChild(newItem); + + //Sometimes the pointer returned by this call is 0 (hence the check). + //So we are not creating a progress bar for every work order which would + //include those that do not need it. + +// if(workOrder->progressBar() ) { +// setItemWidget(newItem, 1, new ProgressBar); +//// this->setItemWidget(newItem, 1, workOrder->progressBar() ); +// } + scrollToItem(newItem); + refit(); + } + + /** * We need to manually manage these progress widgets because QTreeWidget does a poor job of it. * This should be called when the progress bar instances have changed (new progress, lost a diff --git a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h index e0867f806e..54cffd4052 100644 --- a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h +++ b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h @@ -48,6 +48,8 @@ namespace Isis { HistoryTreeWidget(Project *project, QWidget *parent = 0); virtual ~HistoryTreeWidget(); + void addToHistory(QString historyEntry); + protected: int sizeHintForColumn(int column) const; -- GitLab From 2a88748b42dbe8f56e13c7d35725cae3947bae50 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:28:12 -0700 Subject: [PATCH 0290/1212] Exiting will now save any edits to the active control net and when switching active control, user is prompted to save any changes to the old active control. --- isis/src/qisis/objs/Project/Project.cpp | 18 +++++++++++------- isis/src/qisis/objs/Project/Project.h | 9 ++++++++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index dc5d3904de..a514cc94b7 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -1575,6 +1575,7 @@ namespace Isis { /** * Change the project's name (GUI only, doesn't affect location on disk). */ + void Project::setName(QString newName) { m_name = newName; emit nameChanged(m_name); @@ -1709,7 +1710,6 @@ namespace Isis { void Project::setActiveControl(QString displayName) { Control *previousControl = m_activeControl; if (m_activeControl) { - qDebug()<<"PRoject::setActiveControl m_activeControl->isModified() = "<isModified(); // If the current active control has been modified, ask user if they want to save or discard // changes. @@ -1724,7 +1724,6 @@ namespace Isis { switch (ret) { // Save current active control case QMessageBox::Save: - qDebug()<<" ** SAVE **"; m_activeControl->write(); break; // Discard any changes made to cnet @@ -1736,7 +1735,6 @@ namespace Isis { return; } } - qDebug()<<"Project::setActiveControl before emit activeControlSet"; emit activeControlSet(false); ProjectItem *item = directory()->model()->findItemData(m_activeControl-> displayProperties()->displayName(), Qt::DisplayRole); @@ -1752,7 +1750,7 @@ namespace Isis { m_activeControl = item->control(); try { - activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); + m_activeControl->controlNet()->SetImages(*(activeImageList()->serialNumberList())); item->setTextColor(Qt::darkGreen); } catch(IException e){ @@ -1761,7 +1759,7 @@ namespace Isis { item = directory()->model()->findItemData(m_activeControl-> displayProperties()->displayName(), Qt::DisplayRole); item->setTextColor(Qt::darkGreen); - activeControl()->controlNet()->SetImages(*(activeImageList()->serialNumberList())); + m_activeControl->controlNet()->SetImages(*(activeImageList()->serialNumberList())); } else { m_activeControl = NULL; @@ -1799,12 +1797,13 @@ namespace Isis { setActiveControl(controlName); } } + return m_activeControl; } void Project::activeControlModified() { - qDebug()<<"Project::activeControlModified m_activeControl = "<setModified(true); } @@ -2209,6 +2208,11 @@ namespace Isis { } } else { + // Save current active control if it has been modified + if (activeControl() && activeControl()->isModified()) { + activeControl()->write(); + } + save(m_projectRoot->absolutePath(), false); // if (newDestination != ) } @@ -2339,7 +2343,7 @@ namespace Isis { // TODO Set newpath member variable. This is used for some of the data copy methods and is not // the ideal way to handle this. Maybe change the data copy methods to either take the new // project root in addition to the data root or put the data root in the dataList (ImageList, - // etc.). + // etc.). If performing a "Save", m_newProjectRoot == m_projectRoot m_newProjectRoot = newPath.toString(); // For now set the member variable rather than calling setName which emits signal and updates diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index f879000718..264a942428 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -242,7 +242,14 @@ namespace Isis { * the modified active control, it will effectively close that * CnetEditorView and reload with the original control net. It was * done this way because there is no easy way to reload a control net in - * the CnetEditor widgets. + * the CnetEditor widgets. When saving Project, if there is an active + * control and it has been modified, write active control to disk. + * Unfortunately this is done in 2 different places depending on whether + * a project "Save" or "Save As" is being done. If "Save As", a + * modified active cnet is not written out to the original project only + * to the new project, so this had to be done in + * Control::copyToNewProjectRoot. If simply saving current projct, + * the write is done here in the save method. * */ class Project : public QObject { -- GitLab From c95169562adb5657869a15b7446ccd3baa0fbb84 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 11 Apr 2018 09:28:53 -0700 Subject: [PATCH 0291/1212] PROG: Added new view class for ipce. --- isis/src/qisis/objs/CnetEditorView/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 isis/src/qisis/objs/CnetEditorView/Makefile diff --git a/isis/src/qisis/objs/CnetEditorView/Makefile b/isis/src/qisis/objs/CnetEditorView/Makefile new file mode 100644 index 0000000000..f122bc8822 --- /dev/null +++ b/isis/src/qisis/objs/CnetEditorView/Makefile @@ -0,0 +1,7 @@ +ifeq ($(ISISROOT), $(BLANK)) +.SILENT: +error: + echo "Please set ISISROOT"; +else + include $(ISISROOT)/make/isismake.objs +endif \ No newline at end of file -- GitLab From b8fb59ec81e5bde71cb4a6f690f4d0b3363879c0 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 13 Apr 2018 08:22:44 -0700 Subject: [PATCH 0292/1212] PROG: In mouseButtonRelease method return if a control net has not been set. --- isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp | 8 ++++++-- isis/src/qisis/objs/ControlNetTool/ControlNetTool.h | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp index 9849180b7a..4e1fdb4728 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp @@ -73,6 +73,8 @@ namespace Isis { QAction *action = new QAction(this); action->setIcon(QPixmap(toolIconDir()+"/HILLBLU_molecola.png")); action->setToolTip("Control Point Editor (T)"); + action->setStatusTip("If tool disabled, make sure you have a control net in your project and " + "it is set to the active control."); action->setShortcut(Qt::Key_T); //The object name is being set and used as a key to search with for this action in @@ -99,16 +101,18 @@ namespace Isis { */ void ControlNetTool::setControlNet(ControlNet *cnet) { m_controlNet = cnet; - + qDebug()<<"ControlNetTool::setControlNet"; // Cannot use Tool::cubeViewportList() because it does not properly return a NULL if viewports // don't exist. if (workspace() && workspace()->cubeViewportList()) { + qDebug()<<"ControlNetTool::setControlNet before paintAllViewports"; paintAllViewports(); } } void ControlNetTool::loadNetwork() { + qDebug()<<"ControlNetTool::loadNetwork control"; setControlNet(m_directory->project()->activeControl()->controlNet()); } @@ -125,7 +129,7 @@ namespace Isis { */ void ControlNetTool::mouseButtonRelease(QPoint p, Qt::MouseButton s) { MdiCubeViewport *cvp = cubeViewport(); - if (cvp == NULL) return; + if (m_controlNet == NULL || cvp == NULL) return; // Determine if the cvp is a Shape // Get all ShapeLists from Project diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h index 02539f3dd0..de4ce7b7ba 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.h @@ -56,6 +56,8 @@ namespace Isis { * IpceTool. References #5090. * @history 2018-03-27 Tracie Sucharski - Redraw cube viewports when a new control net is * loaded. + * @history 2018-04-13 Tracie Sucharski - In mouseButtonRelease method return if a control net + * has not been set. */ class ControlNetTool : public Tool { Q_OBJECT -- GitLab From 43dade8e066a245ecf8894b39cbfe7869909703c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Fri, 13 Apr 2018 08:29:34 -0700 Subject: [PATCH 0293/1212] PROG: Forgot to remove qDebugs. --- isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp index 4e1fdb4728..8fbf7c7474 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp @@ -101,18 +101,16 @@ namespace Isis { */ void ControlNetTool::setControlNet(ControlNet *cnet) { m_controlNet = cnet; - qDebug()<<"ControlNetTool::setControlNet"; // Cannot use Tool::cubeViewportList() because it does not properly return a NULL if viewports // don't exist. if (workspace() && workspace()->cubeViewportList()) { - qDebug()<<"ControlNetTool::setControlNet before paintAllViewports"; paintAllViewports(); } } void ControlNetTool::loadNetwork() { - qDebug()<<"ControlNetTool::loadNetwork control"; + setControlNet(m_directory->project()->activeControl()->controlNet()); } -- GitLab From 5789e4c3514fe8babbabeef6dca9a3e8129e4911 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Fri, 13 Apr 2018 11:04:47 -0700 Subject: [PATCH 0294/1212] Added history comment. References #5350. --- isis/src/qisis/objs/Workspace/Workspace.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/objs/Workspace/Workspace.h b/isis/src/qisis/objs/Workspace/Workspace.h index 63c131af08..3c1393d503 100644 --- a/isis/src/qisis/objs/Workspace/Workspace.h +++ b/isis/src/qisis/objs/Workspace/Workspace.h @@ -79,6 +79,8 @@ namespace Isis { * class, Shape, which also contains a cube, but not an Image. * @history 2017-09-11 Adam Goins - Added the ability to accept cubelists under any file format. * Fixes #5099. + * @history 2018-04-13 Christopher Combs - Added .lbl files to the list of single-cube file-extensions + * to check before reading a cube list in addCubeViewport. Fixes #5350. */ class Workspace : public QWidget { Q_OBJECT -- GitLab From 4a7cd2500002a410dee7316b6c69726e134bbb26 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Fri, 13 Apr 2018 17:43:03 -0700 Subject: [PATCH 0295/1212] Merge artifacts removed --- isis/src/base/objs/FileName/FileName.h | 52 +------------------------- 1 file changed, 1 insertion(+), 51 deletions(-) diff --git a/isis/src/base/objs/FileName/FileName.h b/isis/src/base/objs/FileName/FileName.h index 463bfa2721..46a6e2acad 100644 --- a/isis/src/base/objs/FileName/FileName.h +++ b/isis/src/base/objs/FileName/FileName.h @@ -132,39 +132,7 @@ namespace Isis { QString baseName() const; QString name() const; QString extension() const; -<<<<<<< HEAD QString expanded() const; -======= - - - /** - * Returns a QString of the full file name including the file path, excluding the attributes. - * Any Isis Preferences or environment variables indicated by $, are changed to what they - * represent. - * - * @returns QString - *

-       *   for a full file specification of:
-       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
-       *   expanded() gives:
-       *    "/usgs/pkgs/isis3/isis/tmp/Peaks.cub"
-       * 
- */ - QString expanded() const; - - - /** - * Returns the full file name including the file path - * - * @returns QString containing every character in the file name and the path - *
-       *   for a full file specification of:
-       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
-       *   original() gives:
-       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
-       * 
- */ ->>>>>>> 3c81332195ef9bb7711daa21e640f9b050443e6f QString original() const; FileName addExtension(const QString &extension) const; @@ -183,24 +151,6 @@ namespace Isis { bool fileExists() const; QDir dir() const; static FileName createTempFile(FileName templateFileName = "$TEMPORARY/temp"); -<<<<<<< HEAD -======= - - - /** - * Returns a QString of the full file name including the file path, excluding the attributes - * with any Isis Preferences or environment variables indicated by $, changed to what they - * represent. - * - * @returns QString - *
-       *   for a full file specification of:
-       *    QString(ISISROOT) + "/tmp/Peaks.cub+Bsq"
-       *   toString() gives:
-       *    "/usgs/pkgs/isis3/isis/tmp/Peaks.cub"
-       * 
- */ ->>>>>>> 3c81332195ef9bb7711daa21e640f9b050443e6f QString toString() const; FileName &operator=(const FileName &rhs); bool operator==(const FileName &rhs); @@ -254,4 +204,4 @@ namespace Isis { }; }; -#endif +#endif \ No newline at end of file -- GitLab From 663173f02e348c491cfbc6b22da6687408b4c1a5 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Mon, 16 Apr 2018 15:18:12 -0700 Subject: [PATCH 0296/1212] PROG: Backed out previous changes because the read/write control is needed for error checking. --- .../Directory/ImportControlNetWorkOrder.cpp | 17 ++++++----------- .../objs/Directory/ImportControlNetWorkOrder.h | 1 - 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp index 325192826c..dca33080cd 100644 --- a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.cpp @@ -276,22 +276,17 @@ namespace Isis { Control *control = NULL; try { QString cnetFileName = cnetFileNameAndProgress.first.original(); -// ControlNet *cnet = new ControlNet(); -// cnet->SetMutex(m_project->mutex()); - -// cnet->ReadControl(cnetFileName, cnetFileNameAndProgress.second); + ControlNet *cnet = new ControlNet(); + cnet->SetMutex(m_project->mutex()); + cnet->ReadControl(cnetFileName, cnetFileNameAndProgress.second); QString baseFilename = FileName(cnetFileName).name(); QString destination = m_destinationFolder.canonicalPath() + "/" + baseFilename; - if (!QFile::copy(cnetFileName, destination) ) { - //m_warning = "Error saving control net."; - } - -// cnet->Write(destination); + cnet->Write(destination); -// delete cnet; -// cnet = NULL; + delete cnet; + cnet = NULL; control = new Control(m_project, destination); control->closeControlNet(); diff --git a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h index e4eedf4500..2ea3a37bd8 100644 --- a/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h +++ b/isis/src/qisis/objs/Directory/ImportControlNetWorkOrder.h @@ -65,7 +65,6 @@ namespace Isis { * Control is created Fixes #5026 * @histroy 2017-10-24 Adam Goins - Removed the undoStack() call that occurred when a * Failed cnet is imported. Fixes #5186 - * @history 2018-03-30 Tracie Sucharski - Copy the control net instead of writing. */ class ImportControlNetWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From 51b69dc9d55ed8f67e75dc67dd6644c53bbb8d10 Mon Sep 17 00:00:00 2001 From: Jeannie Backer Date: Mon, 16 Apr 2018 15:24:31 -0700 Subject: [PATCH 0297/1212] Fixed documentation. --- .../PvlToPvlTranslationManager.cpp | 97 +++++++++++-------- .../PvlToPvlTranslationManager.h | 13 +-- .../PvlTranslationTable.cpp | 64 +++++++++--- .../XmlToPvlTranslationManager.cpp | 51 +++++----- .../XmlToPvlTranslationManager.h | 2 +- 5 files changed, 146 insertions(+), 81 deletions(-) diff --git a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp index 2db7ad7c4d..78b5787a2d 100644 --- a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp +++ b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp @@ -109,28 +109,31 @@ namespace Isis { * then used to search all of the translations. If a match is found the * translated value is returned. * - * @param nName The output name used to identify the input keyword to be - * translated. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @param findex The index into the input keyword array. Defaults to 0 * * @return string */ - QString PvlToPvlTranslationManager::Translate(QString nName, int findex) { + QString PvlToPvlTranslationManager::Translate(QString translationGroupName, int findex) { const PvlContainer *con; int inst = 0; PvlKeyword grp; - while((grp = InputGroup(nName, inst++)).name() != "") { + while((grp = InputGroup(translationGroupName, inst++)).name() != "") { if((con = GetContainer(grp)) != NULL) { - if(con->hasKeyword(InputKeywordName(nName))) { - return PvlTranslationTable::Translate(nName, - (*con)[InputKeywordName(nName)][findex]); + if(con->hasKeyword(InputKeywordName(translationGroupName))) { + return PvlTranslationTable::Translate(translationGroupName, + (*con)[InputKeywordName(translationGroupName)][findex]); } } } - return PvlTranslationTable::Translate(nName); + return PvlTranslationTable::Translate(translationGroupName); } @@ -143,12 +146,15 @@ namespace Isis { * * @see Auto(). * - * @param nName The output name used to identify the input keyword to be - * translated. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return PvlKeyword */ - PvlKeyword PvlToPvlTranslationManager::DoTranslation(const QString nName) { + PvlKeyword PvlToPvlTranslationManager::DoTranslation(const QString translationGroupName) { const PvlContainer *con = NULL; PvlKeyword key; @@ -156,9 +162,9 @@ namespace Isis { PvlGroup transGroup; PvlKeyword grp; - while((grp = InputGroup(nName, inst++)).name() != "") { + while((grp = InputGroup(translationGroupName, inst++)).name() != "") { if((con = GetContainer(grp)) != NULL) { - transGroup = TranslationTable().findGroup(nName); + transGroup = TranslationTable().findGroup(translationGroupName); Pvl::ConstPvlKeywordIterator it = transGroup.findKeyword("InputKey", transGroup.begin(), transGroup.end()); @@ -167,10 +173,10 @@ namespace Isis { while(it != transGroup.end()) { const PvlKeyword &result = *it; if(con->hasKeyword(result[0])) { - key.setName(OutputName(nName)); + key.setName(OutputName(translationGroupName)); for(int v = 0; v < (*con)[(result[0])].size(); v++) { - key.addValue(PvlTranslationTable::Translate(nName, + key.addValue(PvlTranslationTable::Translate(translationGroupName, (*con)[result[0]][v]), (*con)[result[0]].unit(v)); } @@ -182,8 +188,8 @@ namespace Isis { } } - return PvlKeyword(OutputName(nName), - PvlTranslationTable::Translate(nName, "")); + return PvlKeyword(OutputName(translationGroupName), + PvlTranslationTable::Translate(translationGroupName, "")); } @@ -227,16 +233,20 @@ namespace Isis { /** * Returns the ith input value associated with the output name argument. * - * @param nName The output name used to identify the input keyword. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @param findex The index into the input keyword array. Defaults to 0 * * @throws IException::Programmer */ - const PvlKeyword &PvlToPvlTranslationManager::InputKeyword(const QString nName) const { + const PvlKeyword &PvlToPvlTranslationManager::InputKeyword(const QString translationGroupName) const { int instanceNumber = 0; - PvlKeyword inputGroupKeyword = InputGroup(nName, instanceNumber); + PvlKeyword inputGroupKeyword = InputGroup(translationGroupName, instanceNumber); bool anInputGroupFound = false; while(inputGroupKeyword.name() != "") { @@ -244,31 +254,31 @@ namespace Isis { if(containingGroup != NULL) { anInputGroupFound = true; - if(containingGroup->hasKeyword(InputKeywordName(nName))) { - return containingGroup->findKeyword(InputKeywordName(nName)); + if(containingGroup->hasKeyword(InputKeywordName(translationGroupName))) { + return containingGroup->findKeyword(InputKeywordName(translationGroupName)); } } instanceNumber ++; - inputGroupKeyword = InputGroup(nName, instanceNumber); + inputGroupKeyword = InputGroup(translationGroupName, instanceNumber); } if(anInputGroupFound) { - QString msg = "Unable to find input keyword [" + InputKeywordName(nName) + - "] for output name [" + nName + "] in file [" + TranslationTable().fileName() + "]"; + QString msg = "Unable to find input keyword [" + InputKeywordName(translationGroupName) + + "] for output name [" + translationGroupName + "] in file [" + TranslationTable().fileName() + "]"; throw IException(IException::Programmer, msg, _FILEINFO_); } else { QString container = ""; - for(int i = 0; i < InputGroup(nName).size(); i++) { + for(int i = 0; i < InputGroup(translationGroupName).size(); i++) { if(i > 0) container += ","; - container += InputGroup(nName)[i]; + container += InputGroup(translationGroupName)[i]; } QString msg = "Unable to find input group [" + container + - "] for output name [" + nName + "] in file [" + TranslationTable().fileName() + "]"; + "] for output name [" + translationGroupName + "] in file [" + TranslationTable().fileName() + "]"; throw IException(IException::Programmer, msg, _FILEINFO_); } } @@ -278,21 +288,25 @@ namespace Isis { * Indicates if the input keyword corresponding to the output name exists in * the label * - * @param nName The output name used to identify the input keyword. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. */ - bool PvlToPvlTranslationManager::InputHasKeyword(const QString nName) { + bool PvlToPvlTranslationManager::InputHasKeyword(const QString translationGroupName) { // Set the current position in the input label pvl // by finding the input group corresponding to the output group const PvlContainer *con; int inst = 0; - //while ((con = GetContainer(InputGroup(nName, inst++))) != NULL) { - //if ((con = GetContainer (InputGroup(nName))) != NULL) { + //while ((con = GetContainer(InputGroup(translationGroupName, inst++))) != NULL) { + //if ((con = GetContainer (InputGroup(translationGroupName))) != NULL) { PvlKeyword grp; - while((grp = InputGroup(nName, inst++)).name() != "") { + while((grp = InputGroup(translationGroupName, inst++)).name() != "") { if((con = GetContainer(grp)) != NULL) { - if(con->hasKeyword(InputKeywordName(nName))) return true; + if(con->hasKeyword(InputKeywordName(translationGroupName))) return true; } } @@ -340,10 +354,17 @@ namespace Isis { /** * Create the requsted container and any containers above it and - * return a reference to the container - * list is an PvlKeyword with an array of container types an their names + * return a reference to the container. List is a PvlKeyword + * with an array of container types and their names. + * + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. + * @param pvl Pvl */ - PvlContainer *PvlToPvlTranslationManager::CreateContainer(const QString nName, Pvl &pvl) { - return LabelTranslationManager::CreateContainer(nName, pvl); + PvlContainer *PvlToPvlTranslationManager::CreateContainer(const QString translationGroupName, Pvl &pvl) { + return LabelTranslationManager::CreateContainer(translationGroupName, pvl); } } // end namespace isis diff --git a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.h b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.h index 842d475e87..fcc4c70d54 100644 --- a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.h +++ b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.h @@ -71,7 +71,8 @@ namespace Isis { * PvlToPvlTranslationManager. Fixes #4901. * @history 2018-01-10 Christopher Combs - Changed ProcessDataFilePointer call to reflect * changes made to voy2isis. Fixes #4345, #4421. - * @history 2018-04-16 Jeannie Backer - Fixed indentation of history comments. + * @history 2018-04-16 Jeannie Backer - Fixed indentation of history comments and + * brought code closer to coding standards. * @todo 2005-02-15 Stuart Sides - add coded example and implementation example * to class documentation, and finish * documentation. @@ -92,24 +93,24 @@ namespace Isis { // Attempt to translate the requested output name to output value // using the input name and value/default value - virtual QString Translate(QString nName, int findex = 0); + virtual QString Translate(QString translationGroupName, int findex = 0); // Translate all translation table groups which contain "Auto" void Auto(Pvl &outputLabel); void Auto(Pvl &inputLabel, Pvl &outputLabel); // Return the ith input value associated with a output name - virtual const PvlKeyword &InputKeyword(const QString nName) const; + virtual const PvlKeyword &InputKeyword(const QString translationGroupName) const; // Return true if the input lable contains the translated group and key names - virtual bool InputHasKeyword(const QString nName); + virtual bool InputHasKeyword(const QString translationGroupName); void SetLabel(Pvl &inputLabel); protected: - virtual PvlKeyword DoTranslation(const QString nName); + virtual PvlKeyword DoTranslation(const QString translationGroupName); virtual const PvlContainer *GetContainer(const PvlKeyword &inputGroup) const; - virtual PvlContainer *CreateContainer(const QString nName, Pvl &pvl); + virtual PvlContainer *CreateContainer(const QString translationGroupName, Pvl &pvl); private: Pvl p_fLabel; //!< A Pvl object for the input label file }; diff --git a/isis/src/base/objs/PvlTranslationTable/PvlTranslationTable.cpp b/isis/src/base/objs/PvlTranslationTable/PvlTranslationTable.cpp index 5c1ab86749..c107044067 100644 --- a/isis/src/base/objs/PvlTranslationTable/PvlTranslationTable.cpp +++ b/isis/src/base/objs/PvlTranslationTable/PvlTranslationTable.cpp @@ -212,9 +212,11 @@ namespace Isis { * Translates a single output value from the given translation * group name and input value. * - * @param translationGroupName The name of the pvl translation - * group. Often, this is the same - * as the output keyword name. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * @param inputKeyValue The value to be translated, from the * input keyword. * @@ -279,7 +281,11 @@ namespace Isis { * Returns the input group name from the translation table corresponding to * the output name argument. * - * @param translationGroupName The output name to be used to search the translation table. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * @param inst The occurence number of the "InputGroup" keyword * (first one is zero) * @@ -352,8 +358,12 @@ namespace Isis { * Returns the input keyword name from the translation table corresponding to * the output name argument. * - * @param translationGroupName The output name to be used to search the translation table. - * + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. + * * @return QString The input keyword name * * @throws IException::Programmer @@ -372,7 +382,11 @@ namespace Isis { * Returns the input default value from the translation table corresponding * to the output name argument. * - * @param translationGroupName The output name to be used to search the translation table. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return QString The input default value * @@ -394,7 +408,11 @@ namespace Isis { * PvlKeyword with the name "InputDefault". Note: no value needs * to be assigned to this keyword. * - * @param translationGroupName The name of the PVL translation group. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return bool Indicates whether the given group has an * InputDefault keyword. @@ -415,7 +433,11 @@ namespace Isis { * group contains a PvlKeyword with the name "Auto". Note: * no value is assigned to this keyword. * - * @param translationGroupName The name of the PVL translation group. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return bool Indicates whether the given group has an Auto * keyword. @@ -436,7 +458,11 @@ namespace Isis { * PvlKeyword with the name "Optional". Note: no value is * assigned to this keyword. * - * @param translationGroupName The name of the PVL translation group. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return bool Indicates whether the given group has an * Optional keyword. @@ -455,7 +481,11 @@ namespace Isis { * Retrieves the OutputPosition PvlKeyword for the translation * group with the given name. * - * @param translationGroupName The name of the PVL translation group. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return PvlKeyword The OutputPosition keyword from the given * translation group. @@ -479,7 +509,11 @@ namespace Isis { * Retrieves a string containing the value of the OutputName * keyword for the translation group with the given name. * - * @param translationGroupName The name of the PVL translation group. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return @b QString The value of the OutputName keyword from * the given translation group. @@ -500,7 +534,11 @@ namespace Isis { * * @see PvlObject::findGroup() * - * @param translationGroupName Name of the PVL group to search for. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @return const PvlGroup& The first PVL group with the given name. * diff --git a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp index f4c5bee799..052ccc2c14 100644 --- a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp +++ b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.cpp @@ -142,19 +142,24 @@ namespace Isis { /** - * Returns a translated value. The output name is used to find the input - * group, keyword, default and tranlations in the translation table. If the - * keyword does not exist in the input label, the input default if - * available will be used as the input value. This input value - * is then used to search all of the translations. If a match is - * found the translated value is returned. + * Returns a translated value. The translation group name is + * used to find the input group, keyword, default and + * tranlations in the translation table. If the keyword does not + * exist in the input label, the input default if available will + * be used as the input value. This input value is then used to + * search all of the translations. If a match is found the + * translated value is returned. * - * @param outputName The output name used to identify the input keyword to - * be translated. + * @param translationGroupName The name of the PVL translation + * group used to identify the + * input/output keywords to be + * translated. Often, this is the + * same as the output keyword name. * * @param index The index into the input keyword array. Defaults to 0 * - * @return string The ISIS cube label value for the outputName. + * @return @b QString The translated output value to be + * placed in the ISIS3 cube label. * * @throws IException::Unknown "Failed to translate output value." * @throws IException::Unknown "Cannot translate value. Xml files can only @@ -170,7 +175,7 @@ namespace Isis { * @throws IException::Unknown "Could not find an input value or default value." * @throws IException::Unknown "Input element does not have the named attribute." */ - QString XmlToPvlTranslationManager::Translate(QString outputName, + QString XmlToPvlTranslationManager::Translate(QString translationGroupName, int index) { try { if (index != 0) { @@ -182,7 +187,7 @@ namespace Isis { const Pvl &transTable = TranslationTable(); PvlGroup transGroup; try { - transGroup = transTable.findGroup(outputName); + transGroup = transTable.findGroup(translationGroupName); } catch (IException &e){ QString msg = "Unable to retrieve translation group from translation table."; @@ -228,7 +233,7 @@ namespace Isis { // Notify what we are translating and what the translating group is. if (isDebug) { cout << endl << " ==================== " << endl; - cout << endl << "Translating output keyword: " << outputName << endl; + cout << endl << "Translating output keyword: " << translationGroupName << endl; cout << endl << "Translation group:" << endl; cout << transGroup << endl << endl; } @@ -269,13 +274,13 @@ namespace Isis { } if (inputParentElement.isNull()) { - if (hasInputDefault(outputName)) { + if (hasInputDefault(translationGroupName)) { if (isDebug) { cout << endl << "Could not traverse input position, " << "using default value: " << - InputDefault(outputName) << endl; + InputDefault(translationGroupName) << endl; } - return PvlTranslationTable::Translate( outputName ); + return PvlTranslationTable::Translate( translationGroupName ); } else { QString msg = "Failed traversing input position. [" + @@ -312,12 +317,12 @@ namespace Isis { // If the parent element is NULL at this point then we traversed every // potential input element and none of them satisfied the dependencies. if ( inputParentElement.isNull() ) { - if ( hasInputDefault(outputName) ) { + if ( hasInputDefault(translationGroupName) ) { if (isDebug) { cout << endl << "No input value found, using default value: " << - InputDefault(outputName) << endl; + InputDefault(translationGroupName) << endl; } - return PvlTranslationTable::Translate( outputName ); + return PvlTranslationTable::Translate( translationGroupName ); } else { QString msg = "Could not find an input or default value that fits the given input " @@ -333,12 +338,12 @@ namespace Isis { if ( inputKeyElement.hasAttribute(attributeName) ) { inputValue = inputKeyElement.attribute(attributeName); } - else if (hasInputDefault(outputName) ) { + else if (hasInputDefault(translationGroupName) ) { if (isDebug) { cout << endl << "No input value found, using default value: " << - InputDefault(outputName) << endl; + InputDefault(translationGroupName) << endl; } - return PvlTranslationTable::Translate( outputName ); + return PvlTranslationTable::Translate( translationGroupName ); } else { QString msg = "Input element [" + inputKeyElement.tagName() + @@ -350,10 +355,10 @@ namespace Isis { if (isDebug) { cout << endl << "Translating input value: " << inputValue << endl; } - return PvlTranslationTable::Translate( outputName, inputValue.trimmed() ); + return PvlTranslationTable::Translate( translationGroupName, inputValue.trimmed() ); } catch (IException &e){ - QString msg = "Failed to translate output value for [" + outputName + "]."; + QString msg = "Failed to translate output value for [" + translationGroupName + "]."; throw IException(e, IException::Unknown, msg, _FILEINFO_); } } diff --git a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.h b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.h index 8f726fa2f8..1a7a6fa9a1 100644 --- a/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.h +++ b/isis/src/base/objs/XmlToPvlTranslationManager/XmlToPvlTranslationManager.h @@ -143,7 +143,7 @@ namespace Isis { // Attempt to translate the requested output name to output value // using the input name and value/default value - virtual QString Translate(QString nName, int findex = 0); + virtual QString Translate(QString translationGroupName, int findex = 0); // Translate all translation table groups which contain "Auto" using LabelTranslationManager::Auto; -- GitLab From ae35dcb3c62d43af56ec1e538cb336c6083e19b2 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Mon, 16 Apr 2018 15:42:12 -0700 Subject: [PATCH 0298/1212] PROG: added history entry --- .../qisis/objs/BundleObservationView/BundleObservationView.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h index 82e9fb59a2..6921c422ac 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.h @@ -44,6 +44,9 @@ namespace Isis{ * Fixes #4850. * @history 2018-03-26 Ken Edmundson - Modified displayTextFile method to query for system's * fixed width font. + * @history 2018-04-16 Ken Edmundson - Modified display of residuals.csv to properly show the + * rejected column if there are rejected measures. Also displays + * rejected measure row in red. */ class BundleObservationView : public AbstractProjectItemView -- GitLab From 1717a6dc945315f500c165dd0b7bcf2aa4f37b01 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Mon, 16 Apr 2018 15:47:51 -0700 Subject: [PATCH 0299/1212] PROG: modified display of residuals.csv to properly show rejected column and show row of rejected measures in red --- .../BundleObservationView.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp index aadb516ed7..7b29484de4 100755 --- a/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp +++ b/isis/src/qisis/objs/BundleObservationView/BundleObservationView.cpp @@ -105,7 +105,10 @@ namespace Isis { header3 = in.readLine(); lineToken3 = header3.split(","); - for (int i = 0; i < lineToken1.size(); i++) { + lineToken1.append(""); + lineToken2.append(""); + + for (int i = 0; i < lineToken3.size(); i++) { QString t1 = lineToken1.at(i); QString t2 = lineToken2.at(i); QString t3 = lineToken3.at(i); @@ -123,11 +126,21 @@ namespace Isis { // parse line into separate pieces(tokens) with "," as the delimiter QStringList lineToken = fileLine.split(",", QString::SkipEmptyParts); + bool rejected = false; + if (lineToken.at(lineToken.size()-1) == "*") { + rejected = true; + } + // load parsed data to model accordingly for (int i = 0; i < lineToken.size(); i++) { QString value = lineToken.at(i); QStandardItem *item = new QStandardItem(value); + + if (rejected) { + item->setData(QColor(200,0,0), Qt::BackgroundRole); + } + model->setItem(lineindex, i, item); } lineindex++; -- GitLab From e09fda573ff74ab83635669bcd05e46480d19101 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Tue, 17 Apr 2018 11:56:29 -0700 Subject: [PATCH 0300/1212] Added ISISROOT checks to qisis applications. --- isis/src/base/objs/Application/Application.cpp | 10 ---------- isis/src/base/objs/Isis/Isis.h | 16 +++++++++++----- isis/src/qisis/apps/cneteditor/main.cpp | 6 ++++++ isis/src/qisis/apps/ipce/ipce.cpp | 5 ++++- isis/src/qisis/apps/qmos/qmos.cpp | 4 ++++ isis/src/qisis/apps/qnet/qnet.cpp | 4 ++++ isis/src/qisis/apps/qtie/qtie.cpp | 5 ++++- isis/src/qisis/apps/qview/qview.cpp | 4 ++++ .../objs/QIsisApplication/QIsisApplication.cpp | 1 - 9 files changed, 37 insertions(+), 18 deletions(-) diff --git a/isis/src/base/objs/Application/Application.cpp b/isis/src/base/objs/Application/Application.cpp index 30453affd3..b4b26ff8ab 100644 --- a/isis/src/base/objs/Application/Application.cpp +++ b/isis/src/base/objs/Application/Application.cpp @@ -102,16 +102,6 @@ namespace Isis { strncpy(env, "LANG=en_US", 1023); putenv(env); - // Verify ISISROOT was set - // Note: as printing and logging IExceptions requires ISISROOT to be set (for preferences), - // The case below cannot be handled with IExceptions - if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { - QString message = "Please set ISISROOT before running any Isis " - "applications"; - cerr << message << endl; - exit(1); - } - // Get the starting cpu time, direct I/Os, page faults, and swaps //p_startClock = clock(); p_startDirectIO = DirectIO(); diff --git a/isis/src/base/objs/Isis/Isis.h b/isis/src/base/objs/Isis/Isis.h index d4611a10f0..2e6e8d87e2 100644 --- a/isis/src/base/objs/Isis/Isis.h +++ b/isis/src/base/objs/Isis/Isis.h @@ -107,6 +107,14 @@ void InterruptSignal(int); * @return int */ int main(int argc, char *argv[]) { + // Verify ISISROOT was set + // Note: as printing and logging IExceptions requires ISISROOT to be set (for preferences), + // The case below cannot be handled with IExceptions + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } + #ifdef CWDEBUG startMonitoringMemory(); signal(SIGSEGV, SegmentationFault); @@ -119,15 +127,13 @@ int main(int argc, char *argv[]) { #ifdef USE_GUI_QAPP Isis::Application::p_applicationForceGuiApp = true; #endif - - // ISISROOT not set is handled in Application initialization, needs to be before qtpluginpath - Isis::Application *app = new Isis::Application(argc, argv); - app->RegisterGuiHelpers(GuiHelpers()); - + // Add the plugin directory so QT looks at the Isis plugin dir Isis::FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); QCoreApplication::addLibraryPath(qtpluginpath.expanded()); + Isis::Application *app = new Isis::Application(argc, argv); + app->RegisterGuiHelpers(GuiHelpers()); int status = app->Run(APPLICATION); delete app; delete QCoreApplication::instance(); diff --git a/isis/src/qisis/apps/cneteditor/main.cpp b/isis/src/qisis/apps/cneteditor/main.cpp index eb14ee5096..66ec01dbfb 100644 --- a/isis/src/qisis/apps/cneteditor/main.cpp +++ b/isis/src/qisis/apps/cneteditor/main.cpp @@ -1,5 +1,7 @@ #include "IsisDebug.h" +#include + #include "CnetEditorWindow.h" #include "QIsisApplication.h" @@ -7,6 +9,10 @@ using namespace Isis; int main(int argc, char ** argv) { + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } QIsisApplication app(argc, argv); CnetEditorWindow window; window.show(); diff --git a/isis/src/qisis/apps/ipce/ipce.cpp b/isis/src/qisis/apps/ipce/ipce.cpp index 39b482c1c2..421ca200a7 100644 --- a/isis/src/qisis/apps/ipce/ipce.cpp +++ b/isis/src/qisis/apps/ipce/ipce.cpp @@ -35,7 +35,10 @@ using namespace std; using namespace Isis; int main(int argc, char *argv[]) { - + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } Gui::checkX11(); try { diff --git a/isis/src/qisis/apps/qmos/qmos.cpp b/isis/src/qisis/apps/qmos/qmos.cpp index b39bec5ef8..2036d20443 100644 --- a/isis/src/qisis/apps/qmos/qmos.cpp +++ b/isis/src/qisis/apps/qmos/qmos.cpp @@ -13,6 +13,10 @@ using namespace std; using namespace Isis; int main(int argc, char *argv[]) { + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path diff --git a/isis/src/qisis/apps/qnet/qnet.cpp b/isis/src/qisis/apps/qnet/qnet.cpp index cdcfe8ae6c..0783844c4c 100644 --- a/isis/src/qisis/apps/qnet/qnet.cpp +++ b/isis/src/qisis/apps/qnet/qnet.cpp @@ -40,6 +40,10 @@ ToolClass *createTool(ViewportMainWindow *viewportMainWindow, ToolList *tools) { } int main(int argc, char *argv[]) { + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } Isis::Gui::checkX11(); try { diff --git a/isis/src/qisis/apps/qtie/qtie.cpp b/isis/src/qisis/apps/qtie/qtie.cpp index 852a869d11..004e928ad1 100644 --- a/isis/src/qisis/apps/qtie/qtie.cpp +++ b/isis/src/qisis/apps/qtie/qtie.cpp @@ -33,7 +33,10 @@ ToolClass *createTool(ViewportMainWindow *viewportMainWindow, ToolList *tools) { } int main(int argc, char *argv[]) { - + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } Isis::Gui::checkX11(); try { diff --git a/isis/src/qisis/apps/qview/qview.cpp b/isis/src/qisis/apps/qview/qview.cpp index 95253f46c5..5dcf578b49 100644 --- a/isis/src/qisis/apps/qview/qview.cpp +++ b/isis/src/qisis/apps/qview/qview.cpp @@ -60,6 +60,10 @@ ToolClass *createTool(ViewportMainWindow *viewportMainWindow, ToolList *tools) { } int main(int argc, char *argv[]) { + if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") { + std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl; + exit(1); + } Isis::Gui::checkX11(); // Add the Qt plugin directory to the library path diff --git a/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp b/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp index 6881dfa2c7..94598f1c23 100644 --- a/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp +++ b/isis/src/qisis/objs/QIsisApplication/QIsisApplication.cpp @@ -34,7 +34,6 @@ namespace Isis { QApplication(argc, argv) { // try to use US locale for numbers so we don't end up printing "," instead // of "." where it might count. - for (int i = 1; i < argc; i++) { QString arg(argv[i]); -- GitLab From 51cf5a6211f57b13b2abf638dceb68f5f742782f Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 17 Apr 2018 12:13:54 -0700 Subject: [PATCH 0301/1212] Added history entry. --- isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h index 54cffd4052..b32eaf7c56 100644 --- a/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h +++ b/isis/src/qisis/objs/HistoryTreeWidget/HistoryTreeWidget.h @@ -40,6 +40,11 @@ namespace Isis { * @history 2017-11-08 Tyler Wilson - Reverted the code change in #5096 to restore the * ProgressBar, and changed code in OpenRecentProjectsWorkOrder.cpp * to prevent the segfault which #5096 was addressing. Fixes #5149. + * @history 2018-04-07 Tracie Sucharski - Added method to force a history entry using a string + * rather than a WorkOrder. This should be a temporary method until + * saving a control is turned into a WorkOrder. This was done for the + * alpha release simply to notify the user that the control was saved. + * However, this history entry is not saved/restored to a project. * */ class HistoryTreeWidget : public QTreeWidget { -- GitLab From 72d4b8850b9d3052948e2ae9ca53b430abd70ec9 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Tue, 17 Apr 2018 13:36:23 -0700 Subject: [PATCH 0302/1212] Added the new oblique resolutions to the Geometry parameter description. --- isis/src/base/apps/caminfo/caminfo.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/isis/src/base/apps/caminfo/caminfo.xml b/isis/src/base/apps/caminfo/caminfo.xml index 065e112def..af0b875952 100644 --- a/isis/src/base/apps/caminfo/caminfo.xml +++ b/isis/src/base/apps/caminfo/caminfo.xml @@ -489,6 +489,10 @@
  • LineResolution
  • PixelResolution
  • MeanGroundResolution
  • +
  • ObliqueSampleResolution
  • +
  • ObliqueLineResolution
  • +
  • ObliquePixelResolution
  • +
  • ObliqueDetectorResolution
  • SubSolarAzimuth
  • SubSolarGroundAzimuth
  • SubSolarLatitude
  • -- GitLab From 026ef253cc730f612f9620b67958c24b66f96918 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Thu, 19 Apr 2018 10:14:50 -0700 Subject: [PATCH 0303/1212] Fixed bug where shape ecubs not created properly if DN data not imported. Fixes #5274. --- isis/src/qisis/objs/Directory/ImportShapesWorkOrder.cpp | 5 +++++ isis/src/qisis/objs/Directory/ImportShapesWorkOrder.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.cpp b/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.cpp index 988209bcdf..efbb6d0666 100644 --- a/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.cpp @@ -318,6 +318,11 @@ namespace Isis { projectShape->relocateDnData(FileName(destination).name()); } + // Set new ecub to readOnly. When closing cube, the labels were being re-written because + // the cube was read/write. This caused a segfault when imported large number of images + // because of a label template file being opened too many times. + projectShape->reopen(); + delete input; result = projectShape; diff --git a/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.h b/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.h index a173d83244..5bdd5d3813 100644 --- a/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.h +++ b/isis/src/qisis/objs/Directory/ImportShapesWorkOrder.h @@ -56,6 +56,10 @@ namespace Isis { * @history 2017-11-02 Tyler Wilson - Added a null pointer check on the ProjectItem *item * pointer in isExecutable to prevent potential seg faults. * References #4492. + * @history 2018-04-19 Tracie Sucharski - Fixed bug when importing shapes without DN data. Ecub + * labels were not complete due to a resulting ecub not being closed + * properly in thread. The resulting ecub needs to be re-opened as + * readOnly to prevent this problem. Fixes #5274. */ class ImportShapesWorkOrder : public WorkOrder { Q_OBJECT -- GitLab From 92872c8505063aae080c9147dc41a97a35f2a4d1 Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Thu, 19 Apr 2018 14:57:16 -0700 Subject: [PATCH 0304/1212] Changed color of free points to green. --- .../ControlPointGraphicsItem.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp index 1121259581..bb0fb5c9a1 100644 --- a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp +++ b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp @@ -62,7 +62,7 @@ namespace Isis { setPen(QPen(Qt::darkGreen, 0.0)); } else {// Free - setPen(QPen(Qt::blue, 0.0)); + setPen(QPen(Qt::green, 0.0)); } setBrush(Qt::NoBrush); @@ -96,7 +96,7 @@ namespace Isis { /** * This virtual paint method is called anytime an update() or paintEvent() is called - * + * * @param painter (QPainter *) Painter used to draw * @param style (QStyleOptionGraphicsItem *) Describes parameters used to draw a QGraphicsItem * @param widget (QWidget *) Optional argument which indicates the widget that is being painted on @@ -139,7 +139,7 @@ namespace Isis { painter->drawPath(path); } else { - painter->drawLine(centerLeft, centerRight); + painter->drawLine(centerLeft, centerRight); painter->drawLine(centerTop, centerBottom); } @@ -197,14 +197,14 @@ namespace Isis { } - ControlPoint *ControlPointGraphicsItem::controlPoint() { - return m_controlPoint; + ControlPoint *ControlPointGraphicsItem::controlPoint() { + return m_controlPoint; } - void ControlPointGraphicsItem::setArrowVisible(bool visible, - bool colorByMeasureCount, + void ControlPointGraphicsItem::setArrowVisible(bool visible, + bool colorByMeasureCount, int measureCount, - bool colorByResidualMagnitude, + bool colorByResidualMagnitude, double residualMagnitude) { m_showArrow = visible; m_colorByMeasureCount = colorByMeasureCount; @@ -374,4 +374,3 @@ namespace Isis { } - -- GitLab From bab819331ae255b13cdead896a3a19f0fb4608ad Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Fri, 20 Apr 2018 14:11:51 -0700 Subject: [PATCH 0305/1212] Changed color of ignored points to yellow, fixed to magenta, and constrained to red. --- .../MosaicSceneWidget/ControlPointGraphicsItem.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp index bb0fb5c9a1..289c43e789 100644 --- a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp +++ b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp @@ -49,20 +49,20 @@ namespace Isis { m_origPoint = new QPointF(apriori); // Providing a width of 0 makes pens cosmetic (i.e. always appear as 1 pixel on screen) - if (cp->IsIgnored()) { - setPen(QPen(Qt::red, 0.0)); + if (cp->IsIgnored()) { // Was red + setPen(QPen(QColor(255, 255, 0), 0.0)); // set point marker yellow } else if (cp->IsEditLocked()) { setPen(QPen(Qt::magenta, 0.0)); } else if (cp->GetType() == ControlPoint::Fixed) { - setPen(QPen(Qt::green, 0.0)); + setPen(QPen(Qt::magenta, 0.0)); // Was green } else if (cp->GetType() == ControlPoint::Constrained) { - setPen(QPen(Qt::darkGreen, 0.0)); + setPen(QPen(Qt::red, 0.0)); //was darkGreen } else {// Free - setPen(QPen(Qt::green, 0.0)); + setPen(QPen(Qt::green, 0.0)); //was blue } setBrush(Qt::NoBrush); -- GitLab From 8e9b78e2925d0ad35d91c5d2cfd2dd1f96f42095 Mon Sep 17 00:00:00 2001 From: Summer Stapleton Date: Fri, 20 Apr 2018 15:39:25 -0700 Subject: [PATCH 0306/1212] Updated qview documentation to reflect suggestions --- isis/src/qisis/apps/qview/qview.xml | 77 ++++++++++++++--------------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/isis/src/qisis/apps/qview/qview.xml b/isis/src/qisis/apps/qview/qview.xml index e4341d96f5..3e7cd5c56a 100644 --- a/isis/src/qisis/apps/qview/qview.xml +++ b/isis/src/qisis/apps/qview/qview.xml @@ -7,44 +7,44 @@

    - This program will display cubes and allow for interactive analysis. It involves the - implementation of a number of individual tools. - - + This program will display cubes and allow for interactive analysis. Although the program + comprises a number of individual tools to perform analysis on your data, only the Spatial + Plot Tool is discussed here until further notice.

    Spatial Plot Tool

    - This tool is used for analyzing pixel DN values for a manual selection made. It works with two + This tool is used for analyzing manually selected pixel DN values. It works with two different modes: linear and rotated rectangle. It is also capable of handling three different modes of interpolation: Nearest Neighbor, BiLinear and Cubic Convolution.

    Linear

    - This is the simpler of the two modes for the Spatial Plot Tool. It invloves the drawing of a - line across an opened cube. The selection is started by clicking and holding the mouse where + This mode involves drawing a + line across an open cube. The selection is started by clicking and holding the mouse where you would like to start your calculations, at which point you may drag the mouse in any - direction and release the click to extablish the end of your selection. + direction and release the click to establish the end of your selection.

    The tool calculates the length of the line in pixels, rounding to the nearest full pixel value. It then divides the actual length of the line by this rounded length to achieve a - step-size. Please note: this step size may be slightly bigger or smaller - than a pixel length, but this difference becomes neglibible for larger selections. For - example, if the length of the drawn line was 6.36 pixels, the tool would round the length to - 6 and the step-size would be 6.36/6 (or 1.06). + step-size. Please note: This step size may be slightly bigger or smaller + than a pixel length, but this difference becomes negligible for larger selections. For + example, if the length of the drawn line was 2.91 pixels, the tool would round the length to + 3 and the step-size would be 2.91/3 (or 0.97).

    A plot window will be generated with the calculated DN values of the pixels. The first value - to be calculated would be the value where the original mouse click was made. The tool then - calculates the value along the line at each step-sized increment until it reaches where the - mouse-click was released. This means that for a rounded length of 6, the plot would show a - total of 7 plotted DN values. + to be calculated is the value where the original mouse click was made. At each increment, + according to step size, the tool calculates the value along the line until it reaches where the + mouse-click was released. This means that for a line with a rounded length of 3, the plot would show a + total of 4 plotted DN values. Please note: For a line with a rounded length of + n, the tool will calculate n + 1 values.

    - The images above include an example of the line as drawn in the cube view as well as the - associated plot window. Marking has been added to dilineate where mouse clicks were made and + The images above include an example of the line as drawn in the cube view and the + associated plot window. Marking has been added to delineate where mouse clicks were made and the DN values were calculated. The mouse was first clicked at dileneation marked "1" on the cube, and was released at "4". The number from the cube view correlates with the "Pixel Number" on the plot. @@ -52,21 +52,24 @@

    Rotated Rectangle

    - The more complex of the two modes for the Spatial Plot Tool, this mode involves drawing a - rectangle across an opened cube. The selection is started by clicking and holding the mouse + This mode of the Spatial Plot Tool involves drawing a + rectangle across an open cube. The selection starts by clicking and holding the mouse where you would like to start your calculations, at which point you may drag the mouse in any - direction and release the click to extablish one edge of your selection. You may then + direction and release the click to establish one edge of your selection. You may then drag the mouse away from this original line to expand in the other direction. A single mouse - click establishes your final selection. Please note: the tool will lock + click establishes your final selection. Please note: The tool will lock angles to be perpendicular and so your selections will always be a perfect rectangle.

    Similar to the linear mode of this tool, the lengths of the lines in pixels are rounded to the - nearest full pixel value, and then the lengths are divided by this rounded length to establish - a step-size. (Please refer to the Linear section for an example.) Please note: - the step-size along one edge of the selection may not be the same as the step-size of the - perpendicular edge. This becomes neglibile for larger selections. + nearest full pixel value, and then the lengths are divided by their rounded lengths to establish + a step-size. Please note: + The step-size along one edge of the selection may differ from the step-size of the + perpendicular edge, this becomes negligible for larger selections. For + example, if the length of the line in one direction was 2.91 pixels, the step-size would be 2.91/3 + (or 0.97), whereas if the length of the line in the perpendicular direction was 4.92, the step + size would be 4.92/5 (0.98).

    A plot window will be generated with the calculated DN values. This is done by calculating the @@ -81,28 +84,24 @@ value in the plot. The tool continues this pattern until it has reached the opposite edge of the rectangle as the first-drawn line.

    -

    - The following example illustrates this process. -

    - The image to the left is the original selection as seen in the cube view, and the image - in the middle is the same view that has been marked for reference purposes. Finally, the image - to the right is the associated plot window. The original mouse click was made at delineation + The first image is the original selection. The second image + is the same view that has been marked for reference purposes. Finally, the last image + is the associated plot window. The original mouse click was made at delineation "1" within the cube view, the original mouse release was made at "5", and the final - mouse click was made at "25". The Spatial Plot Tool calculates the average of the DN values at - dilineations 1-5, and this value is stored as "Pixel Value" 1 in the plot window, while the - averages of 6-10 are stored in 2, 7-15 are stored in 3, 16-20 are stored in 4, and finally - 21-25 are stored in 5. + mouse click was made at "15". The Spatial Plot Tool calculates the average of the DN values at + delineations 1-5, and this value is stored as "Pixel Value" 1 in the plot window, while the + averages of 6-10 are stored in 2, and 7-15 are stored in 3.

    Interpolations

    - Spatial Plot Tool makes use of Nearest Nighbor, BiLinear and Cubic Convolution interpolations + Spatial Plot Tool makes use of Nearest Nieghbor, BiLinear and Cubic Convolution interpolations when calculating the DN values at particular points. Do be aware that when the tool is calculating a DN value at a particular point, it is calculating the interpolated DN value at - that point. This may lead to confusion without a proper understanding of interpolations. + that point.

    @@ -262,7 +261,7 @@ Fixes #2126. - Included documentation for Spatial Plot Tool. Fixes #5281. + Included documentation for Spatial Plot Tool in this .xml. References #5281. -- GitLab From 5b4ed1e2b473eabb56e0f642d6ced0d9513acb4d Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Fri, 20 Apr 2018 16:15:18 -0700 Subject: [PATCH 0307/1212] Added the ctrl+del keyboard shortcut to the TableMainWindow's --- isis/src/qisis/objs/TableMainWindow/TableMainWindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/isis/src/qisis/objs/TableMainWindow/TableMainWindow.cpp b/isis/src/qisis/objs/TableMainWindow/TableMainWindow.cpp index f13312e3d0..12e6b3a02f 100644 --- a/isis/src/qisis/objs/TableMainWindow/TableMainWindow.cpp +++ b/isis/src/qisis/objs/TableMainWindow/TableMainWindow.cpp @@ -140,6 +140,7 @@ namespace Isis { QAction *clear = new QAction(this); clear->setText("Clear table"); + clear->setShortcut(Qt::CTRL + Qt::Key_Delete); connect(clear, SIGNAL(triggered()), this, SLOT(clearTable())); QAction *close = new QAction(this); -- GitLab From 0379624d882161e162b0c1d7ed2aecad2e599566 Mon Sep 17 00:00:00 2001 From: Adam Goins Date: Fri, 20 Apr 2018 16:15:28 -0700 Subject: [PATCH 0308/1212] Added History Comment --- isis/src/qisis/objs/TableMainWindow/TableMainWindow.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/objs/TableMainWindow/TableMainWindow.h b/isis/src/qisis/objs/TableMainWindow/TableMainWindow.h index e7f849b2c7..815af0f841 100644 --- a/isis/src/qisis/objs/TableMainWindow/TableMainWindow.h +++ b/isis/src/qisis/objs/TableMainWindow/TableMainWindow.h @@ -51,6 +51,8 @@ namespace Isis { * Added resizeColumn() slot and readColumnSettings(). * modified writeSettings() to write updated settings on destroy. * Fixes #5142. + * @history 2018-04-20 Adam Goins - Added the ctrl+del keyboard shortcut to the TableMainWindow's + * "Clear Table" menu option. Fixes #4912. */ class TableMainWindow : public MainWindow { Q_OBJECT -- GitLab From fdb2498101bd497d5a9ae77f642718194378c343 Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Sat, 21 Apr 2018 13:52:51 -0700 Subject: [PATCH 0309/1212] Added support for CK based body frame --- .../base/objs/SpiceRotation/SpiceRotation.cpp | 369 +++++++++--------- .../base/objs/SpiceRotation/SpiceRotation.h | 159 ++++---- 2 files changed, 269 insertions(+), 259 deletions(-) diff --git a/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp b/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp index ceb4e7cd10..07a39412e2 100644 --- a/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp +++ b/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp @@ -149,7 +149,7 @@ namespace Isis { p_timeBias = rotToCopy.p_timeBias; p_et = rotToCopy.p_et; - p_quaternion = rotToCopy.p_quaternion; + p_quaternion = rotToCopy.p_quaternion; p_matrixSet = rotToCopy.p_matrixSet; p_source = rotToCopy.p_source; p_axisP = rotToCopy.p_axisP; @@ -159,8 +159,8 @@ namespace Isis { p_timeScale = rotToCopy.p_timeScale; p_degreeApplied = rotToCopy.p_degreeApplied; -// for (std::vector::size_type i = 0; i < rotToCopy.p_coefficients[0].size(); i++) - for (int i = 0; i < 3; i++) +// for (std::vector::size_type i = 0; i < rotToCopy.p_coefficients[0].size(); i++) + for (int i = 0; i < 3; i++) p_coefficients[i] = rotToCopy.p_coefficients[i]; p_noOverride = rotToCopy.p_noOverride; @@ -180,43 +180,43 @@ namespace Isis { } - /** + /** * Destructor for SpiceRotation object. - */ - SpiceRotation::~SpiceRotation() { + */ + SpiceRotation::~SpiceRotation() { } - /** + /** * Change the frame to the given frame code. This method has no effect if - * spice is cached. + * spice is cached. * - * @param frameCode The integer-valued frame code - */ + * @param frameCode The integer-valued frame code + */ void SpiceRotation::SetFrame(int frameCode) { p_constantFrames[0] = frameCode; } - /** - * Accessor method that returns the frame code. This is the first value of the - * constant frames member variable. - * - * @return @b int An integer value indicating the frame code. - */ + /** + * Accessor method that returns the frame code. This is the first value of the + * constant frames member variable. + * + * @return @b int An integer value indicating the frame code. + */ int SpiceRotation::Frame() { return p_constantFrames[0]; } - /** + /** * Apply a time bias when invoking SetEphemerisTime method. * * The bias is used only when reading from NAIF kernels. It is added to the * ephermeris time passed into SetEphemerisTime and then the body * position is read from the NAIF kernels and returned. When the cache - * is loaded from a table the bias is ignored as it is assumed to have - * already been applied. If this method is never called the default bias is + * is loaded from a table the bias is ignored as it is assumed to have + * already been applied. If this method is never called the default bias is * 0.0 seconds. * * @param timeBias time bias in seconds @@ -226,7 +226,7 @@ namespace Isis { } - /** + /** * Return the J2000 to reference frame quaternion at given time. * * This method returns the J2000 to reference frame rotational matrix at a @@ -280,11 +280,11 @@ namespace Isis { } - /** + /** * Accessor method to get current ephemeris time. * * @return @b double The current ephemeris time. - */ + */ double SpiceRotation::EphemerisTime() const { return p_et; } @@ -301,16 +301,16 @@ namespace Isis { /** - * Set the downsize status to minimize cache. + * Set the downsize status to minimize cache. * - * @param status The DownsizeStatus enumeration value. - */ + * @param status The DownsizeStatus enumeration value. + */ void SpiceRotation::MinimizeCache(DownsizeStatus status) { p_minimizeCache = status; } - /** + /** * Cache J2000 rotation quaternion over a time range. * * This method will load an internal cache with frames over a time @@ -384,7 +384,7 @@ namespace Isis { } - /** + /** * Cache J2000 to frame rotation for a time. * * This method will load an internal cache with a rotation for a single @@ -402,7 +402,7 @@ namespace Isis { } - /** + /** * Cache J2000 rotations using a table file. * * This method will load either an internal cache with rotations (quaternions) @@ -423,7 +423,7 @@ namespace Isis { * @param table An ISIS table blob containing valid J2000 to reference * quaternion/time values * - * @throws IException::Programmer "Expecting either three, five, or eight fields in the + * @throws IException::Programmer "Expecting either three, five, or eight fields in the * SpiceRotation table" */ void SpiceRotation::LoadCache(Table &table) { @@ -476,7 +476,7 @@ namespace Isis { p_fullCacheSize = toInt(table.Label().findKeyword("CkTableOriginalSize")[0]); } - // Load FrameTypeCode from labels if available and the planetary constants keywords + // Load FrameTypeCode from labels if available and the planetary constants keywords if (table.Label().hasKeyword("FrameTypeCode")) { m_frameType = (FrameType) toInt(table.Label().findKeyword("FrameTypeCode")[0]); } @@ -582,7 +582,7 @@ namespace Isis { } - /** + /** * Cache J2000 rotation over existing cached time range using polynomials * * This method will reload an internal cache with matrices @@ -601,7 +601,7 @@ namespace Isis { p_cacheTime.clear(); p_cache.clear(); - // Clear the angular velocity cache if we can calculate it instead. It can't be calculated + // Clear the angular velocity cache if we can calculate it instead. It can't be calculated // for functions of degree 0 (framing cameras), so keep the original av. It is better than // nothing. if (p_degree > 0 && p_cacheAv.size() > 1) p_cacheAv.clear(); @@ -644,7 +644,7 @@ namespace Isis { if (p_hasAngularVelocity) p_cacheAv.push_back(tempRot.AngularVelocity()); } } - else { //(p_source < PolyFunction) + else { //(p_source < PolyFunction) QString msg = "The SpiceRotation has not yet been fit to a function"; throw IException(IException::Programmer, msg, _FILEINFO_); } @@ -657,7 +657,7 @@ namespace Isis { } - /** + /** * Return a table with J2000 to reference rotations. * * Return a table containing the cached pointing with the given @@ -668,7 +668,7 @@ namespace Isis { * * @throws IException::Programmer "Only cached rotations can be returned as a line cache of * quaternions and time" - * + * * @return @b Table Table with given name that contains the cached pointing */ Table SpiceRotation::LineCache(const QString &tableName) { @@ -685,7 +685,7 @@ namespace Isis { } - /** + /** * Return a table with J2000 to reference rotations. * * Return a table containing the cached pointing with the given @@ -703,7 +703,7 @@ namespace Isis { * @param tableName Name of the table to create and return * * @throws IException::Programmer "To create table source of data must be either Memcache or - * PolyFunction" + * PolyFunction" * * @return @b Table Table with given name that contains the cached pointing */ @@ -812,8 +812,8 @@ namespace Isis { } - /** - * Initialize planetary orientation constants from Spice PCK + /** + * Initialize planetary orientation constants from Spice PCK * * Retrieve planetary orientation constants from a Spice PCK and store them in the class. * @@ -825,12 +825,12 @@ namespace Isis { // Retrieve the frame class from Naif. We distinguish PCK types into text PCK, // binary PCK, and PCK not referenced to J2000. Isis binary PCK can - // not be used to solve for target body orientation because of the variety and + // not be used to solve for target body orientation because of the variety and // complexity models used with binary PCK. Currently ISIS does not solve for // target body orientation on bodies not referenced to J2000, but it could be // changed to handle that case. checkForBinaryPck(); - + if (m_frameType == PCK) { // Make sure the reference frame is J2000. We will need to modify FrameTrace and // the pck methods in this class to handle this case. At the time this method was @@ -848,13 +848,13 @@ namespace Isis { if (found) { // Go get the frame name if it is not the default J2000 SpiceDouble relativeFrameCode; - bodvcd_c(centerBodyCode, "CONSTANTS_REF_FRAME", 1, + bodvcd_c(centerBodyCode, "CONSTANTS_REF_FRAME", 1, &numReturned, &relativeFrameCode); - } + } if (!found || relativeFrameCode == 1) { // We only work with J2000 relative frames for now - // Make sure the standard coefficients are available for the body code by + // Make sure the standard coefficients are available for the body code by // checking for ra naifKeyword = "BODY" + toString(centerBodyCode) + "_POLE_RA" ; dtpool_c(naifKeyword.toLatin1().data(), &found, &numExpected, &naifType); @@ -891,6 +891,11 @@ namespace Isis { // Get the barycenter (bc) linear coefficients first (2 for each period). // Then we can get the maximum expected coefficients. SpiceInt bcCode = centerBodyCode/100; // Ex: bc code for Jupiter (599) & its moons is 5 + // For comets, ID codes between 1000000 and 2000000, the precession terms just + // use the body code. + if (centerBodyCode > 1000000 && centerBodyCode < 2000000) { + bcCode = centerBodyCode; + } naifKeyword = "BODY" + toString(bcCode) + "_NUT_PREC_ANGLES" ; dtpool_c(naifKeyword.toLatin1().data(), &found, &numExpected, &naifType); std::vectornpAngles(numExpected, 0.); @@ -899,7 +904,7 @@ namespace Isis { m_raNutPrec.resize(numExpected, 0.); m_decNutPrec.resize(numExpected, 0.); m_pmNutPrec.resize(numExpected, 0.); - + std::vector angles(numExpected); bodvcd_c(centerBodyCode, "NUT_PREC_RA", numExpected, &numReturned, &m_raNutPrec[0]); bodvcd_c(centerBodyCode, "NUT_PREC_DEC", numExpected, &numReturned, &m_decNutPrec[0]); @@ -924,7 +929,7 @@ namespace Isis { } - /** + /** * Initialize planetary orientation constants from an cube body rotation label * * Retrieve planetary orientation constants from a cube body rotation label if they are present. @@ -998,12 +1003,12 @@ namespace Isis { m_sysNutPrec1.push_back(Angle(toDouble(labelCoeffs[i]), Angle::Degrees)); } } - + NaifStatus::CheckErrors(); } - /** + /** * Add labels to a SpiceRotation table. * * Return a table containing the labels defining the rotation. @@ -1052,7 +1057,7 @@ namespace Isis { // Begin section added 06-20-2015 DAC table.Label() += PvlKeyword("FrameTypeCode"); - table.Label()["FrameTypeCode"].addValue(toString(m_frameType)); + table.Label()["FrameTypeCode"].addValue(toString(m_frameType)); if (m_frameType == PCK) { // Write out all the body orientation constants @@ -1113,7 +1118,7 @@ namespace Isis { } - /** + /** * Return the camera angles at the center time of the observation * * @return @b vector Camera angles at center time @@ -1127,9 +1132,9 @@ namespace Isis { } - /** - * Return the camera angles (right ascension, declination, and twist) for the - * time-based matrix CJ + /** + * Return the camera angles (right ascension, declination, and twist) for the + * time-based matrix CJ * * @param axis3 The rotation axis for the third angle * @param axis2 The rotation axis for the second angle @@ -1154,8 +1159,8 @@ namespace Isis { - /** - * Set the rotation angles (phi, delta, and w) for the current time to define the + /** + * Set the rotation angles (phi, delta, and w) for the current time to define the * time-based matrix CJ. This method was created for unitTests and should not * be used otherwise. It only works for cached data with a cache size of 1. * @@ -1167,54 +1172,54 @@ namespace Isis { void SpiceRotation::SetAngles(std::vector angles, int axis3, int axis2, int axis1) { eul2m_c(angles[2], angles[1], angles[0], axis3, axis2, axis1, (SpiceDouble (*)[3]) &(p_CJ[0])); p_cache[0] = p_CJ; - // Reset to get the new values + // Reset to get the new values p_et = -DBL_MAX; SetEphemerisTime(p_et); } - /** - * Accessor method to get the angular velocity + /** + * Accessor method to get the angular velocity * * @return @b vector Angular velocity - */ + */ std::vector SpiceRotation::AngularVelocity() { return p_av; } - /** - * Accessor method to get the frame chain for the constant part of the - * rotation (ends in target) + /** + * Accessor method to get the frame chain for the constant part of the + * rotation (ends in target) * - * @return @b vector The frame chain for the constant part of the rotation. - */ + * @return @b vector The frame chain for the constant part of the rotation. + */ std::vector SpiceRotation::ConstantFrameChain() { return p_constantFrames; } - /** + /** * Accessor method to get the frame chain for the rotation (begins in J2000). - * + * * @return @b vector The frame chain for the rotation. - */ + */ std::vector SpiceRotation::TimeFrameChain() { return p_timeFrames; } - /** - * Checks whether the rotation has angular velocities. + /** + * Checks whether the rotation has angular velocities. * * @return @b bool Indicates whether the rotation has angular velocities. - */ + */ bool SpiceRotation::HasAngularVelocity() { return p_hasAngularVelocity; } - /** + /** * Given a direction vector in the reference frame, return a J2000 direction. * * @param[in] rVec A direction vector in the reference frame @@ -1223,7 +1228,7 @@ namespace Isis { */ std::vector SpiceRotation::J2000Vector(const std::vector &rVec) { NaifStatus::CheckErrors(); - + std::vector jVec; if (rVec.size() == 3) { @@ -1232,7 +1237,7 @@ namespace Isis { jVec.resize(3); mtxv_c(TJ, (SpiceDouble *) &rVec[0], (SpiceDouble *) &jVec[0]); } - + else if (rVec.size() == 6) { // See Naif routine frmchg for the format of the state matrix. The constant rotation, TC, // has a derivative with respect to time of I. @@ -1257,7 +1262,7 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body pole ra * * Return the coefficients used to calculate the target body right @@ -1267,7 +1272,7 @@ namespace Isis { * right ascension (usually the same as the most recent IAU Report) * the trignometric terms to account for nutation/precession need to * be added. - * + * * pole ra = ra0 + ra1*T + ra2*T**2 + sum(racoef[i]i*sin(angle[i])) * * @return @b vector A vector of length 3 containing the pole ra coefficients @@ -1277,7 +1282,7 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body pole dec * * Return the coefficients used to calculate the target body declination @@ -1287,7 +1292,7 @@ namespace Isis { * declination (usually the same as the most recent IAU Report) * the trignometric terms to account for nutation/precession need to * be added. - * + * * pole dec = dec0 + dec1*T + dec2*T**2 + sum(racoef[i]i*sin(angle[i])) * * @return @b vector A vector of length 3 containing the pole declination coefficients. @@ -1297,16 +1302,16 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body prime meridian * * Return the coefficients used to calculate the target body prime * meridian without nutation/precession. The model is a standard - * quadratic polynomial in time in days from the standard epoch + * quadratic polynomial in time in days from the standard epoch * (usually J2000). To match the Naif PCK prime meridian, (usually * the same as the most recent IAU Report) the trignometric terms * to account for nutation/precession need to be added. - * + * * pm = pm0 + pm1*d + pm2*d**2 + sum(pmcoef[i]i*sin(angle[i])) * * @return @b vector A vector of length 3 containing the prime meridian coefficients. @@ -1316,7 +1321,7 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body pole ra nut/prec coefficients * * Return the coefficients used to calculate the target body right @@ -1324,7 +1329,7 @@ namespace Isis { * sum of the products of the coefficients returned by this method * with the sin of the corresponding angles associated with the * barycenter related to the target body. - * + * * pole ra = ra0 + ra1*T + ra2*T**2 + sum(raCoef[i]i*sin(angle[i])) * * @return @b vector A vector containing the pole ra nut/prec coefficients. @@ -1334,14 +1339,14 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body pole dec nut/prec coefficients * * Return the coefficients used to calculate the target body declination - * nutation/precession contribution. The model is the sum of the products - * of the coefficients returned by this method with the sin of the corresponding + * nutation/precession contribution. The model is the sum of the products + * of the coefficients returned by this method with the sin of the corresponding * angles associated with the barycenter related to the target body. - * + * * pole dec = dec0 + dec1*T + dec2*T**2 + sum(decCoef[i]i*sin(angle[i])) * * @return @b vector A vector containing the pole dec nut/prec coeffcients. @@ -1351,14 +1356,14 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body pm nut/prec coefficients * * Return the coefficients used to calculate the target body prime meridian - * nutation/precession contribution. The model is the sum of the products - * of the coefficients returned by this method with the sin of the corresponding + * nutation/precession contribution. The model is the sum of the products + * of the coefficients returned by this method with the sin of the corresponding * angles associated with the barycenter related to the target body. - * + * * prime meridian = pm0 + pm1*T + pm2*d**2 + sum(pmCoef[i]i*sin(angle[i])) * * @return @b vector A vector containing the pm nut/prec coeffcients. @@ -1368,14 +1373,14 @@ namespace Isis { } - /** + /** * Return the constants used to calculate the target body system nut/prec angles * * Return the constant terms used to calculate the target body system (barycenter) * nutation/precession angles (periods). The model for the angles is linear in - * time in Julian centuries since the standard epoch (usually J2000). + * time in Julian centuries since the standard epoch (usually J2000). * angles associated with the barycenter related to the target body. - * + * * angle[i] = constant[i] + coef[i]*T * * @return @b vector A vector containing the system nut/prec constant terms. @@ -1385,15 +1390,15 @@ namespace Isis { } - /** + /** * Return the coefficients used to calculate the target body system nut/prec angles * - * Return the linear coefficients used to calculate the target body system - * (barycenter) nutation/precession angles (periods). The model for the - * angles is linear in time in Julian centuries since the standard epoch - * (usually J2000). angles associated with the barycenter related to the + * Return the linear coefficients used to calculate the target body system + * (barycenter) nutation/precession angles (periods). The model for the + * angles is linear in time in Julian centuries since the standard epoch + * (usually J2000). angles associated with the barycenter related to the * target body. - * + * * angle[i] = constant[i] + coef[i]*T * * @return @b vector A vector containing the system nut/prec linear coefficients. @@ -1403,9 +1408,9 @@ namespace Isis { } - /** + /** * Given a direction vector in the reference frame, compute the derivative - * with respect to one of the coefficients in the angle polynomial fit + * with respect to one of the coefficients in the angle polynomial fit * equation of a vector rotated from the reference frame to J2000. * TODO - merge this method with ToReferencePartial * @@ -1416,14 +1421,14 @@ namespace Isis { * @throws IException::User "Body rotation uses a binary PCK. Solutions for this model are not * supported" * @throws IException::User "Body rotation uses a PCK not referenced to J2000. Solutions for this - * model are not supported" + * model are not supported" * @throws IException::User "Solutions are not supported for this frame type." * - * @return @b vector A direction vector rotated by derivative + * @return @b vector A direction vector rotated by derivative * of reference to J2000 rotation. */ - std::vector SpiceRotation::toJ2000Partial(const std::vector &lookT, - SpiceRotation::PartialType partialVar, + std::vector SpiceRotation::toJ2000Partial(const std::vector &lookT, + SpiceRotation::PartialType partialVar, int coeffIndex) { NaifStatus::CheckErrors(); @@ -1459,7 +1464,7 @@ namespace Isis { break; case NOTJ2000PCK: msg = "Body rotation uses a PCK not referenced to J2000. " - "Solutions for this model are not supported"; + "Solutions for this model are not supported"; throw IException(IException::User, msg, _FILEINFO_); break; default: @@ -1497,7 +1502,7 @@ namespace Isis { double dTJ[3][3]; mxm_c((SpiceDouble *) &p_TC[0], dCJ[0], dTJ); - // Finally rotate the target vector with the transpose of the + // Finally rotate the target vector with the transpose of the // derivative matrix, dTJ to get a J2000 vector std::vector lookdJ(3); @@ -1508,7 +1513,7 @@ namespace Isis { } - /** + /** * Given a direction vector in J2000, return a reference frame direction. * * @param[in] jVec A direction vector in J2000 @@ -1543,7 +1548,7 @@ namespace Isis { } - /** + /** * Set the coefficients of a polynomial fit to each * of the three camera angles for the time period covered by the * cache, angle = a + bt + ct**2, where t = (time - p_baseTime)/ p_timeScale. @@ -1691,7 +1696,7 @@ namespace Isis { } - /** + /** * Set the coefficients of a polynomial fit to each of the * three camera angles for the time period covered by the * cache, angle = c0 + c1*t + c2*t**2 + ... + cn*t**n, @@ -1745,10 +1750,10 @@ namespace Isis { } - /** + /** * Set the coefficients of a polynomial fit to each * of the three planet angles for the time period covered by the - * cache, ra = ra0 + ra1*t + ra2*t**2 + raTrig, + * cache, ra = ra0 + ra1*t + ra2*t**2 + raTrig, * dec = dec0 + dec1*t + dec2*t**2 + decTrig, * pm = pm0 + pm1*d + pm2*t**2 + pmTrig, * where t = time / (seconds per day). for time = et @@ -1764,7 +1769,7 @@ namespace Isis { */ void SpiceRotation::usePckPolynomial() { - // Check to see if rotation is already stored as a polynomial + // Check to see if rotation is already stored as a polynomial if (p_source == PckPolyFunction) { p_hasAngularVelocity = true; return; @@ -1780,7 +1785,7 @@ namespace Isis { // Set the scales p_dscale = 0.000011574074074; // seconds to days conversion p_tscale = 3.1688087814029D-10; // seconds to Julian centuries conversion - //Set the quadratic part of the equations + //Set the quadratic part of the equations //TODO consider just hard coding this part in evaluate Isis::PolynomialUnivariate functionRa(p_degree); // Basis function fit to target body pole ra Isis::PolynomialUnivariate functionDec(p_degree); // Basis function fit to target body pole dec @@ -1793,7 +1798,7 @@ namespace Isis { int numNutPrec = p_sysNutPrec0.size; if (numNutPrec > 0) { - // Set the trigonometric part of the equation + // Set the trigonometric part of the equation Isis::TrigBasis functionRaNutPrec("raNutPrec", Isis::TrigBasis::Sin, numNutPrec); Isis::TrigBasis functionRaNutPrec("decNutPrec", Isis::TrigBasis::Cos, numNutPrec); Isis::TrigBasis functionRaNutPrec("pmNutPrec", Isis::TrigBasis::Sin, numNutPrec); @@ -1811,9 +1816,9 @@ namespace Isis { */ // Set the flag indicating p_degree has been applied to the planet angles, the - // coefficients of the polynomials have been saved, and the cache reloaded from + // coefficients of the polynomials have been saved, and the cache reloaded from // TODO cache reloaded??? - // the polynomials. + // the polynomials. // ****At least for the planet angles, I don't think we want to reload the cache until just // before we write out the table p_degreeApplied = true; @@ -1823,10 +1828,10 @@ namespace Isis { } - /** + /** * Set the coefficients of a polynomial fit to each * of the three planet angles for the time period covered by the - * cache, ra = ra0 + ra1*t + ra2*t**2 + raTrig, + * cache, ra = ra0 + ra1*t + ra2*t**2 + raTrig, * dec = dec0 + dec1*t + dec2*t**2 + decTrig, * pm = pm0 + pm1*d + pm2*t**2 + pmTrig, * where t = time / (seconds per day). for time = et @@ -1853,7 +1858,7 @@ namespace Isis { // Apply new function parameters setEphemerisTimePckPolyFunction(); } - + /** * Return the coefficients of a polynomial fit to each of the @@ -1939,7 +1944,7 @@ namespace Isis { * * @param coeffIndex The index of the coefficient to differentiate * - * @throws IException::Programmer "Unable to evaluate the derivative of the SPICE rotation fit + * @throws IException::Programmer "Unable to evaluate the derivative of the SPICE rotation fit * polynomial for the given coefficient index. Index is negative * or exceeds degree of polynomial" * @@ -1974,7 +1979,7 @@ namespace Isis { * @param partialVar Variable derivative is to be with respect to * @param coeffIndex The index of the coefficient to differentiate * - * @throws IException::Programmer "Unable to evaluate the derivative of the SPICE rotation fit + * @throws IException::Programmer "Unable to evaluate the derivative of the SPICE rotation fit * polynomial for the given coefficient index. Index is negative * or exceeds degree of polynomial" * @@ -1983,7 +1988,7 @@ namespace Isis { double SpiceRotation::DPckPolynomial(SpiceRotation::PartialType partialVar, const int coeffIndex) { const double p_dayScale = 86400; // number of seconds in a day - // Number of 24 hour days in a Julian century = 36525 + // Number of 24 hour days in a Julian century = 36525 const double p_centScale = p_dayScale * 36525; double time = 0.; @@ -2104,7 +2109,7 @@ namespace Isis { double dTJ[3][3]; mxm_c((SpiceDouble *) &p_TC[0], dCJ[0], dTJ); - // Finally rotate the J2000 vector with the derivative matrix, dTJ to + // Finally rotate the J2000 vector with the derivative matrix, dTJ to // get the vector in the targeted reference frame. std::vector lookdT(3); @@ -2115,7 +2120,7 @@ namespace Isis { } - /** + /** * Wrap the input angle to keep it within 2pi radians of the angle to compare. * * @param[in] compareAngle Look vector in J2000 frame @@ -2139,7 +2144,7 @@ namespace Isis { } - /** + /** * Set the degree of the polynomials to be fit to the * three camera angles for the time period covered by the * cache, angle = c0 + c1*t + c2*t**2 + ... + cn*t**n, @@ -2195,8 +2200,8 @@ namespace Isis { } - /** - * Accessor method to get the rotation frame type. + /** + * Accessor method to get the rotation frame type. * * @return @b SpiceRotation::FrameType The frame type of the rotation. */ @@ -2205,8 +2210,8 @@ namespace Isis { } - /** - * Accessor method to get the rotation source. + /** + * Accessor method to get the rotation source. * * @return @b SpiceRotation::Source The source of the rotation. */ @@ -2216,9 +2221,9 @@ namespace Isis { /** - * Resets the source of the rotation to the given value. + * Resets the source of the rotation to the given value. * - * @param source The rotation source to be set. + * @param source The rotation source to be set. */ void SpiceRotation::SetSource(Source source) { p_source = source; @@ -2227,7 +2232,7 @@ namespace Isis { /** - * Accessor method to get the rotation base time. + * Accessor method to get the rotation base time. * * @return @b double The base time for the rotation. */ @@ -2237,7 +2242,7 @@ namespace Isis { /** - * Accessor method to get the rotation time scale. + * Accessor method to get the rotation time scale. * * @return @b double The time scale for the rotation. */ @@ -2246,7 +2251,7 @@ namespace Isis { } - /** + /** * Set the axes of rotation for decomposition of a rotation * matrix into 3 angles. * @@ -2269,15 +2274,15 @@ namespace Isis { } - /** - * Load the time cache. This method should works with the LoadCache(startTime, endTime, size) + /** + * Load the time cache. This method should works with the LoadCache(startTime, endTime, size) * method to load the time cache. * * @throws IException::Programmer "Full cache size does NOT match cache size in LoadTimeCache -- * should never happen" - * @throws IException::Programmer "Observation crosses segment boundary--unable to interpolate + * @throws IException::Programmer "Observation crosses segment boundary--unable to interpolate * pointing" - * @throws IException::User "No camera kernels loaded...Unable to determine time cache to + * @throws IException::User "No camera kernels loaded...Unable to determine time cache to * downsize" */ void SpiceRotation::LoadTimeCache() { @@ -2311,7 +2316,7 @@ namespace Isis { SpiceDouble quats[p_fullCacheSize][4]; double avvs[p_fullCacheSize][3];// Angular velocity vector - // We will treat et as the sclock time and avoid converting back and forth + // We will treat et as the sclock time and avoid converting back and forth for (int r = 0; r < p_fullCacheSize; r++) { timeSclkdp[r] = p_cacheTime[r]; SpiceDouble CJ[9] = { p_cache[r][0], p_cache[r][1], p_cache[r][2], @@ -2332,7 +2337,7 @@ namespace Isis { SpiceInt intarr[p_fullCacheSize]; // Integer work array SpiceInt sizOut = p_fullCacheSize; // Size of downsized cache - ck3sdn(radTol, avflag, (int *) &sizOut, timeSclkdp, (doublereal *) quats, + ck3sdn(radTol, avflag, (int *) &sizOut, timeSclkdp, (doublereal *) quats, (SpiceDouble *) avvs, nints, &cubeStarts, dparr, (int *) intarr); // Clear full cache and load with downsized version @@ -2398,7 +2403,7 @@ namespace Isis { // Don't read type 5 ck here if (ic[2] == 5) break; -// +// // Check times for type 3 ck segment if spacecraft matches if (ic[0] == spCode && ic[2] == 3) { sct2e_c((int) spCode / 1000, dc[0], &segStartEt); @@ -2409,7 +2414,7 @@ namespace Isis { // Get times for this segment if (currentTime >= segStartEt && currentTime <= segStopEt) { - // Check for a gap in the time coverage by making sure the time span of the observation + // Check for a gap in the time coverage by making sure the time span of the observation // does not cross a segment unless the next segment starts where the current one ends if (observationSpansToNextSegment && currentTime > segStartEt) { QString msg = "Observation crosses segment boundary--unable to interpolate pointing"; @@ -2476,7 +2481,7 @@ namespace Isis { throw IException(IException::User, msg, _FILEINFO_); } - // Load times according to cache size (body rotations) -- handle first round of type 5 ck case + // Load times according to cache size (body rotations) -- handle first round of type 5 ck case // and multiple ck case --Load a time for every line scan line and downsize later if (!timeLoaded) { double cacheSlope = 0.0; @@ -2490,7 +2495,7 @@ namespace Isis { } - /** + /** * Return full listing (cache) of original time coverage requested. * * @throws IException::User "Time cache not availabe -- rerun spiceinit" @@ -2518,7 +2523,7 @@ namespace Isis { } - /** + /** * Compute frame trace chain from target frame to J2000 * * @param et Ephemeris time @@ -2611,7 +2616,7 @@ namespace Isis { else { QString msg = "The frame " + toString(frameCodes[frmidx]) + - " has a type " + toString(type) + " not supported by your version of Naif Spicelib." + " has a type " + toString(type) + " not supported by your version of Naif Spicelib." + "You need to update."; throw IException(IException::Programmer, msg, _FILEINFO_); @@ -2649,7 +2654,7 @@ namespace Isis { } - /** + /** * Return the full rotation TJ as a matrix * * @return @b vector Returned matrix. @@ -2664,9 +2669,9 @@ namespace Isis { } - /** + /** * Return the constant 3x3 rotation TC matrix as a quaternion. - * + * * @return @b vector Constant rotation quaternion, TC. */ std::vector SpiceRotation::ConstantRotation() { @@ -2679,9 +2684,9 @@ namespace Isis { } - /** + /** * Return the constant 3x3 rotation TC matrix as a vector of length 9. - * + * * @return @b vector Constant rotation matrix, TC. */ std::vector &SpiceRotation::ConstantMatrix() { @@ -2689,9 +2694,9 @@ namespace Isis { } - /** + /** * Set the constant 3x3 rotation TC matrix from a vector of length 9. - * + * * @param constantMatrix Constant rotation matrix, TC. */ void SpiceRotation::SetConstantMatrix(std::vector constantMatrix) { @@ -2699,9 +2704,9 @@ namespace Isis { return; } - /** + /** * Return time-based 3x3 rotation CJ matrix as a quaternion. - * + * * @return @b vector Time-based rotation quaternion, CJ. */ std::vector SpiceRotation::TimeBasedRotation() { @@ -2714,9 +2719,9 @@ namespace Isis { } - /** + /** * Return time-based 3x3 rotation CJ matrix as a vector of length 9. - * + * * @return @b vector Time-based rotation matrix, CJ. */ std::vector &SpiceRotation::TimeBasedMatrix() { @@ -2724,9 +2729,9 @@ namespace Isis { } - /** + /** * Set the time-based 3x3 rotation CJ matrix from a vector of length 9. - * + * * @param timeBasedMatrix Time-based rotation matrix, TC. */ void SpiceRotation::SetTimeBasedMatrix(std::vector timeBasedMatrix) { @@ -2735,7 +2740,7 @@ namespace Isis { } - /** + /** * Initialize the constant rotation * * @param et Ephemeris time. @@ -2752,7 +2757,7 @@ namespace Isis { } - /** + /** * Compute the angular velocity from the time-based functions fit to the pointing angles * This method computes omega = angular velocity matrix, and extracts the angular velocity. * See comments in the Naif Spicelib routine xf2rav_c.c. @@ -2810,7 +2815,7 @@ namespace Isis { } - /** + /** * Compute the derivative of the 3x3 rotation matrix CJ with respect to time. * The derivative is computed based on p_CJ (J2000 to first constant frame). * @@ -2877,7 +2882,7 @@ namespace Isis { } - /** + /** * Compute & return the rotation matrix that rotates vectors from J2000 to the targeted frame. * * @return @b vector Returned rotation matrix. @@ -2900,7 +2905,7 @@ namespace Isis { for (int col = 0; col < 3; col++) { jcol = col + 3; // Fill the upper left corner - stateTJ[irow*6 + col] = p_TC[vpos] * stateCJ[0][col] + p_TC[vpos+1] * stateCJ[1][col] + stateTJ[irow*6 + col] = p_TC[vpos] * stateCJ[0][col] + p_TC[vpos+1] * stateCJ[1][col] + p_TC[vpos+2] * stateCJ[2][col]; // Fill the lower left corner stateTJ[row*6 + col] = p_TC[vpos] * stateCJ[3][col] + p_TC[vpos+1] * stateCJ[4][col] @@ -2915,7 +2920,7 @@ namespace Isis { } - /** + /** * Extrapolate pointing for a given time assuming a constant angular velocity. * The pointing and angular velocity at the current time will be used to * extrapolate pointing at the input time. If angular velocity does not @@ -2934,7 +2939,7 @@ namespace Isis { std::vector CJ(9, 0.0); double dmat[3][3]; - // Create a rotation matrix for the axis and magnitude of the angular velocity multiplied by + // Create a rotation matrix for the axis and magnitude of the angular velocity multiplied by // the time difference axisar_c((SpiceDouble *) &p_av[0], diffTime*vnorm_c((SpiceDouble *) &p_av[0]), dmat); @@ -2945,7 +2950,7 @@ namespace Isis { } - /** + /** * Set the full cache time parameters. * * @param[in] startTime The earliest time of the full cache coverage @@ -2960,7 +2965,7 @@ namespace Isis { } - /** + /** * Check loaded pck to see if any are binary and set frame type to indicate binary pck. * * This is strictly a local method to be called only when the source is Spice. Its purpose is @@ -2971,7 +2976,7 @@ namespace Isis { // Get a count of all the loaded kernels SpiceInt count; ktotal_c("PCK", &count); - + // Define some Naif constants int FILESIZ = 128; int TYPESIZ = 32; @@ -2981,7 +2986,7 @@ namespace Isis { SpiceChar source[SOURCESIZ]; SpiceInt handle; SpiceBoolean found; - + // Get the name of each loaded kernel. The accuracy of this test depends on the use of the // "bpc" suffix to name a binary pck. If a binary bpc does not have the "bpc" suffix, it will not // be found by this test. This test was suggested by Boris Semenov at Naif. @@ -2994,9 +2999,9 @@ namespace Isis { } } } - - /** + + /** * Set the frame type (m_frameType). * * This is strictly a local method to be called only when the source is Spice. Its purpose is @@ -3012,7 +3017,7 @@ namespace Isis { frinfo_c(frameCode, ¢erBodyCode, &frameClass, &classId, &found); if (found) { - if (frameClass == 2 || centerBodyCode > 0) { + if (frameClass == 2 || (centerBodyCode > 0 && frameClass != 3)) { m_frameType = PCK; // Load the PC information while it is available and set member values loadPCFromSpice(centerBodyCode); @@ -3043,7 +3048,7 @@ namespace Isis { m_frameType = UNKNOWN; } } - } + } } @@ -3102,7 +3107,7 @@ namespace Isis { SpiceDouble delta[3][3]; axisar_c(axis, angle * (SpiceDouble)mult, delta); mxmt_c((SpiceDouble *) &CJ1[0], delta, (SpiceDouble( *) [3]) &p_CJ[0]); - + if (p_hasAngularVelocity) { double v1[3], v2[3]; // Vectors surrounding desired time vequ_c((SpiceDouble *) &p_cacheAv[cacheIndex][0], v1); @@ -3154,7 +3159,7 @@ namespace Isis { * When setting the ephemeris time, updates the rotation state based on data read directly * from NAIF kernels using NAIF Spice routines * - * @throws IException::Io "[framecode] is an unrecognized reference frame code. Has the mission + * @throws IException::Io "[framecode] is an unrecognized reference frame code. Has the mission * frames kernel been loaded?" * @throws IException::Io "No pointing is availabe at request time for frame code" * @@ -3294,7 +3299,7 @@ namespace Isis { /** * When setting the ephemeris time, updates the rotation state based on a polynomial fit - * over spice kernel data. + * over spice kernel data. * * @see SpiceRotation::SetEphemerisTime */ @@ -3308,7 +3313,7 @@ namespace Isis { setEphemerisTimePolyFunction(); std::vector polyAngles(3); // The decomposition fails because the angles are outside the valid range for Naif - // polyAngles = Angles(p_axis3, p_axis2, p_axis1); + // polyAngles = Angles(p_axis3, p_axis2, p_axis1); polyAngles = EvaluatePolyFunction(); std::vector polyVelocity(3); polyVelocity = p_av; @@ -3358,14 +3363,14 @@ namespace Isis { Angle dra = (m_raPole[1] + 2.*m_raPole[2]*centTime) / secondsPerJulianCentury; Angle ddec = (m_decPole[1] + 2.*m_decPole[2]*centTime) / secondsPerJulianCentury; Angle dpm = (m_pm[1] + 2.*m_pm[2]*dTime) / 86400; - + // Now add the nutation/precession (trig part) adjustment to the expression if any int numNutPrec = (int) m_raNutPrec.size(); Angle theta; double dtheta; double costheta; double sintheta; - + for (int ia = 0; ia < numNutPrec; ia++) { theta = m_sysNutPrec0[ia] + m_sysNutPrec1[ia]*centTime; dtheta = m_sysNutPrec1[ia].degrees() * DEG2RAD; @@ -3408,7 +3413,7 @@ namespace Isis { SpiceDouble angsDangs[6]; SpiceDouble BJs[6][6]; vpack_c(w, delta, phi, angsDangs); - vpack_c(dw, ddelta, dphi, &angsDangs[3]); + vpack_c(dw, ddelta, dphi, &angsDangs[3]); eul2xf_c (angsDangs, p_axis3, p_axis2, p_axis1, BJs); // Decompose the state matrix to the rotation and its angular velocity diff --git a/isis/src/base/objs/SpiceRotation/SpiceRotation.h b/isis/src/base/objs/SpiceRotation/SpiceRotation.h index 74b842f046..9523b64c1f 100644 --- a/isis/src/base/objs/SpiceRotation/SpiceRotation.h +++ b/isis/src/base/objs/SpiceRotation/SpiceRotation.h @@ -187,31 +187,37 @@ namespace Isis { * @history 2015-02-20 Jeannie Backer - Improved error messages. * @history 2015-07-21 Kristin Berry - Added additional NaifStatus::CheckErrors() calls to see if * any NAIF errors were signaled. References #2248. - * @history 2015-08-05 Debbie A. Cook - Programmer notes - Modified LoadCache, + * @history 2015-08-05 Debbie A. Cook - Programmer notes - Modified LoadCache, * and ComputeAv. - * Added new methods + * Added new methods * loadPCFromSpice, loadPCFromTable, toJ2000Partial, poleRaCoefs, - * poleDecCoefs, pmCoefs, poleRaNutPrecCoefs, poleDecNutPrecCoefs, + * poleDecCoefs, pmCoefs, poleRaNutPrecCoefs, poleDecNutPrecCoefs, * pmNutPrecCoefs, sysNutPrecConstants, sysNutPrecCoefs, * usePckPolynomial, setPckPolynomial(raCoef, decCoef, pmCoef), * getPckPolynomial, setEphemerisTimePckPolyFunction, getFrameType - * and members m_frameType, m_tOrientationAvailable, + * and members m_frameType, m_tOrientationAvailable, * m_raPole, m_decPole, m_pm, m_raNutPrec, m_decNutPrec, m_pmNutPrec, - * m_sysNutPrec0, m_sysNutPrec1, m_dscale, m_Tscale to support request for + * m_sysNutPrec0, m_sysNutPrec1, m_dscale, m_Tscale to support request for * solving for target body parameters. - * Also added a new enumerated value for Source, PckPolyFunction, + * Also added a new enumerated value for Source, PckPolyFunction, * and PartialType, WRT_RotationRate. * @history 2016-02-15 Debbie A. Cook - Programmer notes - Added private method - * setFrameType to set the frame type. It also loads the planetary - * constants for a PCK type. + * setFrameType to set the frame type. It also loads the planetary + * constants for a PCK type. * @history 2016-06-28 Ian Humphrey - Updated documentation and coding standards. Added new * tests to unit test. Fixes #3972. * @history 2017-12-13 Ken Edmundson - Added "case DYN:" to methods ToReferencePartial and toJ2000Partial. Fixes #5251. * This problem was found when trying to bundle M3 images that had been spiceinited with nadir * pointing. The nadir frame is defined as a Dynamic Frame by Naif. + * @history 2018-04-21 Jesse Mapel - Modified frametype resolution to check if a body centered + * frame uses a CK or PCK definition. This only occurs for bodies + * where a pck cannot accurately define for the duration of a mission. + * The current example is the comet 67P/CHURYUMOV-GERASIMENKO + * imaged by Rosetta. Some future comet/astroid missions are expected + * to use a CK defined body fixed reference frame. Fixes #5408. * * @todo Downsize using Hermite cubic spline and allow Nadir tables to be downsized again. - * @todo Consider making this a base class with child classes based on frame type or + * @todo Consider making this a base class with child classes based on frame type or * storage type (polynomial, polynomial over cache, cache, etc.) */ class SpiceRotation { @@ -236,66 +242,66 @@ namespace Isis { /** * The rotation can come from one of 3 places for an Isis cube. The class * expects function to be after Memcache. - * Spice - the rotation is calculated by Naif Spice routines with data + * Spice - the rotation is calculated by Naif Spice routines with data * read directly from Naif kernels. - * Nadir - the rotation is calculated using the Naif routine twovec with + * Nadir - the rotation is calculated using the Naif routine twovec with * the position and velocity vectors of the spacecraft. - * Memcache - the rotation is linearly interpolated from time-based + * Memcache - the rotation is linearly interpolated from time-based * values in a table. - * PolyFunction - the rotation is calculated from an nth degree + * PolyFunction - the rotation is calculated from an nth degree * polynomial in one variable (time in scaled seconds) * PolyFunctionOverSpice - the rotation is calculated from an nth * degree polynomial fit over the Naif Spice results. - * PckPolyFunction - The rotation is calculated using the IAU fit + * PckPolyFunction - The rotation is calculated using the IAU fit * polynomials in one variable (time in Julian centuries and days). */ - enum Source { - Spice, //!< Directly from the kernels + enum Source { + Spice, //!< Directly from the kernels Nadir, //!< Nadir pointing Memcache, //!< From cached table PolyFunction, //!< From nth degree polynomial - PolyFunctionOverSpice , //!< Kernels plus nth degree polynomial + PolyFunctionOverSpice , //!< Kernels plus nth degree polynomial PckPolyFunction //!< Quadratic polynomial function with linear trignometric terms - }; + }; - /** - * This enumeration indicates whether the partial derivative is taken with - * respect to Right Ascension, Declination, or Twist (or Rotation). - */ - enum PartialType { + /** + * This enumeration indicates whether the partial derivative is taken with + * respect to Right Ascension, Declination, or Twist (or Rotation). + */ + enum PartialType { WRT_RightAscension, //!< With respect to Right Ascension WRT_Declination, //!< With respect to Declination WRT_Twist //!< With respect to Twist or Prime Meridian Rotation }; - /** + /** * Status of downsizing the cache - */ - enum DownsizeStatus { - Yes, //!< Downsize the cache + */ + enum DownsizeStatus { + Yes, //!< Downsize the cache Done, //!< Cache is downsized - No //!< Do not downsize the cache + No //!< Do not downsize the cache }; - /** - * Enumeration for the frame type of the rotation - */ + /** + * Enumeration for the frame type of the rotation + */ enum FrameType { UNKNOWN = 0, //!< Isis specific code for unknown frame type - INERTL = 1, //!< See Naif Frames.req document for + INERTL = 1, //!< See Naif Frames.req document for PCK = 2, //!< definitions - CK = 3, //!< - TK = 4, //!< + CK = 3, //!< + TK = 4, //!< DYN = 5, //!< BPC = 6, //!< Isis specific code for binary pck NOTJ2000PCK = 7 //!< PCK frame not referenced to J2000 - }; + }; void SetEphemerisTime(double et); double EphemerisTime() const; std::vector GetCenterAngles(); - + std::vector Matrix(); std::vector AngularVelocity(); @@ -422,9 +428,9 @@ namespace Isis { void setEphemerisTimePolyFunctionOverSpice(); void setEphemerisTimePckPolyFunction(); std::vector p_cacheTime; //!< iTime for corresponding rotation - std::vector > p_cache; /**< Cached rotations, stored as - rotation matrix from J2000 - to 1st constant frame (CJ) or + std::vector > p_cache; /**< Cached rotations, stored as + rotation matrix from J2000 + to 1st constant frame (CJ) or coefficients of polynomial fit to rotation angles.*/ int p_degree; //!< Degree of fit polynomial for angles @@ -435,11 +441,11 @@ namespace Isis { private: // method void setFrameType(); - std::vector p_constantFrames; /**< Chain of Naif frame codes in constant - rotation TC. The first entry will always + std::vector p_constantFrames; /**< Chain of Naif frame codes in constant + rotation TC. The first entry will always be the target frame code*/ - std::vector p_timeFrames; /**< Chain of Naif frame codes in time-based - rotation CJ. The last entry will always + std::vector p_timeFrames; /**< Chain of Naif frame codes in time-based + rotation CJ. The last entry will always be 1 (J2000 code)*/ double p_timeBias; //!< iTime bias when reading kernels @@ -449,7 +455,7 @@ namespace Isis { bool p_matrixSet; //!< Flag indicating p_TJ has been set bool m_tOrientationAvailable; //!< Target orientation constants are available - + FrameType m_frameType; //!< The type of rotation frame Source p_source; //!< The source of the rotation data @@ -464,7 +470,7 @@ namespace Isis { bool p_degreeApplied; /**< Flag indicating whether or not a polynomial of degree p_degree has been created and used to fill the cache*/ - std::vector p_coefficients[3]; /**< Coefficients defining functions fit + std::vector p_coefficients[3]; /**< Coefficients defining functions fit to 3 pointing angles*/ bool p_noOverride; //!< Flag to compute base time; double p_overrideBaseTime; //!< Value set by caller to override computed base time @@ -473,34 +479,34 @@ namespace Isis { double p_fullCacheStartTime; //!< Initial requested starting time of cache double p_fullCacheEndTime; //!< Initial requested ending time of cache int p_fullCacheSize; //!< Initial requested cache size - std::vector p_TC; /**< Rotation matrix from first constant rotation + std::vector p_TC; /**< Rotation matrix from first constant rotation (after all time-based rotations in frame chain from J2000 to target) to the target frame*/ - std::vector p_CJ; /**< Rotation matrix from J2000 to first constant + std::vector p_CJ; /**< Rotation matrix from J2000 to first constant rotation*/ std::vector > p_cacheAv; //!< Cached angular velocities for corresponding rotactions in p_cache std::vector p_av; //!< Angular velocity for rotation at time p_et - bool p_hasAngularVelocity; /**< Flag indicating whether the rotation + bool p_hasAngularVelocity; /**< Flag indicating whether the rotation includes angular velocity*/ - std::vector StateTJ(); /**< State matrix (6x6) for rotating state + std::vector StateTJ(); /**< State matrix (6x6) for rotating state vectors from J2000 to target frame*/ - // The remaining items are only used for PCK frame types. In this case the + // The remaining items are only used for PCK frame types. In this case the // rotation is stored as a cache, but the coefficients are available for display - // or comparison, and the first three coefficient sets can be solved for and + // or comparison, and the first three coefficient sets can be solved for and // updated in jigsaw. The initial coefficient values are read from a Naif PCK. // // The general equation for the right ascension of the pole is // // raPole = raPole[0] + raPole[1]*Time + raPole[2]*Time**2 + raNutPrec, - // where - // raNutPrec = raNutPrec1[0]*sin(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + + // where + // raNutPrec = raNutPrec1[0]*sin(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + // raNutPrec1[1]*sin(sysNutPrec[1][0] + sysNutPrec[1][1]*Time) + ... // raNutPrec1[N-1]*sin(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time) + // (optional for multiples of nutation precession angles) // raNutPrec2[0]*sin(2*(sysNutPrec[0][0] + sysNutPrec[0][1]*Time)) + // raNutPrec2[1]*sin(2*(sysNutPrec[1][0] + sysNutPrec[1][1]*Time)) + ... - // raNutPrec2[N-1]*sin(2*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + + // raNutPrec2[N-1]*sin(2*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + // raNutPrecM[0]*sin(M*(sysNutPrec[0][0] + sysNutPrec[0][1]*Time)) + // raNutPrecM[1]*sin(M*(sysNutPrec[1][0] + sysNutPrec[1][1]*Time)) + ... // raNutPrecM[N-1]*sin(M*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + @@ -508,8 +514,8 @@ namespace Isis { // The general equation for the declination of the pole is // // decPole = p_decPole[0] + p_decPole[1]*Time + p_decPole[2]*Time**2 + decNutPrec, - // where - // decNutPrec = decNutPrec1[0]*cos(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + + // where + // decNutPrec = decNutPrec1[0]*cos(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + // decNutPrec1[1]*cos(sysNutPrec[1][0] + sysNutPrec[1][1]*Time) + ... // decNutPrec1[N-1]*cos(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time) + // decNutPrec2[0]*cos(2*(sysNutPrec[0][0] + sysNutPrec[0][1]*Time)) + @@ -518,15 +524,15 @@ namespace Isis { // (optional for multiples of nutation precession angles) // decNutPrecM[0]*sin(M*(sysNutPrec[0][0] + sysNutPrec[0][1]*Time)) + // decNutPrecM[1]*sin(M*(sysNutPrec[1][0] + sysNutPrec[1][1]*Time)) + ... - // decNutPrecM[N-1]*sin(M*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + // decNutPrecM[N-1]*sin(M*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) // // and Time is julian centuries since J2000. // // The general equation for the prime meridian rotation is // // pm = p_pm[0] + p_pm[1]*Dtime + p_pm[2]*Dtime**2 + pmNutPrec, - // where - // pmNutPrec = pmNutPrec1[0]*sin(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + + // where + // pmNutPrec = pmNutPrec1[0]*sin(sysNutPrec[0][0] + sysNutPrec[0][1]*Time) + // pmNutPrec1[1]*sin(sysNutPrec[1][0] + sysNutPrec[1][1]*Time) + ... // pmNutPrec1[N-1]*sin(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time) + // (optional for multiples of nutation precession angles) @@ -535,24 +541,24 @@ namespace Isis { // pmNutPrec2[N-1]*sin(2*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + // pmNutPrecM[0]*sin(M*(sysNutPrec[0][0] + sysNutPrec[0][1]*Time)) + // pmNutPrecM[1]*sin(M*(sysNutPrec[1][0] + sysNutPrec[1][1]*Time)) + ... - // pmNutPrecM[N-1]*sin(M*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) + // pmNutPrecM[N-1]*sin(M*(sysNutPrec[N-1][0] + sysNutPrec[N-1][1]*Time)) // - // Time is interval in Julian centuries since the standard epoch, + // Time is interval in Julian centuries since the standard epoch, // dTime is interval in days from the standard epoch (J2000), // - // N is the number of nutation/precession terms for the planetary system of the target - // body, (possibly including multiple angles as unique terms, + // N is the number of nutation/precession terms for the planetary system of the target + // body, (possibly including multiple angles as unique terms, // ie. 2*sysNutPrec[0][0] + sysNutPrec[][1]*Time). // // Many of the constants in this equation are 0. for a given body. // - // M is included as an option for future improvements. M = highest multiple (period) + // M is included as an option for future improvements. M = highest multiple (period) // of any of the nutation/precession angles included in the equations. // - // ***NOTE*** Currently Naif stores multiples (amplitudes) as if they were additional - // nutation/precession terms (periods) in the equation. This method works as - // long as jigsaw does not solve for those values. In order to solve for - // those values, the multiples will need to be known so that the partial + // ***NOTE*** Currently Naif stores multiples (amplitudes) as if they were additional + // nutation/precession terms (periods) in the equation. This method works as + // long as jigsaw does not solve for those values. In order to solve for + // those values, the multiples will need to be known so that the partial // derivatives can be correctly calculated. Some possible ways of doing this // are 1) Convince Naif to change their data format indicating the relation // 2) Make an Isis version of the PCK data and have Isis software to @@ -561,7 +567,7 @@ namespace Isis { // and software to apply them when calculating the rotation and partials. // // For now this software will handle any terms with the same period and different - // amplitudes as unique terms in the equation (raNutPrec, decNutPrec, + // amplitudes as unique terms in the equation (raNutPrec, decNutPrec, // and pmNutPrec). // // The next three vectors will have length 3 (for a quadratic polynomial) if used. @@ -569,19 +575,19 @@ namespace Isis { std::vectorm_decPole; //!< Coefficients of a quadratic polynomial fitting pole dec. std::vectorm_pm ; //!< Coefficients of a quadratic polynomial fitting pole pm. // - // Currently multiples (terms with periods matching other terms but varying amplitudes) - // are handled as additional terms added to the end of the vector as Naif does (see - // comments in any of the standard Naif PCK. - std::vectorm_raNutPrec; //!< Coefficients of pole right ascension nut/prec terms. - std::vectorm_decNutPrec; //!< Coefficients of pole decliniation nut/prec terms. - std::vectorm_pmNutPrec; //!< Coefficients of prime meridian nut/prec terms. + // Currently multiples (terms with periods matching other terms but varying amplitudes) + // are handled as additional terms added to the end of the vector as Naif does (see + // comments in any of the standard Naif PCK. + std::vectorm_raNutPrec; //!< Coefficients of pole right ascension nut/prec terms. + std::vectorm_decNutPrec; //!< Coefficients of pole decliniation nut/prec terms. + std::vectorm_pmNutPrec; //!< Coefficients of prime meridian nut/prec terms. // The periods of bodies in the same system are modeled with a linear equation std::vectorm_sysNutPrec0; //!< Constants of planetary system nut/prec periods std::vectorm_sysNutPrec1; //!< Linear terms of planetary system nut/prec periods // The following scalars are used in the IAU equations to convert p_et to the appropriate time - // units for calculating target body ra, dec, and w. These need to be initialized in every + // units for calculating target body ra, dec, and w. These need to be initialized in every // constructor. //! Seconds per Julian century for scaling time in seconds static const double m_centScale; @@ -591,4 +597,3 @@ namespace Isis { }; #endif - -- GitLab From 32dcded0f028b2fba1d8f5bd6b5dc0e3012b646b Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Mon, 23 Apr 2018 10:15:10 -0700 Subject: [PATCH 0310/1212] Removed comet PCK changes --- isis/src/base/objs/SpiceRotation/SpiceRotation.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp b/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp index 07a39412e2..a7cebd130f 100644 --- a/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp +++ b/isis/src/base/objs/SpiceRotation/SpiceRotation.cpp @@ -891,11 +891,6 @@ namespace Isis { // Get the barycenter (bc) linear coefficients first (2 for each period). // Then we can get the maximum expected coefficients. SpiceInt bcCode = centerBodyCode/100; // Ex: bc code for Jupiter (599) & its moons is 5 - // For comets, ID codes between 1000000 and 2000000, the precession terms just - // use the body code. - if (centerBodyCode > 1000000 && centerBodyCode < 2000000) { - bcCode = centerBodyCode; - } naifKeyword = "BODY" + toString(bcCode) + "_NUT_PREC_ANGLES" ; dtpool_c(naifKeyword.toLatin1().data(), &found, &numExpected, &naifType); std::vectornpAngles(numExpected, 0.); -- GitLab From 7bb2bc18bb95d894235242c72507b661b3e8e2fb Mon Sep 17 00:00:00 2001 From: jcwbacker Date: Mon, 23 Apr 2018 16:40:44 -0700 Subject: [PATCH 0311/1212] fixed typo --- .../PvlToPvlTranslationManager.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp index 78b5787a2d..95ee570ca4 100644 --- a/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp +++ b/isis/src/base/objs/PvlToPvlTranslationManager/PvlToPvlTranslationManager.cpp @@ -40,7 +40,7 @@ namespace Isis { * set the input label before translating. This may be done by using * SetLabel(Pvl inputLabel) or Auto(Pvl inputLabel, Pvl outputLabel). * - * @param transFile The translation file to be used to tranlate keywords in + * @param transFile The translation file to be used to translate keywords in * the input label. */ PvlToPvlTranslationManager::PvlToPvlTranslationManager(const QString &transFile) @@ -53,8 +53,8 @@ namespace Isis { * input label before translating. This may be done by using SetLabel(Pvl * inputLabel) or Auto(Pvl inputLabel, Pvl outputLabel). * - * @param transStrm A stream containing the tranlation table to be used to - * tranlate keywords in the input label. + * @param transStrm A stream containing the translation table to be used to + * translate keywords in the input label. */ PvlToPvlTranslationManager::PvlToPvlTranslationManager(std::istream &transStrm) : LabelTranslationManager(transStrm) { @@ -66,7 +66,7 @@ namespace Isis { * * @param inputLabel The Pvl holding the input label. * - * @param transFile The translation file to be used to tranlate keywords in + * @param transFile The translation file to be used to translate keywords in * the input label. */ PvlToPvlTranslationManager::PvlToPvlTranslationManager(Pvl &inputLabel, @@ -81,8 +81,8 @@ namespace Isis { * * @param inputLabel The Pvl holding the input label. * - * @param transStrm A stream containing the tranlation table to be used to - * tranlate keywords in the input label. + * @param transStrm A stream containing the translation table to be used to + * translate keywords in the input label. */ PvlToPvlTranslationManager::PvlToPvlTranslationManager(Pvl &inputLabel, std::istream &transStrm) @@ -103,7 +103,7 @@ namespace Isis { /** * Returns a translated value. The output name is used to find the input - * group, keyword, default and tranlations in the translation table. If the + * group, keyword, default and translations in the translation table. If the * keyword does not exist in the input label and an input default is available, * then this default will be used as the input value. This input value is * then used to search all of the translations. If a match is found the -- GitLab From b776ea61469e2dbaddac4987cbb2a01d675c0bc2 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 24 Apr 2018 10:49:51 -0700 Subject: [PATCH 0312/1212] PROG: Added some documentation. --- isis/src/qisis/apps/ipce/ipce.cpp | 10 ++++++++++ .../src/qisis/objs/Directory/ImportImagesWorkOrder.cpp | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/apps/ipce/ipce.cpp b/isis/src/qisis/apps/ipce/ipce.cpp index 39b482c1c2..0898a2f01b 100644 --- a/isis/src/qisis/apps/ipce/ipce.cpp +++ b/isis/src/qisis/apps/ipce/ipce.cpp @@ -26,6 +26,7 @@ #include #include +#include "FileName.h" #include "Gui.h" #include "IException.h" #include "IpceMainWindow.h" @@ -39,11 +40,20 @@ int main(int argc, char *argv[]) { Gui::checkX11(); try { + + // Add the Qt plugin directory to the library path + FileName qtpluginpath("$ISISROOT/3rdParty/plugins"); + QCoreApplication::addLibraryPath(qtpluginpath.expanded()); + QApplication *app = new QIsisApplication(argc, argv); QApplication::setApplicationName("ipce"); IpceMainWindow *mainWindow = new IpceMainWindow(); + // For OSX, had problems with cneteditor view because it has it's own menus, caused the + // menubar on OSX to lockup + QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar, true); + // We do not want a showMaximized call, as that will negate the settings read during the main // window's initialization. References #4358. mainWindow->show(); diff --git a/isis/src/qisis/objs/Directory/ImportImagesWorkOrder.cpp b/isis/src/qisis/objs/Directory/ImportImagesWorkOrder.cpp index dfacd50a17..60137383da 100644 --- a/isis/src/qisis/objs/Directory/ImportImagesWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/ImportImagesWorkOrder.cpp @@ -412,7 +412,9 @@ namespace Isis { projectImage->relocateDnData(FileName(destination).name()); } - // Set new ecub to readOnly + // Set new ecub to readOnly. When closing cube, the labels were being re-written because + // the cube was read/write. This caused a segfault when imported large number of images + // because of a label template file being opened too many times. projectImage->reopen(); delete input; -- GitLab From df402d218f4d842d2e746ad649273c45846fc1a2 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 25 Apr 2018 12:47:29 -0700 Subject: [PATCH 0313/1212] PROG: Added documentation. --- isis/src/qisis/apps/ipce/ControlNetTool.cpp | 1 + 1 file changed, 1 insertion(+) create mode 120000 isis/src/qisis/apps/ipce/ControlNetTool.cpp diff --git a/isis/src/qisis/apps/ipce/ControlNetTool.cpp b/isis/src/qisis/apps/ipce/ControlNetTool.cpp new file mode 120000 index 0000000000..a8d0f10194 --- /dev/null +++ b/isis/src/qisis/apps/ipce/ControlNetTool.cpp @@ -0,0 +1 @@ +../../objs/ControlNetTool/ControlNetTool.cpp \ No newline at end of file -- GitLab From 269800e1d369a17e07eed6fc83d33347c8a0ce45 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 25 Apr 2018 12:48:41 -0700 Subject: [PATCH 0314/1212] PROG: Added documentation. --- isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp index 8fbf7c7474..221b544eda 100644 --- a/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp +++ b/isis/src/qisis/objs/ControlNetTool/ControlNetTool.cpp @@ -35,7 +35,8 @@ using namespace std; namespace Isis { /** - * ControlNet (Qnet) tool - Handles mouse button actions and drawing control points on viewports + * ControlNet tool - Handles mouse button actions and drawing control points on viewports in the + * CubeDnView for the ipce application. * * @param parent Pointer to the parent widget for the ControlNet tool * -- GitLab From b570de8cba08c6f278e2aafd392b85ab01b6bbfa Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 25 Apr 2018 12:49:54 -0700 Subject: [PATCH 0315/1212] Fixed crash when creating a new control point which occured when a constrained or fixed point was previously edited. Fixes #5399. --- .../objs/ControlPointEditWidget/ControlPointEditWidget.cpp | 5 +---- .../objs/ControlPointEditWidget/ControlPointEditWidget.h | 5 ++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index 5bfa408fee..75b70c885e 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -710,7 +710,6 @@ namespace Isis { FileName ControlPointEditWidget::findGroundFile() { FileName groundFile(m_editPoint->GetAprioriSurfacePointSourceFile()); - if (m_changeAllGroundLocation) { QFileInfo oldFile(groundFile.expanded()); QFileInfo newFile(m_newGroundDir, oldFile.fileName()); @@ -1028,7 +1027,7 @@ namespace Isis { Camera *cam; for (int i = 0; i < m_serialNumberList->size(); i++) { -// if (m_serialNumberList->serialNumber(i) == m_groundSN) continue; + if (m_serialNumberList->serialNumber(i) == m_groundSN) continue; cam = m_controlNet->Camera(i); if (cam->SetUniversalGround(latitude, longitude)) { // Make sure point is within image boundary @@ -1246,9 +1245,7 @@ namespace Isis { } // emit a signal to alert user to save when exiting - qDebug()<<"ControlPointEditWidget before cnetModified signal"; emit cnetModified(); - qDebug()<<"ControlPointEditWidget after cnetModified signal"; emit saveControlNet(); if (m_editPoint != NULL) { diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index 0a0dbbe34b..b19e944a0c 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -49,7 +49,7 @@ namespace Isis { class UniversalGroundMap; /** - * @brief Gui for editing ControlPoint + * @brief Gui for editing ControlPoints in ipce application * * @ingroup Visualization Tools * @@ -85,6 +85,9 @@ namespace Isis { * @history 2018-03-30 Tracie Sucharski - Save Control in addition to the control net and use * Control to write the control net so Control can keep track of the * modification state of the control net. + * @history 2018-04-25 Tracie Sucharski - Fix bug when creating a control point from CubeDnView + * or FootprintView if a ground source exists in the serial number list. + * Fixes #5399. */ class ControlPointEditWidget : public QWidget { Q_OBJECT -- GitLab From 0cb1b3b9ae078ce46b7798e0dadbb59e8d1b524b Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 25 Apr 2018 12:51:14 -0700 Subject: [PATCH 0316/1212] Fix bug reading imported shapes from a saved project which caused all shapes to be put on project tree under the last import node on the tree. Fixes #5274. --- isis/src/qisis/objs/Project/Project.cpp | 2 +- isis/src/qisis/objs/Project/Project.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/Project/Project.cpp b/isis/src/qisis/objs/Project/Project.cpp index a514cc94b7..b3f45a0882 100644 --- a/isis/src/qisis/objs/Project/Project.cpp +++ b/isis/src/qisis/objs/Project/Project.cpp @@ -2855,7 +2855,7 @@ namespace Isis { else if (localName == "imageList") { m_imageLists.append(new ImageList(m_project, reader())); } - else if (localName == "shapeLists") { + else if (localName == "shapeList") { m_shapeLists.append(new ShapeList(m_project, reader())); } else if (localName == "templateList") { diff --git a/isis/src/qisis/objs/Project/Project.h b/isis/src/qisis/objs/Project/Project.h index 264a942428..848fc61012 100644 --- a/isis/src/qisis/objs/Project/Project.h +++ b/isis/src/qisis/objs/Project/Project.h @@ -250,6 +250,9 @@ namespace Isis { * to the new project, so this had to be done in * Control::copyToNewProjectRoot. If simply saving current projct, * the write is done here in the save method. + * @history 2018-04-25 Tracie Sucharski - Fixed typo in XmlHandler::startElement reading + * imported shapes from a project which caused the shapes to be put in + * the wrong place on the project tree. Fixes #5274. * */ class Project : public QObject { -- GitLab From bd45a738a150a19ffe2ae6079a1240e7035a60fb Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Wed, 25 Apr 2018 13:53:29 -0700 Subject: [PATCH 0317/1212] Removed exposure duration from junocam frame start time. --- isis/src/juno/objs/JunoCamera/JunoCamera.cpp | 40 ++++++++++---------- isis/src/juno/objs/JunoCamera/JunoCamera.h | 8 ++-- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/isis/src/juno/objs/JunoCamera/JunoCamera.cpp b/isis/src/juno/objs/JunoCamera/JunoCamera.cpp index 3fbb754ec4..f7c098c864 100644 --- a/isis/src/juno/objs/JunoCamera/JunoCamera.cpp +++ b/isis/src/juno/objs/JunoCamera/JunoCamera.cpp @@ -48,7 +48,7 @@ namespace Isis { m_spacecraftNameLong = "Juno"; m_spacecraftNameShort = "Juno"; - + NaifStatus::CheckErrors(); // Set up the camera characteristics @@ -73,7 +73,7 @@ namespace Isis { detMap->SetDetectorSampleSumming(summing); detMap->SetDetectorLineSumming(summing); } - + // Juno codes int junoCode = naifIkCode(); QString juno = toString(junoCode); @@ -111,7 +111,7 @@ namespace Isis { // get start et for this frame, in seconds double frameStartEt = observationStartEt + startTimeBias + (frameNumber - 1) - * (exposureDur + interFrameDelay + interFrameDelayBias); + * (interFrameDelay + interFrameDelayBias); // Set start time to center of exposure time to ensure the proper SPICE data is cached. setTime(frameStartEt + exposureDur / 2.0); @@ -123,24 +123,24 @@ namespace Isis { /** * Destroys the JunoCamera object. */ - JunoCamera::~JunoCamera() { + JunoCamera::~JunoCamera() { } /** * Returns the shutter open and close times. The user should pass in the * ExposureDuration keyword value, converted from milliseconds to seconds, and - * the SpacecraftClockCount keyword value, converted to ephemeris time. The - * StartTime keyword value from the labels represents the shutter open time of - * the observation. This method uses the FramingCamera class implementation, - * returning the given time value as the shutter open and the sum of the time + * the SpacecraftClockCount keyword value, converted to ephemeris time. The + * StartTime keyword value from the labels represents the shutter open time of + * the observation. This method uses the FramingCamera class implementation, + * returning the given time value as the shutter open and the sum of the time * value and exposure duration as the shutter close. - * + * * @param exposureDuration Exposure duration value from the labels, converted * to seconds. - * @param time The SpacecraftClockCount value from the labels, converted to + * @param time The SpacecraftClockCount value from the labels, converted to * ephemeris time - * + * * @return @b pair < @b iTime, @b iTime > The first value is the shutter * open time and the second is the shutter close time. */ @@ -152,9 +152,9 @@ namespace Isis { /** - * Retrieves the CK frame ID for the JunoCam instrument. - * - * @return @b int The appropriate instrument code for the "Camera-matrix" + * Retrieves the CK frame ID for the JunoCam instrument. + * + * @return @b int The appropriate instrument code for the "Camera-matrix" * Kernel Frame ID. */ int JunoCamera::CkFrameId() const { @@ -162,9 +162,9 @@ namespace Isis { } - /** - * Retrieves the J2000 CK Reference ID for the JunoCam instrument. - * + /** + * Retrieves the J2000 CK Reference ID for the JunoCam instrument. + * * @return @b int The appropriate instrument code for the "Camera-matrix" * Kernel Reference ID. */ @@ -184,10 +184,10 @@ namespace Isis { } - /** + /** * Retrieves the J2000 SPK Reference ID for the JunoCam instrument. - * - * @return @b int The appropriate instrument code for the Spacecraft + * + * @return @b int The appropriate instrument code for the Spacecraft * Kernel Reference ID. */ int JunoCamera::SpkReferenceId() const { diff --git a/isis/src/juno/objs/JunoCamera/JunoCamera.h b/isis/src/juno/objs/JunoCamera/JunoCamera.h index 142edd90c4..a61108f25c 100644 --- a/isis/src/juno/objs/JunoCamera/JunoCamera.h +++ b/isis/src/juno/objs/JunoCamera/JunoCamera.h @@ -34,20 +34,22 @@ namespace Isis { * framing instrument. This is * also a more flexible camera model since it will make controlling the * individual framelets alot easier. - * + * * @ingroup SpiceInstrumentsAndCameras * @ingroup Juno * @author 2017-07-22 Jeannie Backer * * @internal - * @history 2017-07-22 Jeannie Backer - Original version. + * @history 2017-07-22 Jeannie Backer - Original version. + * @history 2018-04-25 Jesse Mapel - Modified frame start calculation to not + * use exposure duration. Fixes #5236. */ class JunoCamera : public FramingCamera { public: JunoCamera(Cube &cube); ~JunoCamera(); - virtual std::pair ShutterOpenCloseTimes(double time, + virtual std::pair ShutterOpenCloseTimes(double time, double exposureDuration); virtual int CkFrameId() const; virtual int CkReferenceId() const; -- GitLab From 138ddd2330be372d1c5c25d2b9874fb0a95b1187 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski <32341175+TracieSucharski@users.noreply.github.com> Date: Thu, 26 Apr 2018 09:55:48 -0700 Subject: [PATCH 0318/1212] Delete ControlNetTool.cpp --- isis/src/qisis/apps/ipce/ControlNetTool.cpp | 1 - 1 file changed, 1 deletion(-) delete mode 120000 isis/src/qisis/apps/ipce/ControlNetTool.cpp diff --git a/isis/src/qisis/apps/ipce/ControlNetTool.cpp b/isis/src/qisis/apps/ipce/ControlNetTool.cpp deleted file mode 120000 index a8d0f10194..0000000000 --- a/isis/src/qisis/apps/ipce/ControlNetTool.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/ControlNetTool/ControlNetTool.cpp \ No newline at end of file -- GitLab From 3b02bb3ec4c6388a80902ab112f26e88f0fc58c9 Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Thu, 26 Apr 2018 10:24:51 -0700 Subject: [PATCH 0319/1212] Added ck body rotation test --- .../objs/SpiceRotation/SpiceRotation.truth | 7 ++ isis/src/base/objs/SpiceRotation/unitTest.cpp | 75 ++++++++++++------- 2 files changed, 53 insertions(+), 29 deletions(-) diff --git a/isis/src/base/objs/SpiceRotation/SpiceRotation.truth b/isis/src/base/objs/SpiceRotation/SpiceRotation.truth index fa867d10df..695c9a31d7 100644 --- a/isis/src/base/objs/SpiceRotation/SpiceRotation.truth +++ b/isis/src/base/objs/SpiceRotation/SpiceRotation.truth @@ -624,6 +624,13 @@ Frame type is binary PCK and cannot be updated End of PCK testing +Testing CK based body rotation with 67P/Churyumov–Gerasimenko data ... +Time = 4.6285471e+08 +CJ = 0.93816333 -0.34618155 -0.002810256 + 0.30996014 0.84356223 -0.43855157 + 0.15418909 0.41056193 0.89870163 + + Testing exceptions... **I/O ERROR** Cannot find [INS-99999_TRANSX] in text kernels. diff --git a/isis/src/base/objs/SpiceRotation/unitTest.cpp b/isis/src/base/objs/SpiceRotation/unitTest.cpp index 95f0c9749f..673da7149b 100644 --- a/isis/src/base/objs/SpiceRotation/unitTest.cpp +++ b/isis/src/base/objs/SpiceRotation/unitTest.cpp @@ -37,6 +37,8 @@ int main(int argc, char *argv[]) { QString mocbsp(dir + "moc.bsp"); QString de(dir + "de405.bsp"); QString pck("/usgs/cpkgs/isis3/data/base/kernels/pck/pck00009.tpc"); + QString cgFK(dir + "ROS_V29.TF"); + QString cgCK(dir + "CATT_DV_145_02_______00216.BC"); //QString mocadd(dir+"mocAddendum.ti"); QString mocspice(dir + "mocSpiceRotationUnitTest.ti"); furnsh_c(naif.toLatin1().data()); @@ -47,6 +49,8 @@ int main(int argc, char *argv[]) { furnsh_c(de.toLatin1().data()); furnsh_c(pck.toLatin1().data()); furnsh_c(mocspice.toLatin1().data()); + furnsh_c(cgFK.toLatin1().data()); + furnsh_c(cgCK.toLatin1().data()); double startTime = -69382819.0; double endTime = -69382512.0; @@ -202,7 +206,7 @@ int main(int argc, char *argv[]) { lookC.push_back(1.); vector lookJ = rot.J2000Vector(lookC); // Save a J2000 vector for testing target body partial methods later. - vector testLookJ(lookJ); + vector testLookJ(lookJ); cout << " For lookJ = " << lookJ[0] << " " << lookJ[1] << " " << lookJ[2] << endl; vector dAraLookC(3); dAraLookC = rot.ToReferencePartial(lookJ, SpiceRotation::WRT_RightAscension, 0); @@ -385,11 +389,11 @@ int main(int argc, char *argv[]) { // Use Galileo Io image with product id = 21I0165 for testing nutation/precession terms. Mars has none. // tet = -15839262.24291 // body frame code for Io = 10023 - // Use Europa for exercising the code using nutation/precession terms. Mars has none. + // Use Europa for exercising the code using nutation/precession terms. Mars has none. SpiceRotation targrot1(10014); //Frame code for Mars // SpiceRotation targrotV1(10024); //Frame code for Europa // targrotV1.LoadCache(-646009153.46723, -646009153.46723, 1); // This calls LoadPcFromSpice for Europa - SpiceRotation targrotV1(10023); //Frame code for Io + SpiceRotation targrotV1(10023); //Frame code for Io targrotV1.LoadCache(-15839262.24291, -15839262.24291, 1); // This calls LoadPcFromSpice for Io targrot1.LoadCache(startTime, endTime, 2); // This calls LoadPcFromSpice for Mars cout << "Test CacheLabel for PCK data..." << endl; @@ -397,8 +401,8 @@ int main(int argc, char *argv[]) { Table pcktabV = targrotV1.Cache("Planetary constants test table"); // This calls CacheLabel SpiceRotation targrot(10014); // Mars // SpiceRotation targrotV(10024); // Europa -- The results for pm will differ slightly from TrigBasis because of the older PCK - SpiceRotation targrotV(10023); // Io -- - cout << "Test LoadPCFromTable..." << endl; + SpiceRotation targrotV(10023); // Io -- + cout << "Test LoadPCFromTable..." << endl; targrot.LoadCache(pcktab); // This calls LoadPcFromTable targrotV.LoadCache(pcktabV); // This calls LoadPcFromTable // Now get the values @@ -460,7 +464,7 @@ int main(int argc, char *argv[]) { // cout << " Angles = " << pckanglesV[0]*dpr_c() <<","<< pckanglesV[1]*dpr_c() <<"," // << pckanglesV[2]*dpr_c() < av = targrotV.AngularVelocity(); cout << "SpiceRotation av = " << av[0] << " " << av[1] << " " << av[2] << endl; SpiceDouble tsipm[6][6]; - sxform_c ( "J2000", "IAU_IO", -15839262.24291, tsipm); - // sxform_c ( "J2000", "IAU_EUROPA", -646009153.46723, tsipm); + sxform_c ( "J2000", "IAU_IO", -15839262.24291, tsipm); + // sxform_c ( "J2000", "IAU_EUROPA", -646009153.46723, tsipm); SpiceDouble tipm[3][3]; vector nav(3,0.); xf2rav_c (tsipm, tipm, &(nav[0]) ); - cout << "J2000 to body-fixed Naif av = " << nav[0] << " " << nav[1] << " " << nav[2] << endl; + cout << "J2000 to body-fixed Naif av = " << nav[0] << " " << nav[1] << " " << nav[2] << endl; } cout << endl; @@ -559,7 +563,7 @@ int main(int argc, char *argv[]) { << matchLookJ[1] << " " << matchLookJ[2] << endl; dLookB = targrot.ToReferencePartial(testLookJ, SpiceRotation::WRT_Twist, 1); - cout << endl << " dLookB with respect to rotation rate = " << dLookB[0] << " " << + cout << endl << " dLookB with respect to rotation rate = " << dLookB[0] << " " << dLookB[1] << " " << dLookB[2] << endl; //If I apply toJ2000Partial to dLookB, I get back lookJ(x,y,0) with roundoff -- 05-12-2015 DAC matchLookJ = targrot.toJ2000Partial(dLookB, SpiceRotation::WRT_Twist, 1); @@ -567,7 +571,7 @@ int main(int argc, char *argv[]) { << matchLookJ[1] << " " << matchLookJ[2] << endl; dLookB = targrot.ToReferencePartial(testLookJ, SpiceRotation::WRT_Twist, 0); - cout << endl << " dLookB with respect to rotation = " << dLookB[0] << " " << + cout << endl << " dLookB with respect to rotation = " << dLookB[0] << " " << dLookB[1] << " " << dLookB[2] << endl; //If I apply toJ2000Partial to dLookB, I get back lookJ(x,y,0) with roundoff -- 05-12-2015 DAC matchLookJ = targrot.toJ2000Partial(dLookB, SpiceRotation::WRT_Twist, 0); @@ -589,15 +593,28 @@ int main(int argc, char *argv[]) { if (frameType == SpiceRotation::BPC) cout << "Frame type is binary PCK and cannot be updated" << endl; - + cout << "End of PCK testing" << endl; - + // Test CK based body rotation + cout << endl << endl << "Testing CK based body rotation with 67P/Churyumov–Gerasimenko data ..." << endl; + + SpiceRotation cgRotation(-1000012000); + // Test time from Rosetta OSIRIS NAC image n20140901t144253568id30f22 + double cgTestTime = 462854709.88606; + cgRotation.SetEphemerisTime(cgTestTime); + vector cgCJ = cgRotation.Matrix(); + cout << "Time = " << cgRotation.EphemerisTime() << endl; + cout << "CJ = " << cgCJ[0] << " " << cgCJ[1] << " " << cgCJ[2] << endl; + cout << " " << cgCJ[3] << " " << cgCJ[4] << " " << cgCJ[5] << endl; + cout << " " << cgCJ[6] << " " << cgCJ[7] << " " << cgCJ[8] << endl; + + //Test exceptions cout << endl << endl << "Testing exceptions..." << endl; SpiceRotation testRot(-94031); // MGS_MOC - // SpiceRotation(frameCode, targetCode) + // SpiceRotation(frameCode, targetCode) // "Cannot find [key] in text kernels try { cout << endl; @@ -611,13 +628,13 @@ int main(int argc, char *argv[]) { // "Argument cacheSize must not be less or equal to zero" try { cout << endl; - testRot.LoadCache(10, 20, -1); + testRot.LoadCache(10, 20, -1); } catch (IException &e) { e.print(); } - // "Argument startTime must be less than or equal to endTime" + // "Argument startTime must be less than or equal to endTime" try { cout << endl; testRot.LoadCache(20, 10, 1); @@ -639,7 +656,7 @@ int main(int argc, char *argv[]) { try { cout << endl; testRot.LoadCache(startTime, endTime, 2); - testRot.LoadCache(startTime, endTime - 1, 2); + testRot.LoadCache(startTime, endTime - 1, 2); } catch (IException &e) { e.print(); @@ -656,7 +673,7 @@ int main(int argc, char *argv[]) { } // LineCache(tableName) - // "Only cached rotations can be returned as a line cache of quaternions and time" + // "Only cached rotations can be returned as a line cache of quaternions and time" try { cout << endl; SpiceRotation sr(-94031); @@ -665,7 +682,7 @@ int main(int argc, char *argv[]) { catch (IException &e) { e.print(); } - + // Cache(tableName) // "To create table source of data must be either Memcache or PolyFunction" try { @@ -690,10 +707,10 @@ int main(int argc, char *argv[]) { e.print(); } - // DPolynomial(coeffIndex) - // "Unable to evaluate the derivative of the SPCIE rotation fit + // DPolynomial(coeffIndex) + // "Unable to evaluate the derivative of the SPCIE rotation fit // polynomial for the given coefficient index. Index is negative - // or exceeds degree of polynomial" + // or exceeds degree of polynomial" try { cout << endl; testRot.DPolynomial(-1); @@ -703,7 +720,7 @@ int main(int argc, char *argv[]) { } // DPckPolynomial(partialVar, coeffIndex) - // "Unable to evaluate the derivative of the SPCIE rotation fit + // "Unable to evaluate the derivative of the SPCIE rotation fit // polynomial for the given coefficient index. Index is negative // or exceeds degree of polynomial" try { @@ -731,9 +748,9 @@ int main(int argc, char *argv[]) { // LoadTimeCache() //TODO test its 3 exceptions - + // GetFullCacheTime() - // "Time cache not availabe -- rerun spiceinit" + // "Time cache not availabe -- rerun spiceinit" try { cout << endl; SpiceRotation sr(-94031); @@ -745,7 +762,7 @@ int main(int argc, char *argv[]) { // FrameTrace() //TODO test its 3 exceptions - + // ComputeAv() // "The SpiceRotation pointing angles must be fit to polynomials in order to // compute angular velocity." -- GitLab From 3accdd899af41972675db0f7b1853654f7f91c8e Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Sat, 28 Apr 2018 14:06:13 -0700 Subject: [PATCH 0320/1212] Edited colors of control points. --- .../MosaicSceneWidget/ControlPointGraphicsItem.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp index 289c43e789..69955aa2fd 100644 --- a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp +++ b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.cpp @@ -52,15 +52,13 @@ namespace Isis { if (cp->IsIgnored()) { // Was red setPen(QPen(QColor(255, 255, 0), 0.0)); // set point marker yellow } - else if (cp->IsEditLocked()) { - setPen(QPen(Qt::magenta, 0.0)); + else if (cp->IsEditLocked()) { // was magenta + setPen(QPen(Qt::red, 0.0)); } - else if (cp->GetType() == ControlPoint::Fixed) { + else if ( (cp->GetType() == ControlPoint::Fixed) + || (cp->GetType() == ControlPoint::Constrained) ) { setPen(QPen(Qt::magenta, 0.0)); // Was green } - else if (cp->GetType() == ControlPoint::Constrained) { - setPen(QPen(Qt::red, 0.0)); //was darkGreen - } else {// Free setPen(QPen(Qt::green, 0.0)); //was blue } -- GitLab From 5364b89f0283a25cd67d38fb3b5aeca0d8c62888 Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Tue, 1 May 2018 11:50:54 -0700 Subject: [PATCH 0321/1212] Modified ProcessImport to correctly use BIP data suffix/prefix. --- .../base/objs/ProcessImport/ProcessImport.cpp | 102 ++++++++---------- .../base/objs/ProcessImport/ProcessImport.h | 15 ++- 2 files changed, 55 insertions(+), 62 deletions(-) diff --git a/isis/src/base/objs/ProcessImport/ProcessImport.cpp b/isis/src/base/objs/ProcessImport/ProcessImport.cpp index c6ccd306bd..7ae955ad9b 100644 --- a/isis/src/base/objs/ProcessImport/ProcessImport.cpp +++ b/isis/src/base/objs/ProcessImport/ProcessImport.cpp @@ -725,7 +725,7 @@ namespace Isis { * This method returns the number of data trailer bytes */ int ProcessImport::DataTrailerBytes() const { - return p_dataTrailerBytes; + return p_dataTrailerBytes; } @@ -1847,11 +1847,6 @@ namespace Isis { */ void ProcessImport::ProcessBip(void funct(Isis::Buffer &out)) { - // Figure out the number of bytes to read for a single line - int readBytes = Isis::SizeOf(p_pixelType); - readBytes = readBytes * p_ns * p_nb; - char *in = new char [readBytes]; - // Set up an Isis::EndianSwapper object QString tok(Isis::ByteOrderName(p_byteOrder)); tok = tok.toUpper(); @@ -1902,6 +1897,11 @@ namespace Isis { p_progress->SetMaximumSteps(p_nl); p_progress->CheckStatus(); + // Figure out the number of bytes to read for a single line + int sampleBytes = Isis::SizeOf(p_pixelType) * p_nb + p_dataPreBytes + p_dataPostBytes; + int readBytes = p_ns * sampleBytes; + char *in = new char [readBytes]; + // Loop for each line for(int line = 0; line < p_nl; line++) { // Check the last io @@ -1915,16 +1915,6 @@ namespace Isis { // Space for storing prefix and suffix data pointers vector tempPre, tempPost; - // Handle any line prefix bytes - pos = fin.tellg(); - if (p_saveDataPre) { - tempPre.push_back(new char[p_dataPreBytes]); - fin.read(tempPre.back(), p_dataPreBytes); - } - else { - fin.seekg(p_dataPreBytes, ios_base::cur); - } - // Check the last io if (!fin.good()) { QString msg = "Cannot read file [" + p_inFile + "]. Position [" + @@ -1960,31 +1950,32 @@ namespace Isis { // to special pixels int osamp = 0; - for(int samp = band; samp < p_ns * p_nb; samp += p_nb) { + for(int samp = 0; samp < p_ns; samp++) { + int bufferIndex = p_dataPreBytes + Isis::SizeOf(p_pixelType)*band + samp*sampleBytes; switch(p_pixelType) { case Isis::UnsignedByte: - (*out)[osamp] = (double)((unsigned char *)in)[samp]; + (*out)[osamp] = (double)((unsigned char *)in)[bufferIndex]; break; case Isis::UnsignedWord: (*out)[osamp] = - (double)swapper.UnsignedShortInt((unsigned short int *)in+samp); + (double)swapper.UnsignedShortInt(&in[bufferIndex]); break; case Isis::SignedWord: - (*out)[osamp] = (double)swapper.ShortInt((short int *)in+samp); + (*out)[osamp] = (double)swapper.ShortInt(&in[bufferIndex]); break; case Isis::SignedInteger: - (*out)[samp] = (double)swapper.Int((int *)in+samp); + (*out)[samp] = (double)swapper.Int(&in[bufferIndex]); break; case Isis::Real: if(p_vax_convert) { - (*out)[osamp]= VAXConversion( (float *)in+samp ); + (*out)[osamp]= VAXConversion(&in[bufferIndex]); } else { - (*out)[osamp] = (double)swapper.Float((float *)in+samp); + (*out)[osamp] = (double)swapper.Float(&in[bufferIndex]); } break; case Isis::Double: - (*out)[osamp] = (double)swapper.Double((double *)in+samp); + (*out)[osamp] = (double)swapper.Double(&in[bufferIndex]); break; default: break; @@ -2008,47 +1999,38 @@ namespace Isis { funct(*out); } - // Handle any line suffix bytes - pos = fin.tellg(); - if (p_saveDataPost) { - tempPost.push_back(new char[p_dataPostBytes]); - fin.read(tempPost.back(), p_dataPostBytes); - } - else { - fin.seekg(p_dataPostBytes, ios_base::cur); - } - - // Check the last io - if (!fin.good()) { - QString msg = "Cannot read file [" + p_inFile + "]. Position [" + - toString((int)pos) + "]. Byte count [" + - toString(p_dataPreBytes) + "]" ; - throw IException(IException::Io, msg, _FILEINFO_); - } - - - // Save off the prefix bytes vector - if (p_saveDataPre) { - p_dataPre.push_back(tempPre); - tempPre.clear(); - } + } // End band loop - // Save off the suffix bytes vector - if (p_saveDataPost) { - p_dataPost.push_back(tempPost); - tempPost.clear(); + // Handle record prefix and suffix + if (p_saveDataPre) { + for(int samp = 0; samp < p_ns; samp++) { + char *samplePrefix = new char[p_dataPreBytes]; + memcpy(samplePrefix, &in[samp*sampleBytes], p_dataPreBytes); + tempPre.push_back(samplePrefix); } - - // Check the last io - if (!fin.good()) { - QString msg = "Cannot read file [" + p_inFile + "]. Position [" + - toString((int)pos) + "]. Byte count [" + - toString(p_fileHeaderBytes) + "]" ; - throw IException(IException::Io, msg, _FILEINFO_); + p_dataPre.push_back(tempPre); + tempPre.clear(); + } + if (p_saveDataPost) { + for(int samp = 0; samp < p_ns; samp++) { + char *sampleSuffix = new char[p_dataPostBytes]; + int suffixIndex = p_dataPreBytes + Isis::SizeOf(p_pixelType)*p_nb + samp*sampleBytes; + memcpy(sampleSuffix, &in[suffixIndex], p_dataPostBytes); + tempPost.push_back(sampleSuffix); } + p_dataPost.push_back(tempPost); + tempPost.clear(); + } - } // End band loop + // Check the last io + if (!fin.good()) { + QString msg = "Cannot read file [" + p_inFile + "]. Position [" + + toString((int)pos) + "]. Byte count [" + + toString(p_dataPreBytes) + "]" ; + throw IException(IException::Io, msg, _FILEINFO_); + } + // Handle the data trailer pos = fin.tellg(); if (p_saveDataTrailer) { p_dataTrailer.push_back(new char[p_dataTrailerBytes]); diff --git a/isis/src/base/objs/ProcessImport/ProcessImport.h b/isis/src/base/objs/ProcessImport/ProcessImport.h index 1e47db453f..33a3cd3fa5 100644 --- a/isis/src/base/objs/ProcessImport/ProcessImport.h +++ b/isis/src/base/objs/ProcessImport/ProcessImport.h @@ -150,8 +150,19 @@ namespace Isis { * imports. Brought code closer to coding standards. * @history 2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling. * @history 2017-05-29 Kristin Berry - Added support for data trailers in BIP files and fixed - * a typo so that DataTrailerBytes() will return the correct value. - * References #3888. + * a typo so that DataTrailerBytes() will return the correct value. + * References #3888. + * @history 2018-05-01 Jesse Mapel - Changed data suffix and prefix in BIP files. Previously, + * data suffixes and prefixes were for each band before/after each line. + * Now, data suffixes and prefixes are before/after each sample. For a + * RGB, 3-band image with n samples a line of data was previously + * | Header | R prefix | G prefix | B prefix | R 1 | G 1 | B 1| ... + * | R n | G n | B n| R suffix | G suffix | B suffix | Trailer |. Now + * it is | Header | Prefix 1 | R 1 | G 1 | B 1 | Suffix 1 | ... + * | Prefix n | R n | G n | B n | Suffix n | Trailer |. This change + * was made to accomodate Rosetta VIRTIS-m calibrated data files and + * has no impact on other supported BIP files. + * Fixes #5398. * */ class ProcessImport : public Isis::Process { -- GitLab From b9eb204cf4f0845ccfab05719fb8dc4ab599d2a2 Mon Sep 17 00:00:00 2001 From: Jesse Mapel Date: Tue, 1 May 2018 11:51:21 -0700 Subject: [PATCH 0322/1212] Modified rosvirtis2isis to extract the timing backplane for lvl3 data --- .../apps/rosvirtis2isis/rosvirtis2isis.cpp | 416 ++++++++++-------- 1 file changed, 222 insertions(+), 194 deletions(-) diff --git a/isis/src/rosetta/apps/rosvirtis2isis/rosvirtis2isis.cpp b/isis/src/rosetta/apps/rosvirtis2isis/rosvirtis2isis.cpp index 0b2760e1c4..5180b7c54b 100644 --- a/isis/src/rosetta/apps/rosvirtis2isis/rosvirtis2isis.cpp +++ b/isis/src/rosetta/apps/rosvirtis2isis/rosvirtis2isis.cpp @@ -89,233 +89,261 @@ void IsisMain () throw IException(IException::Unknown, msg, _FILEINFO_); } + int procLevel = (int) pdsLabel.findKeyword("PROCESSING_LEVEL_ID"); + // Override default DataTrailerBytes constructed from PDS header // Will this number ever change? Where did this # come from? - p.SetDataTrailerBytes(864); + if (procLevel == 2) { + p.SetDataTrailerBytes(864); + } + else if ((procLevel == 3)) { + p.SetDataTrailerBytes(0); + p.SetDataSuffixBytes(4); + } p.StartProcess(); - // Retrieve HK settings file and read in HK values. - QList hk; - // Get the directory where the Rosetta translation tables are. PvlGroup dataDir (Preference::Preferences().findGroup("DataDirectory")); QString transDir = (QString) dataDir["Rosetta"] + "/translations/"; - FileName hkTranslationFile = transDir + "virtis_housekeeping.txt"; - QFile hkFile(hkTranslationFile.toString()); + if (procLevel == 2) { - if(!hkFile.open(QIODevice::ReadOnly)) { - QString msg = "Unable to open Virtis Housekeeping information file [" + - hkFile.fileName() + "]"; - throw IException(IException::Io,msg, _FILEINFO_); - } + // Retrieve HK settings file and read in HK values. + QList hk; - QTextStream in(&hkFile); + FileName hkTranslationFile = transDir + "virtis_housekeeping.txt"; + QFile hkFile(hkTranslationFile.toString()); - while(!in.atEnd()) { - QString line = in.readLine(); - QStringList fields = line.split(","); - hk.append(VirtisHK(fields[0], fields[1], fields[2], fields[3], fields[4])); - } + if(!hkFile.open(QIODevice::ReadOnly)) { + QString msg = "Unable to open Virtis Housekeeping information file [" + + hkFile.fileName() + "]"; + throw IException(IException::Io,msg, _FILEINFO_); + } - hkFile.close(); + QTextStream in(&hkFile); - // Construct HK (housekeeping) table - TableRecord rec; + while(!in.atEnd()) { + QString line = in.readLine(); + QStringList fields = line.split(","); + hk.append(VirtisHK(fields[0], fields[1], fields[2], fields[3], fields[4])); + } - QList tableFields; + hkFile.close(); - for (int i=0; i < hk.size(); i++) { - tableFields.append(hk[i].tableField()); - } + // Construct HK (housekeeping) table + TableRecord rec; - for (int i=0; i < tableFields.size(); i++) { - rec += tableFields[i]; - } + QList tableFields; - Table table("VIRTISHouseKeeping", rec); + for (int i=0; i < hk.size(); i++) { + tableFields.append(hk[i].tableField()); + } - // VIRTIS-M (VIS and IR) Equations - // These are adapted from the VIRTIS IDL processing pipeline - // and pg. 66-67 of the VIRTIS-EAICD - QList > equationList; - for (int i=0; i < hk.size(); i++) { - equationList.append(hk[i].coefficients()); - } + for (int i=0; i < tableFields.size(); i++) { + rec += tableFields[i]; + } - QList equations; + Table table("VIRTISHouseKeeping", rec); - for (int s=0; s < equationList.size(); s++) { - equations.append(PolynomialUnivariate(2, equationList[s])); - } + // VIRTIS-M (VIS and IR) Equations + // These are adapted from the VIRTIS IDL processing pipeline + // and pg. 66-67 of the VIRTIS-EAICD + QList > equationList; + for (int i=0; i < hk.size(); i++) { + equationList.append(hk[i].coefficients()); + } - // Populate the Housekeeping table - // - // There are 3 categories of VIRTIS HK Values, in terms of converting from input byte to output - // value: - // - // (1) SCET (many-to-one) - // (2) Physical Quantities (one-to-one) - // (3) Flags or Statistics (one-to-many) - // - // SCET values are made up of 3 VIRTIS HK 2-byte words. The output value can be calculated - // using the translateScet helper function. - // - // Physical values are made up of 1 VIRTIS HK 2-byte word, which is converted to a physical value - // using an equation specified as a series of coefficients in the associated "assets" file. - // - // For Flags or Statistics Values, 1 VIRTIS HK 2-byte word is associated with several (a varaible - // number of) output Flag or Statistics values. These are all treated as special cases. - // - // Additionally, Sine and Cosine HK Values need to be pre-processed before conversion, but are - // otherwise treated as a normal "Physical Quantity" HK. - // - std::vector< char * > hkData = p.DataTrailer(); - for (unsigned int i=0; i < hkData.size() ; i++) { - const char *hk = hkData.at(i); - const unsigned short *uihk = reinterpret_cast (hk); - - // Each data trailer can contain multiple 82-word records, but we only need 1 / line - int start = 0; - int tableNum = 0; - - // Loop through each 82-word record - // Each k is a byteNumber - for (int k=0; k<82*2; k=k+2) { - int temp = 0; - - // Convert non-SCET records (1 two-byte word each) using the appropriate equations - if (k !=0 && k!=14 && k!=38 && k!=58 && k!=116) { - temp = word(hk[start + k], hk[start+k+1]); - if (temp != 65535) { - - // If Sine or Cosine, pre-process before sending to conversion. - if (tableNum == 63) { // SIN - int HK_bit = (int) (((unsigned short int) temp) & 4095); - int HK_sign = (unsigned short int) (temp/4096.0) & 1; - rec[tableNum] = equations[tableNum].Evaluate((HK_sign * 1.0) * (HK_bit * 1.0)); - } else if (tableNum == 64) { // COS - temp = (int) (temp) & 4095; - rec[tableNum] = equations[tableNum].Evaluate(temp * 1.0); - } else if (tableNum == 2) { // # of Subslices / first seial num 2-3 - rec[tableNum] = hk[start+k]*1.0; - rec[tableNum+1] = hk[start+k+1]*1.0; - tableNum++; - } // Specical one-to-many cases (Flags or Statistics) - else if (tableNum == 4) { // Data Type 4-9 - rec[tableNum] = (int)(temp/-32768) & 1; - rec[tableNum+1] = (int)(temp/16384) & 1; - rec[tableNum+2] = (int)(temp/8192) & 1; - rec[tableNum+3] = (int)(temp/1024) & 7; - rec[tableNum+4] = (int)(temp/256) & 3; - rec[tableNum+5] = (int)(temp/1) & 255; - tableNum+=5; - } else if (tableNum == 12) { // V_MODE 12-14 - rec[tableNum] = 1.0* ((int)(temp/4096) & 15); - rec[tableNum+1] = 1.0* ((int)(temp/64) & 63); - rec[tableNum+2] = 1.0* ((int)(temp/1) & 63); - tableNum+=2; - } else if (tableNum == 15) { //ME_PWR_STAT 15 - 21 - rec[tableNum] = 1.0* ((int)(temp/1) & 1); - rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); - rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); - rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); - rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); - rec[tableNum+5] = 1.0* ((int)(temp/32) & 1); - rec[tableNum+6] = 1.0* ((int)(temp/-32786) & 1); - tableNum+=6; - } else if (tableNum == 30){ // M_ECA_STAT 30-31 - rec[tableNum] = 1.0* ((int)(temp/1) & 1); - rec[tableNum+1] = 1.0* ((int)(temp/256) & 1); - tableNum++; - } else if (tableNum == 32) { // M_COOL_STAT 32-34 - rec[tableNum] = 1.0* ((int)(temp/1) & 1); - rec[tableNum+1] = 1.0* ((int)(temp/16) & 1); - rec[tableNum+2] = 1.0* ((int)(temp/256) & 1); - tableNum+=2; - } + QList equations; - else if (tableNum == 65) { // M_VIS_FLAG - rec[tableNum] = 1.0* ((int)(temp/1) & 1); - rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); - rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); - rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); - rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); - rec[tableNum+5] = 1.0* ((int)(temp/256) & 1); - tableNum+=5; - } - else if (tableNum == 91) { //M_IR_LAMP_SHUTTER - double lamp1 = 1.0* ((int)(temp/1) & 15); - rec[tableNum] = equations[tableNum].Evaluate(lamp1); - rec[tableNum+1] = 1.0* ((int)(temp/16) & 1); - double lamp2 = 1.0* ((int)(temp/256) & 15); - rec[tableNum+2] = equations[tableNum+1].Evaluate(lamp2); - rec[tableNum+3] = 1.0* ((int)(temp/4096) & 1); - tableNum+=3; - } - else if (tableNum == 95) { // M_IR_FLAG - rec[tableNum] = 1.0* ((int)(temp/1) & 1); - rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); - rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); - rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); - rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); - rec[tableNum+5] = 1.0* ((int)(temp/32) & 1); - rec[tableNum+6] = 1.0* ((int)(temp/64) & 1); - rec[tableNum+7] = 1.0* ((int)(temp/512) & 1); - rec[tableNum+8] = 1.0* ((int)(temp/4096) & 1); - rec[tableNum+9] = 1.0* ((int)(temp/8192) & 1); - rec[tableNum+10] = 1.0* ((int)(temp/16384) & 1); - tableNum+=10; + for (int s=0; s < equationList.size(); s++) { + equations.append(PolynomialUnivariate(2, equationList[s])); + } + + // Populate the Housekeeping table + // + // There are 3 categories of VIRTIS HK Values, in terms of converting from input byte to output + // value: + // + // (1) SCET (many-to-one) + // (2) Physical Quantities (one-to-one) + // (3) Flags or Statistics (one-to-many) + // + // SCET values are made up of 3 VIRTIS HK 2-byte words. The output value can be calculated + // using the translateScet helper function. + // + // Physical values are made up of 1 VIRTIS HK 2-byte word, which is converted to a physical value + // using an equation specified as a series of coefficients in the associated "assets" file. + // + // For Flags or Statistics Values, 1 VIRTIS HK 2-byte word is associated with several (a varaible + // number of) output Flag or Statistics values. These are all treated as special cases. + // + // Additionally, Sine and Cosine HK Values need to be pre-processed before conversion, but are + // otherwise treated as a normal "Physical Quantity" HK. + // + std::vector< char * > hkData = p.DataTrailer(); + for (unsigned int i=0; i < hkData.size() ; i++) { + const char *hk = hkData.at(i); + const unsigned short *uihk = reinterpret_cast (hk); + + // Each data trailer can contain multiple 82-word records, but we only need 1 / line + int start = 0; + int tableNum = 0; + + // Loop through each 82-word record + // Each k is a byteNumber + for (int k=0; k<82*2; k=k+2) { + int temp = 0; + + // Convert non-SCET records (1 two-byte word each) using the appropriate equations + if (k !=0 && k!=14 && k!=38 && k!=58 && k!=116) { + temp = word(hk[start + k], hk[start+k+1]); + if (temp != 65535) { + + // If Sine or Cosine, pre-process before sending to conversion. + if (tableNum == 63) { // SIN + int HK_bit = (int) (((unsigned short int) temp) & 4095); + int HK_sign = (unsigned short int) (temp/4096.0) & 1; + rec[tableNum] = equations[tableNum].Evaluate((HK_sign * 1.0) * (HK_bit * 1.0)); + } else if (tableNum == 64) { // COS + temp = (int) (temp) & 4095; + rec[tableNum] = equations[tableNum].Evaluate(temp * 1.0); + } else if (tableNum == 2) { // # of Subslices / first seial num 2-3 + rec[tableNum] = hk[start+k]*1.0; + rec[tableNum+1] = hk[start+k+1]*1.0; + tableNum++; + } // Specical one-to-many cases (Flags or Statistics) + else if (tableNum == 4) { // Data Type 4-9 + rec[tableNum] = (int)(temp/-32768) & 1; + rec[tableNum+1] = (int)(temp/16384) & 1; + rec[tableNum+2] = (int)(temp/8192) & 1; + rec[tableNum+3] = (int)(temp/1024) & 7; + rec[tableNum+4] = (int)(temp/256) & 3; + rec[tableNum+5] = (int)(temp/1) & 255; + tableNum+=5; + } else if (tableNum == 12) { // V_MODE 12-14 + rec[tableNum] = 1.0* ((int)(temp/4096) & 15); + rec[tableNum+1] = 1.0* ((int)(temp/64) & 63); + rec[tableNum+2] = 1.0* ((int)(temp/1) & 63); + tableNum+=2; + } else if (tableNum == 15) { //ME_PWR_STAT 15 - 21 + rec[tableNum] = 1.0* ((int)(temp/1) & 1); + rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); + rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); + rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); + rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); + rec[tableNum+5] = 1.0* ((int)(temp/32) & 1); + rec[tableNum+6] = 1.0* ((int)(temp/-32786) & 1); + tableNum+=6; + } else if (tableNum == 30){ // M_ECA_STAT 30-31 + rec[tableNum] = 1.0* ((int)(temp/1) & 1); + rec[tableNum+1] = 1.0* ((int)(temp/256) & 1); + tableNum++; + } else if (tableNum == 32) { // M_COOL_STAT 32-34 + rec[tableNum] = 1.0* ((int)(temp/1) & 1); + rec[tableNum+1] = 1.0* ((int)(temp/16) & 1); + rec[tableNum+2] = 1.0* ((int)(temp/256) & 1); + tableNum+=2; + } + + else if (tableNum == 65) { // M_VIS_FLAG + rec[tableNum] = 1.0* ((int)(temp/1) & 1); + rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); + rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); + rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); + rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); + rec[tableNum+5] = 1.0* ((int)(temp/256) & 1); + tableNum+=5; + } + else if (tableNum == 91) { //M_IR_LAMP_SHUTTER + double lamp1 = 1.0* ((int)(temp/1) & 15); + rec[tableNum] = equations[tableNum].Evaluate(lamp1); + rec[tableNum+1] = 1.0* ((int)(temp/16) & 1); + double lamp2 = 1.0* ((int)(temp/256) & 15); + rec[tableNum+2] = equations[tableNum+1].Evaluate(lamp2); + rec[tableNum+3] = 1.0* ((int)(temp/4096) & 1); + tableNum+=3; + } + else if (tableNum == 95) { // M_IR_FLAG + rec[tableNum] = 1.0* ((int)(temp/1) & 1); + rec[tableNum+1] = 1.0* ((int)(temp/2) & 1); + rec[tableNum+2] = 1.0* ((int)(temp/4) & 1); + rec[tableNum+3] = 1.0* ((int)(temp/8) & 1); + rec[tableNum+4] = 1.0* ((int)(temp/16) & 1); + rec[tableNum+5] = 1.0* ((int)(temp/32) & 1); + rec[tableNum+6] = 1.0* ((int)(temp/64) & 1); + rec[tableNum+7] = 1.0* ((int)(temp/512) & 1); + rec[tableNum+8] = 1.0* ((int)(temp/4096) & 1); + rec[tableNum+9] = 1.0* ((int)(temp/8192) & 1); + rec[tableNum+10] = 1.0* ((int)(temp/16384) & 1); + tableNum+=10; + } + else { + // Convert a physical quantity to its output value (1 word -> 1 output physical value) + rec[tableNum] = equations[tableNum].Evaluate(temp * 1.0); + } } else { - // Convert a physical quantity to its output value (1 word -> 1 output physical value) - rec[tableNum] = equations[tableNum].Evaluate(temp * 1.0); + rec[tableNum] = 65535.0; // HK Data is Invalid } } else { - rec[tableNum] = 65535.0; // HK Data is Invalid - } - } - else { - // Convert SCET records (3 words -> one output SCET) - int uk = k/2; -#if 0 - int word1 = word(hk[start+k], hk[start+k+1]); - int word2 = word(hk[start+k+2], hk[start+k+3]); - int word3 = word(hk[start+k+4], hk[start+k+5]); -#else - int word1 = swapb(uihk[uk]); - int word2 = swapb(uihk[uk+1]); - int word3 = swapb(uihk[uk+2]); -#endif - - double result; - - // If any of the words comprising the SCET are invalid, the whole thing is invalid. - if (isValid(word1) && isValid(word2) && isValid(word3)) { - result = translateScet(word1, word2, word3); - } - else { - result = 65535; - } + // Convert SCET records (3 words -> one output SCET) + int uk = k/2; + #if 0 + int word1 = word(hk[start+k], hk[start+k+1]); + int word2 = word(hk[start+k+2], hk[start+k+3]); + int word3 = word(hk[start+k+4], hk[start+k+5]); + #else + int word1 = swapb(uihk[uk]); + int word2 = swapb(uihk[uk+1]); + int word3 = swapb(uihk[uk+2]); + #endif + + double result; + + // If any of the words comprising the SCET are invalid, the whole thing is invalid. + if (isValid(word1) && isValid(word2) && isValid(word3)) { + result = translateScet(word1, word2, word3); + } + else { + result = 65535; + } - // If we don't have a valid SCET, the whole line of HK data is not valid, so we skip it. - if (result == 0 || result == 65535) { - break; - } - else{ - rec[tableNum] = result*1.0; + // If we don't have a valid SCET, the whole line of HK data is not valid, so we skip it. + if (result == 0 || result == 65535) { + break; + } + else{ + rec[tableNum] = result*1.0; + } + // We used 3 words + k=k+4; } - // We used 3 words - k=k+4; + tableNum++; } - tableNum++; + table += rec; } - table += rec; - } - outcube->write(table); + outcube->write(table); + } + else if (procLevel == 3) { + std::vector hkData = p.DataTrailer(); + TableRecord rec; + TableField scETField("dataSCET", TableField::Double); + rec += scETField; + Table table("VIRTISHouseKeeping", rec); + for (unsigned int i=0; i < hkData.size() ; i++) { + const char *hk = hkData.at(i); + const unsigned short *uihk = reinterpret_cast (hk); + int word1 = swapb(uihk[0]); + int word2 = swapb(uihk[1]); + int word3 = swapb(uihk[2]); + rec[0] = translateScet(word1, word2, word3); + table += rec; + } + outcube->write(table); + } // Create a PVL to store the translated labels in -- GitLab From 957edf05505df634b4c25f6bfc5e4b17fb1ebbb9 Mon Sep 17 00:00:00 2001 From: chrisryancombs Date: Tue, 1 May 2018 12:21:35 -0700 Subject: [PATCH 0323/1212] Removed emissionAngle method to fix issues with using ellipsoids for normal vectors. Fixes #5387. --- .../EmbreeShapeModel/EmbreeShapeModel.cpp | 44 ------------------- .../objs/EmbreeShapeModel/EmbreeShapeModel.h | 4 +- 2 files changed, 2 insertions(+), 46 deletions(-) diff --git a/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.cpp b/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.cpp index 273a98178d..ca78a550ed 100644 --- a/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.cpp +++ b/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.cpp @@ -593,50 +593,6 @@ namespace Isis { } - /** - * Computes and returns emission angle, in degrees, given the observer - * position. The surface normal vector is calculated using an ellipsoid, not - * the local normal of the actual target shape. - * - * Emission Angle: The angle between the surface normal vector at the - * intersection point and the vector from the intersection point to the - * observer (usually the spacecraft). The emission angle varies from 0 degrees - * when the observer is viewing the sub-spacecraft point (nadir viewing) to 90 - * degrees when the intercept is tangent to the surface of the target body. - * Thus, higher values of emission angle indicate more oblique viewing of the - * target. - * - * @param observerBodyFixedPosition Three dimensional position of the observer, - * in the coordinate system of the target body. - * - * @return The emission angle, in decimal degrees. - * - */ - double EmbreeShapeModel::emissionAngle(const std::vector &observerBodyFixedPosition) { - - // If there is already a normal save it, because it's probably the local normal - std::vector localNormal; - bool hadNormal = hasNormal(); - if ( hadNormal ) { - localNormal = normal(); - } - - // Calculate the ellipsoid surface normal - calculateDefaultNormal(); - - // Use ShapeModel to calculate the ellipsoid emission angle - double ellipsoidEmission = ShapeModel::emissionAngle(observerBodyFixedPosition); - - // If there's a saved normal, reset it - if ( hadNormal ) { - setNormal(localNormal); - } - - // Return the ellipsoid emission angle - return ellipsoidEmission; - } - - /** * Computes and returns incidence angle, in degrees, given the illuminator position. * The surface normal vector is calculated using an ellipsoid, not the local diff --git a/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.h b/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.h index 1d0d66320c..e11f615b77 100644 --- a/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.h +++ b/isis/src/base/objs/EmbreeShapeModel/EmbreeShapeModel.h @@ -47,6 +47,8 @@ namespace Isis { * * @internal * @history 2017-04-22 Jesse Mapel and Jeannie Backer - Original Version + * @history 2018-05-01 Christopher Combs - Removed emissionAngle function to + * fix issues with using ellipsoids to find normals. Fixes #5387. */ class EmbreeShapeModel : public ShapeModel { public: @@ -84,10 +86,8 @@ namespace Isis { virtual void calculateSurfaceNormal(); QVector ellipsoidNormal(); - virtual double emissionAngle(const std::vector &sB); virtual double incidenceAngle(const std::vector &uB); - virtual Distance localRadius(const Latitude &lat, const Longitude &lon); // Determine if the internal intercept is occluded from the observer/lookdir -- GitLab From 9b61036d41cf01bd0539ff1940a3cbddb52c3cfb Mon Sep 17 00:00:00 2001 From: Kaitlyn Lee Date: Tue, 1 May 2018 12:52:58 -0700 Subject: [PATCH 0324/1212] Added history entry. --- .../MosaicSceneWidget/ControlPointGraphicsItem.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.h b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.h index ff6bcfde46..5ed3ac1dbd 100644 --- a/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.h +++ b/isis/src/qisis/objs/MosaicSceneWidget/ControlPointGraphicsItem.h @@ -20,7 +20,7 @@ namespace Isis { * * @internal * @history 2011-05-09 Steven Lambright - Fixed known issue with paint() when zoomed in. - * @history 2011-05-10 Steven Lambright - Added arrow capabilities, fixed problem with + * @history 2011-05-10 Steven Lambright - Added arrow capabilities, fixed problem with * boundingRect() that seemed to cause a crash. * @history 2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types * Ground ------> Fixed @@ -34,8 +34,12 @@ namespace Isis { * @history 2016-10-20 Tracie Sucharski - Remove obsolete code that was commented out. * Fixes #4479. * @history 2017-08-02 Tracie Sucharski - Draw the current edit Control Point as a circle with - * center crosshair in red. Fixes #5007, #5008. - * + * center crosshair in red. Fixes #5007, #5008. + * @history 2018-05-01 Kaitlyn Lee - Changed colors of control points to match qnet. + * Colors Changed: free from blue to green, ignored from red to yellow, + * locked from magenta to red, and constrained (was dark green) and + * fixed (was green) are now both represented with magenta. Fixes #5401. + * */ class ControlPointGraphicsItem : public QGraphicsRectItem { public: @@ -70,7 +74,7 @@ namespace Isis { bool m_colorByMeasureCount; //! Are we coloring the movement arrow based on max CM residual magnitude bool m_colorByResidualMagnitude; - //! Measure count threshold for colored vs. black + //! Measure count threshold for colored vs. black int m_measureCount; //! Residual magnitude threshold for colored vs. black double m_residualMagnitude; @@ -78,4 +82,3 @@ namespace Isis { } #endif - -- GitLab From 490bd79ee7f0522d3c0e1b3631bcc986d38d4274 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 2 May 2018 12:21:33 -0700 Subject: [PATCH 0325/1212] IpceMainWindow.h PROG: Accidently left commented code in last checkin. Fixes #5412. --- isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index 42b5de1162..b16393e6c5 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -227,6 +227,8 @@ namespace Isis { if ( QMdiArea *mdiArea = qobject_cast( centralWidget() ) ) { mdiArea->addSubWindow(newWidget); newWidget->show(); + mdiArea->setActiveSubWindow(qobject_cast(newWidget)); + setActiveView(qobject_cast(newWidget)); } } } -- GitLab From b0019e1479023b00f6deb97f2fd5b9fd6a0e6e7a Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 2 May 2018 12:23:22 -0700 Subject: [PATCH 0326/1212] If not shapes have been imported, do not allow point type on new pt dialog to be changed to constrained or fixed. Fixes #5087. --- .../NewControlPointDialog.cpp | 32 ++++++++++++++----- .../NewControlPointDialog.h | 8 +++-- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp index 1d288c8cac..a61ee4c6a2 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp @@ -20,9 +20,15 @@ namespace Isis { /** - * NewControlPointDialog constructor - * @param parent The parent widget for the - * cube points filter + * @description Create dialog for creating a new Control Point + * + * @param controlNet The control net the new control point will be contained in + * @param serialNumberList The serial number list corresponding to the controlNet + * @param defaultPointId The default pointID, usually empty string + * @param parent Parent widget + * @param pointType Show the Point Type combo box, default = false + * @param groundSource Show the Ground Source list, default = false + * @param subpixelRegisterMeasures Show the check box for sub-pixel registration option, default = false * * @internal * @history 2008-11-26 Jeannie Walldren - Set lastPointIdValue @@ -69,7 +75,7 @@ namespace Isis { (ControlPoint::PointType) i)); } m_pointTypeCombo->setCurrentIndex(2); - QLabel *pointTypeLabel = new QLabel("PointType:"); + QLabel *pointTypeLabel = new QLabel("Point Type:"); pointTypeLayout->addWidget(pointTypeLabel); pointTypeLayout->addWidget(m_pointTypeCombo); connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(pointTypeChanged(int))); @@ -180,11 +186,21 @@ namespace Isis { void NewControlPointDialog::setGroundSource(QStringList groundFiles, int numberShapesWithPoint) { - m_groundSourceCombo->addItems(groundFiles); - for (int i = 0; i < numberShapesWithPoint; i++) { - m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); + + if (groundFiles.count() != 0) { + m_groundSourceCombo->addItems(groundFiles); + for (int i = 0; i < numberShapesWithPoint; i++) { + m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); + } + m_groundSourceCombo->insertSeparator(numberShapesWithPoint); + } + else { + // If there are not available shapes, remove constrained/fixed point type from combo + m_pointTypeCombo->setToolTip("If Point Type cannot be changed from \"Free\", make sure there " + "is a shape imported into your project."); + m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Constrained")); + m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Fixed")); } - m_groundSourceCombo->insertSeparator(numberShapesWithPoint); } diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h index d2a287b693..15f3ae161d 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h @@ -33,8 +33,12 @@ namespace Isis { * @history 2016-10-18 Tracie Sucharski - Added method to return value of the * subpixelRegister radio button. If set, all measures in the control * point created will be subpixel registered. - * @history 2017-07-04 Christopher Combs - Added bools to toggle on specific elements of the - * dialog to remove similar classes like QnetNewPointDialog. Fixes #4383. + * @history 2017-07-04 Christopher Combs - Combined functionality of dialogs from qnet, + * qview and ipce applications by adding bools to toggle on specific + * elements of the dialog to remove similar classes like + * QnetNewPointDialog. Fixes #4383. + * @history 2018-05-02 Tracie Sucharski - If no shapes available remove option to change point + * type to "Constrained" or "Fixed". Fixes #5087. */ class NewControlPointDialog : public QDialog { -- GitLab From fdad2af8715c6ef827c74e5711fac673a04abef0 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 2 May 2018 12:23:53 -0700 Subject: [PATCH 0327/1212] PROG: Accidently left commented code in last checkin. Fixes #5412. --- isis/src/qisis/apps/ipce/IpceMainWindow.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 724189d198..b56d732bab 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -127,6 +127,8 @@ namespace Isis { * containing the given widget. In the closeEvent method check whether * there is an active control and if it has been modified as additional * test to determine whether project needs saving. + * @history 2018-05-01 Tracie Sucharski - Code accidently left commented from previous checking. + * Fixes #5412. * */ class IpceMainWindow : public QMainWindow { -- GitLab From 8860925659bbffb24ab83f4238eff7c906feba50 Mon Sep 17 00:00:00 2001 From: Ken Edmundson Date: Fri, 4 May 2018 07:49:53 -0700 Subject: [PATCH 0328/1212] PROG: resolves Tracie's feedback on #4850 regarding QString::arg: Argument missing --- .../BundleObservationViewWorkOrder.cpp | 3 ++- isis/src/qisis/objs/Directory/Directory.cpp | 25 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/isis/src/qisis/objs/Directory/BundleObservationViewWorkOrder.cpp b/isis/src/qisis/objs/Directory/BundleObservationViewWorkOrder.cpp index 65eb26e522..cd553f2ac9 100755 --- a/isis/src/qisis/objs/Directory/BundleObservationViewWorkOrder.cpp +++ b/isis/src/qisis/objs/Directory/BundleObservationViewWorkOrder.cpp @@ -25,6 +25,7 @@ #include "Directory.h" #include "BundleObservationView.h" #include "Project.h" +#include "ProjectItemModel.h" namespace Isis { @@ -113,7 +114,7 @@ namespace Isis { * */ void BundleObservationViewWorkOrder::execute() { - //ProjectItem * selectedItem = project()->directory()->model()->selectedItems(); +// ProjectItem * selectedItem = project()->directory()->model()->selectedItems(); project()->directory()->addBundleObservationView(fileItem()); project()->setClean(false); } diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 51ad9ea772..3e8efc0fd2 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -599,25 +599,34 @@ namespace Isis { m_bundleObservationViews.append(result); QString str = fileItem->fileName(); + FileName fileName = fileItem->fileName(); + + // strip out bundle results name from fileName + QString path = fileName.originalPath(); + int pos = path.lastIndexOf("/"); + QString bundleResultsName = ""; + if (pos != -1) { + bundleResultsName = path.remove(0,pos+1); + } if (str.contains("bundleout")) { - result->setWindowTitle( tr("Summary"). - arg( m_bundleObservationViews.count() ) ); + result->setWindowTitle( tr("Summary (%1)"). + arg( bundleResultsName ) ); result->setObjectName( result->windowTitle() ); } if (str.contains("residuals")) { - result->setWindowTitle( tr("Measure Residuals"). - arg( m_bundleObservationViews.count() ) ); + result->setWindowTitle( tr("Measure Residuals (%1)"). + arg( bundleResultsName ) ); result->setObjectName( result->windowTitle() ); } else if (str.contains("points")) { - result->setWindowTitle( tr("Control Points"). - arg( m_bundleObservationViews.count() ) ); + result->setWindowTitle( tr("Control Points (%1)"). + arg( bundleResultsName ) ); result->setObjectName( result->windowTitle() ); } else if (str.contains("images")) { - result->setWindowTitle( tr("Images"). - arg( m_bundleObservationViews.count() ) ); + result->setWindowTitle( tr("Images (%1)"). + arg( bundleResultsName ) ); result->setObjectName( result->windowTitle() ); } -- GitLab From 6d58758f3cd7134fd2ac1ed660ffbdcccb6d31cf Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 8 May 2018 13:35:05 -0700 Subject: [PATCH 0329/1212] Colorize the save buttons properly when creating new control point and loading a different control point. --- .../ControlPointEditWidget.cpp | 38 +++++++++++++++---- .../ControlPointEditWidget.h | 11 +++++- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index 75b70c885e..fb86af99a3 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -804,17 +804,35 @@ namespace Isis { // is selected if (controlPoint->Parent() == NULL) { m_editPoint = controlPoint; + // New point in editor, so colorize all save buttons + colorizeAllSaveButtons("red"); } else { m_editPoint = new ControlPoint; *m_editPoint = *controlPoint; + + // New point loaded, make sure all save button's text is default black color + colorizeAllSaveButtons("black"); } loadPoint(serialNumber); loadTemplateFile(m_measureEditor->templateFileName()); + } - // New point loaded, make sure Save Measure Button text is default - m_savePoint->setPalette(m_saveDefaultPalette); + + void ControlPointEditWidget::colorizeAllSaveButtons(QString color) { + + if (color == "black") { + // Don't need to colorize save measure button, when loading new measure, the measure editor + // will set back to default palette. + m_savePoint->setPalette(m_saveDefaultPalette); + m_saveNet->setPalette(m_saveDefaultPalette); + } + else if (color == "red") { + m_measureEditor->colorizeSaveButton(); + colorizeSavePointButton(); + colorizeSaveNetButton(); + } } @@ -2466,12 +2484,18 @@ namespace Isis { * * @author 2014-07-11 Tracie Sucharski */ - void ControlPointEditWidget::colorizeSaveNetButton() { + void ControlPointEditWidget::colorizeSaveNetButton(bool reset) { - QColor qc = Qt::red; - QPalette p = m_savePoint->palette(); - p.setColor(QPalette::ButtonText,qc); - m_saveNet->setPalette(p); + if (reset) { + // Change Save Net button text back to default black + m_saveNet->setPalette(m_saveDefaultPalette); + } + else { + QColor qc = Qt::red; + QPalette p = m_savePoint->palette(); + p.setColor(QPalette::ButtonText,qc); + m_saveNet->setPalette(p); + } } diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index b19e944a0c..29e62dae70 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -88,6 +88,8 @@ namespace Isis { * @history 2018-04-25 Tracie Sucharski - Fix bug when creating a control point from CubeDnView * or FootprintView if a ground source exists in the serial number list. * Fixes #5399. + * @history 2018-05-02 Tracie Sucharski - Colorize save buttons properly when creating new + * control point and loading a different control point. */ class ControlPointEditWidget : public QWidget { Q_OBJECT @@ -123,6 +125,11 @@ namespace Isis { bool isGroundSource = false); void updatePointInfo(ControlPoint &updatedPoint); + // Changed colorizeSaveNetButton to public slot so it could be called from + // Directory::saveActiveControl(). This should be temporary until the modify/save functionality + // of active control is re-factored. Also added reset parameter, defaulting to false so button + // is red. This default was used so that current calls did not need to be changed. + void colorizeSaveNetButton(bool reset = false); protected: bool eventFilter(QObject *o,QEvent *e); @@ -150,6 +157,8 @@ namespace Isis { void measureSaved(); void checkReference(); void savePoint(); + + void colorizeAllSaveButtons(QString color); void colorizeSavePointButton(); void openTemplateFile(); @@ -162,8 +171,6 @@ namespace Isis { void writeTemplateFile(QString); void clearEditPoint(); - void colorizeSaveNetButton(); - private: void createActions(); -- GitLab From dd59651163e69d2a822d47860cc9c1454fb79e8e Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 8 May 2018 13:36:40 -0700 Subject: [PATCH 0330/1212] PROG: After saving active control, make sure the Save Net button on the ControlPointEditWidget is reset to black. --- isis/src/qisis/objs/Directory/Directory.cpp | 5 +++++ isis/src/qisis/objs/Directory/Directory.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 51ad9ea772..b2e520af31 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -1795,6 +1795,11 @@ namespace Isis { "has been saved."; m_historyTreeWidget->addToHistory(saveCnetHistoryEntry); } + + // Make sure the ControlPointEditView "Save Net" button is no longer red + if (controlPointEditView()) { + controlPointEditView()->controlPointEditWidget()->colorizeSaveNetButton(true); + } } diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index e1dc612aac..868194e027 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -230,7 +230,9 @@ namespace Isis { * @history 2018-04-04 Tracie Sucharski - Created CnetEditorView class to use to add to QMdiArea * instead of a CnetEditorWidget. This way there is no longer a * disconnect between what has been added to the QMdiArea and what is - * stored in m_cnetEditorViewWidgets. + * stored in m_cnetEditorViewWidgets. + * @history 2018-05-08 Tracie Sucharski - When saving active control, reset the "Save Net" + * button to black in the ControlPointEditorWidget. */ class Directory : public QObject { Q_OBJECT -- GitLab From 745c6cde5dffc25b03491e9a93cad5b57cb711c5 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Tue, 8 May 2018 13:38:19 -0700 Subject: [PATCH 0331/1212] If no shapes are available, remove option to change point type to Constrained or Fixed. Add tooltip explaining why to user. Fixes #5087. --- .../NewControlPointDialog.cpp | 43 ++++++++++++++----- .../NewControlPointDialog.h | 8 +++- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp index a61ee4c6a2..fe9d667744 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp @@ -74,11 +74,12 @@ namespace Isis { m_pointTypeCombo->insertItem(i, ControlPoint::PointTypeToString( (ControlPoint::PointType) i)); } - m_pointTypeCombo->setCurrentIndex(2); + m_pointTypeCombo->setCurrentText("Free"); QLabel *pointTypeLabel = new QLabel("Point Type:"); pointTypeLayout->addWidget(pointTypeLabel); pointTypeLayout->addWidget(m_pointTypeCombo); - connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(pointTypeChanged(int))); + connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(QString)), + this, SLOT(pointTypeChanged(QString))); } @@ -105,6 +106,7 @@ namespace Isis { // Create OK & Cancel buttons m_okButton = new QPushButton("OK"); + // If the last point id used was never saved to network, do not set ok // button to faslse enableOkButton(""); @@ -153,7 +155,14 @@ namespace Isis { int NewControlPointDialog::pointType() const { - return m_pointTypeCombo->currentIndex(); + int result = ControlPoint::Free; + if (m_pointTypeCombo->currentText() == "Constrained") { + result = ControlPoint::Constrained; + } + if (m_pointTypeCombo->currentText() == "Fixed") { + result = ControlPoint::Fixed; + } + return result; } @@ -178,15 +187,15 @@ namespace Isis { } - void NewControlPointDialog::pointTypeChanged(int pointType) { - if (pointType == ControlPoint::Constrained || pointType == ControlPoint::Fixed) { + void NewControlPointDialog::pointTypeChanged(QString pointType) { + if (pointType == "Fixed" || pointType == "Constrained") { m_groundSourceCombo->setVisible(true); } } void NewControlPointDialog::setGroundSource(QStringList groundFiles, int numberShapesWithPoint) { - + // If groundFiles not empty, add to the list widget for selection if (groundFiles.count() != 0) { m_groundSourceCombo->addItems(groundFiles); for (int i = 0; i < numberShapesWithPoint; i++) { @@ -194,12 +203,16 @@ namespace Isis { } m_groundSourceCombo->insertSeparator(numberShapesWithPoint); } + // If groundFiles is empty, remove option to change point type to Constrained or Fixed, add a + // tooltip to give user hint as to why they don't have option to change point type and set + // default point type back to "Free". else { - // If there are not available shapes, remove constrained/fixed point type from combo - m_pointTypeCombo->setToolTip("If Point Type cannot be changed from \"Free\", make sure there " - "is a shape imported into your project."); + m_pointTypeCombo->setToolTip("The Point Type cannot be changed to \"Fixed\" or " + "\"Constrained\", because there are no shapes imported into " + "your project."); m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Constrained")); m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Fixed")); + m_pointTypeCombo->setCurrentText("Free"); } } @@ -243,7 +256,15 @@ namespace Isis { * to the ptIdValue */ void NewControlPointDialog::enableOkButton(const QString &) { - m_okButton->setEnabled(!m_ptIdEdit->text().isEmpty() && - !m_controlNet->ContainsPoint(m_ptIdEdit->text())); + bool enable = !m_ptIdEdit->text().isEmpty() && + !m_controlNet->ContainsPoint(m_ptIdEdit->text()); + m_okButton->setEnabled(enable); + if (enable) { + m_okButton->setToolTip(""); + } + else { + m_okButton->setToolTip("Cannot create point because Point Id is either empty or the active " + "control net already contains a control point with this point Id."); + } } } diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h index 15f3ae161d..77af7f7a81 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h @@ -38,7 +38,11 @@ namespace Isis { * elements of the dialog to remove similar classes like * QnetNewPointDialog. Fixes #4383. * @history 2018-05-02 Tracie Sucharski - If no shapes available remove option to change point - * type to "Constrained" or "Fixed". Fixes #5087. + * type to "Constrained" or "Fixed". Because pointType combo dependent on + * having all 3 types to use ControlPoint's enum, change comparisons to + * check text instead of int values. Add tool tip explaining why point + * type cannot be changed. Set tool tip on Ok button explaining why it + * is not enabled. Fixes #5087. */ class NewControlPointDialog : public QDialog { @@ -62,7 +66,7 @@ namespace Isis { bool subpixelRegisterPoint(); private slots: - void pointTypeChanged(int pointType); + void pointTypeChanged(QString pointType); void enableOkButton(const QString &text); private: -- GitLab From b18a1e0b2660920c6c6340732d9d48411f26ed98 Mon Sep 17 00:00:00 2001 From: Kristin Berry Date: Wed, 9 May 2018 07:40:49 -0700 Subject: [PATCH 0332/1212] Initial draft of: update kerneldbgen to have an option to specify spice segment vs. spice interval for time coverage to fix cassis spiceinit error. --- .../system/apps/kerneldbgen/SpiceDbGen.cpp | 24 +++++++++++-- isis/src/system/apps/kerneldbgen/SpiceDbGen.h | 2 ++ .../system/apps/kerneldbgen/kerneldbgen.cpp | 22 +++++++++--- .../system/apps/kerneldbgen/kerneldbgen.xml | 35 +++++++++++++++++++ 4 files changed, 75 insertions(+), 8 deletions(-) diff --git a/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp b/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp index ab4949f2f8..1f6a2aefc9 100644 --- a/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp +++ b/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp @@ -40,7 +40,8 @@ const char *SpiceDbGen::calForm = "YYYY MON DD HR:MN:SC.###### TDB ::TDB"; */ SpiceDbGen::SpiceDbGen(QString type) { p_type = type; -// calForm = "YYYY MON DD HR:MN:SC.### TDB ::TDB"; + m_coverageLevel = "SEGMENT"; // default + // calForm = "YYYY MON DD HR:MN:SC.### TDB ::TDB"; } @@ -155,6 +156,17 @@ QStringList SpiceDbGen::GetFiles(FileName location, QString filter) { } +/** + * Sets the desired time coverage level of the Spice database. + * + * @param level The desired time coverage level. May be either Segment or + * Interval. + */ +void SpiceDbGen::setCoverageLevel(QString level) { + m_coverageLevel = level; +} + + /** * Format a single kernel file to include the file. * @@ -227,10 +239,16 @@ PvlGroup SpiceDbGen::AddSelection(FileName fileIn, double startOffset, double en SPICEDOUBLE_CELL(cover, 200000); ssize_c(0, &cover); ssize_c(200000, &cover); - ckcov_c(tmp.toLatin1().data(), body, SPICEFALSE, "SEGMENT", 0.0, "TDB", &cover); - NaifStatus::CheckErrors(); + // A SPICE SEGMENT is composed of SPICE INTERVALS, and is a more coarse measurement + if (QString::compare(m_coverageLevel, "SEGMENT", Qt::CaseInsensitive) == 0 ) { + ckcov_c(tmp.toLatin1().data(), body, SPICEFALSE, "SEGMENT", 0.0, "TDB", &cover); + } + else { + ckcov_c(tmp.toLatin1().data(), body, SPICEFALSE, "INTERVAL", 0.0, "TDB", &cover); + } + NaifStatus::CheckErrors(); result = FormatIntervals(cover, currFile, startOffset, endOffset); } } diff --git a/isis/src/system/apps/kerneldbgen/SpiceDbGen.h b/isis/src/system/apps/kerneldbgen/SpiceDbGen.h index 616ff25a19..d7ec1c58e1 100644 --- a/isis/src/system/apps/kerneldbgen/SpiceDbGen.h +++ b/isis/src/system/apps/kerneldbgen/SpiceDbGen.h @@ -57,6 +57,7 @@ class SpiceDbGen { std::vector & filter, double startOffset, double endOffset); void FurnishDependencies(QList sclks, QList fks, QList extras); + void setCoverageLevel(QString level); private: QStringList GetFiles(Isis::FileName location, QString filter); @@ -65,6 +66,7 @@ class SpiceDbGen { Isis::PvlGroup GetIntervals(SpiceCell &cover); //private instance variables QString p_type; + QString m_coverageLevel; static const char *calForm; }; diff --git a/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp b/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp index fd69b7b53c..b7ad0e5e31 100644 --- a/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp +++ b/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp @@ -15,19 +15,19 @@ void IsisMain() { UserInterface &ui = Application::GetUserInterface(); PvlGroup dependency("Dependencies"); - //create the database writer based on the kernel type + // Create the database writer based on the kernel type SpiceDbGen sdg(ui.GetString("TYPE")); - //Load the SCLK. If it exists, add its location to the dependency group - //If there is none, set a flag so that no file is searched for + // Load the SCLK. If it exists, add its location to the dependency group + // If there is none, set a flag so that no file is searched for QList sclkFiles = evaluateDependencies(dependency, "SpacecraftClockKernel", "SCLK"); QList lskFiles = evaluateDependencies(dependency, "LeapsecondKernel", "LSK"); QList extraFiles = evaluateDependencies(dependency, "ExtraKernel", "EXTRA"); sdg.FurnishDependencies(sclkFiles, lskFiles, extraFiles); - //Determine the type of kernel that the user wants a database for. This will - //eventually become the name of the object in the output PVL + // Determine the type of kernel that the user wants a database for. This will + // eventually become the name of the object in the output PVL QString kernelType; if (ui.GetString("TYPE") == "CK") { kernelType = "SpacecraftPointing"; @@ -37,6 +37,18 @@ void IsisMain() { } PvlObject selections(kernelType); + // Specify whether to use SPICE segments (made up of SPICE intervals) + // or SPICE intervals for the SPICE database. Naif referes to this as "coverage level" + QString coverageLevel; + if (ui.GetString("LEVEL") == "SEGMENT") { + coverageLevel = "SEGMENT"; + } + else if (ui.GetString("LEVEL") == "INTERVAL") { + coverageLevel = "INTERVAL"; + } + // add to Pvl? + sdg.setCoverageLevel(coverageLevel); + selections += PvlKeyword("RunTime", iTime::CurrentLocalTime()); selections.addGroup(dependency); diff --git a/isis/src/system/apps/kerneldbgen/kerneldbgen.xml b/isis/src/system/apps/kerneldbgen/kerneldbgen.xml index e12f3e126f..9deec3e722 100644 --- a/isis/src/system/apps/kerneldbgen/kerneldbgen.xml +++ b/isis/src/system/apps/kerneldbgen/kerneldbgen.xml @@ -152,6 +152,10 @@ Added STARTOFFSET and ENDOFFSET parameters to allow for slight editing to start and end times. Fixes #5272. + + Added option to specify the time coverage level to be used for the generated database. SPICE segements are made up of SPICE intervals. + Segments (the only old option) are now the default, but interval can be selected if needed. + @@ -221,6 +225,37 @@ + + + string + + SEGMENT + + + The level of time-granularity for the time-coverage interval to be output to the SPICE database. + + + + + + + + + string -- GitLab From a0f6538e7482a2f225bdaf72e5bd0e615f4ec1c3 Mon Sep 17 00:00:00 2001 From: Kristin Berry Date: Wed, 9 May 2018 08:53:14 -0700 Subject: [PATCH 0333/1212] Added documentation and a test for new LEVEL option for kerneldbgen. --- .../system/apps/kerneldbgen/SpiceDbGen.cpp | 2 +- isis/src/system/apps/kerneldbgen/SpiceDbGen.h | 7 +++- .../system/apps/kerneldbgen/kerneldbgen.cpp | 1 - .../system/apps/kerneldbgen/kerneldbgen.xml | 4 +- .../kerneldbgen/tsts/coverageLevel/Makefile | 38 +++++++++++++++++++ 5 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 isis/src/system/apps/kerneldbgen/tsts/coverageLevel/Makefile diff --git a/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp b/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp index 1f6a2aefc9..a7695155df 100644 --- a/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp +++ b/isis/src/system/apps/kerneldbgen/SpiceDbGen.cpp @@ -240,7 +240,7 @@ PvlGroup SpiceDbGen::AddSelection(FileName fileIn, double startOffset, double en ssize_c(0, &cover); ssize_c(200000, &cover); - // A SPICE SEGMENT is composed of SPICE INTERVALS, and is a more coarse measurement + // A SPICE SEGMENT is composed of SPICE INTERVALS if (QString::compare(m_coverageLevel, "SEGMENT", Qt::CaseInsensitive) == 0 ) { ckcov_c(tmp.toLatin1().data(), body, SPICEFALSE, "SEGMENT", 0.0, "TDB", &cover); } diff --git a/isis/src/system/apps/kerneldbgen/SpiceDbGen.h b/isis/src/system/apps/kerneldbgen/SpiceDbGen.h index d7ec1c58e1..9288a8c505 100644 --- a/isis/src/system/apps/kerneldbgen/SpiceDbGen.h +++ b/isis/src/system/apps/kerneldbgen/SpiceDbGen.h @@ -47,6 +47,11 @@ * @history 2013-02-15 Steven Lambright - Added support for extra kernel dependencies * @history 2018-01-10 Christopher Combs - Added passing startOffset and endOffset to allow * the passing of time offsets to to FormatIntervals. Fixes #5272. + * @history 2018-05-09 Kristin Berry - Added information about the Spice time coverage level + * to this class: m_coverageLevel, setCoverageLevel, and this class will + * now select spice "time intervals" at the level specified. This is + * either a SPICE Segment (coarse) or a SPICE interval (fine.) + * Fixes #5410. * */ class SpiceDbGen { @@ -66,7 +71,7 @@ class SpiceDbGen { Isis::PvlGroup GetIntervals(SpiceCell &cover); //private instance variables QString p_type; - QString m_coverageLevel; + QString m_coverageLevel; //! The time coverage level of the database: INTERVAL or SEGMENT static const char *calForm; }; diff --git a/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp b/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp index b7ad0e5e31..af2a5d8ded 100644 --- a/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp +++ b/isis/src/system/apps/kerneldbgen/kerneldbgen.cpp @@ -46,7 +46,6 @@ void IsisMain() { else if (ui.GetString("LEVEL") == "INTERVAL") { coverageLevel = "INTERVAL"; } - // add to Pvl? sdg.setCoverageLevel(coverageLevel); selections += PvlKeyword("RunTime", iTime::CurrentLocalTime()); diff --git a/isis/src/system/apps/kerneldbgen/kerneldbgen.xml b/isis/src/system/apps/kerneldbgen/kerneldbgen.xml index 9deec3e722..7879eaf245 100644 --- a/isis/src/system/apps/kerneldbgen/kerneldbgen.xml +++ b/isis/src/system/apps/kerneldbgen/kerneldbgen.xml @@ -153,8 +153,8 @@ Fixes #5272. - Added option to specify the time coverage level to be used for the generated database. SPICE segements are made up of SPICE intervals. - Segments (the only old option) are now the default, but interval can be selected if needed. + Added the LEVEL=(SEGMENT*, INTERVAL) option to specify the time coverage level to be used for the generated database. SPICE segements are made up of SPICE intervals. + Segments (the only option in the past) are now the default, but interval can be selected if needed. Fixes #5410. diff --git a/isis/src/system/apps/kerneldbgen/tsts/coverageLevel/Makefile b/isis/src/system/apps/kerneldbgen/tsts/coverageLevel/Makefile new file mode 100644 index 0000000000..ea023286f7 --- /dev/null +++ b/isis/src/system/apps/kerneldbgen/tsts/coverageLevel/Makefile @@ -0,0 +1,38 @@ +# Coverage Level Test for kerneldbgen +# +# This test creates an output database file from the kernel in the input file +# that follow the given filter for reconstructed ck file name patterns. A database +# is output with time coverage at the SPICE segment level and at the SPICE interval +# level. (There will be one output entry for the spice segment, and several for the +# SPICE interval because a SPICE segment is composed of SPICE intervals.) +# +# After the output PVL is created, when compared, the DIFF file indicates to +# ignore RunTime and File. The File keyword is ignored since, depending on +# where the test is run, files may have different paths. These paths can not be +# removed since they may be long enough to take up multiple lines. +# +# This test uses files from the TGO CaSSIS mission, as this is where the problem +# was identified. +# +# history 2018-05-09 Kristin Berry - Added test for newly added time coverage +# LEVEL=(SEGMENT*, INTERVAL) option. See #5410 +APPNAME = kerneldbgen +include $(ISISROOT)/make/isismake.tsts + +commands: + # Default output level=segment + $(APPNAME) to=$(OUTPUT)/kernel_segment.db.pvl \ + type=CK \ + recondir=$(INPUT) \ + reconfilter='em16_tgo_sc_??m_*.bc' \ + sclk=\$$tgo/kernels/sclk/em16_tgo_step_????????.tsc \ + lsk=\$$base/kernels/lsk/naif0012.tls > /dev/null; + + # Output with level=interval, needed for CaSSIS kernels and potentially other type-6 kernels + $(APPNAME) to=$(OUTPUT)/kernel_interval.db.pvl \ + type=CK \ + level=INTERVAL \ + recondir=$(INPUT) \ + reconfilter='em16_tgo_sc_??m_*.bc' \ + sclk=\$$tgo/kernels/sclk/em16_tgo_step_????????.tsc \ + lsk=\$$base/kernels/lsk/naif0012.tls > /dev/null; -- GitLab From 0887f4e8f51c4758286690c4bd17d521eafffac1 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski <32341175+TracieSucharski@users.noreply.github.com> Date: Wed, 9 May 2018 09:02:56 -0700 Subject: [PATCH 0334/1212] Revert "Ipce" --- .../apps/ipce/AbstractProjectItemViewMW.cpp | 1 - .../apps/ipce/AbstractProjectItemViewMW.h | 1 - isis/src/qisis/apps/ipce/CubeDnView.cpp | 1 - isis/src/qisis/apps/ipce/CubeDnView.h | 1 - isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 58 +--- isis/src/qisis/apps/ipce/IpceMainWindow.h | 4 - .../AbstractProjectItemViewMW.cpp | 326 ------------------ .../AbstractProjectItemViewMW.h | 111 ------ .../objs/AbstractProjectItemViewMW/Makefile | 7 - .../ControlPointEditWidget.cpp | 38 +- .../ControlPointEditWidget.h | 11 +- isis/src/qisis/objs/CubeDnView/CubeDnView.cpp | 59 ++-- isis/src/qisis/objs/CubeDnView/CubeDnView.h | 10 +- isis/src/qisis/objs/Directory/Directory.cpp | 8 +- isis/src/qisis/objs/Directory/Directory.h | 6 +- .../NewControlPointDialog.cpp | 67 +--- .../NewControlPointDialog.h | 14 +- 17 files changed, 84 insertions(+), 639 deletions(-) delete mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp delete mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h delete mode 120000 isis/src/qisis/apps/ipce/CubeDnView.cpp delete mode 120000 isis/src/qisis/apps/ipce/CubeDnView.h delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp deleted file mode 120000 index 00831b0685..0000000000 --- a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h deleted file mode 120000 index e1c9363736..0000000000 --- a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h +++ /dev/null @@ -1 +0,0 @@ -../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/CubeDnView.cpp b/isis/src/qisis/apps/ipce/CubeDnView.cpp deleted file mode 120000 index 831715f468..0000000000 --- a/isis/src/qisis/apps/ipce/CubeDnView.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/CubeDnView/CubeDnView.cpp \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/CubeDnView.h b/isis/src/qisis/apps/ipce/CubeDnView.h deleted file mode 120000 index 55f9607e7b..0000000000 --- a/isis/src/qisis/apps/ipce/CubeDnView.h +++ /dev/null @@ -1 +0,0 @@ -../../objs/CubeDnView/CubeDnView.h \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index d0ab386512..42b5de1162 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -41,7 +41,7 @@ #include #include -#include "AbstractProjectItemViewMW.h" +#include "AbstractProjectItemView.h" #include "Directory.h" #include "FileName.h" #include "IException.h" @@ -76,22 +76,19 @@ namespace Isis { QMainWindow(parent) { m_maxThreadCount = -1; -// QMdiArea *centralWidget = new QMdiArea; -// centralWidget->setActivationOrder(QMdiArea::StackingOrder); + QMdiArea *centralWidget = new QMdiArea; + centralWidget->setActivationOrder(QMdiArea::StackingOrder); -// connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), -// this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); + connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), + this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); - QWidget *centralWidget = new QWidget; setCentralWidget(centralWidget); setDockNestingEnabled(true); - + m_activeView = NULL; try { m_directory = new Directory(this); - connect(m_directory, SIGNAL(newDockAvailable(QMainWindow *)), - this, SLOT(addDock(QMainWindow *))); connect(m_directory, SIGNAL( newWidgetAvailable(QWidget *) ), this, SLOT( addView(QWidget *) ) ); connect(m_directory, SIGNAL(viewClosed(QWidget *)), this, SLOT(removeView(QWidget *))); @@ -192,9 +189,9 @@ namespace Isis { addToolBar(m_toolPad); updateToolBarActions(); -// setTabbedViewMode(); -// centralWidget->setTabsMovable(true); -// centralWidget->setTabsClosable(true); + setTabbedViewMode(); + centralWidget->setTabsMovable(true); + centralWidget->setTabsClosable(true); QStringList args = QCoreApplication::arguments(); @@ -210,23 +207,6 @@ namespace Isis { } - void IpceMainWindow::addDock(QMainWindow *newWidgetForDock) { - - QDockWidget *dock = new QDockWidget(newWidgetForDock->windowTitle()); - dock->setWidget(newWidgetForDock); - dock->setObjectName(newWidgetForDock->windowTitle()); - - // This needs to eventually be a work order... - dock->setAttribute(Qt::WA_DeleteOnClose); - - connect(newWidgetForDock, SIGNAL(destroyed(QObject *)), - dock, SLOT(deleteLater())); - - addDockWidget(Qt::RightDockWidgetArea, dock); -// addDockWidget(area, dock, orientation); - } - - /** * This is connected from Directory's newWidgetAvailable signal and called when re-attaching a * view which was detached from the MDI main window. @@ -247,8 +227,6 @@ namespace Isis { if ( QMdiArea *mdiArea = qobject_cast( centralWidget() ) ) { mdiArea->addSubWindow(newWidget); newWidget->show(); - mdiArea->setActiveSubWindow(qobject_cast(newWidget)); - setActiveView(qobject_cast(newWidget)); } } } @@ -613,15 +591,15 @@ namespace Isis { this, SLOT( toggleViewMode() ) ); m_viewMenuActions.append(viewModeAction); -// m_cascadeViewsAction = new QAction("Cascade Views", this); -// connect(m_cascadeViewsAction, SIGNAL( triggered() ), -// centralWidget(), SLOT( cascadeSubWindows() ) ); -// m_viewMenuActions.append(m_cascadeViewsAction); -// -// m_tileViewsAction = new QAction("Tile Views", this); -// connect(m_tileViewsAction, SIGNAL( triggered() ), -// centralWidget(), SLOT( tileSubWindows() ) ); -// m_viewMenuActions.append(m_tileViewsAction); + m_cascadeViewsAction = new QAction("Cascade Views", this); + connect(m_cascadeViewsAction, SIGNAL( triggered() ), + centralWidget(), SLOT( cascadeSubWindows() ) ); + m_viewMenuActions.append(m_cascadeViewsAction); + + m_tileViewsAction = new QAction("Tile Views", this); + connect(m_tileViewsAction, SIGNAL( triggered() ), + centralWidget(), SLOT( tileSubWindows() ) ); + m_viewMenuActions.append(m_tileViewsAction); QAction *detachActiveViewAction = new QAction("Detach Active View", this); connect(detachActiveViewAction, SIGNAL( triggered() ), diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 4fb46c4c2c..724189d198 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -24,7 +24,6 @@ */ #include "ViewSubWindow.h" -#include #include #include #include @@ -128,8 +127,6 @@ namespace Isis { * containing the given widget. In the closeEvent method check whether * there is an active control and if it has been modified as additional * test to determine whether project needs saving. - * @history 2018-05-01 Tracie Sucharski - Code accidently left commented from previous checking. - * Fixes #5412. * */ class IpceMainWindow : public QMainWindow { @@ -140,7 +137,6 @@ namespace Isis { public slots: void addView(QWidget *newWidget); - void addDock(QMainWindow *newWidgetForDock); void removeView(QWidget *view); void removeAllViews(); diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp deleted file mode 100644 index 3ba279fb61..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp +++ /dev/null @@ -1,326 +0,0 @@ -/** - * @file - * $Date$ - * $Revision$ - * - * Unless noted otherwise, the portions of Isis written by the USGS are - * public domain. See individual third-party library and package descriptions - * for intellectual property information, user agreements, and related - * information. - * - * Although Isis has been used by the USGS, no warranty, expressed or - * implied, is made by the USGS as to the accuracy and functioning of such - * software and related material nor shall the fact of distribution - * constitute any such warranty, and no responsibility is assumed by the - * USGS in connection therewith. - * - * For additional information, launch - * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html - * in a browser or see the Privacy & Disclaimers page on the Isis website, - * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on - * http://www.usgs.gov/privacy.html. - */ -#include "AbstractProjectItemViewMW.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ProjectItem.h" -#include "ProjectItemModel.h" -#include "ProjectItemProxyModel.h" - -namespace Isis { - - /** - * Constructs the AbstractProjectItemViewMW. - * - * @param[in] parent (QWidget *) The parent widget - */ - AbstractProjectItemViewMW::AbstractProjectItemViewMW(QWidget *parent) : QMainWindow(parent) { - - setWindowFlags(Qt::Widget); - - - - m_internalModel = new ProjectItemProxyModel(this); - setAcceptDrops(true); - } - - - /** - * Sets the model used by the view. If the internal model is a proxy - * model, it sets the source model. - * - * @param[in] model (ProjectItemModel *) The new model - */ - void AbstractProjectItemViewMW::setModel(ProjectItemModel *model) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->setSourceModel(model); - } - } - - - /** - * Returns the model used by the view. If the internal model is a - * proxy model, it returns the source model. - * - * @return @b ProjectItemModel * The model. - */ - ProjectItemModel *AbstractProjectItemViewMW::model() { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - return proxyModel->sourceModel(); - } - return internalModel(); - } - - - /** - * Sets the internal model of the view. - * - * @param[in] model (ProjectItemModel *) The new internal model - */ - void AbstractProjectItemViewMW::setInternalModel(ProjectItemModel *model) { - m_internalModel = model; - } - - - /** - * Returns the internal model of the view. By default it is a proxy - * model. - * - * @return @b ProjectItemModel * The internal model - */ - ProjectItemModel *AbstractProjectItemViewMW::internalModel() { - return m_internalModel; - } - - - /** - * Accepts the drag enter event if the internal model can accept the - * mime data. - * - * @param[in] event (QDragEnterEvent *) The drag event - */ - void AbstractProjectItemViewMW::dragEnterEvent(QDragEnterEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - event->acceptProposedAction(); - } - } - - - /** - * Accepts the drag event if the internal model can accept the mime - * data. - * - * @param[in] event (QDragMoveEvent *) The drag event - */ - void AbstractProjectItemViewMW::dragMoveEvent(QDragMoveEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - event->acceptProposedAction(); - } - } - - - /** - * Drops the data into the internal model if it can accept the data. - * - * @param[in] event (QDropEvent *) The drop event - */ - void AbstractProjectItemViewMW::dropEvent(QDropEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - internalModel()->dropMimeData( event->mimeData(), event->dropAction(), - 0, 0, QModelIndex() ); - event->acceptProposedAction(); - } - } - - - /** - * Returns a list of actions appropriate for the permanent tool bar. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::permToolBarActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for the active tool bar. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::activeToolBarActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for the tool pad. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::toolPadActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a context menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::contextMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a file menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::fileMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a project menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::projectMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for an edit menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::editMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a view menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::viewMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a settings menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::settingsMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a help menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::helpMenuActions() { - return QList(); - } - - - /** - * Returns the current item of the model. - * - * @return @b ProjectItem * The item - */ - ProjectItem *AbstractProjectItemViewMW::currentItem() { - return model()->currentItem(); - } - - - /** - * Return the selected items of the model. - * - * @return @b QList The items - */ - QList AbstractProjectItemViewMW::selectedItems() { - return model()->selectedItems(); - } - - - /** - * Adds an item to the view. The item must be part of the view's - * model. This method can be overriden in a subclass to filter out - * unneeded items. - * - * @param[in] item (ProjectItem *) The item to add. - */ - void AbstractProjectItemViewMW::addItem(ProjectItem *item) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->addItem(item); - } - } - - - /** - * Adds several items to the view. The items must be a part of the - * view's model. - * - * @param[in] items (QList) The items to add. - */ - void AbstractProjectItemViewMW::addItems(QList items) { - foreach (ProjectItem *item, items) { - addItem(item); - } - } - - - /** - * Removes an item to the view. The item must be part of the view's - * model. This method can be overriden in a subclass to filter out - * unneeded items. - * - * @param[in] item (ProjectItem *) The item to remove. - */ - void AbstractProjectItemViewMW::removeItem(ProjectItem *item) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->removeItem(item); - } - } - - - /** - * Removes several items from the view. The items must be a part of the - * view's model. - * - * @param[in] items (QList) The items to remove. - */ - void AbstractProjectItemViewMW::removeItems(QList items) { - foreach (ProjectItem *item, items) { - removeItem(item); - } - } -} diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h deleted file mode 100644 index ae6a947158..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef AbstractProjectItemViewMW_h -#define AbstractProjectItemViewMW_h -/** - * @file - * $Date$ - * $Revision$ - * - * Unless noted otherwise, the portions of Isis written by the USGS are - * public domain. See individual third-party library and package descriptions - * for intellectual property information, user agreements, and related - * information. - * - * Although Isis has been used by the USGS, no warranty, expressed or - * implied, is made by the USGS as to the accuracy and functioning of such - * software and related material nor shall the fact of distribution - * constitute any such warranty, and no responsibility is assumed by the - * USGS in connection therewith. - * - * For additional information, launch - * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html - * in a browser or see the Privacy & Disclaimers page on the Isis website, - * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on - * http://www.usgs.gov/privacy.html. - */ - -#include - -class QAction; -class QDragEnterEvent; -class QWidget; -template class QList; - -namespace Isis { - - class ProjectItem; - class ProjectItemModel; - /** - * AbstractProjectItemView is a base class for views of a - * ProjectItemModel in Qt's model-view - * framework. AbstractProjectItemView is not meant to be - * instantiated directly. A view usually only shows items that have - * been added to the view. The views contains an internal - * ProjectItemProxyModel that represents the items appropriately for - * the view. - * - * An AbstractProjectItemView may provide QActions for manipulating - * the view. These actions can be accessed in different contexts - * through toolBarActions(), menuActions(), and - * contextMenuActions(). - * - * When mime data is dropped on a view the view adds the selected - * items from the source model to the view. - * - * Note that AbstractProjectItemView does not inherit from QAbstractItemView. - * - * @author 2015-10-21 Jeffrey Covington - * @internal - * @history 2015-10-21 Jeffrey Covington - Original version. - * @history 2016-06-27 Ian Humphrey - Minor updates to documentation and coding standards. - * Fixes #4004. - * @history 2016-07-28 Tracie Sucharski - Implemented removeItem and removeItems methods. - * @history 2016-08-25 Adam Paquette - Minor updates to documentation. - * Fixes #4299. - */ - class AbstractProjectItemViewMW : public QMainWindow { - - Q_OBJECT - - public: - AbstractProjectItemViewMW(QWidget *parent=0); - - virtual void setModel(ProjectItemModel *model); - virtual ProjectItemModel *model(); - - virtual void dragEnterEvent(QDragEnterEvent *event); - virtual void dragMoveEvent(QDragMoveEvent *event); - virtual void dropEvent(QDropEvent *event); - - virtual QList permToolBarActions(); - virtual QList activeToolBarActions(); - virtual QList toolPadActions(); - - virtual QList contextMenuActions(); - - virtual QList fileMenuActions(); - virtual QList projectMenuActions(); - virtual QList editMenuActions(); - virtual QList viewMenuActions(); - virtual QList settingsMenuActions(); - virtual QList helpMenuActions(); - - virtual ProjectItem *currentItem(); - virtual QList selectedItems(); - - virtual ProjectItemModel *internalModel(); - virtual void setInternalModel(ProjectItemModel *model); - - public slots: - virtual void addItem(ProjectItem *item); - virtual void addItems(QList items); - - virtual void removeItem(ProjectItem *item); - virtual void removeItems(QList items); - - private: - ProjectItemModel *m_internalModel; //!< The internal model used by the view - }; - -} - -#endif diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile b/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile deleted file mode 100644 index f122bc8822..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -ifeq ($(ISISROOT), $(BLANK)) -.SILENT: -error: - echo "Please set ISISROOT"; -else - include $(ISISROOT)/make/isismake.objs -endif \ No newline at end of file diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index fb86af99a3..75b70c885e 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -804,35 +804,17 @@ namespace Isis { // is selected if (controlPoint->Parent() == NULL) { m_editPoint = controlPoint; - // New point in editor, so colorize all save buttons - colorizeAllSaveButtons("red"); } else { m_editPoint = new ControlPoint; *m_editPoint = *controlPoint; - - // New point loaded, make sure all save button's text is default black color - colorizeAllSaveButtons("black"); } loadPoint(serialNumber); loadTemplateFile(m_measureEditor->templateFileName()); - } - - - void ControlPointEditWidget::colorizeAllSaveButtons(QString color) { - if (color == "black") { - // Don't need to colorize save measure button, when loading new measure, the measure editor - // will set back to default palette. - m_savePoint->setPalette(m_saveDefaultPalette); - m_saveNet->setPalette(m_saveDefaultPalette); - } - else if (color == "red") { - m_measureEditor->colorizeSaveButton(); - colorizeSavePointButton(); - colorizeSaveNetButton(); - } + // New point loaded, make sure Save Measure Button text is default + m_savePoint->setPalette(m_saveDefaultPalette); } @@ -2484,18 +2466,12 @@ namespace Isis { * * @author 2014-07-11 Tracie Sucharski */ - void ControlPointEditWidget::colorizeSaveNetButton(bool reset) { + void ControlPointEditWidget::colorizeSaveNetButton() { - if (reset) { - // Change Save Net button text back to default black - m_saveNet->setPalette(m_saveDefaultPalette); - } - else { - QColor qc = Qt::red; - QPalette p = m_savePoint->palette(); - p.setColor(QPalette::ButtonText,qc); - m_saveNet->setPalette(p); - } + QColor qc = Qt::red; + QPalette p = m_savePoint->palette(); + p.setColor(QPalette::ButtonText,qc); + m_saveNet->setPalette(p); } diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index 29e62dae70..b19e944a0c 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -88,8 +88,6 @@ namespace Isis { * @history 2018-04-25 Tracie Sucharski - Fix bug when creating a control point from CubeDnView * or FootprintView if a ground source exists in the serial number list. * Fixes #5399. - * @history 2018-05-02 Tracie Sucharski - Colorize save buttons properly when creating new - * control point and loading a different control point. */ class ControlPointEditWidget : public QWidget { Q_OBJECT @@ -125,11 +123,6 @@ namespace Isis { bool isGroundSource = false); void updatePointInfo(ControlPoint &updatedPoint); - // Changed colorizeSaveNetButton to public slot so it could be called from - // Directory::saveActiveControl(). This should be temporary until the modify/save functionality - // of active control is re-factored. Also added reset parameter, defaulting to false so button - // is red. This default was used so that current calls did not need to be changed. - void colorizeSaveNetButton(bool reset = false); protected: bool eventFilter(QObject *o,QEvent *e); @@ -157,8 +150,6 @@ namespace Isis { void measureSaved(); void checkReference(); void savePoint(); - - void colorizeAllSaveButtons(QString color); void colorizeSavePointButton(); void openTemplateFile(); @@ -171,6 +162,8 @@ namespace Isis { void writeTemplateFile(QString); void clearEditPoint(); + void colorizeSaveNetButton(); + private: void createActions(); diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp index 637486cbb2..e662a195a5 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -90,7 +89,7 @@ namespace Isis { * @param parent (QWidget *) Pointer to parent widget */ CubeDnView::CubeDnView(Directory *directory, QWidget *parent) : - AbstractProjectItemViewMW(parent) { + AbstractProjectItemView(parent) { connect( internalModel()->selectionModel(), SIGNAL( currentChanged(const QModelIndex &, const QModelIndex &) ), this, SLOT( onCurrentChanged(const QModelIndex &) ) ); @@ -103,52 +102,54 @@ namespace Isis { m_workspace = new Workspace(false, this); m_workspace->mdiArea()->setActivationOrder(QMdiArea::StackingOrder); - // Since this is a QMainWindow, set the workspace as the central widget. - setCentralWidget(m_workspace); - - createActions(directory); - connect(m_workspace, SIGNAL( cubeViewportActivated(MdiCubeViewport *) ), this, SLOT( onCubeViewportActivated(MdiCubeViewport *) ) ); connect(m_workspace, SIGNAL( cubeViewportAdded(MdiCubeViewport *) ), this, SLOT( onCubeViewportAdded(MdiCubeViewport *) ) ); - - // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - // These connections should be at higher level, directory or project???? ::addCubeDnView(). Project *activeProject = directory->project(); // These connect signals listen to the active project, and if a control network // or list of control networks is added, then the enableControlNetTool() function is called. connect(activeProject, SIGNAL(controlListAdded(ControlList *)), this, SLOT(enableControlNetTool())); connect(activeProject, SIGNAL(controlAdded(Control *)), this, SLOT(enableControlNetTool())); - } - void CubeDnView::createActions(Directory *directory) { + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); - - m_permToolBar = addToolBar("Standard Tools"); + //m_toolBar = new QWidget(this); + + //QHBoxLayout *toolBarLayout = new QHBoxLayout; + + m_permToolBar = new QToolBar("Standard Tools", 0); m_permToolBar->setObjectName("permToolBar"); m_permToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_permToolBar); - m_activeToolBar = addToolBar("Active Tool"); + m_activeToolBar = new QToolBar("Active Tool", 0); m_activeToolBar->setObjectName("activeToolBar"); m_activeToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_activeToolBar); m_toolPad = new ToolPad("Tool Pad", 0); m_toolPad->setObjectName("toolPad"); - addToolBar(m_toolPad); + //toolBarLayout->addWidget(m_toolPad); + + //m_toolBar->setLayout(toolBarLayout); + + //layout->addWidget(m_toolBar); + layout->addWidget(m_workspace); // Create tools ToolList *tools = new ToolList; - // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - //******* TODO : Look at code below. What is defaultActiveTool used for? Why is NULL - // appended?? *************** Tool *defaultActiveTool = NULL; tools->append(new RubberBandTool(this)); +// QnetTool *qnetTool = new QnetTool(m_workspace); + //tools->append(new FileTool(this)); + //tools->append(new QnetFileTool(qnetTool, this)); tools->append(NULL); ControlNetTool *controlNetTool = new ControlNetTool(directory, this); @@ -198,16 +199,18 @@ namespace Isis { tools->append(new StereoTool(this)); tools->append(new HelpTool(this)); - tools->append(new TrackTool(statusBar())); + QStatusBar *statusBar = new QStatusBar(this); + layout->addWidget(statusBar); + tools->append(new TrackTool(statusBar)); m_separatorAction = new QAction(this); m_separatorAction->setSeparator(true); - m_fileMenu = menuBar()->addMenu("&File"); - m_viewMenu = menuBar()->addMenu("&View"); - m_optionsMenu = menuBar()->addMenu("&Options"); - m_windowMenu = menuBar()->addMenu("&Window"); - m_helpMenu = menuBar()->addMenu("&Help"); + m_fileMenu = new QMenu; + m_viewMenu = new QMenu; + m_optionsMenu = new QMenu; + m_windowMenu = new QMenu; + m_helpMenu = new QMenu; for (int i = 0; i < tools->count(); i++) { Tool *tool = (*tools)[i]; @@ -250,6 +253,10 @@ namespace Isis { m_toolPadActions.append( m_toolPad->actions() ); + QSizePolicy policy = sizePolicy(); + policy.setHorizontalPolicy(QSizePolicy::Expanding); + policy.setVerticalPolicy(QSizePolicy::Expanding); + setSizePolicy(policy); } @@ -295,7 +302,7 @@ namespace Isis { return; } - AbstractProjectItemViewMW::addItem(item); + AbstractProjectItemView::addItem(item); } diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.h b/isis/src/qisis/objs/CubeDnView/CubeDnView.h index 392783186b..4ffe267a2a 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.h +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.h @@ -1,5 +1,5 @@ -#ifndef CubeDnViewMW_h -#define CubeDnViewMW_h +#ifndef CubeDnView_h +#define CubeDnView_h /** * @file * $Date$ @@ -27,7 +27,7 @@ #include #include -#include "AbstractProjectItemViewMW.h" +#include "AbstractProjectItemView.h" #include "FileName.h" #include "XmlStackedHandler.h" @@ -81,7 +81,7 @@ namespace Isis { * @history 2017-08-03 Cole Neubauer - Changed all references from IpceTool to ControlNetTool * Fixes #5090 */ - class CubeDnView : public AbstractProjectItemViewMW { + class CubeDnView : public AbstractProjectItemView { Q_OBJECT @@ -123,8 +123,6 @@ namespace Isis { void enableControlNetTool(); private slots: - void createActions(Directory *directory); - void onCurrentChanged(const QModelIndex ¤t); void onCubeViewportActivated(MdiCubeViewport *); void onItemAdded(ProjectItem *item); diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index bafae6d923..3e8efc0fd2 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -699,7 +698,7 @@ namespace Isis { result->setWindowTitle("Cube DN View"); result->setWindowTitle( tr("Cube DN View %1").arg(m_cubeDnViewWidgets.count() ) ); - emit newDockAvailable(result); + emit newWidgetAvailable(result); // Connections between mouse button events from view and control point editing connect(result, SIGNAL(modifyControlPoint(ControlPoint *, QString)), @@ -1805,11 +1804,6 @@ namespace Isis { "has been saved."; m_historyTreeWidget->addToHistory(saveCnetHistoryEntry); } - - // Make sure the ControlPointEditView "Save Net" button is no longer red - if (controlPointEditView()) { - controlPointEditView()->controlPointEditWidget()->colorizeSaveNetButton(true); - } } diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index c65f402da1..e1dc612aac 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -39,7 +39,6 @@ class QAction; class QDockWidget; -class QMainWindow; class QMenuBar; class QProgressBar; class QSplitter; @@ -231,9 +230,7 @@ namespace Isis { * @history 2018-04-04 Tracie Sucharski - Created CnetEditorView class to use to add to QMdiArea * instead of a CnetEditorWidget. This way there is no longer a * disconnect between what has been added to the QMdiArea and what is - * stored in m_cnetEditorViewWidgets. - * @history 2018-05-08 Tracie Sucharski - When saving active control, reset the "Save Net" - * button to black in the ControlPointEditorWidget. + * stored in m_cnetEditorViewWidgets. */ class Directory : public QObject { Q_OBJECT @@ -353,7 +350,6 @@ namespace Isis { void directoryCleaned(); void newWarning(); void newWidgetAvailable(QWidget *newWidget); - void newDockAvailable(QMainWindow *newWidget); void viewClosed(QWidget *widget); diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp index fe9d667744..1d288c8cac 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp @@ -20,15 +20,9 @@ namespace Isis { /** - * @description Create dialog for creating a new Control Point - * - * @param controlNet The control net the new control point will be contained in - * @param serialNumberList The serial number list corresponding to the controlNet - * @param defaultPointId The default pointID, usually empty string - * @param parent Parent widget - * @param pointType Show the Point Type combo box, default = false - * @param groundSource Show the Ground Source list, default = false - * @param subpixelRegisterMeasures Show the check box for sub-pixel registration option, default = false + * NewControlPointDialog constructor + * @param parent The parent widget for the + * cube points filter * * @internal * @history 2008-11-26 Jeannie Walldren - Set lastPointIdValue @@ -74,12 +68,11 @@ namespace Isis { m_pointTypeCombo->insertItem(i, ControlPoint::PointTypeToString( (ControlPoint::PointType) i)); } - m_pointTypeCombo->setCurrentText("Free"); - QLabel *pointTypeLabel = new QLabel("Point Type:"); + m_pointTypeCombo->setCurrentIndex(2); + QLabel *pointTypeLabel = new QLabel("PointType:"); pointTypeLayout->addWidget(pointTypeLabel); pointTypeLayout->addWidget(m_pointTypeCombo); - connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(QString)), - this, SLOT(pointTypeChanged(QString))); + connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(pointTypeChanged(int))); } @@ -106,7 +99,6 @@ namespace Isis { // Create OK & Cancel buttons m_okButton = new QPushButton("OK"); - // If the last point id used was never saved to network, do not set ok // button to faslse enableOkButton(""); @@ -155,14 +147,7 @@ namespace Isis { int NewControlPointDialog::pointType() const { - int result = ControlPoint::Free; - if (m_pointTypeCombo->currentText() == "Constrained") { - result = ControlPoint::Constrained; - } - if (m_pointTypeCombo->currentText() == "Fixed") { - result = ControlPoint::Fixed; - } - return result; + return m_pointTypeCombo->currentIndex(); } @@ -187,33 +172,19 @@ namespace Isis { } - void NewControlPointDialog::pointTypeChanged(QString pointType) { - if (pointType == "Fixed" || pointType == "Constrained") { + void NewControlPointDialog::pointTypeChanged(int pointType) { + if (pointType == ControlPoint::Constrained || pointType == ControlPoint::Fixed) { m_groundSourceCombo->setVisible(true); } } void NewControlPointDialog::setGroundSource(QStringList groundFiles, int numberShapesWithPoint) { - // If groundFiles not empty, add to the list widget for selection - if (groundFiles.count() != 0) { - m_groundSourceCombo->addItems(groundFiles); - for (int i = 0; i < numberShapesWithPoint; i++) { - m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); - } - m_groundSourceCombo->insertSeparator(numberShapesWithPoint); - } - // If groundFiles is empty, remove option to change point type to Constrained or Fixed, add a - // tooltip to give user hint as to why they don't have option to change point type and set - // default point type back to "Free". - else { - m_pointTypeCombo->setToolTip("The Point Type cannot be changed to \"Fixed\" or " - "\"Constrained\", because there are no shapes imported into " - "your project."); - m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Constrained")); - m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Fixed")); - m_pointTypeCombo->setCurrentText("Free"); + m_groundSourceCombo->addItems(groundFiles); + for (int i = 0; i < numberShapesWithPoint; i++) { + m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); } + m_groundSourceCombo->insertSeparator(numberShapesWithPoint); } @@ -256,15 +227,7 @@ namespace Isis { * to the ptIdValue */ void NewControlPointDialog::enableOkButton(const QString &) { - bool enable = !m_ptIdEdit->text().isEmpty() && - !m_controlNet->ContainsPoint(m_ptIdEdit->text()); - m_okButton->setEnabled(enable); - if (enable) { - m_okButton->setToolTip(""); - } - else { - m_okButton->setToolTip("Cannot create point because Point Id is either empty or the active " - "control net already contains a control point with this point Id."); - } + m_okButton->setEnabled(!m_ptIdEdit->text().isEmpty() && + !m_controlNet->ContainsPoint(m_ptIdEdit->text())); } } diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h index 77af7f7a81..d2a287b693 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h @@ -33,16 +33,8 @@ namespace Isis { * @history 2016-10-18 Tracie Sucharski - Added method to return value of the * subpixelRegister radio button. If set, all measures in the control * point created will be subpixel registered. - * @history 2017-07-04 Christopher Combs - Combined functionality of dialogs from qnet, - * qview and ipce applications by adding bools to toggle on specific - * elements of the dialog to remove similar classes like - * QnetNewPointDialog. Fixes #4383. - * @history 2018-05-02 Tracie Sucharski - If no shapes available remove option to change point - * type to "Constrained" or "Fixed". Because pointType combo dependent on - * having all 3 types to use ControlPoint's enum, change comparisons to - * check text instead of int values. Add tool tip explaining why point - * type cannot be changed. Set tool tip on Ok button explaining why it - * is not enabled. Fixes #5087. + * @history 2017-07-04 Christopher Combs - Added bools to toggle on specific elements of the + * dialog to remove similar classes like QnetNewPointDialog. Fixes #4383. */ class NewControlPointDialog : public QDialog { @@ -66,7 +58,7 @@ namespace Isis { bool subpixelRegisterPoint(); private slots: - void pointTypeChanged(QString pointType); + void pointTypeChanged(int pointType); void enableOkButton(const QString &text); private: -- GitLab From 38bcb97c9fdbd469196d6c12d13b0bfdf0f9c95b Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Wed, 9 May 2018 09:22:35 -0700 Subject: [PATCH 0335/1212] Initial copy from himos to tgocassismos --- isis/src/tgo/apps/tgocassismos/Makefile | 7 + .../tgo/apps/tgocassismos/tgocassismos.cpp | 320 ++++++++++++++++++ .../tgo/apps/tgocassismos/tgocassismos.xml | 101 ++++++ isis/src/tgo/apps/tgocassismos/tsts/Makefile | 4 + .../apps/tgocassismos/tsts/case01/Makefile | 10 + .../tgocassismos/tsts/case02pole/Makefile | 10 + 6 files changed, 452 insertions(+) create mode 100644 isis/src/tgo/apps/tgocassismos/Makefile create mode 100644 isis/src/tgo/apps/tgocassismos/tgocassismos.cpp create mode 100644 isis/src/tgo/apps/tgocassismos/tgocassismos.xml create mode 100644 isis/src/tgo/apps/tgocassismos/tsts/Makefile create mode 100644 isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile create mode 100644 isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile diff --git a/isis/src/tgo/apps/tgocassismos/Makefile b/isis/src/tgo/apps/tgocassismos/Makefile new file mode 100644 index 0000000000..7578f0b21d --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/Makefile @@ -0,0 +1,7 @@ +ifeq ($(ISISROOT), $(BLANK)) +.SILENT: +error: + echo "Please set ISISROOT"; +else + include $(ISISROOT)/make/isismake.apps +endif \ No newline at end of file diff --git a/isis/src/tgo/apps/tgocassismos/tgocassismos.cpp b/isis/src/tgo/apps/tgocassismos/tgocassismos.cpp new file mode 100644 index 0000000000..2fe79d8745 --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/tgocassismos.cpp @@ -0,0 +1,320 @@ +#include "Isis.h" + +#include "Application.h" +#include "Camera.h" +#include "Cube.h" +#include "FileList.h" +#include "IException.h" +#include "Pvl.h" +#include "IString.h" +#include "Longitude.h" +#include "OriginalLabel.h" +#include "Process.h" +#include "ProgramLauncher.h" +#include "TProjection.h" +#include "UserInterface.h" + + +using namespace std; +using namespace Isis; + +#include + +//functions in the code +void CompareLabels(Pvl &match, Pvl &comp); + + +void IsisMain() { + + // Get the list of cubes to mosaic + + UserInterface &ui = Application::GetUserInterface(); + FileList flist(ui.GetFileName("FROMLIST")); + + + vector clist; + try { + if(flist.size() < 1) { + QString msg = "the list file [" + ui.GetFileName("FROMLIST") + + "does not contain any data"; + throw IException(IException::User, msg, _FILEINFO_); + } + + // open all the cube and place in vector clist + + for(int i = 0; i < flist.size(); i++) { + Cube *c = new Cube(); + clist.push_back(c); + c->open(flist[i].toString()); + } + + + + // run the compare function here. This will conpare the + // labels of the first cube to the labels of each following cube. + PvlKeyword sourceProductId("SourceProductId"); + QString ProdId; + for(int i = 0; i < (int)clist.size(); i++) { + Pvl *pmatch = clist[0]->label(); + Pvl *pcomp = clist[i]->label(); + CompareLabels(*pmatch, *pcomp); + PvlGroup g = pcomp->findGroup("Instrument", Pvl::Traverse); + if(g.hasKeyword("StitchedProductIds")) { + PvlKeyword k = g["StitchedProductIds"]; + for(int j = 0; j < (int)k.size(); j++) { + sourceProductId += g["stitchedProductIds"][j]; + } + } + ProdId = (QString)pmatch->findGroup("Archive", Pvl::Traverse)["ObservationId"]; + QString bandname = (QString)pmatch->findGroup("BandBin", Pvl::Traverse)["Name"]; + bandname = bandname.toUpper(); + ProdId = ProdId + "_" + bandname; + } + bool runXY = true; + + //calculate the min and max lon + double minLat = DBL_MAX; + double maxLat = -DBL_MAX; + double minLon = DBL_MAX; + double maxLon = -DBL_MAX; + double avgLat; + double avgLon; + for(int i = 0; i < (int)clist.size(); i++) { + TProjection *proj = (TProjection *) clist[i]->projection(); + if(proj->MinimumLatitude() < minLat) minLat = proj->MinimumLatitude(); + if(proj->MaximumLatitude() > maxLat) maxLat = proj->MaximumLatitude(); + if(proj->MinimumLongitude() < minLon) minLon = proj->MinimumLongitude(); + if(proj->MaximumLongitude() > maxLon) maxLon = proj->MaximumLongitude(); + } + avgLat = (minLat + maxLat) / 2; + avgLon = (minLon + maxLon) / 2; + TProjection *proj = (TProjection *) clist[0]->projection(); + proj->SetGround(avgLat, avgLon); + avgLat = proj->UniversalLatitude(); + avgLon = proj->UniversalLongitude(); + + // Use camera class to get Inc., emi., phase, and other values + double Cemiss; + double Cphase; + double Cincid; + double ClocalSolTime; + double CsolarLong; + double CsunAzimuth; + double CnorthAzimuth; + for(int i = 0; i < (int)clist.size(); i++) { + Camera *cam = clist[i]->camera(); + if(cam->SetUniversalGround(avgLat, avgLon)) { + Cemiss = cam->EmissionAngle(); + Cphase = cam->PhaseAngle(); + Cincid = cam->IncidenceAngle(); + ClocalSolTime = cam->LocalSolarTime(); + CsolarLong = cam->solarLongitude().degrees(); + CsunAzimuth = cam->SunAzimuth(); + CnorthAzimuth = cam->NorthAzimuth(); + runXY = false; + break; + } + } + + //The code within the if runXY was added in 10/07 to find an intersect with + //pole images that would fail when using projection set universal ground. + // This is run if no intersect is found when using lat and lon in + // projection space. + if(runXY) { + double startX = DBL_MAX; + double endX = DBL_MIN; + double startY = DBL_MAX; + double endY = DBL_MIN; + for(int i = 0; i < (int)clist.size(); i++) { + TProjection *proj = (TProjection *) clist[i]->projection(); + proj->SetWorld(0.5, 0.5); + if(i == 0) { + startX = proj->XCoord(); + endY = proj->YCoord(); + } + else { + if(proj->XCoord() < startX) startX = proj->XCoord(); + if(proj->YCoord() > endY) endY = proj->YCoord(); + } + Pvl *p = clist[i]->label(); + double nlines = p->findGroup("Dimensions", Pvl::Traverse)["Lines"]; + double nsamps = p->findGroup("Dimensions", Pvl::Traverse)["Samples"]; + + proj->SetWorld((nsamps + 0.5), (nlines + 0.5)); + if(i == 0) { + endX = proj->XCoord(); + startY = proj->YCoord(); + } + else { + if(proj->XCoord() > endX) endX = proj->XCoord(); + if(proj->YCoord() < startY) startY = proj->YCoord(); + } + } + + double avgX = (startX + endX) / 2; + double avgY = (startY + endY) / 2; + double sample = proj->ToWorldX(avgX); + double line = proj->ToWorldY(avgY); + + for(int i = 0; i < (int)clist.size(); i++) { + Camera *cam = clist[i]->camera(); + if(cam->SetImage(sample, line)) { + Cemiss = cam->EmissionAngle(); + Cphase = cam->PhaseAngle(); + Cincid = cam->IncidenceAngle(); + ClocalSolTime = cam->LocalSolarTime(); + CsolarLong = cam->solarLongitude().degrees(); + CsunAzimuth = cam->SunAzimuth(); + CnorthAzimuth = cam->NorthAzimuth(); + runXY = false; + break; + } + } + } + if(runXY) { + QString msg = "Camera did not intersect images to gather stats"; + throw IException(IException::User, msg, _FILEINFO_); + } + + // get the min and max SCLK values ( do this with QString comp.) + // get the value from the original label blob + QString startClock; + QString stopClock; + QString startTime; + QString stopTime; + for(int i = 0; i < (int)clist.size(); i++) { + OriginalLabel origLab; + clist[i]->read(origLab); + PvlGroup timegrp = origLab.ReturnLabels().findGroup("TIME_PARAMETERS", Pvl::Traverse); + if(i == 0) { + startClock = (QString)timegrp["SpacecraftClockStartCount"]; + stopClock = (QString)timegrp["SpacecraftClockStopCount"]; + startTime = (QString)timegrp["StartTime"]; + stopTime = (QString)timegrp["StopTime"]; + } + else { + QString testStartTime = (QString)timegrp["StartTime"]; + QString testStopTime = (QString)timegrp["StopTime"]; + if(testStartTime < startTime) { + startTime = testStartTime; + startClock = (QString)timegrp["SpacecraftClockStartCount"]; + } + if(testStopTime > stopTime) { + stopTime = testStopTime; + stopClock = (QString)timegrp["spacecraftClockStopCount"]; + } + } + } + + // Concatenate all TDI's and summing and specialProcessingFlat into one keyword + PvlKeyword cpmmTdiFlag("cpmmTdiFlag"); + PvlKeyword cpmmSummingFlag("cpmmSummingFlag"); + PvlKeyword specialProcessingFlag("SpecialProcessingFlag"); + for(int i = 0; i < 14; i++) { + cpmmTdiFlag += (QString)""; + cpmmSummingFlag += (QString)""; + specialProcessingFlag += (QString)""; + } + + for(int i = 0; i < (int)clist.size(); i++) { + Pvl *clab = clist[i]->label(); + PvlGroup cInst = clab->findGroup("Instrument", Pvl::Traverse); + OriginalLabel cOrgLab; + clist[i]->read(cOrgLab); + PvlGroup cGrp = cOrgLab.ReturnLabels().findGroup("INSTRUMENT_SETTING_PARAMETERS", Pvl::Traverse); + cpmmTdiFlag[(int)cInst["CpmmNumber"]] = (QString) cGrp["MRO:TDI"]; + cpmmSummingFlag[(int)cInst["CpmmNumber"]] = (QString) cGrp["MRO:BINNING"]; + + if(cInst.hasKeyword("Special_Processing_Flag")) { + specialProcessingFlag[cInst["CpmmNumber"]] = (QString) cInst["Special_Processing_Flag"]; + } + else { + // there may not be the keyword Special_Processing_Flag if no + //keyword then set the output to NOMINAL + specialProcessingFlag[cInst["CpmmNumber"]] = "NOMINAL"; + } + } + + + // Get the blob of original labels from first image in list + OriginalLabel org; + clist[0]->read(org); + + //close all cubes + for(int i = 0; i < (int)clist.size(); i++) { + clist[i]->close(); + delete clist[i]; + } + clist.clear(); + + // automos step + QString list = ui.GetFileName("FROMLIST"); + QString toMosaic = ui.GetFileName("TO"); + QString MosaicPriority = ui.GetString("PRIORITY"); + + QString parameters = "FROMLIST=" + list + " MOSAIC=" + toMosaic + " PRIORITY=" + MosaicPriority; + ProgramLauncher::RunIsisProgram("automos", parameters); + + // write out new information to new group mosaic + + PvlGroup mos("Mosaic"); + mos += PvlKeyword("ProductId ", ProdId); + mos += PvlKeyword(sourceProductId); + mos += PvlKeyword("StartTime ", startTime); + mos += PvlKeyword("SpacecraftClockStartCount ", startClock); + mos += PvlKeyword("StopTime ", stopTime); + mos += PvlKeyword("SpacecraftClockStopCount ", stopClock); + mos += PvlKeyword("IncidenceAngle ", toString(Cincid), "DEG"); + mos += PvlKeyword("EmissionAngle ", toString(Cemiss), "DEG"); + mos += PvlKeyword("PhaseAngle ", toString(Cphase), "DEG"); + mos += PvlKeyword("LocalTime ", toString(ClocalSolTime), "LOCALDAY/24"); + mos += PvlKeyword("SolarLongitude ", toString(CsolarLong), "DEG"); + mos += PvlKeyword("SubSolarAzimuth ", toString(CsunAzimuth), "DEG"); + mos += PvlKeyword("NorthAzimuth ", toString(CnorthAzimuth), "DEG"); + mos += cpmmTdiFlag; + mos += cpmmSummingFlag; + mos += specialProcessingFlag; + + Cube mosCube; + mosCube.open(ui.GetFileName("TO"), "rw"); + PvlObject &lab = mosCube.label()->findObject("IsisCube"); + lab.addGroup(mos); + //add orginal label blob to the output cube + mosCube.write(org); + mosCube.close(); + + } + catch(IException &e) { + for(int i = 0; i < (int)clist.size(); i++) { + clist[i]->close(); + delete clist[i]; + } + QString msg = "The mosaic [" + ui.GetFileName("TO") + "] was NOT created"; + throw IException(IException::User, msg, _FILEINFO_); + } +} // end of isis main + +//Function to compare label - CompareLabels +void CompareLabels(Pvl &pmatch, Pvl &pcomp) { + // test of the ObservationId + PvlGroup matchgrp = pmatch.findGroup("Archive", Pvl::Traverse); + PvlGroup compgrp = pcomp.findGroup("Archive", Pvl::Traverse); + QString obsMatch = matchgrp["ObservationId"]; + QString obsComp = compgrp["ObservationId"]; + + if(obsMatch != obsComp) { + QString msg = "Images not from the same observation"; + throw IException(IException::User, msg, _FILEINFO_); + } + + // Test of the BandBin filter name + PvlGroup bmatchgrp = pmatch.findGroup("BandBin", Pvl::Traverse); + PvlGroup bcompgrp = pcomp.findGroup("BandBin", Pvl::Traverse); + QString bandMatch = bmatchgrp["Name"]; + QString bandComp = bcompgrp["Name"]; + + if(bandMatch != bandComp) { + QString msg = "Images not the same filter"; + throw IException(IException::User, msg, _FILEINFO_); + } +} diff --git a/isis/src/tgo/apps/tgocassismos/tgocassismos.xml b/isis/src/tgo/apps/tgocassismos/tgocassismos.xml new file mode 100644 index 0000000000..381c9fdbc6 --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/tgocassismos.xml @@ -0,0 +1,101 @@ + + + + + Produce an output mosaic of TGO CaSSIS images from the same observation and filter. + + + +

    + ** The output from this program is required by hirdrgen **
    + If the final product wil not be an RDR, mapmos or automos can be used to produce a mosaic. + This program produces a mosaic and adds keywords to the label group "Mosaic" that are required + by hirdrgen.
    + + The input cubes to this program must be from the same observation, same filter, and map projected.
    + + A new label group, required by tgocassisrdrgen, called "Mosaic" is added to the image labels of + the output cube. The original label blob is also propagated from the first file in the input list.
    +

    + +

    + processing sequence for single filter products that will become RDRs
    + cam2map - project the cube.
    + tgocassismos - mosaic files and add keywords to the mosaic group.
    + tgocassisrdrgen - produce a RDR product.
    +

    + +
    + + + Trace Gas Orbiter + + + + + Original version. + + + + + + + filename + input + + Input list of files + + + A single colume list of TGO CaSSIS files that will be mosaiced together. The input + files must be from the some observation and be from the same filter. The files must also + be map projected. + + + *.lis *.lst *.txt + + + + + cube + output + + Output mosaic + + + the output mosaic cube with the new mosaic label group added. + + + *.cub + + + + + string + + ONTOP + + The priority of pixel placement + + This parameter is used to select one of two ways to masaic the + pixels in areas of overlap. + + + + + + + + + +
    diff --git a/isis/src/tgo/apps/tgocassismos/tsts/Makefile b/isis/src/tgo/apps/tgocassismos/tsts/Makefile new file mode 100644 index 0000000000..46d84c74c2 --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/tsts/Makefile @@ -0,0 +1,4 @@ +BLANKS = "%-6s" +LENGTH = "%-40s" + +include $(ISISROOT)/make/isismake.tststree diff --git a/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile b/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile new file mode 100644 index 0000000000..4b21ac1ab0 --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile @@ -0,0 +1,10 @@ +APPNAME = himos + +include $(ISISROOT)/make/isismake.tsts + +commands: + $(LS) -1 $(INPUT)/*.cub > $(OUTPUT)/cube.lis; + $(APPNAME) fromlist=$(OUTPUT)/cube.lis \ + to=$(OUTPUT)/test_himos_070418.cub > /dev/null; + catlab from=$(OUTPUT)/test_himos_070418.cub to=$(OUTPUT)/himos.pvl > /dev/null; + $(RM) $(OUTPUT)/cube.lis; diff --git a/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile b/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile new file mode 100644 index 0000000000..f4eaa16dd6 --- /dev/null +++ b/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile @@ -0,0 +1,10 @@ +APPNAME = himos + +include $(ISISROOT)/make/isismake.tsts + +commands: + $(LS) -1 $(INPUT)/*.cub > $(OUTPUT)/cube.lis; + $(APPNAME) fromlist=$(OUTPUT)/cube.lis \ + to=$(OUTPUT)/test_himos_pole.cub > /dev/null; + catlab from=$(OUTPUT)/test_himos_pole.cub to=$(OUTPUT)/himos_pole.pvl > /dev/null; + $(RM) $(OUTPUT)/cube.lis; -- GitLab From 8905e85e73515b99d9a3f9a5f7cc3c61cc497577 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Wed, 9 May 2018 09:36:09 -0700 Subject: [PATCH 0336/1212] Update Makefile --- isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile b/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile index 4b21ac1ab0..5f8a14e890 100644 --- a/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile +++ b/isis/src/tgo/apps/tgocassismos/tsts/case01/Makefile @@ -1,10 +1,10 @@ -APPNAME = himos +APPNAME = tgocassismos include $(ISISROOT)/make/isismake.tsts commands: $(LS) -1 $(INPUT)/*.cub > $(OUTPUT)/cube.lis; $(APPNAME) fromlist=$(OUTPUT)/cube.lis \ - to=$(OUTPUT)/test_himos_070418.cub > /dev/null; - catlab from=$(OUTPUT)/test_himos_070418.cub to=$(OUTPUT)/himos.pvl > /dev/null; + to=$(OUTPUT)/test_tgocassismos_070418.cub > /dev/null; + catlab from=$(OUTPUT)/test_tgocassismos_070418.cub to=$(OUTPUT)/tgocassismos.pvl > /dev/null; $(RM) $(OUTPUT)/cube.lis; -- GitLab From 21921c46f846fdb5bdeff102d819c105525419b6 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Wed, 9 May 2018 09:36:49 -0700 Subject: [PATCH 0337/1212] Update Makefile --- isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile b/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile index f4eaa16dd6..6d29b20f08 100644 --- a/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile +++ b/isis/src/tgo/apps/tgocassismos/tsts/case02pole/Makefile @@ -1,10 +1,10 @@ -APPNAME = himos +APPNAME = tgocassismos include $(ISISROOT)/make/isismake.tsts commands: $(LS) -1 $(INPUT)/*.cub > $(OUTPUT)/cube.lis; $(APPNAME) fromlist=$(OUTPUT)/cube.lis \ - to=$(OUTPUT)/test_himos_pole.cub > /dev/null; - catlab from=$(OUTPUT)/test_himos_pole.cub to=$(OUTPUT)/himos_pole.pvl > /dev/null; + to=$(OUTPUT)/test_tgocassismos_pole.cub > /dev/null; + catlab from=$(OUTPUT)/test_tgocassismos_pole.cub to=$(OUTPUT)/tgocassismos_pole.pvl > /dev/null; $(RM) $(OUTPUT)/cube.lis; -- GitLab From c95d3a8d31f30330bbe298f157f05a6fe8cbc741 Mon Sep 17 00:00:00 2001 From: Makayla Shepherd Date: Wed, 9 May 2018 09:43:34 -0700 Subject: [PATCH 0338/1212] Update tgocassismos.xml --- isis/src/tgo/apps/tgocassismos/tgocassismos.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/isis/src/tgo/apps/tgocassismos/tgocassismos.xml b/isis/src/tgo/apps/tgocassismos/tgocassismos.xml index 381c9fdbc6..8e97867c94 100644 --- a/isis/src/tgo/apps/tgocassismos/tgocassismos.xml +++ b/isis/src/tgo/apps/tgocassismos/tgocassismos.xml @@ -7,7 +7,6 @@

    - ** The output from this program is required by hirdrgen **
    If the final product wil not be an RDR, mapmos or automos can be used to produce a mosaic. This program produces a mosaic and adds keywords to the label group "Mosaic" that are required by hirdrgen.
    @@ -62,7 +61,7 @@ Output mosaic - the output mosaic cube with the new mosaic label group added. + The output mosaic cube with the new mosaic label group added. *.cub -- GitLab From cefc08a235a01044a5814cb754a928b7ce39b4ee Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 9 May 2018 10:35:11 -0700 Subject: [PATCH 0339/1212] Revert "Merge branch 'ipceDocks' into ipce" This reverts commit 0b56f047c898c29b723a600d6722d9fa36c8bbce, reversing changes made to 745c6cde5dffc25b03491e9a93cad5b57cb711c5. --- .../apps/ipce/AbstractProjectItemViewMW.cpp | 1 - .../apps/ipce/AbstractProjectItemViewMW.h | 1 - isis/src/qisis/apps/ipce/CubeDnView.cpp | 1 - isis/src/qisis/apps/ipce/CubeDnView.h | 1 - isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 56 +-- isis/src/qisis/apps/ipce/IpceMainWindow.h | 2 - .../AbstractProjectItemViewMW.cpp | 326 ------------------ .../AbstractProjectItemViewMW.h | 111 ------ .../objs/AbstractProjectItemViewMW/Makefile | 7 - isis/src/qisis/objs/CubeDnView/CubeDnView.cpp | 59 ++-- isis/src/qisis/objs/CubeDnView/CubeDnView.h | 10 +- isis/src/qisis/objs/Directory/Directory.cpp | 3 +- isis/src/qisis/objs/Directory/Directory.h | 2 - 13 files changed, 56 insertions(+), 524 deletions(-) delete mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp delete mode 120000 isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h delete mode 120000 isis/src/qisis/apps/ipce/CubeDnView.cpp delete mode 120000 isis/src/qisis/apps/ipce/CubeDnView.h delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h delete mode 100644 isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp deleted file mode 120000 index 00831b0685..0000000000 --- a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h b/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h deleted file mode 120000 index e1c9363736..0000000000 --- a/isis/src/qisis/apps/ipce/AbstractProjectItemViewMW.h +++ /dev/null @@ -1 +0,0 @@ -../../objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/CubeDnView.cpp b/isis/src/qisis/apps/ipce/CubeDnView.cpp deleted file mode 120000 index 831715f468..0000000000 --- a/isis/src/qisis/apps/ipce/CubeDnView.cpp +++ /dev/null @@ -1 +0,0 @@ -../../objs/CubeDnView/CubeDnView.cpp \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/CubeDnView.h b/isis/src/qisis/apps/ipce/CubeDnView.h deleted file mode 120000 index 55f9607e7b..0000000000 --- a/isis/src/qisis/apps/ipce/CubeDnView.h +++ /dev/null @@ -1 +0,0 @@ -../../objs/CubeDnView/CubeDnView.h \ No newline at end of file diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index d0ab386512..b16393e6c5 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -41,7 +41,7 @@ #include #include -#include "AbstractProjectItemViewMW.h" +#include "AbstractProjectItemView.h" #include "Directory.h" #include "FileName.h" #include "IException.h" @@ -76,22 +76,19 @@ namespace Isis { QMainWindow(parent) { m_maxThreadCount = -1; -// QMdiArea *centralWidget = new QMdiArea; -// centralWidget->setActivationOrder(QMdiArea::StackingOrder); + QMdiArea *centralWidget = new QMdiArea; + centralWidget->setActivationOrder(QMdiArea::StackingOrder); -// connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), -// this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); + connect(centralWidget, SIGNAL( subWindowActivated(QMdiSubWindow *) ), + this, SLOT( onSubWindowActivated(QMdiSubWindow *) ) ); - QWidget *centralWidget = new QWidget; setCentralWidget(centralWidget); setDockNestingEnabled(true); - + m_activeView = NULL; try { m_directory = new Directory(this); - connect(m_directory, SIGNAL(newDockAvailable(QMainWindow *)), - this, SLOT(addDock(QMainWindow *))); connect(m_directory, SIGNAL( newWidgetAvailable(QWidget *) ), this, SLOT( addView(QWidget *) ) ); connect(m_directory, SIGNAL(viewClosed(QWidget *)), this, SLOT(removeView(QWidget *))); @@ -192,9 +189,9 @@ namespace Isis { addToolBar(m_toolPad); updateToolBarActions(); -// setTabbedViewMode(); -// centralWidget->setTabsMovable(true); -// centralWidget->setTabsClosable(true); + setTabbedViewMode(); + centralWidget->setTabsMovable(true); + centralWidget->setTabsClosable(true); QStringList args = QCoreApplication::arguments(); @@ -210,23 +207,6 @@ namespace Isis { } - void IpceMainWindow::addDock(QMainWindow *newWidgetForDock) { - - QDockWidget *dock = new QDockWidget(newWidgetForDock->windowTitle()); - dock->setWidget(newWidgetForDock); - dock->setObjectName(newWidgetForDock->windowTitle()); - - // This needs to eventually be a work order... - dock->setAttribute(Qt::WA_DeleteOnClose); - - connect(newWidgetForDock, SIGNAL(destroyed(QObject *)), - dock, SLOT(deleteLater())); - - addDockWidget(Qt::RightDockWidgetArea, dock); -// addDockWidget(area, dock, orientation); - } - - /** * This is connected from Directory's newWidgetAvailable signal and called when re-attaching a * view which was detached from the MDI main window. @@ -613,15 +593,15 @@ namespace Isis { this, SLOT( toggleViewMode() ) ); m_viewMenuActions.append(viewModeAction); -// m_cascadeViewsAction = new QAction("Cascade Views", this); -// connect(m_cascadeViewsAction, SIGNAL( triggered() ), -// centralWidget(), SLOT( cascadeSubWindows() ) ); -// m_viewMenuActions.append(m_cascadeViewsAction); -// -// m_tileViewsAction = new QAction("Tile Views", this); -// connect(m_tileViewsAction, SIGNAL( triggered() ), -// centralWidget(), SLOT( tileSubWindows() ) ); -// m_viewMenuActions.append(m_tileViewsAction); + m_cascadeViewsAction = new QAction("Cascade Views", this); + connect(m_cascadeViewsAction, SIGNAL( triggered() ), + centralWidget(), SLOT( cascadeSubWindows() ) ); + m_viewMenuActions.append(m_cascadeViewsAction); + + m_tileViewsAction = new QAction("Tile Views", this); + connect(m_tileViewsAction, SIGNAL( triggered() ), + centralWidget(), SLOT( tileSubWindows() ) ); + m_viewMenuActions.append(m_tileViewsAction); QAction *detachActiveViewAction = new QAction("Detach Active View", this); connect(detachActiveViewAction, SIGNAL( triggered() ), diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 4fb46c4c2c..b56d732bab 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -24,7 +24,6 @@ */ #include "ViewSubWindow.h" -#include #include #include #include @@ -140,7 +139,6 @@ namespace Isis { public slots: void addView(QWidget *newWidget); - void addDock(QMainWindow *newWidgetForDock); void removeView(QWidget *view); void removeAllViews(); diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp deleted file mode 100644 index 3ba279fb61..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.cpp +++ /dev/null @@ -1,326 +0,0 @@ -/** - * @file - * $Date$ - * $Revision$ - * - * Unless noted otherwise, the portions of Isis written by the USGS are - * public domain. See individual third-party library and package descriptions - * for intellectual property information, user agreements, and related - * information. - * - * Although Isis has been used by the USGS, no warranty, expressed or - * implied, is made by the USGS as to the accuracy and functioning of such - * software and related material nor shall the fact of distribution - * constitute any such warranty, and no responsibility is assumed by the - * USGS in connection therewith. - * - * For additional information, launch - * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html - * in a browser or see the Privacy & Disclaimers page on the Isis website, - * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on - * http://www.usgs.gov/privacy.html. - */ -#include "AbstractProjectItemViewMW.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ProjectItem.h" -#include "ProjectItemModel.h" -#include "ProjectItemProxyModel.h" - -namespace Isis { - - /** - * Constructs the AbstractProjectItemViewMW. - * - * @param[in] parent (QWidget *) The parent widget - */ - AbstractProjectItemViewMW::AbstractProjectItemViewMW(QWidget *parent) : QMainWindow(parent) { - - setWindowFlags(Qt::Widget); - - - - m_internalModel = new ProjectItemProxyModel(this); - setAcceptDrops(true); - } - - - /** - * Sets the model used by the view. If the internal model is a proxy - * model, it sets the source model. - * - * @param[in] model (ProjectItemModel *) The new model - */ - void AbstractProjectItemViewMW::setModel(ProjectItemModel *model) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->setSourceModel(model); - } - } - - - /** - * Returns the model used by the view. If the internal model is a - * proxy model, it returns the source model. - * - * @return @b ProjectItemModel * The model. - */ - ProjectItemModel *AbstractProjectItemViewMW::model() { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - return proxyModel->sourceModel(); - } - return internalModel(); - } - - - /** - * Sets the internal model of the view. - * - * @param[in] model (ProjectItemModel *) The new internal model - */ - void AbstractProjectItemViewMW::setInternalModel(ProjectItemModel *model) { - m_internalModel = model; - } - - - /** - * Returns the internal model of the view. By default it is a proxy - * model. - * - * @return @b ProjectItemModel * The internal model - */ - ProjectItemModel *AbstractProjectItemViewMW::internalModel() { - return m_internalModel; - } - - - /** - * Accepts the drag enter event if the internal model can accept the - * mime data. - * - * @param[in] event (QDragEnterEvent *) The drag event - */ - void AbstractProjectItemViewMW::dragEnterEvent(QDragEnterEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - event->acceptProposedAction(); - } - } - - - /** - * Accepts the drag event if the internal model can accept the mime - * data. - * - * @param[in] event (QDragMoveEvent *) The drag event - */ - void AbstractProjectItemViewMW::dragMoveEvent(QDragMoveEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - event->acceptProposedAction(); - } - } - - - /** - * Drops the data into the internal model if it can accept the data. - * - * @param[in] event (QDropEvent *) The drop event - */ - void AbstractProjectItemViewMW::dropEvent(QDropEvent *event) { - if (internalModel()->canDropMimeData( event->mimeData(), - event->dropAction(), - 0, 0, QModelIndex() ) ) { - internalModel()->dropMimeData( event->mimeData(), event->dropAction(), - 0, 0, QModelIndex() ); - event->acceptProposedAction(); - } - } - - - /** - * Returns a list of actions appropriate for the permanent tool bar. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::permToolBarActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for the active tool bar. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::activeToolBarActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for the tool pad. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::toolPadActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a context menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::contextMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a file menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::fileMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a project menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::projectMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for an edit menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::editMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a view menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::viewMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a settings menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::settingsMenuActions() { - return QList(); - } - - - /** - * Returns a list of actions appropriate for a help menu. - * - * @return @b QList The actions - */ - QList AbstractProjectItemViewMW::helpMenuActions() { - return QList(); - } - - - /** - * Returns the current item of the model. - * - * @return @b ProjectItem * The item - */ - ProjectItem *AbstractProjectItemViewMW::currentItem() { - return model()->currentItem(); - } - - - /** - * Return the selected items of the model. - * - * @return @b QList The items - */ - QList AbstractProjectItemViewMW::selectedItems() { - return model()->selectedItems(); - } - - - /** - * Adds an item to the view. The item must be part of the view's - * model. This method can be overriden in a subclass to filter out - * unneeded items. - * - * @param[in] item (ProjectItem *) The item to add. - */ - void AbstractProjectItemViewMW::addItem(ProjectItem *item) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->addItem(item); - } - } - - - /** - * Adds several items to the view. The items must be a part of the - * view's model. - * - * @param[in] items (QList) The items to add. - */ - void AbstractProjectItemViewMW::addItems(QList items) { - foreach (ProjectItem *item, items) { - addItem(item); - } - } - - - /** - * Removes an item to the view. The item must be part of the view's - * model. This method can be overriden in a subclass to filter out - * unneeded items. - * - * @param[in] item (ProjectItem *) The item to remove. - */ - void AbstractProjectItemViewMW::removeItem(ProjectItem *item) { - if (ProjectItemProxyModel *proxyModel = - qobject_cast( internalModel() ) ) { - proxyModel->removeItem(item); - } - } - - - /** - * Removes several items from the view. The items must be a part of the - * view's model. - * - * @param[in] items (QList) The items to remove. - */ - void AbstractProjectItemViewMW::removeItems(QList items) { - foreach (ProjectItem *item, items) { - removeItem(item); - } - } -} diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h b/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h deleted file mode 100644 index ae6a947158..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/AbstractProjectItemViewMW.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef AbstractProjectItemViewMW_h -#define AbstractProjectItemViewMW_h -/** - * @file - * $Date$ - * $Revision$ - * - * Unless noted otherwise, the portions of Isis written by the USGS are - * public domain. See individual third-party library and package descriptions - * for intellectual property information, user agreements, and related - * information. - * - * Although Isis has been used by the USGS, no warranty, expressed or - * implied, is made by the USGS as to the accuracy and functioning of such - * software and related material nor shall the fact of distribution - * constitute any such warranty, and no responsibility is assumed by the - * USGS in connection therewith. - * - * For additional information, launch - * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html - * in a browser or see the Privacy & Disclaimers page on the Isis website, - * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on - * http://www.usgs.gov/privacy.html. - */ - -#include - -class QAction; -class QDragEnterEvent; -class QWidget; -template class QList; - -namespace Isis { - - class ProjectItem; - class ProjectItemModel; - /** - * AbstractProjectItemView is a base class for views of a - * ProjectItemModel in Qt's model-view - * framework. AbstractProjectItemView is not meant to be - * instantiated directly. A view usually only shows items that have - * been added to the view. The views contains an internal - * ProjectItemProxyModel that represents the items appropriately for - * the view. - * - * An AbstractProjectItemView may provide QActions for manipulating - * the view. These actions can be accessed in different contexts - * through toolBarActions(), menuActions(), and - * contextMenuActions(). - * - * When mime data is dropped on a view the view adds the selected - * items from the source model to the view. - * - * Note that AbstractProjectItemView does not inherit from QAbstractItemView. - * - * @author 2015-10-21 Jeffrey Covington - * @internal - * @history 2015-10-21 Jeffrey Covington - Original version. - * @history 2016-06-27 Ian Humphrey - Minor updates to documentation and coding standards. - * Fixes #4004. - * @history 2016-07-28 Tracie Sucharski - Implemented removeItem and removeItems methods. - * @history 2016-08-25 Adam Paquette - Minor updates to documentation. - * Fixes #4299. - */ - class AbstractProjectItemViewMW : public QMainWindow { - - Q_OBJECT - - public: - AbstractProjectItemViewMW(QWidget *parent=0); - - virtual void setModel(ProjectItemModel *model); - virtual ProjectItemModel *model(); - - virtual void dragEnterEvent(QDragEnterEvent *event); - virtual void dragMoveEvent(QDragMoveEvent *event); - virtual void dropEvent(QDropEvent *event); - - virtual QList permToolBarActions(); - virtual QList activeToolBarActions(); - virtual QList toolPadActions(); - - virtual QList contextMenuActions(); - - virtual QList fileMenuActions(); - virtual QList projectMenuActions(); - virtual QList editMenuActions(); - virtual QList viewMenuActions(); - virtual QList settingsMenuActions(); - virtual QList helpMenuActions(); - - virtual ProjectItem *currentItem(); - virtual QList selectedItems(); - - virtual ProjectItemModel *internalModel(); - virtual void setInternalModel(ProjectItemModel *model); - - public slots: - virtual void addItem(ProjectItem *item); - virtual void addItems(QList items); - - virtual void removeItem(ProjectItem *item); - virtual void removeItems(QList items); - - private: - ProjectItemModel *m_internalModel; //!< The internal model used by the view - }; - -} - -#endif diff --git a/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile b/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile deleted file mode 100644 index f122bc8822..0000000000 --- a/isis/src/qisis/objs/AbstractProjectItemViewMW/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -ifeq ($(ISISROOT), $(BLANK)) -.SILENT: -error: - echo "Please set ISISROOT"; -else - include $(ISISROOT)/make/isismake.objs -endif \ No newline at end of file diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp index 637486cbb2..e662a195a5 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -90,7 +89,7 @@ namespace Isis { * @param parent (QWidget *) Pointer to parent widget */ CubeDnView::CubeDnView(Directory *directory, QWidget *parent) : - AbstractProjectItemViewMW(parent) { + AbstractProjectItemView(parent) { connect( internalModel()->selectionModel(), SIGNAL( currentChanged(const QModelIndex &, const QModelIndex &) ), this, SLOT( onCurrentChanged(const QModelIndex &) ) ); @@ -103,52 +102,54 @@ namespace Isis { m_workspace = new Workspace(false, this); m_workspace->mdiArea()->setActivationOrder(QMdiArea::StackingOrder); - // Since this is a QMainWindow, set the workspace as the central widget. - setCentralWidget(m_workspace); - - createActions(directory); - connect(m_workspace, SIGNAL( cubeViewportActivated(MdiCubeViewport *) ), this, SLOT( onCubeViewportActivated(MdiCubeViewport *) ) ); connect(m_workspace, SIGNAL( cubeViewportAdded(MdiCubeViewport *) ), this, SLOT( onCubeViewportAdded(MdiCubeViewport *) ) ); - - // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - // These connections should be at higher level, directory or project???? ::addCubeDnView(). Project *activeProject = directory->project(); // These connect signals listen to the active project, and if a control network // or list of control networks is added, then the enableControlNetTool() function is called. connect(activeProject, SIGNAL(controlListAdded(ControlList *)), this, SLOT(enableControlNetTool())); connect(activeProject, SIGNAL(controlAdded(Control *)), this, SLOT(enableControlNetTool())); - } - void CubeDnView::createActions(Directory *directory) { + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); - - m_permToolBar = addToolBar("Standard Tools"); + //m_toolBar = new QWidget(this); + + //QHBoxLayout *toolBarLayout = new QHBoxLayout; + + m_permToolBar = new QToolBar("Standard Tools", 0); m_permToolBar->setObjectName("permToolBar"); m_permToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_permToolBar); - m_activeToolBar = addToolBar("Active Tool"); + m_activeToolBar = new QToolBar("Active Tool", 0); m_activeToolBar->setObjectName("activeToolBar"); m_activeToolBar->setIconSize(QSize(22, 22)); + //toolBarLayout->addWidget(m_activeToolBar); m_toolPad = new ToolPad("Tool Pad", 0); m_toolPad->setObjectName("toolPad"); - addToolBar(m_toolPad); + //toolBarLayout->addWidget(m_toolPad); + + //m_toolBar->setLayout(toolBarLayout); + + //layout->addWidget(m_toolBar); + layout->addWidget(m_workspace); // Create tools ToolList *tools = new ToolList; - // !!!!!!! TODO LOOK AT THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - //******* TODO : Look at code below. What is defaultActiveTool used for? Why is NULL - // appended?? *************** Tool *defaultActiveTool = NULL; tools->append(new RubberBandTool(this)); +// QnetTool *qnetTool = new QnetTool(m_workspace); + //tools->append(new FileTool(this)); + //tools->append(new QnetFileTool(qnetTool, this)); tools->append(NULL); ControlNetTool *controlNetTool = new ControlNetTool(directory, this); @@ -198,16 +199,18 @@ namespace Isis { tools->append(new StereoTool(this)); tools->append(new HelpTool(this)); - tools->append(new TrackTool(statusBar())); + QStatusBar *statusBar = new QStatusBar(this); + layout->addWidget(statusBar); + tools->append(new TrackTool(statusBar)); m_separatorAction = new QAction(this); m_separatorAction->setSeparator(true); - m_fileMenu = menuBar()->addMenu("&File"); - m_viewMenu = menuBar()->addMenu("&View"); - m_optionsMenu = menuBar()->addMenu("&Options"); - m_windowMenu = menuBar()->addMenu("&Window"); - m_helpMenu = menuBar()->addMenu("&Help"); + m_fileMenu = new QMenu; + m_viewMenu = new QMenu; + m_optionsMenu = new QMenu; + m_windowMenu = new QMenu; + m_helpMenu = new QMenu; for (int i = 0; i < tools->count(); i++) { Tool *tool = (*tools)[i]; @@ -250,6 +253,10 @@ namespace Isis { m_toolPadActions.append( m_toolPad->actions() ); + QSizePolicy policy = sizePolicy(); + policy.setHorizontalPolicy(QSizePolicy::Expanding); + policy.setVerticalPolicy(QSizePolicy::Expanding); + setSizePolicy(policy); } @@ -295,7 +302,7 @@ namespace Isis { return; } - AbstractProjectItemViewMW::addItem(item); + AbstractProjectItemView::addItem(item); } diff --git a/isis/src/qisis/objs/CubeDnView/CubeDnView.h b/isis/src/qisis/objs/CubeDnView/CubeDnView.h index 392783186b..4ffe267a2a 100644 --- a/isis/src/qisis/objs/CubeDnView/CubeDnView.h +++ b/isis/src/qisis/objs/CubeDnView/CubeDnView.h @@ -1,5 +1,5 @@ -#ifndef CubeDnViewMW_h -#define CubeDnViewMW_h +#ifndef CubeDnView_h +#define CubeDnView_h /** * @file * $Date$ @@ -27,7 +27,7 @@ #include #include -#include "AbstractProjectItemViewMW.h" +#include "AbstractProjectItemView.h" #include "FileName.h" #include "XmlStackedHandler.h" @@ -81,7 +81,7 @@ namespace Isis { * @history 2017-08-03 Cole Neubauer - Changed all references from IpceTool to ControlNetTool * Fixes #5090 */ - class CubeDnView : public AbstractProjectItemViewMW { + class CubeDnView : public AbstractProjectItemView { Q_OBJECT @@ -123,8 +123,6 @@ namespace Isis { void enableControlNetTool(); private slots: - void createActions(Directory *directory); - void onCurrentChanged(const QModelIndex ¤t); void onCubeViewportActivated(MdiCubeViewport *); void onItemAdded(ProjectItem *item); diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 6d71deb98a..b2e520af31 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -690,7 +689,7 @@ namespace Isis { result->setWindowTitle("Cube DN View"); result->setWindowTitle( tr("Cube DN View %1").arg(m_cubeDnViewWidgets.count() ) ); - emit newDockAvailable(result); + emit newWidgetAvailable(result); // Connections between mouse button events from view and control point editing connect(result, SIGNAL(modifyControlPoint(ControlPoint *, QString)), diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index c65f402da1..868194e027 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -39,7 +39,6 @@ class QAction; class QDockWidget; -class QMainWindow; class QMenuBar; class QProgressBar; class QSplitter; @@ -353,7 +352,6 @@ namespace Isis { void directoryCleaned(); void newWarning(); void newWidgetAvailable(QWidget *newWidget); - void newDockAvailable(QMainWindow *newWidget); void viewClosed(QWidget *widget); -- GitLab From c24d8d91a84fa80ae3e2ecca11bcf5798382ebac Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 9 May 2018 12:10:00 -0700 Subject: [PATCH 0340/1212] PROG: Recovering from bad git merge (accidently merged ipceDocks into ipce). --- isis/src/qisis/apps/ipce/IpceMainWindow.cpp | 2 ++ isis/src/qisis/apps/ipce/IpceMainWindow.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp index 42b5de1162..b16393e6c5 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.cpp +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.cpp @@ -227,6 +227,8 @@ namespace Isis { if ( QMdiArea *mdiArea = qobject_cast( centralWidget() ) ) { mdiArea->addSubWindow(newWidget); newWidget->show(); + mdiArea->setActiveSubWindow(qobject_cast(newWidget)); + setActiveView(qobject_cast(newWidget)); } } } diff --git a/isis/src/qisis/apps/ipce/IpceMainWindow.h b/isis/src/qisis/apps/ipce/IpceMainWindow.h index 724189d198..b56d732bab 100644 --- a/isis/src/qisis/apps/ipce/IpceMainWindow.h +++ b/isis/src/qisis/apps/ipce/IpceMainWindow.h @@ -127,6 +127,8 @@ namespace Isis { * containing the given widget. In the closeEvent method check whether * there is an active control and if it has been modified as additional * test to determine whether project needs saving. + * @history 2018-05-01 Tracie Sucharski - Code accidently left commented from previous checking. + * Fixes #5412. * */ class IpceMainWindow : public QMainWindow { -- GitLab From 47bf9ac055904ffc98c8f2720e0f15ec47c4127c Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 9 May 2018 12:10:35 -0700 Subject: [PATCH 0341/1212] PROG: Recovering from bad git merge (accidently merged ipceDocks into ipce). --- .../ControlPointEditWidget.cpp | 28 +++++++++++++++++-- .../ControlPointEditWidget.h | 11 ++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp index 75b70c885e..7e657d0df4 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.cpp @@ -804,17 +804,35 @@ namespace Isis { // is selected if (controlPoint->Parent() == NULL) { m_editPoint = controlPoint; + // New point in editor, so colorize all save buttons + colorizeAllSaveButtons("red"); } else { m_editPoint = new ControlPoint; *m_editPoint = *controlPoint; + + // New point loaded, make sure all save button's text is default black color + colorizeAllSaveButtons("black"); } loadPoint(serialNumber); loadTemplateFile(m_measureEditor->templateFileName()); + } + - // New point loaded, make sure Save Measure Button text is default + void ControlPointEditWidget::colorizeAllSaveButtons(QString color) { + + if (color == "black") { + // Don't need to colorize save measure button, when loading new measure, the measure editor + // will set back to default palette. m_savePoint->setPalette(m_saveDefaultPalette); + m_saveNet->setPalette(m_saveDefaultPalette); + } + else if (color == "red") { + m_measureEditor->colorizeSaveButton(); + colorizeSavePointButton(); + colorizeSaveNetButton(); + } } @@ -2466,12 +2484,18 @@ namespace Isis { * * @author 2014-07-11 Tracie Sucharski */ - void ControlPointEditWidget::colorizeSaveNetButton() { + void ControlPointEditWidget::colorizeSaveNetButton(bool reset) { + if (reset) { + // Change Save Net button text back to default black + m_saveNet->setPalette(m_saveDefaultPalette); + } + else { QColor qc = Qt::red; QPalette p = m_savePoint->palette(); p.setColor(QPalette::ButtonText,qc); m_saveNet->setPalette(p); + } } diff --git a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h index b19e944a0c..29e62dae70 100644 --- a/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h +++ b/isis/src/qisis/objs/ControlPointEditWidget/ControlPointEditWidget.h @@ -88,6 +88,8 @@ namespace Isis { * @history 2018-04-25 Tracie Sucharski - Fix bug when creating a control point from CubeDnView * or FootprintView if a ground source exists in the serial number list. * Fixes #5399. + * @history 2018-05-02 Tracie Sucharski - Colorize save buttons properly when creating new + * control point and loading a different control point. */ class ControlPointEditWidget : public QWidget { Q_OBJECT @@ -123,6 +125,11 @@ namespace Isis { bool isGroundSource = false); void updatePointInfo(ControlPoint &updatedPoint); + // Changed colorizeSaveNetButton to public slot so it could be called from + // Directory::saveActiveControl(). This should be temporary until the modify/save functionality + // of active control is re-factored. Also added reset parameter, defaulting to false so button + // is red. This default was used so that current calls did not need to be changed. + void colorizeSaveNetButton(bool reset = false); protected: bool eventFilter(QObject *o,QEvent *e); @@ -150,6 +157,8 @@ namespace Isis { void measureSaved(); void checkReference(); void savePoint(); + + void colorizeAllSaveButtons(QString color); void colorizeSavePointButton(); void openTemplateFile(); @@ -162,8 +171,6 @@ namespace Isis { void writeTemplateFile(QString); void clearEditPoint(); - void colorizeSaveNetButton(); - private: void createActions(); -- GitLab From 5be7bf829bf833d74c9d3c6f98abee7f9e5de8ff Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 9 May 2018 12:11:11 -0700 Subject: [PATCH 0342/1212] PROG: Recovering from bad git merge (accidently merged ipceDocks into ipce). --- isis/src/qisis/objs/Directory/Directory.cpp | 5 +++++ isis/src/qisis/objs/Directory/Directory.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/isis/src/qisis/objs/Directory/Directory.cpp b/isis/src/qisis/objs/Directory/Directory.cpp index 3e8efc0fd2..1d356c6fca 100644 --- a/isis/src/qisis/objs/Directory/Directory.cpp +++ b/isis/src/qisis/objs/Directory/Directory.cpp @@ -1804,6 +1804,11 @@ namespace Isis { "has been saved."; m_historyTreeWidget->addToHistory(saveCnetHistoryEntry); } + + // Make sure the ControlPointEditView "Save Net" button is no longer red + if (controlPointEditView()) { + controlPointEditView()->controlPointEditWidget()->colorizeSaveNetButton(true); + } } diff --git a/isis/src/qisis/objs/Directory/Directory.h b/isis/src/qisis/objs/Directory/Directory.h index e1dc612aac..859055ebd4 100644 --- a/isis/src/qisis/objs/Directory/Directory.h +++ b/isis/src/qisis/objs/Directory/Directory.h @@ -231,6 +231,8 @@ namespace Isis { * instead of a CnetEditorWidget. This way there is no longer a * disconnect between what has been added to the QMdiArea and what is * stored in m_cnetEditorViewWidgets. + * @history 2018-05-08 Tracie Sucharski - When saving active control, reset the "Save Net" + * button to black in the ControlPointEditorWidget. */ class Directory : public QObject { Q_OBJECT -- GitLab From 873f35b312ebc990dd651b0d2fb3dfe4a43eb1d9 Mon Sep 17 00:00:00 2001 From: Tracie Sucharski Date: Wed, 9 May 2018 12:11:52 -0700 Subject: [PATCH 0343/1212] PROG: Recovering from bad git merge (accidently merged ipceDocks into ipce). --- .../NewControlPointDialog.cpp | 67 ++++++++++++++----- .../NewControlPointDialog.h | 14 +++- 2 files changed, 63 insertions(+), 18 deletions(-) diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp index 1d288c8cac..fe9d667744 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.cpp @@ -20,9 +20,15 @@ namespace Isis { /** - * NewControlPointDialog constructor - * @param parent The parent widget for the - * cube points filter + * @description Create dialog for creating a new Control Point + * + * @param controlNet The control net the new control point will be contained in + * @param serialNumberList The serial number list corresponding to the controlNet + * @param defaultPointId The default pointID, usually empty string + * @param parent Parent widget + * @param pointType Show the Point Type combo box, default = false + * @param groundSource Show the Ground Source list, default = false + * @param subpixelRegisterMeasures Show the check box for sub-pixel registration option, default = false * * @internal * @history 2008-11-26 Jeannie Walldren - Set lastPointIdValue @@ -68,11 +74,12 @@ namespace Isis { m_pointTypeCombo->insertItem(i, ControlPoint::PointTypeToString( (ControlPoint::PointType) i)); } - m_pointTypeCombo->setCurrentIndex(2); - QLabel *pointTypeLabel = new QLabel("PointType:"); + m_pointTypeCombo->setCurrentText("Free"); + QLabel *pointTypeLabel = new QLabel("Point Type:"); pointTypeLayout->addWidget(pointTypeLabel); pointTypeLayout->addWidget(m_pointTypeCombo); - connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(pointTypeChanged(int))); + connect(m_pointTypeCombo, SIGNAL(currentIndexChanged(QString)), + this, SLOT(pointTypeChanged(QString))); } @@ -99,6 +106,7 @@ namespace Isis { // Create OK & Cancel buttons m_okButton = new QPushButton("OK"); + // If the last point id used was never saved to network, do not set ok // button to faslse enableOkButton(""); @@ -147,7 +155,14 @@ namespace Isis { int NewControlPointDialog::pointType() const { - return m_pointTypeCombo->currentIndex(); + int result = ControlPoint::Free; + if (m_pointTypeCombo->currentText() == "Constrained") { + result = ControlPoint::Constrained; + } + if (m_pointTypeCombo->currentText() == "Fixed") { + result = ControlPoint::Fixed; + } + return result; } @@ -172,19 +187,33 @@ namespace Isis { } - void NewControlPointDialog::pointTypeChanged(int pointType) { - if (pointType == ControlPoint::Constrained || pointType == ControlPoint::Fixed) { + void NewControlPointDialog::pointTypeChanged(QString pointType) { + if (pointType == "Fixed" || pointType == "Constrained") { m_groundSourceCombo->setVisible(true); } } void NewControlPointDialog::setGroundSource(QStringList groundFiles, int numberShapesWithPoint) { - m_groundSourceCombo->addItems(groundFiles); - for (int i = 0; i < numberShapesWithPoint; i++) { - m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); + // If groundFiles not empty, add to the list widget for selection + if (groundFiles.count() != 0) { + m_groundSourceCombo->addItems(groundFiles); + for (int i = 0; i < numberShapesWithPoint; i++) { + m_groundSourceCombo->setItemData(i, QColor(Qt::red), Qt::ForegroundRole); + } + m_groundSourceCombo->insertSeparator(numberShapesWithPoint); + } + // If groundFiles is empty, remove option to change point type to Constrained or Fixed, add a + // tooltip to give user hint as to why they don't have option to change point type and set + // default point type back to "Free". + else { + m_pointTypeCombo->setToolTip("The Point Type cannot be changed to \"Fixed\" or " + "\"Constrained\", because there are no shapes imported into " + "your project."); + m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Constrained")); + m_pointTypeCombo->removeItem(m_pointTypeCombo->findText("Fixed")); + m_pointTypeCombo->setCurrentText("Free"); } - m_groundSourceCombo->insertSeparator(numberShapesWithPoint); } @@ -227,7 +256,15 @@ namespace Isis { * to the ptIdValue */ void NewControlPointDialog::enableOkButton(const QString &) { - m_okButton->setEnabled(!m_ptIdEdit->text().isEmpty() && - !m_controlNet->ContainsPoint(m_ptIdEdit->text())); + bool enable = !m_ptIdEdit->text().isEmpty() && + !m_controlNet->ContainsPoint(m_ptIdEdit->text()); + m_okButton->setEnabled(enable); + if (enable) { + m_okButton->setToolTip(""); + } + else { + m_okButton->setToolTip("Cannot create point because Point Id is either empty or the active " + "control net already contains a control point with this point Id."); + } } } diff --git a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h index d2a287b693..77af7f7a81 100644 --- a/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h +++ b/isis/src/qisis/objs/NewControlPointDialog/NewControlPointDialog.h @@ -33,8 +33,16 @@ namespace Isis { * @history 2016-10-18 Tracie Sucharski - Added method to return value of the * subpixelRegister radio button. If set, all measures in the control * point created will be subpixel registered. - * @history 2017-07-04 Christopher Combs - Added bools to toggle on specific elements of the - * dialog to remove similar classes like QnetNewPointDialog. Fixes #4383. + * @history 2017-07-04 Christopher Combs - Combined functionality of dialogs from qnet, + * qview and ipce applications by adding bools to toggle on specific + * elements of the dialog to remove similar classes like + * QnetNewPointDialog. Fixes #4383. + * @history 2018-05-02 Tracie Sucharski - If no shapes available remove option to change point + * type to "Constrained" or "Fixed". Because pointType combo dependent on + * having all 3 types to use ControlPoint's enum, change comparisons to + * check text instead of int values. Add tool tip explaining why point + * type cannot be changed. Set tool tip on Ok button explaining why it + * is not enabled. Fixes #5087. */ class NewControlPointDialog : public QDialog { @@ -58,7 +66,7 @@ namespace Isis { bool subpixelRegisterPoint(); private slots: - void pointTypeChanged(int pointType); + void pointTypeChanged(QString pointType); void enableOkButton(const QString &text); private: -- GitLab From e275807dd9a5747a83b05cff9365e88f89608668 Mon Sep 17 00:00:00 2001 From: Jeannie Backer Date: Wed, 9 May 2018 12:46:59 -0700 Subject: [PATCH 0344/1212] Added changes requested by Lucille Le Corre, Hayabusa. --- isis/src/hayabusa/apps/amicacal/amicacal.cpp | 12 ++++++++---- isis/src/hayabusa/apps/amicacal/amicacal.xml | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/isis/src/hayabusa/apps/amicacal/amicacal.cpp b/isis/src/hayabusa/apps/amicacal/amicacal.cpp index aa0bb34070..8ceecb5fae 100644 --- a/isis/src/hayabusa/apps/amicacal/amicacal.cpp +++ b/isis/src/hayabusa/apps/amicacal/amicacal.cpp @@ -295,6 +295,7 @@ void IsisMain() { g_timeRatio = g_tvct / (g_exposureTime + g_tvct); g_darkCurrent = g_d0 * exp(g_d1 * g_temperature); + g_calibrationScale = 1.0; QString g_units = "DN"; if ( !sunDistanceAU(startTime, target, g_solarDist) ) { @@ -303,7 +304,12 @@ void IsisMain() { _FILEINFO_); } - if ( QString::compare(g_iofCorrection, "dn", Qt::CaseInsensitive) != 0 ) { + // Add DN/S as an output option + if ( QString::compare(g_iofCorrection, "dn/s", Qt::CaseInsensitive) == 0 ) { + g_calibrationScale = 1.0 / g_exposureTime; + g_units = "DN/S"; + } + else if ( QString::compare(g_iofCorrection, "dn", Qt::CaseInsensitive) != 0 ) { /* Note - this radiance calibration scaling factor is applied to both radiance and iof * * Units of RADIANCE @@ -776,10 +782,8 @@ void calibrate(vector& in, vector& out) { imageOut[i] = pow(imageOut[i], g_gamma) + g_L0 * imageOut[i] * exp(g_L1 * imageOut[i]); - // 3) DARK Current - Currently negligible and removed -#if 0 + // 3) DARK Current imageOut[i] = imageOut[i] - g_darkCurrent; -#endif // 4) HOT Pixel Removal diff --git a/isis/src/hayabusa/apps/amicacal/amicacal.xml b/isis/src/hayabusa/apps/amicacal/amicacal.xml index 2efdee260d..8aa504ca2d 100644 --- a/isis/src/hayabusa/apps/amicacal/amicacal.xml +++ b/isis/src/hayabusa/apps/amicacal/amicacal.xml @@ -536,11 +536,15 @@ xsi:noNamespaceSchemaLocation="http://isis.astrogeology.usgs.gov/Schemas/Applica Updated radiance calibration to divide by exposure duration, as done with reflectance. - Updated amicaCalibration????.trn file with latest radiance scale factor for sz - (value provided by L. LeCorre, PSI). + Updated amicaCalibration????.trn file with latest radiance scale factor for zs + (value provided by L. Le Corre, PSI). Updated to use filter V solar flux on all calculations. Brought code closer to ISIS3 coding standards. Fixes #5243 + + Added DN/S as an output option. Apply dark current current as it was disabled + in earlier versions. + @@ -641,6 +645,15 @@ xsi:noNamespaceSchemaLocation="http://isis.astrogeology.usgs.gov/Schemas/Applica + +

    - This program compiles and outputs various spacecraft and instrument-related information such as + This program compiles and outputs various spacecraft and instrument-related information such as geometric, polygon, and mapping information.

    @@ -20,189 +20,191 @@ running the spiceinit program from within caminfo.

    - Some information in the output PVL file will consist of a compilation of information for all the - bands in the cube and will be listed in the "Common" object of the PVL. Other information for a given + Some information in the output PVL file will consist of a compilation of information for all the + bands in the cube and will be listed in the "Common" object of the PVL. Other information for a given band will be placed in the "BandSet" object of the PVL. The user can select the check boxes to control - the information that will be output to the PVL file. If the POLYGON or USELABEL option is chosen, + the information that will be output to the PVL file. If the POLYGON or USELABEL option is chosen, the image polygon is output in Well-Known Text format (WKT).

    -

    +

    The output file can be in PVL or CSV (Comma Separated Value) format. The "APPEND" option allows - the new generated information to be appended to the output file. This is especially useful for - CSV file format. If the CSV format is chosen, only Camstats, Statistics and Geometry options - are allowed. Isis Label, Original Label and Polygon options are disabled for CSV format. + the new generated information to be appended to the output file. This is especially useful for + CSV file format. If the CSV format is chosen, only Camstats, Statistics and Geometry options + are allowed. Isis Label, Original Label and Polygon options are disabled for CSV format.

    -

    +

    The following is an example of caminfo output generated when in PVL format:

    -
    -  Object = Caminfo
    -    Object = Parameters
    -      Program     = caminfo
    -      IsisVersion = "3.5.2.0 beta | 2017-11-04"
    -      RunDate     = 2018-03-30T20:41:47
    -      IsisId      = MeSSEnGeR/MDIS-WAC/1/0131773041:923000
    -      From        = EW0131773041G.cal.cub
    -      Lines       = 1024
    -      Samples     = 1024
    -      Bands       = 1
    -    End_Object
    -
    -    Object = Camstats
    -      MinimumLatitude   = -82.601533727119
    -      MaximumLatitude   = 8.4623007205256
    -      MinimumLongitude  = 0.053389931705623
    -      MaximumLongitude  = 359.98370567299
    -      MinimumResolution = 2778.4155965733
    -      MaximumResolution = 3185.0347214141
    -      MinimumPhase      = 33.385785072039
    -      MaximumPhase      = 43.111747273402
    -      MinimumEmission   = 0.049809488269691
    -      MaximumEmission   = 89.984607164464
    -      MinimumIncidence  = 29.083595486132
    -      MaximumIncidence  = 123.24917034029
    -      LocalTimeMinimum  = 3.7737634370713
    -      LocalTimeMaximum  = 12.835343181562
    -    End_Object
    +
     
    +Object = Caminfo
    +  Object = Parameters
    +    Program     = caminfo
    +    IsisVersion = "3.4.2.0 alpha | 2012-08-28"
    +    RunDate     = 2012-11-23T18:21:42
    +    IsisId      = MeSSEnGeR/MDIS-WAC/1/0250507146:955000
    +    From        = EW0250507146G.lev1.cub
    +    Lines       = 512
    +    Samples     = 512
    +    Bands       = 1
    +  End_Object
     
    -    Object = Geometry
    -      BandsUsed                  = 1
    -      ReferenceBand              = 1
    -      OriginalBand               = 1
    -      Target                     = Mercury
    -      StartTime                  = 2008-10-06T09:33:18.3061195
    -      EndTime                    = 2008-10-06T09:33:18.3061195
    -      CenterLine                 = 512.0
    -      CenterSample               = 512.0
    -      CenterLatitude             = -30.303731681153
    -      CenterLongitude            = 293.02718174274
    -      CenterRadius               = 2440000.0
    -      RightAscension             = 339.75734505335
    -      Declination                = -19.724712429854
    -      UpperLeftLongitude         = NULL
    -      UpperLeftLatitude          = NULL
    -      LowerLeftLongitude         = NULL
    -      LowerLeftLatitude          = NULL
    -      LowerRightLongitude        = NULL
    -      LowerRightLatitude         = NULL
    -      UpperRightLongitude        = 334.11593051093
    -      UpperRightLatitude         = 3.3280369550883
    -      PhaseAngle                 = 37.725480444144
    -      EmissionAngle              = 45.931765597717
    -      IncidenceAngle             = 72.841686837124
    -      NorthAzimuth               = 248.72752014043
    -      OffNadir                   = 5.5984715250291
    -      SolarLongitude             = 344.11642585112
    -      LocalTime                  = 7.331847358858
    -      TargetCenterDistance       = 17970.837424003
    -      SlantDistance              = 16188.061078038
    -      SampleResolution           = 2895.9905922639
    -      LineResolution             = 2895.9905922639
    -      PixelResolution            = 2895.9905922639
    -      MeanGroundResolution       = 2981.5250345888
    -      ObliqueSampleResolution    = 4163.810220016
    -      ObliqueLineResolution      = 4163.810220016
    -      ObliquePixelResolution     = 4163.810220016
    -      ObliqueDetectorResolution  = 4163.810220016
    -      SubSolarAzimuth            = 348.1448628345
    -      SubSolarGroundAzimuth      = 79.614257577627
    -      SubSolarLatitude           = -0.0096113650862139
    -      SubSolarLongitude          = 3.049471359866
    -      SubSpacecraftAzimuth       = 306.84376212478
    -      SubSpacecraftGroundAzimuth = 48.17816960795
    -      SubSpacecraftLatitude      = -0.68903187938085
    -      SubSpacecraftLongitude     = 321.8672927707
    -      ParallaxX                  = -0.68886500480703
    -      ParallaxY                  = 0.76986304566071
    -      ShadowX                    = -0.58387595477701
    -      ShadowY                    = 3.1857545288863
    -      HasLongitudeBoundary       = TRUE
    -      HasNorthPole               = FALSE
    -      HasSouthPole               = FALSE
    -    End_Object
    +  Object = Camstats
    +    MinimumLatitude   = 57.872627357566
    +    MaximumLatitude   = 61.299709008025
    +    MinimumLongitude  = 18.065988732773
    +    MaximumLongitude  = 24.841561067248
    +    MinimumResolution = 229.97591146546
    +    MaximumResolution = 232.50589076348
    +    MinimumPhase      = 75.229196963297
    +    MaximumPhase      = 85.75524278645
    +    MinimumEmission   = 0.010416983765103
    +    MaximumEmission   = 9.5170724264221
    +    MinimumIncidence  = 78.991903468001
    +    MaximumIncidence  = 81.783782038128
    +    LocalTimeMinimum  = 7.0686934940095
    +    LocalTimeMaximum  = 7.5203983163079
    +  End_Object
     
    -    Object = Polygon
    -      CentroidLine      = 502.63655531561
    -      CentroidSample    = 478.35374305118
    -      CentroidLatitude  = -29.488782021364
    -      CentroidLongitude = 290.21111567036
    -      CentroidRadius    = 2440000.0 <meters>
    -      SurfaceArea       = 10664470.286639 <km^2>
    -      GlobalCoverage    = 14.254427 <percent>
    -      SampleIncrement   = 102
    -      LineIncrement     = 102
    -      GisFootprint      = "MULTIPOLYGON (((0.0000000000000000
    -                           -66.8476725765257669, 15.1767434740871749
    -                           -77.1683730441100266, 0.0000000000000000
    -                           -79.4337923235828214, 0.0000000000000000
    -                           -66.8476725765257669)), ((242.8869256246104840
    -                           5.7263135391777826, 243.5601343627938888
    -                           8.4618907890508996, 269.0341283875596332
    -                           7.2851012019341370, 280.8571950447025074
    -                           6.6018915311447106, 290.1169358498850670
    -                           6.0309457247062559, 298.1480749560856793
    -                           5.5225220975363509, 305.4806822959274086
    -                           5.0563213585314202, 312.4012021168767888
    -                           4.6215744329942057, 319.0978711923986566
    -                           4.2118017742135532, 325.7167408827046984
    -                           3.8228786367084715, 332.3911996847887735
    -                           3.4522142367050717, 334.1498367339264064
    -                           3.3345474794642787, 333.8009713957027884
    -                           -3.2790590364693251, 333.6381205940322729
    -                           -9.9542162735993269, 333.6727271018169745
    -                           -16.8424968734716280, 333.9555932328583481
    -                           -24.1267133773544735, 334.6136711007971485
    -                           -32.0823127803993700, 335.9827759566368286
    -                           -41.2133542381869944, 339.2994422660955820
    -                           -52.7705910044257323, 360.0000000000000000
    -                           -66.8476725765257669, 360.0000000000000000
    -                           -79.4337923235828214, 344.5259945769852834
    -                           -81.7435836352576501, 312.7243093850013906
    -                           -82.2871258038501310, 272.7330321887411060
    -                           -78.3032904306983113, 256.9120013841559285
    -                           -71.6881729956653402, 249.7037103515991134
    -                           -64.1402056416296205, 245.7489144278791287
    -                           -55.9131045647652911, 243.2871680241342176
    -                           -46.7511744912688840, 241.6466123551280418
    -                           -36.0395468671273846, 240.8227253946276392
    -                           -26.7483720432056948, 241.2427301282905603
    -                           -18.4320979403016132, 242.4724806166474309
    -                           -10.6121339933036545, 243.0000134753865950
    -                           -3.1855953725975596, 243.0379118856032790
    -                           1.6814051415971418, 242.8869256246104840
    -                           5.7263135391777826)))"
    +  Object = Geometry
    +    BandsUsed                  = 1
    +    ReferenceBand              = 1
    +    OriginalBand               = 1
    +    Target                     = Mercury
    +    StartTime                  = 2012-07-11T15:14:40.902702
    +    EndTime                    = 2012-07-11T15:14:40.902702
    +    CenterLine                 = 256.0
    +    CenterSample               = 256.0
    +    CenterLatitude             = 59.604440922996
    +    CenterLongitude            = 21.354478199267
    +    CenterRadius               = 2440000.0
    +    RightAscension             = 149.14971069552
    +    Declination                = -47.692390719996
    +    UpperLeftLongitude         = 19.403075966477
    +    UpperLeftLatitude          = 61.299709008025
    +    LowerLeftLongitude         = 18.065988732773
    +    LowerLeftLatitude          = 58.619183968695
    +    LowerRightLongitude        = 23.126850062052
    +    LowerRightLatitude         = 57.872627357566
    +    UpperRightLongitude        = 24.841561067248
    +    UpperRightLatitude         = 60.495929386174
    +    PhaseAngle                 = 80.450057821076
    +    EmissionAngle              = 0.19786246622852
    +    IncidenceAngle             = 80.389167381747
    +    NorthAzimuth               = 253.73558748868
    +    OffNadir                   = 0.15660719057979
    +    SolarLongitude             = 228.88911417663
    +    LocalTime                  = 7.2879261251091
    +    TargetCenterDistance       = 3082.770704015
    +    SlantDistance              = 642.77373761039
    +    SampleResolution           = 229.97699384231
    +    LineResolution             = 229.97699384231
    +    PixelResolution            = 229.97699384231
    +    MeanGroundResolution       = 231.24575069814
    +    SubSolarAzimuth            = 0.57284290603718
    +    SubSolarGroundAzimuth      = 106.83729602467
    +    SubSolarLatitude           = -0.026413277465333
    +    SubSolarLongitude          = 92.035586322631
    +    SubSpacecraftAzimuth       = 252.66562276234
    +    SubSpacecraftGroundAzimuth = 358.93004128485
    +    SubSpacecraftLatitude      = 59.645688996553
    +    SubSpacecraftLongitude     = 21.352953761563
    +    ParallaxX                  = -0.0034527631018843
    +    ParallaxY                  = -6.44854385850795e-05
    +    ShadowX                    = 1.7105756767263
    +    ShadowY                    = 5.6523998602669
    +    HasLongitudeBoundary       = FALSE
    +    HasNorthPole               = FALSE
    +    HasSouthPole               = FALSE
    +  End_Object
     
    -      Group = Mapping
    -        TargetName         = Mercury
    -        EquatorialRadius   = 2440000.0 <meters>
    -        PolarRadius        = 2440000.0 <meters>
    -        LatitudeType       = Planetocentric
    -        LongitudeDirection = PositiveEast
    -        LongitudeDomain    = 180
    -        MinimumLatitude    = -82.375420626412
    -        MaximumLatitude    = 8.5375281924006
    -        MinimumLongitude   = -120.26989718658
    -        MaximumLongitude   = 13.797078029821
    -        PixelResolution    = 2778.4154540232
    -        ProjectionName     = Sinusoidal
    -        CenterLongitude    = -53.236409578378
    -      End_Group
    -    End_Object
    +  Object = Polygon
    +    CentroidLine      = 258.34023273956
    +    CentroidSample    = 257.21847692747
    +    CentroidLatitude  = 59.590465340438
    +    CentroidLongitude = 21.359965088916
    +    CentroidRadius    = 2440000.0 <meters>
    +    SurfaceArea       = 13898.794042461 <km^2>
    +    GlobalCoverage    = 0.018578 <percent>
    +    SampleIncrement   = 51
    +    LineIncrement     = 51
    +    GisFootprint      = "MULTIPOLYGON (((19.4043245299965577
    +                         61.3023495859178169, 19.9591033663380273
    +                         61.2315368240940714, 20.5109136331950097
    +                         61.1586516900412036, 21.0599888059494056
    +                         61.0836769590772022, 21.6064014066990424
    +                         61.0066139869781026, 22.1502234714845763
    +                         60.9274625969637071, 22.6915266780484934
    +                         60.8462210727062072, 23.2303824713721276
    +                         60.7628861464013283, 23.7668621875485293
    +                         60.6774529818562556, 24.3010371765409943
    +                         60.5899151525158430, 24.8329789243747072
    +                         60.5002646143153129, 24.8468003809156031
    +                         60.4950897448882969, 24.6621540377068555
    +                         60.2342816512584278, 24.4808344234486128
    +                         59.9734256463113198, 24.3026802658222785
    +                         59.7124215421160969, 24.1275717810041321
    +                         59.4512190020262992, 23.9553945002749487
    +                         59.1897673396973545, 23.7860389348923675
    +                         58.9280154365526201, 23.6194002639650478
    +                         58.6659116571399295, 23.4553780433470500
    +                         58.4034037620610960, 23.2938759337506376
    +                         58.1404388181350171, 23.1348014464353007
    +                         57.8769631054306473, 23.1253981883423947
    +                         57.8700250132380773, 22.6291388167111727
    +                         57.9542062153035644, 22.1311712748992804
    +                         58.0362115673268590, 21.6313369328161791
    +                         58.1160668824232829, 21.1295724335347970
    +                         58.1937799049820939, 20.6258143687462976
    +                         58.2693567261389802, 20.1199991639326754
    +                         58.3428018062430951, 19.6120629625565215
    +                         58.4141179920416960, 19.1019415087693858
    +                         58.4833065286652030, 18.5895700281331031
    +                         58.5503670664614404, 18.0748831058364949
    +                         58.6152976626940756, 18.0609063686927200
    +                         58.6197579732196061, 18.1862320670262285
    +                         58.8883242752207750, 18.3131290280031429
    +                         59.1564691086538232, 18.4416916210760888
    +                         59.4243018649568882, 18.5719929967238073
    +                         59.6918797207437137, 18.7041092262310542
    +                         59.9592593996394498, 18.8381195168780309
    +                         60.2264972751596446, 18.9741064422031833
    +                         60.4936494719392712, 19.1121561888774671
    +                         60.7607719657418741, 19.2523588218842434
    +                         61.0279206826665117, 19.3948085698758135
    +                         61.2951515979628851, 19.4043245299965577
    +                         61.3023495859178169)))"
    +
    +    Group = Mapping
    +      TargetName         = Mercury
    +      EquatorialRadius   = 2440000.0 <meters>
    +      PolarRadius        = 2440000.0 <meters>
    +      LatitudeType       = Planetocentric
    +      LongitudeDirection = PositiveEast
    +      LongitudeDomain    = 360
    +      MinimumLatitude    = 57.869205530706
    +      MaximumLatitude    = 61.303013149342
    +      MinimumLongitude   = 18.059709527443
    +      MaximumLongitude   = 24.848591196067
    +      PixelResolution    = 229.97590845703
    +      ProjectionName     = Sinusoidal
    +      CenterLongitude    = 21.354478199267
    +    End_Group
       End_Object
    -  End
    +End_Object
    +End
     
     

    Output values that do not have a minimum/maximum range associated with them - are calculated at the center of the image. + are calculated at the center of the image.

    Definitions for most of the values output in the PVL file can be found in the ISIS 3 documentation glossary including: SubSpacecraftLatitude, SubSpacecraftLongitude, SubSolarLatitude, - SubSolarLongitude, NorthAzimuth, - SpacecraftAzimuth, and SubSolarAzimuth, + SubSolarLongitude, NorthAzimuth, + SpacecraftAzimuth, and SubSolarAzimuth,

    @@ -217,85 +219,85 @@ Fixed WKT calls - Remove ToWKT calls and PolygonTools.h inclusion. The geos package now - has a method to return a WKT string, so the ToWKT method has been + Remove ToWKT calls and PolygonTools.h inclusion. The geos package now + has a method to return a WKT string, so the ToWKT method has been removed from the PolygonTools class. - - Made the following modifications: fixed typo in PercentNull and - MaximumLongitude keywords; use the base file name for generation of - temporary files to further ensure uniqueness; run camstats once if - there is only one band - doubles execution speed for single band - images when CAMSTATS option is used; substitute the NULL string for - all special pixel values; added corner pixel keywords for PDS - compatibility; added phase, emission, incidence angles - and line and sample pixel resolution at the center pixel; added test - for intersection of longitude domain, north and south poles and - keywords that report them; added option to output ISIS cube labels; + + Made the following modifications: fixed typo in PercentNull and + MaximumLongitude keywords; use the base file name for generation of + temporary files to further ensure uniqueness; run camstats once if + there is only one band - doubles execution speed for single band + images when CAMSTATS option is used; substitute the NULL string for + all special pixel values; added corner pixel keywords for PDS + compatibility; added phase, emission, incidence angles + and line and sample pixel resolution at the center pixel; added test + for intersection of longitude domain, north and south poles and + keywords that report them; added option to output ISIS cube labels; corrected computations for parallax and shadow keywords. - - Renamed the HasLongitudeDomain keyword to HasLongitudeBoundary. + + Renamed the HasLongitudeDomain keyword to HasLongitudeBoundary. Makes more sense. - - Corrected method call to compute polygon with proper parameters as - well as correct band number. Added code to better honor specific - cube attributes (such as band numbers) in computations. Also will - produce NULL valued keywords where NULLs are a produced instead of + + Corrected method call to compute polygon with proper parameters as + well as correct band number. Added code to better honor specific + cube attributes (such as band numbers) in computations. Also will + produce NULL valued keywords where NULLs are a produced instead of the real value for the ISIS NULL pixel value. - Removed references to CubeInfo + Removed references to CubeInfo - Added Camera Test option to test for a valid camera at center of image + Added Camera Test option to test for a valid camera at center of image and return an error and end if a valid camera cannot be created. - - Reworked the output PVL format; added more keywords to the Common object + + Reworked the output PVL format; added more keywords to the Common object that indicate versions and dates; added more values to Geometry and Polygon object. - - Corrected generation of polygon for multi-band data. It created a + + Corrected generation of polygon for multi-band data. It created a POLYGON union instead of the required MULTIPOLYGON. - - The target center distance and subspacecraft latitude were not properly - propagated to the output PVL file and consequently were invalid. This + + The target center distance and subspacecraft latitude were not properly + propagated to the output PVL file and consequently were invalid. This has been corrected. - + Added RightAscension, Declination, SubSolarGroundAzimuth, and - SubSpacecraftGroundAzimuth computations; added center line/sample image - coordinate used to compute center geometry; added check of valid image - line/sample coordinates when testing for north/south poles (some camera - models return valid states when coordinates are outside of image + SubSpacecraftGroundAzimuth computations; added center line/sample image + coordinate used to compute center geometry; added check of valid image + line/sample coordinates when testing for north/south poles (some camera + models return valid states when coordinates are outside of image boundaries). - - Modified to actually exclude the unconditional computation of the image - polygon to assist in some geometry values. It is no longer computed if - the user does not select the POLYGON option. The implications of this - are that some of the keywords in the output Geometry group are no - longer ever relevant. These keywords were all moved to the Polygon - group. These keywords are: CentroidLine, CentroidSample, - CentroidLatitude, CentroidLongitude, CentroidRadius and SurfaceArea. - User will no longer see these values if the POLYGON option is not - selected. Also the Radius keyword in the Polygon group has been + + Modified to actually exclude the unconditional computation of the image + polygon to assist in some geometry values. It is no longer computed if + the user does not select the POLYGON option. The implications of this + are that some of the keywords in the output Geometry group are no + longer ever relevant. These keywords were all moved to the Polygon + group. These keywords are: CentroidLine, CentroidSample, + CentroidLatitude, CentroidLongitude, CentroidRadius and SurfaceArea. + User will no longer see these values if the POLYGON option is not + selected. Also the Radius keyword in the Polygon group has been removed as it is redundant with CentroidRadius. - - Added PIXINC parameter to allow user to specify number of pixels to + + Added PIXINC parameter to allow user to specify number of pixels to skip around the perimeter of the image to compute the polygon. - - Fixed bug where image was a 0 longitude boundary crosser. It would - typically fail when determining centroid information unless converted - to 180 domain. This will also be used at the poles as it seems to work - better in the 180 domain as well. (This process projects the footprint - to a Sinusoidal projection to determine area which requires an equal + + Fixed bug where image was a 0 longitude boundary crosser. It would + typically fail when determining centroid information unless converted + to 180 domain. This will also be used at the poles as it seems to work + better in the 180 domain as well. (This process projects the footprint + to a Sinusoidal projection to determine area which requires an equal area projection, such as Sinusoidal.) @@ -303,21 +305,21 @@ control limb and terminator polygon generation. - Allow disabling of shape model use when constructing polygons that + Allow disabling of shape model use when constructing polygons that contain limbs. - Removed polygon options group and placed the options within output - options. Added inclusion for parameters related to polygons to only be - available when polygons are selected. Made TO option not have a - default of None, updated documentation and modified formatting. + Removed polygon options group and placed the options within output + options. Added inclusion for parameters related to polygons to only be + available when polygons are selected. Made TO option not have a + default of None, updated documentation and modified formatting. Replaced PIXINC with POLYSINC and POLYLINC. Renamed SINC and LINC to STATSSINC and STATSLINC. - Added option for the output file to be in CSV format and also ability + Added option for the output file to be in CSV format and also ability to append to the existing output file. @@ -349,7 +351,7 @@ The computation of ParallaxX/ParallaxY and ShadowX/ShadowY values was - not properly implemented. Updated documentation with a new example. + not properly implemented. Updated documentation with a new example. Fixes #1296. @@ -360,11 +362,6 @@ Reviewed documentation. References #1452. - - Added oblique sample, line, detector, and pixel resolutions to the - geometry PVL group. Updated example output in application description, - so that the addded oblique elements are included. Fixes #4100. - @@ -403,7 +400,7 @@ - + string @@ -423,7 +420,7 @@ Create CSV output Caminfo data to be generated in Comma Separated Value (CSV) format - + ISISLABEL ORIGINALLABEL @@ -433,27 +430,27 @@ - + boolean false Append caminfo information to existing data file - Append caminfo information to existing file. This will append the - caminfo data to the filename specified for the TO parameter beginning at a - new line. + Append caminfo information to existing file. This will append the + caminfo data to the filename specified for the TO parameter beginning at a + new line. - + boolean Include geometry information - Get geometry information from the camera at the center of the image. - These data are listed under the Geometry Object heading. The keyword/values + Get geometry information from the camera at the center of the image. + These data are listed under the Geometry Object heading. The keyword/values contained therein are listed here: - +
    • BandsUsed
    • ReferenceBand
    • @@ -489,10 +486,6 @@
    • LineResolution
    • PixelResolution
    • MeanGroundResolution
    • -
    • ObliqueSampleResolution
    • -
    • ObliqueLineResolution
    • -
    • ObliquePixelResolution
    • -
    • ObliqueDetectorResolution
    • SubSolarAzimuth
    • SubSolarGroundAzimuth
    • SubSolarLatitude
    • @@ -508,8 +501,8 @@
    • HasLongitudeBoundary
    • HasNorthPole
    • HasSouthPole
    • -
    - + +
    TRUE
    @@ -518,7 +511,7 @@ boolean - Include ISIS label + Include ISIS label This option will extract the ISIS label and write it to the output PVL @@ -530,7 +523,7 @@ boolean - Include the original label + Include the original label Include the original labels of the cube in the PVL. @@ -545,7 +538,7 @@ Include DN statistics for all bands within the cube. These data are - contained in the Statistics object. The keyword/values contained + contained in the Statistics object. The keyword/values contained therein are: