diff --git a/ThirdParty/AllClean.stage1 b/ThirdParty/AllClean.stage1
index 5c999da35..4a151d513 100755
--- a/ThirdParty/AllClean.stage1
+++ b/ThirdParty/AllClean.stage1
@@ -51,21 +51,25 @@ echo ========================================
echo
# gmp
+uninstallPackage gmp-4.3.2 $1
uninstallPackage gmp-5.0.1 $1
-uninstallPackage gmp-5.0.5 $1
+uninstallPackage gmp-5.1.2 $1
# mpfr
+uninstallPackage mpfr-2.4.2 $1
+uninstallPackage mpfr-3.0.0 $1
uninstallPackage mpfr-3.0.1 $1
-uninstallPackage mpfr-3.1.0 $1
+uninstallPackage mpfr-3.1.2 $1
# mpc
uninstallPackage mpc-0.8.2 $1
-uninstallPackage mpc-0.9 $1
+uninstallPackage mpc-1.0.1 $1
# gcc
uninstallPackage gcc-4.4.5 $1
uninstallPackage gcc-4.5.1 $1
-uninstallPackage gcc-4.6.3 $1
+uninstallPackage gcc-4.6.4 $1
+uninstallPackage gcc-4.7.4 $1
uninstallPackage gcc-4.8.4 $1
uninstallPackage gcc-4.9.2 $1
@@ -79,14 +83,21 @@ uninstallPackage Python-2.7 $1
uninstallPackage m4-1.4.16 $1
# bison
-uninstallPackage bison-2.7 $1
+uninstallPackage bison-2.4.3 $1
+uninstallPackage bison-2.7 $1
# flex
uninstallPackage flex-2.5.35 $1
# cmake
+uninstallPackage cmake-2.8.3 $1
+uninstallPackage cmake-2.8.5 $1
+uninstallPackage cmake-2.8.6 $1
+uninstallPackage cmake-2.8.8 $1
+uninstallPackage cmake-2.8.11 $1
uninstallPackage cmake-2.8.12 $1
-uninstallPackage cmake-3.2.2 $1
+uninstallPackage cmake-3.2.2 $1
+uninstallPackage cmake-3.3.2 $1
echo
diff --git a/ThirdParty/AllClean.stage4 b/ThirdParty/AllClean.stage4
index d981f7410..1c8d880a3 100755
--- a/ThirdParty/AllClean.stage4
+++ b/ThirdParty/AllClean.stage4
@@ -51,13 +51,19 @@ echo ========================================
echo
# QT
-uninstallPackage qt-everywhere-opensource-src-4.8.6 $1
+uninstallPackage qt-everywhere-opensource-src-4.7.0 $1
uninstallPackage qt-everywhere-opensource-src-4.7.4 $1
+uninstallPackage qt-everywhere-opensource-src-4.8.5 $1
+uninstallPackage qt-everywhere-opensource-src-4.8.6 $1
+uninstallPackage qt-everywhere-opensource-src-5.8.0 $1
# ParaView
uninstallPackage ParaView-4.0.1 $1
uninstallPackage ParaView-4.1.0 $1
+uninstallPackage ParaView-4.2.0 $1
uninstallPackage ParaView-4.3.1 $1
+uninstallPackage ParaView-4.4.0 $1
+uninstallPackage ParaView-5.4.1 $1
# ParaView-Server
uninstallPackage llvm-3.6.0
diff --git a/ThirdParty/AllMake.stage1 b/ThirdParty/AllMake.stage1
index 8fc1009c8..824dc09bd 100755
--- a/ThirdParty/AllMake.stage1
+++ b/ThirdParty/AllMake.stage1
@@ -175,6 +175,13 @@ echo
( rpm_make -p cmake-3.2.2 -s cmake-3.2.2.spec -u http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz )
}
+# cmake 3.3.2
+#
+[ ! -z "$WM_THIRD_PARTY_USE_CMAKE_332" ] && {
+ echo "Building cmake 3.3.2"
+ ( rpm_make -p cmake-3.3.2 -s cmake-3.3.2.spec -u http://www.cmake.org/files/v3.3/cmake-3.3.2.tar.gz )
+}
+
echo ========================================
echo Done ThirdParty AllMake: Stage1
echo ========================================
diff --git a/ThirdParty/AllMake.stage4 b/ThirdParty/AllMake.stage4
index 8f3a0a7f5..9b79feead 100755
--- a/ThirdParty/AllMake.stage4
+++ b/ThirdParty/AllMake.stage4
@@ -65,6 +65,12 @@ then
echo "Building Qt 4.8.6"
( rpm_make -p qt-everywhere-opensource-src-4.8.6 -s qt-everywhere-opensource-src-4.8.6.spec -u http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz )
}
+ # Qt 5.8.0
+ #
+ [ ! -z "$WM_THIRD_PARTY_USE_QT_580" ] && {
+ echo "Building Qt 5.8.0"
+ ( rpm_make -p qt-everywhere-opensource-src-5.8.0 -s qt-everywhere-opensource-src-5.8.0.spec -u http://download.qt.io/archive/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.tar.gz )
+ }
else
echo "Using system installed QT"
echo ""
@@ -110,6 +116,14 @@ then
-f --define='_qmakePath $QT_BIN_DIR/qmake'
)
}
+ # ParaView 5.4.1
+ #
+ [ ! -z "$WM_THIRD_PARTY_USE_PARAVIEW_541" ] && {
+ echo "Building ParaView 5.4.1"
+ ( rpm_make -p ParaView-5.4.1 -s ParaView-5.4.1.spec -u http://www.paraview.org/files/v5.4/ParaView-v5.4.1.tar.gz \
+ -f --define='_qmakePath $QT_BIN_DIR/qmake'
+ )
+ }
else
echo "WARNING: "
echo "WARNING: Skipping the installation of ParaView-4.x.x."
diff --git a/ThirdParty/rpmBuild/SOURCES/ParaView-4.4.0.patch_darwin b/ThirdParty/rpmBuild/SOURCES/ParaView-4.4.0.patch_darwin
index 3d1d8ce4b..47e8a907b 100644
--- a/ThirdParty/rpmBuild/SOURCES/ParaView-4.4.0.patch_darwin
+++ b/ThirdParty/rpmBuild/SOURCES/ParaView-4.4.0.patch_darwin
@@ -1,9 +1,9 @@
-diff -ruN ParaView-4.3.1_orig/Applications/ParaView-4.3.1_extra_install_Darwin.cmake ParaView-4.3.1/Applications/ParaView-4.3.1_extra_install_Darwin.cmake
---- ParaView-4.3.1_orig/Applications/ParaView-4.3.1_extra_install_Darwin.cmake 1969-12-31 19:00:00.000000000 -0500
-+++ ParaView-4.3.1/Applications/ParaView-4.3.1_extra_install_Darwin.cmake 2013-10-02 19:00:00.000000000 -0400
+diff -ruN ParaView-4.4.0_orig/Applications/ParaView-4.4.0_extra_install_Darwin.cmake ParaView-4.4.0/Applications/ParaView-4.4.0_extra_install_Darwin.cmake
+--- ParaView-4.4.0_orig/Applications/ParaView-4.4.0_extra_install_Darwin.cmake 1969-12-31 19:00:00.000000000 -0500
++++ ParaView-4.4.0/Applications/ParaView-4.4.0_extra_install_Darwin.cmake 2013-10-02 19:00:00.000000000 -0400
@@ -0,0 +1,8 @@
+#
-+# Additional install rules for Mac OS X platforms
++# Additional install rules for Mac OS X platforms
+#
+INSTALL (DIRECTORY buildObj/bin/paraview.app
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
diff --git a/ThirdParty/rpmBuild/SOURCES/ParaView-5.4.1.patch_darwin b/ThirdParty/rpmBuild/SOURCES/ParaView-5.4.1.patch_darwin
new file mode 100644
index 000000000..3d616a742
--- /dev/null
+++ b/ThirdParty/rpmBuild/SOURCES/ParaView-5.4.1.patch_darwin
@@ -0,0 +1,12 @@
+diff -ruN ParaView-5.4.1_orig/Applications/ParaView-5.4.1_extra_install_Darwin.cmake ParaView-5.4.1/Applications/ParaView-5.4.1_extra_install_Darwin.cmake
+--- ParaView-5.4.1_orig/Applications/ParaView-5.4.1_extra_install_Darwin.cmake 1969-12-31 19:00:00.000000000 -0500
++++ ParaView-5.4.1/Applications/ParaView-5.4.1_extra_install_Darwin.cmake 2013-10-02 19:00:00.000000000 -0400
+@@ -0,0 +1,8 @@
++#
++# Additional install rules for Mac OS X platforms
++#
++INSTALL (DIRECTORY buildObj/bin/paraview.app
++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
++ USE_SOURCE_PERMISSIONS
++ COMPONENT Runtime)
++
diff --git a/ThirdParty/rpmBuild/SPECS/ParaView-5.4.1.spec b/ThirdParty/rpmBuild/SPECS/ParaView-5.4.1.spec
new file mode 100644
index 000000000..cd1d0504c
--- /dev/null
+++ b/ThirdParty/rpmBuild/SPECS/ParaView-5.4.1.spec
@@ -0,0 +1,297 @@
+#------------------------------------------------------------------------------
+# ========= |
+# \\ / F ield | foam-extend: Open Source CFD
+# \\ / O peration |
+# \\ / A nd | For copyright notice see file Copyright
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of foam-extend.
+#
+# foam-extend is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# foam-extend is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with foam-extend. If not, see .
+#
+# Script
+# RPM spec file for ParaView-5.4.1
+#
+# Description
+# RPM spec file for creating a relocatable RPM
+#
+# Authors:
+# Martin Beaudoin, Hydro-Quebec, (2010)
+# Andreas Feymark, Chalmers University of Technology, (2013)
+# Pascal Beckstein, HZDR, (2018)
+#
+#------------------------------------------------------------------------------
+
+# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
+%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
+%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
+
+# Disable the generation of debuginfo packages
+%define debug_package %{nil}
+
+# Turning off the Fascist build policy
+# Useful for debugging the install section
+%define _unpackaged_files_terminate_build 0
+
+# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
+%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
+%define _tmppath %{_topdir}/tmp
+
+# Will install the package directly $WM_THIRD_PARTY_DIR
+# Some comments about package relocation:
+# By using this prefix for the Prefix: parameter in this file, you will make this
+# package relocatable.
+#
+# This is fine, as long as your software is itself relocatable.
+#
+# Simply take note that libraries built with libtool are not relocatable because the
+# prefix we specify will be hard-coded in the library .la files.
+# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
+#
+# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
+# not be able to reutilize this RPM, even though it is relocatable. You will need to
+# regenerate the RPM.
+#
+%define _prefix %{_WM_THIRD_PARTY_DIR}
+
+%define name ParaView
+%define release %{_WM_OPTIONS}
+%define version 5.4.1
+
+%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
+
+BuildRoot: %{buildroot}
+Summary: ParaView
+License: Unkown
+Name: %{name}
+Version: %{version}
+Release: %{release}
+URL: http://www.paraview.org/files/v5.4/
+Source: %url/%{name}-v%{version}.tar.gz
+Prefix: %{_prefix}
+Group: Development/Tools
+Patch0: ParaView-5.4.1.patch_darwin
+
+%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
+
+#--------------------------------------------------------------------------
+#
+# Here, we define default compiling options for cmake
+#
+# One can override the option on the commande line : --define='MACRO EXPR'
+#
+%{!?_withVerbose: %define _withVerbose false}
+%{!?_withMesa: %define _withMesa false}
+%{!?_withMPI: %define _withMPI false}
+%{!?_withPython: %define _withPython false}
+%{!?_withQt: %define _withQt true}
+%{!?_qmakePath: %define _qmakePath Undefined}
+%{!?_mesaIncludePath: %define _mesaIncludePath Undefined}
+%{!?_mesaLibPath: %define _mesaLibPath Undefined}
+%{!?_pythonLibPath: %define _pythonLibPath Undefined}
+
+#--------------------------------------------------------------------------
+
+%description
+%{summary}
+
+%prep
+%setup -q -n %{name}-v%{version}
+
+%ifos darwin
+%patch0 -p1
+%endif
+
+%build
+#
+# set CMake cache variables
+#
+ addCMakeVariable()
+ {
+ while [ -n "$1" ]
+ do
+ CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1"
+ shift
+ done
+ }
+
+ # export WM settings in a form that GNU configure recognizes
+ [ -n "$WM_CC" ] && export CC="$WM_CC"
+ [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
+ [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
+ [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
+ [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
+
+ set +x
+ echo ""
+ echo "Compilation options:"
+ echo " _withVerbose : %{_withVerbose}"
+ echo " _withMesa : %{_withMesa}"
+ echo " _withMPI : %{_withMPI}"
+ echo " _withPython : %{_withPython}"
+ echo " _withQt : %{_withQt}"
+ echo " _qmakePath : %{_qmakePath}"
+ echo " _mesaIncludePath : %{_mesaIncludePath}"
+ echo " _mesaLibPath : %{_mesaLibPath}"
+ echo " _pythonLibPath : %{_pythonLibPath}"
+ echo ""
+ set -x
+
+ # start with these general settings
+ addCMakeVariable BUILD_SHARED_LIBS:BOOL=ON
+ addCMakeVariable CMAKE_BUILD_TYPE:STRING=Release
+ addCMakeVariable BUILD_TESTING:BOOL=OFF
+
+ # We build with Python. This is ust too useful
+ addCMakeVariable PARAVIEW_ENABLE_PYTHON:BOOL=ON
+
+ # include development files in "make install"
+ addCMakeVariable PARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON
+
+%ifos darwin
+ # Additional installation rules for Mac OSX
+ addCMakeVariable PARAVIEW_EXTRA_INSTALL_RULES_FILE:FILEPATH=%{_topdir}/BUILD/%{name}-v%{version}-source/Applications/ParaView-4.4.0_extra_install_Darwin.cmake
+
+ # We activate the new Unix-style installation for Mac OS X
+ addCMakeVariable PARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON
+
+ # Recent version of Mac OSX (Yosemite) cannot compile ParaView with the gcc compiler
+ # Using clang instead
+ CC=clang
+ CXX=clang++
+%endif
+
+ # Add the value of _qmakePath for QT_QMAKE_EXECUTABLE
+ addCMakeVariable QT_QMAKE_EXECUTABLE:FILEPATH=%{_qmakePath}
+
+ echo "CMAKE_VARIABLES: $CMAKE_VARIABLES"
+
+ mkdir -p ./buildObj
+ cd ./buildObj
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX:PATH=%{_installPrefix} \
+ $CMAKE_VARIABLES \
+ ..
+
+ [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
+ make -j $WM_NCOMPPROCS
+
+%install
+ # On OpenSUSE, rpmbuild, will choke when detecting unreferenced symlinks
+ # created during installation.
+ # Qt version 4.8.0 will generate some unreferenced symlinks when
+ # ParaView is compiled and installed. By enabling the following
+ # environment variable, the command brp-symlink will still complain
+ # about missing link targets, but it won't stop rpmbuild from generating
+ # the final rpm.
+ # For all other Unix distros, this is a no-op.
+ export NO_BRP_STALE_LINK_ERROR=yes
+
+ cd buildObj
+ make install DESTDIR=$RPM_BUILD_ROOT
+
+%ifos darwin
+ # Cleaning up some strange install side effect from option
+ # PARAVIEW_DO_UNIX_STYLE_INSTALLS
+ # Need to revisit this section eventually.
+ if [ -d "$RPM_BUILD_ROOT/$RPM_BUILD_ROOT" ]; then
+ mv $RPM_BUILD_ROOT/$RPM_BUILD_ROOT/%{_installPrefix}/bin/* $RPM_BUILD_ROOT/%{_installPrefix}/bin
+ fi
+%endif
+
+ # Creation of foam-extend specific .csh and .sh files"
+
+ echo ""
+ echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
+ echo ""
+ #
+ # Generate package specific .sh file for foam-extend
+ #
+mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
+cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export PARAVIEW_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+export PARAVIEW_BIN_DIR=\$PARAVIEW_DIR/bin
+export PARAVIEW_LIB_DIR=\$PARAVIEW_DIR/lib
+export PARAVIEW_INCLUDE_DIR=\$PARAVIEW_DIR/include/paraview-5.4
+
+export PARAVIEW_VERSION=%{version}
+
+# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
+# Otherwise, paraview will try to automatically autoload each and every dynamic library it can find in the
+# specified directory to see if a given library is a paraview plugin.
+# In the case of \$FOAM_LIBBIN, with over 80 libraries, this is a total waste of time that will slow down the
+# startup of paraview or even make paraview crash on startup.
+export PV_PLUGIN_PATH=\$FOAM_LIBBIN/paraview-5.4_plugins
+
+[ -d \$PARAVIEW_LIB_DIR/paraview-5.4 ] && _foamAddLib \$PARAVIEW_LIB_DIR/paraview-5.4
+
+# Enable access to the package applications if present
+[ -d \$PARAVIEW_BIN_DIR ] && _foamAddPath \$PARAVIEW_BIN_DIR
+
+# Additional binary path if running on Mac OS X
+[ -d \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ] && _foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
+
+DOT_SH_EOF
+
+ #
+ # Generate package specific .csh file for foam-extend
+ #
+cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+setenv PARAVIEW_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+setenv PARAVIEW_BIN_DIR \$PARAVIEW_DIR/bin
+setenv PARAVIEW_LIB_DIR \$PARAVIEW_DIR/lib
+setenv PARAVIEW_INCLUDE_DIR \$PARAVIEW_DIR/include/paraview-5.4
+
+setenv PARAVIEW_VERSION %{version}
+
+# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
+# Otherwise, paraview will try to automatically autoload each and every dynamic library it can find in the
+# specified directory to see if a given library is a paraview plugin.
+# In the case of \$FOAM_LIBBIN, with over 80 libraries, this is a total waste of time that will slow down the
+# startup of paraview or even make paraview crash on startup.
+setenv PV_PLUGIN_PATH \$FOAM_LIBBIN/paraview-5.4_plugins
+
+if ( -e \$PARAVIEW_BIN_DIR ) then
+ _foamAddPath \$PARAVIEW_BIN_DIR
+endif
+
+if ( -e \$PARAVIEW_LIB_DIR/paraview-5.4 ) then
+ _foamAddLib \$PARAVIEW_LIB_DIR/paraview-5.4
+endif
+
+
+# Additional binary path if running on Mac OS X
+if ( -e \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ) then
+ _foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
+endif
+DOT_CSH_EOF
+
+ #finally, generate a .tgz file for systems where using rpm for installing packages
+ # as a non-root user might be a problem.
+ (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
+
+%clean
+
+%files
+%defattr(-,root,root)
+%{_installPrefix}
+
+
diff --git a/ThirdParty/rpmBuild/SPECS/cmake-3.3.2.spec b/ThirdParty/rpmBuild/SPECS/cmake-3.3.2.spec
new file mode 100644
index 000000000..98b3e0ee2
--- /dev/null
+++ b/ThirdParty/rpmBuild/SPECS/cmake-3.3.2.spec
@@ -0,0 +1,167 @@
+#------------------------------------------------------------------------------
+# ========= |
+# \\ / F ield | foam-extend: Open Source CFD
+# \\ / O peration |
+# \\ / A nd | For copyright notice see file Copyright
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of foam-extend.
+#
+# foam-extend is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# foam-extend is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with foam-extend. If not, see .
+#
+# Script
+# RPM spec file for cmake-3.3.2
+#
+# Description
+# RPM spec file for creating a relocatable RPM
+#
+# Author:
+# Martin Beaudoin, Hydro-Quebec, (2015)
+# Pascal Beckstein, HZDR, (2018)
+#
+#------------------------------------------------------------------------------
+
+# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
+%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
+%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
+
+# Disable the generation of debuginfo packages
+%define debug_package %{nil}
+
+# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
+%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
+%define _tmppath %{_topdir}/tmp
+
+# Will install the package directly $WM_THIRD_PARTY_DIR
+# Some comments about package relocation:
+# By using this prefix for the Prefix: parameter in this file, you will make this
+# package relocatable.
+#
+# This is fine, as long as your software is itself relocatable.
+#
+# Simply take note that libraries built with libtool are not relocatable because the
+# prefix we specify will be hard-coded in the library .la files.
+# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
+#
+# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
+# not be able to reutilize this RPM, even though it is relocatable. You will need to
+# regenerate the RPM.
+#
+%define _prefix %{_WM_THIRD_PARTY_DIR}
+
+%define name cmake
+%define release %{_WM_OPTIONS}
+%define version 3.3.2
+
+%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
+
+BuildRoot: %{buildroot}
+Summary: cmake
+License: Unkown
+Name: %{name}
+Version: %{version}
+Release: %{release}
+URL: http://www.cmake.org/files/v3.3/
+Source: %url/%{name}-%{version}.tar.gz
+Prefix: %{_prefix}
+Group: Development/Tools
+
+
+%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
+
+%description
+%{summary}
+
+%prep
+%setup -q
+
+%build
+ # export WM settings in a form that GNU configure recognizes
+ [ -n "$WM_CC" ] && export CC="$WM_CC"
+ [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
+ [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
+ [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
+ [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
+
+%ifos darwin
+ # For Mac OSX:
+ # The configuration of cmake will be using the environment variable MACOSX_DEPLOYMENT_TARGET.
+ # This variable was initialized using 'sw_vers -productVersion' in etc/bashrc.
+ # We need to get rid of the revision number from this string. eg turn "10.7.5" into "10.7"
+ v=( ${MACOSX_DEPLOYMENT_TARGET//./ } )
+ export MACOSX_DEPLOYMENT_TARGET="${v[0]}.${v[1]}"
+ echo "Resetting MACOSX_DEPLOYMENT_TARGET to ${MACOSX_DEPLOYMENT_TARGET}"
+
+ # Recent version of Mac OSX (Yosemite) cannot compile cmake when gcc is the compiler
+ # Using clang instead
+ CC=clang
+ CXX=clang++
+
+%endif
+
+ ./configure \
+ --prefix=%{_installPrefix}
+
+ [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
+ make -j $WM_NCOMPPROCS
+
+%install
+ make install DESTDIR=$RPM_BUILD_ROOT
+
+ # Creation of foam-extend specific .csh and .sh files"
+
+ echo ""
+ echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
+ echo ""
+ #
+ # Generate package specific .sh file for foam-extend
+ #
+mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
+cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export CMAKE_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+export CMAKE_BIN_DIR=\$CMAKE_DIR/bin
+
+# Enable access to the runtime package applications
+[ -d \$CMAKE_BIN_DIR ] && _foamAddPath \$CMAKE_BIN_DIR
+DOT_SH_EOF
+
+ #
+ # Generate package specific .csh file for foam-extend
+ #
+cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+setenv CMAKE_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+setenv CMAKE_BIN_DIR \$CMAKE_DIR/bin
+
+if ( -e \$CMAKE_BIN_DIR ) then
+ _foamAddPath \$CMAKE_BIN_DIR
+endif
+DOT_CSH_EOF
+
+ #finally, generate a .tgz file for systems where using rpm for installing packages
+ # as a non-root user might be a problem.
+ (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root)
+%{_installPrefix}
+
diff --git a/ThirdParty/rpmBuild/SPECS/qt-everywhere-opensource-src-5.8.0.spec b/ThirdParty/rpmBuild/SPECS/qt-everywhere-opensource-src-5.8.0.spec
new file mode 100644
index 000000000..48c86a6ed
--- /dev/null
+++ b/ThirdParty/rpmBuild/SPECS/qt-everywhere-opensource-src-5.8.0.spec
@@ -0,0 +1,175 @@
+#------------------------------------------------------------------------------
+# ========= |
+# \\ / F ield | foam-extend: Open Source CFD
+# \\ / O peration |
+# \\ / A nd | For copyright notice see file Copyright
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of foam-extend.
+#
+# foam-extend is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# foam-extend is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with foam-extend. If not, see .
+#
+# Script
+# RPM spec file for qt-everywhere-opensource-src-5.8.0
+#
+# Description
+# RPM spec file for creating a relocatable RPM
+#
+# Author:
+# Martin Beaudoin, Hydro-Quebec, (2015)
+# Pascal Beckstein, HZDR, (2018)
+#
+#------------------------------------------------------------------------------
+
+# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
+%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
+%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
+
+# Disable the generation of debuginfo packages
+%define debug_package %{nil}
+
+# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
+%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
+%define _tmppath %{_topdir}/tmp
+
+# Will install the package directly $WM_THIRD_PARTY_DIR
+# Some comments about package relocation:
+# By using this prefix for the Prefix: parameter in this file, you will make this
+# package relocatable.
+#
+# This is fine, as long as your software is itself relocatable.
+#
+# Simply take note that libraries built with libtool are not relocatable because the
+# prefix we specify will be hard-coded in the library .la files.
+# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
+#
+# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
+# not be able to reutilize this RPM, even though it is relocatable. You will need to
+# regenerate the RPM.
+#
+%define _prefix %{_WM_THIRD_PARTY_DIR}
+
+%define name qt-everywhere-opensource-src
+%define release %{_WM_OPTIONS}
+%define version 5.8.0
+
+%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
+
+%define _unpackaged_files_terminate_build 0
+%define _missing_doc_files_terminate_build 0
+
+BuildRoot: %{buildroot}
+Summary: qt-everywhere-opensource-src
+License: Unkown
+Name: %{name}
+Version: %{version}
+Release: %{release}
+URL: http://download.qt.io/archive/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.tar.gz
+Source: %url/%{name}-%{version}.tar.gz
+Prefix: %{_prefix}
+Group: Development/Tools
+
+
+%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
+
+%description
+%{summary}
+
+%prep
+%setup -q
+
+%build
+ # export WM settings in a form that GNU configure recognizes
+ [ -n "$WM_CC" ] && export CC="$WM_CC"
+ [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
+ [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
+ [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
+ [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
+
+ ./configure \
+ -opensource -confirm-license \
+ -release -shared \
+ -nomake examples \
+ -prefix %{_installPrefix}
+
+ # Explicitely specify LD_LIBRARY_PATH so it can find QT own libraries
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{_builddir}/%{name}-%{version}/lib
+
+ [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
+ make -j $WM_NCOMPPROCS
+
+%install
+ # Makefiles generated by qmake do not to support the DESTDIR= option
+ # We need to use the INSTALL_ROOT= option instead
+
+ # Somehow, we need to clean up for the RPM to install properly
+ rm -rf %{_installPrefix}
+
+ make install INSTALL_ROOT=$RPM_BUILD_ROOT
+
+ # Creation of foam-extend specific .csh and .sh files"
+
+ echo ""
+ echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
+ echo ""
+ #
+ # Generate package specific .sh file for foam-extend
+ #
+mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
+cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export QT_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+export QT_BIN_DIR=\$QT_DIR/bin
+export QT_LIB_DIR=\$QT_DIR/lib
+
+# Enable access to the runtime package applications
+[ -d \$QT_BIN_DIR ] && _foamAddPath \$QT_BIN_DIR
+[ -d \$QT_LIB_DIR ] && _foamAddLib \$QT_LIB_DIR
+DOT_SH_EOF
+
+ #
+ # Generate package specific .csh file for foam-extend
+ #
+cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
+# Load %{name}-%{version} libraries and binaries if available
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+setenv QT_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
+setenv QT_BIN_DIR \$QT_DIR/bin
+setenv QT_LIB_DIR \$QT_DIR/lib
+
+if ( -e \$QT_BIN_DIR ) then
+ _foamAddPath \$QT_BIN_DIR
+endif
+
+if ( -e \$QT_LIB_DIR ) then
+ _foamAddLib \$QT_LIB_DIR
+endif
+DOT_CSH_EOF
+
+ #finally, generate a .tgz file for systems where using rpm for installing packages
+ # as a non-root user might be a problem.
+ (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
+
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root)
+%{_installPrefix}
+
+
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean
deleted file mode 100755
index 3fdbeae44..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1 # run from this directory
-set -x
-
-rm -rf PV3FoamReader/Make
-wclean libso vtkPV3Foam
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwmake b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwmake
deleted file mode 100755
index d9c8bf299..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwmake
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-cd ${0%/*} || exit 1 # run from this directory
-set -x
-
-if [ -d "$PARAVIEW_DIR" -a -r "$PARAVIEW_DIR" ]
-then
- case "$PARAVIEW_VERSION" in
- 3*)
- wmake libso vtkPV3Foam
- (
- cd PV3FoamReader
- mkdir -p Make/$WM_OPTIONS > /dev/null 2>&1
- cd Make/$WM_OPTIONS
- cmake ../..
- if [ "$WM_ARCH_BASE" == "darwin" ]
- then
- sed -i bak -e 's/-dynamiclib /& -undefined dynamic_lookup /' CMakeFiles/PV3FoamReader.dir/link.txt
- sed -i bak -e 's/-dynamiclib /& -undefined dynamic_lookup /' CMakeFiles/PV3FoamReader_SM.dir/link.txt
- fi
- make
- )
- ;;
- esac
-fi
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt
deleted file mode 100644
index b9679bbf7..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-# create a plugin that adds a reader to the ParaView GUI
-# it is added in the file dialog when doing opens/saves.
-
-# The qrc file is processed by Qt's resource compiler (rcc)
-# the qrc file must have a resource prefix of "/ParaViewResources"
-# and ParaView will read anything contained under that prefix
-# the pqReader.xml file contains xml defining readers with their
-# file extensions and descriptions.
-
-cmake_minimum_required(VERSION 2.4)
-
-if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
-
-FIND_PACKAGE(ParaView REQUIRED)
-INCLUDE(${PARAVIEW_USE_FILE})
-
-LINK_DIRECTORIES(
- $ENV{FOAM_LIBBIN}
-)
-
-INCLUDE_DIRECTORIES(
- $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
- $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
- $ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
- ${PROJECT_SOURCE_DIR}/../vtkPV3Foam
-)
-
-ADD_DEFINITIONS(
- -DWM_$ENV{WM_PRECISION_OPTION}
- -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
-)
-
-# Set output library destination to plugin folder
-SET(
- LIBRARY_OUTPUT_PATH $ENV{PV_PLUGIN_PATH}
- CACHE INTERNAL
- "Single output directory for building all libraries."
-)
-
-# Build the server-side plugin
-ADD_PARAVIEW_PLUGIN(
- PV3FoamReader_SM "1.0"
- SERVER_MANAGER_XML PV3FoamReader_SM.xml
- SERVER_MANAGER_SOURCES vtkPV3FoamReader.cxx
-)
-
-# Build the client-side plugin
-ADD_PARAVIEW_PLUGIN(
- PV3FoamReader
- "1.0"
- GUI_RESOURCES PV3FoamReader.qrc
-)
-
-TARGET_LINK_LIBRARIES(
- PV3FoamReader_SM
- OpenFOAM
- finiteVolume
- vtkPV3Foam
- pqCore
-)
-#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.qrc b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.qrc
deleted file mode 100644
index 7394bb80d..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- PV3FoamReader.xml
-
-
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.xml b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.xml
deleted file mode 100644
index 123c736f5..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml
deleted file mode 100644
index ef25ac037..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-
-
-
-
-
-
- Specifies the filename for the OpenFOAM Reader.
-
-
-
-
-
-
-
- Available timestep values.
-
-
-
-
-
-
-
-
-
-
- Extrapolate internalField to non-constraint patches
-
-
-
-
-
-
- Searches the polyMesh/sets/ directory
-
-
-
-
-
-
-
- ZoneMesh information is used to find {cell,face,point}Zones.
- The polyMesh/ directory is only checked on startup.
-
-
-
-
-
-
-
-
- Show patch names in render window.
-
-
-
-
-
-
-
- Cache the fvMesh in memory.
-
-
-
-
-
-
-
-
- A simple way cause a reader GUI modification.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx
deleted file mode 100644
index 47e919c9c..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx
+++ /dev/null
@@ -1,689 +0,0 @@
-/*=========================================================================
-
- Program: Visualization Toolkit
- Module: $RCSfile: vtkPV3FoamReader.cxx,v $
-
- Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
- All rights reserved.
- See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notice for more information.
-
-=========================================================================*/
-
-#include "vtkPV3FoamReader.h"
-
-#include "pqApplicationCore.h"
-#include "pqRenderView.h"
-#include "pqServerManagerModel.h"
-
-// VTK includes
-#include "vtkCallbackCommand.h"
-#include "vtkDataArraySelection.h"
-#include "vtkInformation.h"
-#include "vtkInformationVector.h"
-#include "vtkMultiBlockDataSet.h"
-#include "vtkObjectFactory.h"
-#include "vtkSMRenderViewProxy.h"
-#include "vtkStreamingDemandDrivenPipeline.h"
-#include "vtkStringArray.h"
-
-// Foam includes
-#include "vtkPV3Foam.H"
-
-vtkCxxRevisionMacro(vtkPV3FoamReader, "$Revision: 1.5$");
-vtkStandardNewMacro(vtkPV3FoamReader);
-
-#undef EXPERIMENTAL_TIME_CACHING
-
-vtkPV3FoamReader::vtkPV3FoamReader()
-{
- Debug = 0;
- vtkDebugMacro(<<"Constructor");
-
- SetNumberOfInputPorts(0);
-
- FileName = NULL;
- foamData_ = NULL;
-
- output0_ = NULL;
-
-#ifdef VTKPV3FOAM_DUALPORT
- // Add second output for the Lagrangian
- this->SetNumberOfOutputPorts(2);
- vtkMultiBlockDataSet *lagrangian = vtkMultiBlockDataSet::New();
- lagrangian->ReleaseData();
-
- this->GetExecutive()->SetOutputData(1, lagrangian);
- lagrangian->Delete();
-#endif
-
- TimeStepRange[0] = 0;
- TimeStepRange[1] = 0;
-
- CacheMesh = 1;
-
- ExtrapolatePatches = 0;
- IncludeSets = 0;
- IncludeZones = 0;
- ShowPatchNames = 0;
-
- UpdateGUI = 0;
-
- PartSelection = vtkDataArraySelection::New();
- VolFieldSelection = vtkDataArraySelection::New();
- PointFieldSelection = vtkDataArraySelection::New();
- LagrangianFieldSelection = vtkDataArraySelection::New();
-
- // Setup the selection callback to modify this object when an array
- // selection is changed.
- SelectionObserver = vtkCallbackCommand::New();
- SelectionObserver->SetCallback
- (
- &vtkPV3FoamReader::SelectionModifiedCallback
- );
- SelectionObserver->SetClientData(this);
-
- PartSelection->AddObserver
- (
- vtkCommand::ModifiedEvent,
- this->SelectionObserver
- );
- VolFieldSelection->AddObserver
- (
- vtkCommand::ModifiedEvent,
- this->SelectionObserver
- );
- PointFieldSelection->AddObserver
- (
- vtkCommand::ModifiedEvent,
- this->SelectionObserver
- );
- LagrangianFieldSelection->AddObserver
- (
- vtkCommand::ModifiedEvent,
- this->SelectionObserver
- );
-}
-
-
-vtkPV3FoamReader::~vtkPV3FoamReader()
-{
- vtkDebugMacro(<<"Deconstructor");
-
- delete foamData_;
-
- if (FileName)
- {
- delete [] FileName;
- }
-
- if (output0_)
- {
- output0_->Delete();
- }
-
-
- PartSelection->RemoveObserver(this->SelectionObserver);
- VolFieldSelection->RemoveObserver(this->SelectionObserver);
- PointFieldSelection->RemoveObserver(this->SelectionObserver);
- LagrangianFieldSelection->RemoveObserver(this->SelectionObserver);
-
- SelectionObserver->Delete();
-
- PartSelection->Delete();
- VolFieldSelection->Delete();
- PointFieldSelection->Delete();
- LagrangianFieldSelection->Delete();
-}
-
-
-// Do everything except set the output info
-int vtkPV3FoamReader::RequestInformation
-(
- vtkInformation* vtkNotUsed(request),
- vtkInformationVector** vtkNotUsed(inputVector),
- vtkInformationVector* outputVector
-)
-{
- vtkDebugMacro(<<"RequestInformation");
-
- if (Foam::vtkPV3Foam::debug)
- {
- cout<<"REQUEST_INFORMATION\n";
- }
-
- if (!FileName)
- {
- vtkErrorMacro("FileName has to be specified!");
- return 0;
- }
-
- int nInfo = outputVector->GetNumberOfInformationObjects();
-
- if (Foam::vtkPV3Foam::debug)
- {
- cout<<"RequestInformation with " << nInfo << " item(s)\n";
- for (int infoI = 0; infoI < nInfo; ++infoI)
- {
- outputVector->GetInformationObject(infoI)->Print(cout);
- }
- }
-
- if (!foamData_)
- {
- foamData_ = new Foam::vtkPV3Foam(FileName, this);
- }
- else
- {
- foamData_->updateInfo();
- }
-
- int nTimeSteps = 0;
- double* timeSteps = foamData_->findTimes(nTimeSteps);
-
- if (!nTimeSteps)
- {
- vtkErrorMacro("could not find valid OpenFOAM mesh");
-
- // delete foamData and flag it as fatal error
- delete foamData_;
- foamData_ = NULL;
- return 0;
- }
-
- // set identical time steps for all ports
- for (int infoI = 0; infoI < nInfo; ++infoI)
- {
- outputVector->GetInformationObject(infoI)->Set
- (
- vtkStreamingDemandDrivenPipeline::TIME_STEPS(),
- timeSteps,
- nTimeSteps
- );
- }
-
- if (nTimeSteps)
- {
- double timeRange[2];
- timeRange[0] = timeSteps[0];
- timeRange[1] = timeSteps[nTimeSteps-1];
-
- if (Foam::vtkPV3Foam::debug > 1)
- {
- cout<<"nTimeSteps " << nTimeSteps << "\n"
- <<"timeRange " << timeRange[0] << " to " << timeRange[1]
- << "\n";
-
- for (int timeI = 0; timeI < nTimeSteps; ++timeI)
- {
- cout<< "step[" << timeI << "] = " << timeSteps[timeI] << "\n";
- }
- }
-
- for (int infoI = 0; infoI < nInfo; ++infoI)
- {
- outputVector->GetInformationObject(infoI)->Set
- (
- vtkStreamingDemandDrivenPipeline::TIME_RANGE(),
- timeRange,
- 2
- );
- }
- }
-
- delete timeSteps;
-
- return 1;
-}
-
-
-// Set the output info
-int vtkPV3FoamReader::RequestData
-(
- vtkInformation* vtkNotUsed(request),
- vtkInformationVector** vtkNotUsed(inputVector),
- vtkInformationVector* outputVector
-)
-{
- vtkDebugMacro(<<"RequestData");
-
- if (!FileName)
- {
- vtkErrorMacro("FileName has to be specified!");
- return 0;
- }
-
- // catch previous error
- if (!foamData_)
- {
- vtkErrorMacro("Reader failed - perhaps no mesh?");
- return 0;
- }
-
- int nInfo = outputVector->GetNumberOfInformationObjects();
-
- if (Foam::vtkPV3Foam::debug)
- {
- cout<<"RequestData with " << nInfo << " item(s)\n";
- for (int infoI = 0; infoI < nInfo; ++infoI)
- {
- outputVector->GetInformationObject(infoI)->Print(cout);
- }
- }
-
- // Get the requested time step.
- // We only support requests for a single time step
-
- int nRequestTime = 0;
- double requestTime[nInfo];
-
- // taking port0 as the lead for other outputs would be nice, but fails when
- // a filter is added - we need to check everything
- // but since PREVIOUS_UPDATE_TIME_STEPS() is protected, relay the logic
- // to the vtkPV3Foam::setTime() method
- for (int infoI = 0; infoI < nInfo; ++infoI)
- {
- vtkInformation *outInfo = outputVector->GetInformationObject(infoI);
-
- if
- (
- outInfo->Has
- (
- vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS()
- )
- && outInfo->Length
- (
- vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS()
- ) >= 1
- )
- {
- requestTime[nRequestTime++] = outInfo->Get
- (
- vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS()
- )[0];
- }
- }
-
- if (nRequestTime)
- {
- foamData_->setTime(nRequestTime, requestTime);
- }
-
-
- vtkMultiBlockDataSet* output = vtkMultiBlockDataSet::SafeDownCast
- (
- outputVector->GetInformationObject(0)->Get
- (
- vtkMultiBlockDataSet::DATA_OBJECT()
- )
- );
-
- if (Foam::vtkPV3Foam::debug)
- {
- cout<< "update output with "
- << output->GetNumberOfBlocks() << " blocks\n";
- }
-
-
-#ifdef EXPERIMENTAL_TIME_CACHING
- bool needsUpdate = false;
-
- if (!output0_)
- {
- output0_ = vtkMultiBlockDataSet::New();
- needsUpdate = true;
- }
-
- // This experimental bit of code seems to work for the geometry,
- // but trashes the fields and still triggers the GeometryFilter
- if (needsUpdate)
- {
- foamData_->Update(output);
- output0_->ShallowCopy(output);
- }
- else
- {
- output->ShallowCopy(output0_);
- }
-
- if (Foam::vtkPV3Foam::debug)
- {
- if (needsUpdate)
- {
- cout<< "full UPDATE ---------\n";
- }
- else
- {
- cout<< "cached UPDATE ---------\n";
- }
-
- cout<< "UPDATED output: ";
- output->Print(cout);
-
- cout<< "UPDATED output0_: ";
- output0_->Print(cout);
- }
-
-#else
-
-#ifdef VTKPV3FOAM_DUALPORT
- foamData_->Update
- (
- output,
- vtkMultiBlockDataSet::SafeDownCast
- (
- outputVector->GetInformationObject(1)->Get
- (
- vtkMultiBlockDataSet::DATA_OBJECT()
- )
- );
- );
-#else
- foamData_->Update(output, output);
-#endif
-
- if (ShowPatchNames)
- {
- addPatchNamesToView();
- }
- else
- {
- removePatchNamesFromView();
- }
-
-#endif
-
- // Do any cleanup on the Foam side
- foamData_->CleanUp();
-
- return 1;
-}
-
-
-void vtkPV3FoamReader::addPatchNamesToView()
-{
- pqApplicationCore* appCore = pqApplicationCore::instance();
-
- // Server manager model for querying items in the server manager
- pqServerManagerModel* smModel = appCore->getServerManagerModel();
-
- // Get all the pqRenderView instances
- QList renderViews = smModel->findItems();
-
- for (int viewI=0; viewIaddPatchNames
- (
- renderViews[viewI]->getRenderViewProxy()->GetRenderer()
- );
- }
-}
-
-
-void vtkPV3FoamReader::removePatchNamesFromView()
-{
- pqApplicationCore* appCore = pqApplicationCore::instance();
-
- // Server manager model for querying items in the server manager
- pqServerManagerModel* smModel = appCore->getServerManagerModel();
-
- // Get all the pqRenderView instances
- QList renderViews = smModel->findItems();
-
- for (int viewI=0; viewIremovePatchNames
- (
- renderViews[viewI]->getRenderViewProxy()->GetRenderer()
- );
- }
-}
-
-
-void vtkPV3FoamReader::PrintSelf(ostream& os, vtkIndent indent)
-{
- vtkDebugMacro(<<"PrintSelf");
-
- this->Superclass::PrintSelf(os,indent);
- os<< indent << "File name: "
- << (this->FileName ? this->FileName : "(none)") << "\n";
-
- foamData_->PrintSelf(os, indent);
-
- os<< indent << "Time step range: "
- << this->TimeStepRange[0] << " - " << this->TimeStepRange[1]
- << "\n";
- os<< indent << "Time step: " << this->GetTimeStep() << endl;
-}
-
-
-int vtkPV3FoamReader::GetTimeStep()
-{
- return foamData_ ? foamData_->timeIndex() : -1;
-}
-
-
-// ----------------------------------------------------------------------
-// Parts selection list control
-
-vtkDataArraySelection* vtkPV3FoamReader::GetPartSelection()
-{
- vtkDebugMacro(<<"GetPartSelection");
- return PartSelection;
-}
-
-
-int vtkPV3FoamReader::GetNumberOfPartArrays()
-{
- vtkDebugMacro(<<"GetNumberOfPartArrays");
- return PartSelection->GetNumberOfArrays();
-}
-
-
-const char* vtkPV3FoamReader::GetPartArrayName(int index)
-{
- vtkDebugMacro(<<"GetPartArrayName");
- return PartSelection->GetArrayName(index);
-}
-
-
-int vtkPV3FoamReader::GetPartArrayStatus(const char* name)
-{
- vtkDebugMacro(<<"GetPartArrayStatus");
- return PartSelection->ArrayIsEnabled(name);
-}
-
-
-void vtkPV3FoamReader::SetPartArrayStatus(const char* name, int status)
-{
- vtkDebugMacro(<<"SetPartArrayStatus");
- if (status)
- {
- PartSelection->EnableArray(name);
- }
- else
- {
- PartSelection->DisableArray(name);
- }
-}
-
-
-// ----------------------------------------------------------------------
-// volField selection list control
-
-vtkDataArraySelection* vtkPV3FoamReader::GetVolFieldSelection()
-{
- vtkDebugMacro(<<"GetVolFieldSelection");
- return VolFieldSelection;
-}
-
-
-int vtkPV3FoamReader::GetNumberOfVolFieldArrays()
-{
- vtkDebugMacro(<<"GetNumberOfVolFieldArrays");
- return VolFieldSelection->GetNumberOfArrays();
-}
-
-
-const char* vtkPV3FoamReader::GetVolFieldArrayName(int index)
-{
- vtkDebugMacro(<<"GetVolFieldArrayName");
- return VolFieldSelection->GetArrayName(index);
-}
-
-
-int vtkPV3FoamReader::GetVolFieldArrayStatus(const char* name)
-{
- vtkDebugMacro(<<"GetVolFieldArrayStatus");
- return VolFieldSelection->ArrayIsEnabled(name);
-}
-
-
-void vtkPV3FoamReader::SetVolFieldArrayStatus(const char* name, int status)
-{
- vtkDebugMacro(<<"SetVolFieldArrayStatus");
- if (status)
- {
- VolFieldSelection->EnableArray(name);
- }
- else
- {
- VolFieldSelection->DisableArray(name);
- }
-}
-
-
-// ----------------------------------------------------------------------
-// pointField selection list control
-
-vtkDataArraySelection* vtkPV3FoamReader::GetPointFieldSelection()
-{
- vtkDebugMacro(<<"GetPointFieldSelection");
- return PointFieldSelection;
-}
-
-
-int vtkPV3FoamReader::GetNumberOfPointFieldArrays()
-{
- vtkDebugMacro(<<"GetNumberOfPointFieldArrays");
- return PointFieldSelection->GetNumberOfArrays();
-}
-
-
-const char* vtkPV3FoamReader::GetPointFieldArrayName(int index)
-{
- vtkDebugMacro(<<"GetPointFieldArrayName");
- return PointFieldSelection->GetArrayName(index);
-}
-
-
-int vtkPV3FoamReader::GetPointFieldArrayStatus(const char* name)
-{
- vtkDebugMacro(<<"GetPointFieldArrayStatus");
- return PointFieldSelection->ArrayIsEnabled(name);
-}
-
-
-void vtkPV3FoamReader::SetPointFieldArrayStatus(const char* name, int status)
-{
- vtkDebugMacro(<<"SetPointFieldArrayStatus");
- if (status)
- {
- PointFieldSelection->EnableArray(name);
- }
- else
- {
- PointFieldSelection->DisableArray(name);
- }
-}
-
-
-// ----------------------------------------------------------------------
-// lagrangianField selection list control
-
-vtkDataArraySelection* vtkPV3FoamReader::GetLagrangianFieldSelection()
-{
- vtkDebugMacro(<<"GetLagrangianFieldSelection");
- return LagrangianFieldSelection;
-}
-
-
-int vtkPV3FoamReader::GetNumberOfLagrangianFieldArrays()
-{
- vtkDebugMacro(<<"GetNumberOfLagrangianFieldArrays");
- return LagrangianFieldSelection->GetNumberOfArrays();
-}
-
-
-const char* vtkPV3FoamReader::GetLagrangianFieldArrayName(int index)
-{
- vtkDebugMacro(<<"GetLagrangianFieldArrayName");
- return LagrangianFieldSelection->GetArrayName(index);
-}
-
-
-int vtkPV3FoamReader::GetLagrangianFieldArrayStatus(const char* name)
-{
- vtkDebugMacro(<<"GetLagrangianFieldArrayStatus");
- return LagrangianFieldSelection->ArrayIsEnabled(name);
-}
-
-
-void vtkPV3FoamReader::SetLagrangianFieldArrayStatus
-(
- const char* name,
- int status
-)
-{
- vtkDebugMacro(<<"SetLagrangianFieldArrayStatus");
- if (status)
- {
- LagrangianFieldSelection->EnableArray(name);
- }
- else
- {
- LagrangianFieldSelection->DisableArray(name);
- }
-}
-
-
-// ----------------------------------------------------------------------
-
-void vtkPV3FoamReader::SelectionModifiedCallback
-(
- vtkObject*,
- unsigned long,
- void* clientdata,
- void*
-)
-{
- static_cast(clientdata)->SelectionModified();
-}
-
-
-void vtkPV3FoamReader::SelectionModified()
-{
- vtkDebugMacro(<<"SelectionModified");
- Modified();
-}
-
-
-int vtkPV3FoamReader::FillOutputPortInformation
-(
- int port,
- vtkInformation* info
-)
-{
- if (port == 0)
- {
- return this->Superclass::FillOutputPortInformation(port, info);
- }
- info->Set(vtkDataObject::DATA_TYPE_NAME(), "vtkMultiBlockDataSet");
- return 1;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h
deleted file mode 100644
index bc21cd8ce..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/*=========================================================================
-
- Program: Visualization Toolkit
- Module: $RCSfile: vtkPV3FoamReader.h,v $
-
- Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
- All rights reserved.
- See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notice for more information.
-
-=========================================================================*/
-// .NAME vtkPV3FoamReader - reads a dataset in OpenFOAM format
-// .SECTION Description
-// vtkPV3FoamReader creates an multiblock dataset.
-// It uses the OpenFOAM infrastructure (fvMesh, etc) to
-// handle mesh and field data.
-
-#ifndef __vtkPV3FoamReader_h
-#define __vtkPV3FoamReader_h
-
-// Foam forward declarations
-namespace Foam
-{
- class vtkPV3Foam;
-}
-
-// VTK includes
-#include "vtkMultiBlockDataSetAlgorithm.h"
-
-// VTK forward declarations
-class vtkDataArraySelection;
-class vtkCallbackCommand;
-
-
-class VTK_IO_EXPORT vtkPV3FoamReader
-:
- public vtkMultiBlockDataSetAlgorithm
-{
-public:
- vtkTypeRevisionMacro(vtkPV3FoamReader,vtkMultiBlockDataSetAlgorithm);
- void PrintSelf(ostream&, vtkIndent);
-
- static vtkPV3FoamReader* New();
-
- // Description:
- // Get the current timestep and the timestep range.
- vtkGetVector2Macro(TimeStepRange, int);
-
- // Description:
- // Set/Get the filename.
- vtkSetStringMacro(FileName);
- vtkGetStringMacro(FileName);
-
- // Description:
- // GUI update control
- vtkSetMacro(UpdateGUI, int);
- vtkGetMacro(UpdateGUI, int);
-
- // Description:
- // FOAM mesh caching control
- vtkSetMacro(CacheMesh, int);
- vtkGetMacro(CacheMesh, int);
-
- // Description:
- // FOAM extrapolate internal values onto the patches
- vtkSetMacro(ExtrapolatePatches, int);
- vtkGetMacro(ExtrapolatePatches, int);
-
- // FOAM read sets control
- vtkSetMacro(IncludeSets, int);
- vtkGetMacro(IncludeSets, int);
-
- // Description:
- // FOAM read zones control
- vtkSetMacro(IncludeZones, int);
- vtkGetMacro(IncludeZones, int);
-
- // Description:
- // FOAM display patch names control
- vtkSetMacro(ShowPatchNames, int);
- vtkGetMacro(ShowPatchNames, int);
-
- // Description:
- // Get the current timestep
- int GetTimeStep();
-
- // Description:
- // Parts selection list control
- vtkDataArraySelection* GetPartSelection();
- int GetNumberOfPartArrays();
- int GetPartArrayStatus(const char* name);
- void SetPartArrayStatus(const char* name, int status);
- const char* GetPartArrayName(int index);
-
- // Description:
- // volField selection list control
- vtkDataArraySelection* GetVolFieldSelection();
- int GetNumberOfVolFieldArrays();
- int GetVolFieldArrayStatus(const char* name);
- void SetVolFieldArrayStatus(const char* name, int status);
- const char* GetVolFieldArrayName(int index);
-
- // Description:
- // pointField selection list control
- vtkDataArraySelection* GetPointFieldSelection();
- int GetNumberOfPointFieldArrays();
- int GetPointFieldArrayStatus(const char* name);
- void SetPointFieldArrayStatus(const char* name, int status);
- const char* GetPointFieldArrayName(int index);
-
- // Description:
- // lagrangianField selection list control
- vtkDataArraySelection* GetLagrangianFieldSelection();
- int GetNumberOfLagrangianFieldArrays();
- int GetLagrangianFieldArrayStatus(const char* name);
- void SetLagrangianFieldArrayStatus(const char* name, int status);
- const char* GetLagrangianFieldArrayName(int index);
-
- // Description:
- // Callback registered with the SelectionObserver
- // for all the selection lists
- static void SelectionModifiedCallback
- (
- vtkObject* caller,
- unsigned long eid,
- void* clientdata,
- void* calldata
- );
-
- void SelectionModified();
-
-
-protected:
-
- //- Construct null
- vtkPV3FoamReader();
-
- //- Destructor
- ~vtkPV3FoamReader();
-
- //- Return information about mesh, times, etc without loading anything
- virtual int RequestInformation
- (
- vtkInformation*,
- vtkInformationVector**,
- vtkInformationVector*
- );
-
- //- Get the mesh/fields for a particular time
- //- Destructor
- virtual int RequestData
- (
- vtkInformation*,
- vtkInformationVector**,
- vtkInformationVector*
- );
-
- //- Fill in additional port information
- virtual int FillOutputPortInformation(int, vtkInformation*);
-
- // The observer to modify this object when array selections are modified
- vtkCallbackCommand* SelectionObserver;
-
- char* FileName;
-
-private:
-
- //- Disallow default bitwise copy construct
- vtkPV3FoamReader(const vtkPV3FoamReader&);
-
- //- Disallow default bitwise assignment
- void operator=(const vtkPV3FoamReader&);
-
- //- Add patch names to the view
- void addPatchNamesToView();
-
- //- Remove patch names from the view
- void removePatchNamesFromView();
-
- int TimeStepRange[2];
- int CacheMesh;
-
- int ExtrapolatePatches;
- int IncludeSets;
- int IncludeZones;
- int ShowPatchNames;
-
- //- Dummy variable/switch for invoke a reader update
- int UpdateGUI;
-
- vtkDataArraySelection* PartSelection;
- vtkDataArraySelection* VolFieldSelection;
- vtkDataArraySelection* PointFieldSelection;
- vtkDataArraySelection* LagrangianFieldSelection;
-
- //- Cached data for output port0 (experimental!)
- vtkMultiBlockDataSet* output0_;
-
- //BTX
- Foam::vtkPV3Foam* foamData_;
- //ETX
-};
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/files b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/files
deleted file mode 100644
index 9699e3c71..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/files
+++ /dev/null
@@ -1,12 +0,0 @@
-vtkPV3Foam.C
-vtkPV3FoamFields.C
-vtkPV3FoamMesh.C
-vtkPV3FoamMeshLagrangian.C
-vtkPV3FoamMeshPatch.C
-vtkPV3FoamMeshSet.C
-vtkPV3FoamMeshVolume.C
-vtkPV3FoamMeshZone.C
-vtkPV3FoamUpdateInfo.C
-vtkPV3FoamUtilities.C
-
-LIB = $(FOAM_LIBBIN)/libvtkPV3Foam
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options
deleted file mode 100644
index dc4c83c7e..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options
+++ /dev/null
@@ -1,12 +0,0 @@
-EXE_INC = \
- -I$(LIB_SRC)/finiteVolume/lnInclude \
- -I$(LIB_SRC)/lagrangian/basic/lnInclude \
- -I$(LIB_SRC)/meshTools/lnInclude \
- -I$(PARAVIEW_INCLUDE_DIR) \
- -I../PV3FoamReader
-
-LIB_LIBS = \
- -lfiniteVolume \
- -llagrangian \
- -lmeshTools \
- $(GLIBS)
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMTupleRemap.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMTupleRemap.H
deleted file mode 100644
index 88a34af02..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMTupleRemap.H
+++ /dev/null
@@ -1,71 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | foam-extend: Open Source CFD
- \\ / O peration | Version: 4.0
- \\ / A nd | Web: http://www.foam-extend.org
- \\/ M anipulation | For copyright notice see file Copyright
--------------------------------------------------------------------------------
-License
- This file is part of foam-extend.
-
- foam-extend is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation, either version 3 of the License, or (at your
- option) any later version.
-
- foam-extend is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with foam-extend. If not, see .
-
-InClass
- vtkPV3Foam
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef vtkFOAMTupleRemap_H
-#define vtkFOAMTupleRemap_H
-
-// FOAM includes
-#include "StaticAssert.H"
-#include "Swap.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template
-inline void vtkFOAMTupleRemap(float vec[]);
-
-
-// a symmTensor specialization to remap FOAM -> ParaView naming order
-// Qt/Core/pqScalarBarRepresentation.cxx defines this order
-// { "XX", "YY", "ZZ", "XY", "YZ", "XZ" }
-// in pqScalarBarRepresentation::getDefaultComponentLabel()
-// whereas FOAM uses this order
-// { XX, XY, XZ, YY, YZ, ZZ }
-//
-// for extra safety, assert that symmTensor indeed has 6 components
-StaticAssert(Foam::symmTensor::nComponents == 6);
-
-
-// Template specialization for symmTensor
-template<>
-inline void vtkFOAMTupleRemap(float vec[])
-{
- Foam::Swap(vec[1], vec[3]); // swap XY <-> YY
- Foam::Swap(vec[2], vec[5]); // swap XZ <-> ZZ
-}
-
-
-template
-inline void vtkFOAMTupleRemap(float vec[])
-{}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H
deleted file mode 100644
index d7d231322..000000000
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H
+++ /dev/null
@@ -1,757 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | foam-extend: Open Source CFD
- \\ / O peration | Version: 4.0
- \\ / A nd | Web: http://www.foam-extend.org
- \\/ M anipulation | For copyright notice see file Copyright
--------------------------------------------------------------------------------
-License
- This file is part of foam-extend.
-
- foam-extend is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation, either version 3 of the License, or (at your
- option) any later version.
-
- foam-extend is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with foam-extend. If not, see .
-
-Class
- Foam::vtkPV3Foam
-
-Description
- Provides a reader interface for FOAM to VTK interaction.
-
-SourceFiles
- vtkPV3Foam.C
- vtkPV3Foam.H
- vtkPV3FoamI.H
- vtkPV3FoamFields.C
- vtkPV3FoamMesh.C
- vtkPV3FoamMeshLagrangian.C
- vtkPV3FoamMeshPatch.C
- vtkPV3FoamMeshSet.C
- vtkPV3FoamMeshVolume.C
- vtkPV3FoamMeshZone.C
- vtkPV3FoamFaceField.H
- vtkPV3FoamLagrangianFields.H
- vtkPV3FoamPatchField.H
- vtkPV3FoamPointFields.H
- vtkPV3FoamPoints.H
- vtkPV3FoamUpdateInfo.C
- vtkPV3FoamUpdateInfoFields.H
- vtkPV3FoamUtilities.C
- vtkPV3FoamVolFields.H
- vtkPV3FoamAddToSelection.H
-
- // Needed by VTK:
- vtkDataArrayTemplateImplicit.txx
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef vtkPV3Foam_H
-#define vtkPV3Foam_H
-
-// do not include legacy strstream headers
-#ifndef VTK_EXCLUDE_STRSTREAM_HEADERS
-# define VTK_EXCLUDE_STRSTREAM_HEADERS
-#endif
-
-#include "className.H"
-#include "fileName.H"
-#include "stringList.H"
-#include "wordList.H"
-#include "primitivePatch.H"
-#include "PrimitivePatchInterpolation.H"
-#include "volPointInterpolation.H"
-
-#undef VTKPV3FOAM_DUALPORT
-
-// * * * * * * * * * * * * * Forward Declarations * * * * * * * * * * * * * //
-
-class vtkDataArraySelection;
-class vtkDataSet;
-class vtkPoints;
-class vtkPV3FoamReader;
-class vtkRenderer;
-class vtkTextActor;
-class vtkMultiBlockDataSet;
-class vtkPolyData;
-class vtkUnstructuredGrid;
-class vtkIndent;
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// Foam class forward declarations
-class argList;
-class Time;
-class fvMesh;
-class IOobjectList;
-class polyPatch;
-class faceSet;
-class pointSet;
-
-template class IOField;
-template class List;
-
-/*---------------------------------------------------------------------------*\
- Class vtkPV3Foam Declaration
-\*---------------------------------------------------------------------------*/
-
-class vtkPV3Foam
-{
- // Private classes
-
- //- Bookkeeping for GUI checklists and the multi-block organization
- class partInfo
- {
- const char *name_;
- int block_;
- int start_;
- int size_;
-
- public:
-
- partInfo(const char *name, const int blockNo=0)
- :
- name_(name),
- block_(blockNo),
- start_(-1),
- size_(0)
- {}
-
- //- Return the block holding these datasets
- int block() const
- {
- return block_;
- }
-
- //- Assign block number, return previous value
- int block(int blockNo)
- {
- int prev = block_;
- block_ = blockNo;
- return prev;
- }
-
- const char* name() const
- {
- return name_;
- }
-
- int start() const
- {
- return start_;
- }
-
- int end() const
- {
- return start_ + size_;
- }
-
- int size() const
- {
- return size_;
- }
-
- bool empty() const
- {
- return !size_;
- }
-
- void reset()
- {
- start_ = -1;
- size_ = 0;
- }
-
- //- Assign new start and reset the size
- void operator=(const int i)
- {
- start_ = i;
- size_ = 0;
- }
-
- //- Increment the size
- void operator+=(const int n)
- {
- size_ += n;
- }
- };
-
- //- bookkeeping for polyhedral cell decomposition
- // hide in extra pointMap (cellSet/cellZone) for now
- class polyDecomp
- {
- labelList superCells_;
- labelList addPointCellLabels_;
- labelList pointMap_;
-
- public:
-
- polyDecomp()
- {}
-
- //- Label of original cell for decomposed cells
- labelList& superCells()
- {
- return superCells_;
- }
-
- //- Label of original cell for decomposed cells
- const labelList& superCells() const
- {
- return superCells_;
- }
-
- //- Cell-centre labels for additional points of decomposed cells
- labelList& addPointCellLabels()
- {
- return addPointCellLabels_;
- }
-
- //- Cell-centre labels for additional points of decomposed cells
- const labelList& addPointCellLabels() const
- {
- return addPointCellLabels_;
- }
-
- //- Point labels for subsetted meshes
- labelList& pointMap()
- {
- return pointMap_;
- }
-
- //- Point labels for subsetted meshes
- const labelList& pointMap() const
- {
- return pointMap_;
- }
-
-
- //- Clear
- void clear()
- {
- superCells_.clear();
- addPointCellLabels_.clear();
- pointMap_.clear();
- }
- };
-
-
- // Private Data
-
- //- Access to the controlling vtkPV3FoamReader
- vtkPV3FoamReader* reader_;
-
- //- Foam time control
- autoPtr