GCC8 compatibility improvements. Cumulative improvment on gcc8 compliance. Added support for openmpi version 4.0.0 Updated cfMesh library to latest version. Author: Danial Khazaei
This commit is contained in:
commit
4311ba296a
677 changed files with 175807 additions and 169967 deletions
1
ThirdParty/AllClean.stage2
vendored
1
ThirdParty/AllClean.stage2
vendored
|
@ -57,6 +57,7 @@ uninstallPackage openmpi-1.5 $1
|
||||||
uninstallPackage openmpi-1.6.5 $1
|
uninstallPackage openmpi-1.6.5 $1
|
||||||
uninstallPackage openmpi-1.8.4 $1
|
uninstallPackage openmpi-1.8.4 $1
|
||||||
uninstallPackage openmpi-3.1.0 $1
|
uninstallPackage openmpi-3.1.0 $1
|
||||||
|
uninstallPackage openmpi-4.0.0 $1
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo ========================================
|
echo ========================================
|
||||||
|
|
8
ThirdParty/AllMake.stage2
vendored
8
ThirdParty/AllMake.stage2
vendored
|
@ -113,6 +113,14 @@ then
|
||||||
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_311_ConfigureAdditionalArgs"')
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_311_ConfigureAdditionalArgs"')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# openmpi 4.0.0
|
||||||
|
#
|
||||||
|
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_400" ] && {
|
||||||
|
echo "Building openmpi 4.0.0"
|
||||||
|
( rpm_make -p openmpi-4.0.0 -s openmpi-4.0.0.spec -u https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-4.0.0.tar.gz \
|
||||||
|
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_400_ConfigureAdditionalArgs"')
|
||||||
|
}
|
||||||
|
|
||||||
# mvipich2-2.2
|
# mvipich2-2.2
|
||||||
#
|
#
|
||||||
[ ! -z "$WM_THIRD_PARTY_USE_MVAPICH2_22" ] && {
|
[ ! -z "$WM_THIRD_PARTY_USE_MVAPICH2_22" ] && {
|
||||||
|
|
28
ThirdParty/rpmBuild/SOURCES/openmpi-3.1.1.patch
vendored
Normal file
28
ThirdParty/rpmBuild/SOURCES/openmpi-3.1.1.patch
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- openmpi-3.1.1_orig/ompi/include/mpi.h.in 2018-06-29 20:38:13.000000000 +0430
|
||||||
|
+++ openmpi-3.1.1/ompi/include/mpi.h.in 2019-01-30 22:03:31.021316632 +0330
|
||||||
|
@@ -307,7 +307,11 @@
|
||||||
|
* when building OMPI).
|
||||||
|
*/
|
||||||
|
#if !OMPI_BUILDING
|
||||||
|
+#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
+#define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast<type> (static_cast<void *> (&(global))))
|
||||||
|
+#else
|
||||||
|
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
|
||||||
|
+#endif
|
||||||
|
#else
|
||||||
|
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global))
|
||||||
|
#endif
|
||||||
|
@@ -753,8 +757,13 @@
|
||||||
|
*/
|
||||||
|
#define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env)
|
||||||
|
|
||||||
|
+#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
+#define MPI_STATUS_IGNORE (static_cast<MPI_Status *> (0))
|
||||||
|
+#define MPI_STATUSES_IGNORE (static_cast<MPI_Status *> (0))
|
||||||
|
+#else
|
||||||
|
#define MPI_STATUS_IGNORE ((MPI_Status *) 0)
|
||||||
|
#define MPI_STATUSES_IGNORE ((MPI_Status *) 0)
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special MPI_T handles
|
28
ThirdParty/rpmBuild/SOURCES/openmpi-4.0.0.patch
vendored
Normal file
28
ThirdParty/rpmBuild/SOURCES/openmpi-4.0.0.patch
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- openmpi-4.0.0_orig/ompi/include/mpi.h.in 2018-11-12 23:50:53.000000000 +0330
|
||||||
|
+++ openmpi-4.0.0/ompi/include/mpi.h.in 2019-01-30 22:04:14.433503290 +0330
|
||||||
|
@@ -325,7 +325,11 @@
|
||||||
|
* when building OMPI).
|
||||||
|
*/
|
||||||
|
#if !OMPI_BUILDING
|
||||||
|
+#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
+#define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast<type> (static_cast<void *> (&(global))))
|
||||||
|
+#else
|
||||||
|
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
|
||||||
|
+#endif
|
||||||
|
#else
|
||||||
|
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global))
|
||||||
|
#endif
|
||||||
|
@@ -765,8 +769,13 @@
|
||||||
|
*/
|
||||||
|
#define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env)
|
||||||
|
|
||||||
|
+#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
|
+#define MPI_STATUS_IGNORE (static_cast<MPI_Status *> (0))
|
||||||
|
+#define MPI_STATUSES_IGNORE (static_cast<MPI_Status *> (0))
|
||||||
|
+#else
|
||||||
|
#define MPI_STATUS_IGNORE ((MPI_Status *) 0)
|
||||||
|
#define MPI_STATUSES_IGNORE ((MPI_Status *) 0)
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special MPI_T handles
|
5
ThirdParty/rpmBuild/SPECS/openmpi-3.1.1.spec
vendored
5
ThirdParty/rpmBuild/SPECS/openmpi-3.1.1.spec
vendored
|
@ -72,10 +72,11 @@ License: Unkown
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
Release: %{release}
|
Release: %{release}
|
||||||
URL: http://www.open-mpi.org/software/ompi/v1.8/downloads
|
URL: http://www.open-mpi.org/software/ompi/v3.0/downloads
|
||||||
Source: %url/%{name}-%{version}.tar.gz
|
Source: %url/%{name}-%{version}.tar.gz
|
||||||
Prefix: %{_prefix}
|
Prefix: %{_prefix}
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
|
Patch0: openmpi-3.1.1.patch
|
||||||
|
|
||||||
|
|
||||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
@ -95,6 +96,8 @@ Group: Development/Tools
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# export WM settings in a form that GNU configure recognizes
|
# export WM settings in a form that GNU configure recognizes
|
||||||
|
|
267
ThirdParty/rpmBuild/SPECS/openmpi-4.0.0.spec
vendored
Normal file
267
ThirdParty/rpmBuild/SPECS/openmpi-4.0.0.spec
vendored
Normal file
|
@ -0,0 +1,267 @@
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# RPM spec file for openmpi-4.0.0
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# RPM spec file for creating a relocatable RPM
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# Martin Beaudoin, (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 openmpi
|
||||||
|
%define release %{_WM_OPTIONS}
|
||||||
|
%define version 4.0.0
|
||||||
|
|
||||||
|
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||||
|
|
||||||
|
BuildRoot: %{buildroot}
|
||||||
|
Summary: openmpi
|
||||||
|
License: Unkown
|
||||||
|
Name: %{name}
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}
|
||||||
|
URL: http://www.open-mpi.org/software/ompi/v4.0/downloads
|
||||||
|
Source: %url/%{name}-%{version}.tar.gz
|
||||||
|
Prefix: %{_prefix}
|
||||||
|
Group: Development/Tools
|
||||||
|
Patch0: openmpi-4.0.0.patch
|
||||||
|
|
||||||
|
|
||||||
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Here, we define default compiling options for openmpi
|
||||||
|
#
|
||||||
|
# One can override the option on the commande line : --define='MACRO EXPR'
|
||||||
|
#
|
||||||
|
%{!?_configureAdditionalArgs: %define _configureAdditionalArgs Undefined}
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
%{summary}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
|
|
||||||
|
%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"
|
||||||
|
|
||||||
|
set +x
|
||||||
|
echo ""
|
||||||
|
echo "Compilation options:"
|
||||||
|
echo " _configureAdditionalArgs : %{_configureAdditionalArgs}"
|
||||||
|
echo ""
|
||||||
|
set -x
|
||||||
|
|
||||||
|
unset mpiWith
|
||||||
|
# Enable GridEngine if it appears to be in use
|
||||||
|
# If you don't want any integration with SGE, simply unset the SGE
|
||||||
|
# environment variable
|
||||||
|
if [ -n "$SGE_ROOT" ]
|
||||||
|
then
|
||||||
|
mpiWith="$mpiWith --with-sge"
|
||||||
|
else
|
||||||
|
mpiWith="$mpiWith --without-sge"
|
||||||
|
mpiWith="$mpiWith --enable-mca-no-build=ras-gridengine,pls-gridengine"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Infiniband support
|
||||||
|
# Adjust according to your local paths
|
||||||
|
# if [ -d /usr/local/ofed -a -d /usr/local/ofed/lib64 ]
|
||||||
|
# then
|
||||||
|
# mpiWith="$mpiWith --with-openib=/usr/local/ofed"
|
||||||
|
# mpiWith="$mpiWith --with-openib-libdir=/usr/local/ofed/lib64"
|
||||||
|
# fi
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=%{_installPrefix} \
|
||||||
|
--exec_prefix=%{_installPrefix} \
|
||||||
|
--enable-mpirun-prefix-by-default \
|
||||||
|
--enable-orterun-prefix-by-default \
|
||||||
|
--enable-shared \
|
||||||
|
--enable-mpi-cxx \
|
||||||
|
--disable-static \
|
||||||
|
--disable-mpi-fortran \
|
||||||
|
--without-slurm \
|
||||||
|
`echo %{?_configureAdditionalArgs}`
|
||||||
|
|
||||||
|
[ -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
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
export OPENMPI_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||||
|
export OPENMPI_BIN_DIR=\$OPENMPI_DIR/bin
|
||||||
|
export OPENMPI_LIB_DIR=\$OPENMPI_DIR/lib
|
||||||
|
|
||||||
|
# Enable access to the package runtime applications and libraries
|
||||||
|
[ -d \$OPENMPI_BIN_DIR ] && _foamAddPath \$OPENMPI_BIN_DIR
|
||||||
|
[ -d \$OPENMPI_LIB_DIR ] && _foamAddLib \$OPENMPI_LIB_DIR
|
||||||
|
|
||||||
|
export MPI_HOME=\$OPENMPI_DIR
|
||||||
|
export MPI_ARCH_PATH=\$MPI_HOME
|
||||||
|
export OPAL_PREFIX=\$MPI_ARCH_PATH
|
||||||
|
|
||||||
|
# We initialize the rest of the environment using mpicc --showme:
|
||||||
|
export OPENMPI_INCLUDE_DIR="\`mpicc --showme:incdirs\`"
|
||||||
|
export OPENMPI_COMPILE_FLAGS="\`mpicc --showme:compile\`"
|
||||||
|
export OPENMPI_LINK_FLAGS="\`mpicc --showme:link\`"
|
||||||
|
|
||||||
|
# Set the foam-extend compilation flags
|
||||||
|
export PINC=\$OPENMPI_COMPILE_FLAGS
|
||||||
|
export PLIBS=\$OPENMPI_LINK_FLAGS
|
||||||
|
|
||||||
|
|
||||||
|
if [ "\$FOAM_VERBOSE" -a "\$PS1" ]
|
||||||
|
then
|
||||||
|
echo " Environment variables defined for OpenMPI:"
|
||||||
|
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
|
||||||
|
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
|
||||||
|
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
|
||||||
|
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
|
||||||
|
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
|
||||||
|
echo ""
|
||||||
|
echo " MPI_HOME : \$MPI_HOME"
|
||||||
|
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
|
||||||
|
echo " MPIRUN_OPTIONS : \$MPIRUN_OPTIONS"
|
||||||
|
echo " OPAL_PREFIX : \$OPAL_PREFIX"
|
||||||
|
echo " PINC : \$PINC"
|
||||||
|
echo " PLIBS : \$PLIBS"
|
||||||
|
fi
|
||||||
|
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
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
setenv OPENMPI_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||||
|
setenv OPENMPI_BIN_DIR \$OPENMPI_DIR/bin
|
||||||
|
setenv OPENMPI_LIB_DIR \$OPENMPI_DIR/lib
|
||||||
|
|
||||||
|
# Enable access to the package runtime applications and libraries
|
||||||
|
if ( -e \$OPENMPI_BIN_DIR ) then
|
||||||
|
_foamAddPath \$OPENMPI_BIN_DIR
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( -e \$OPENMPI_LIB_DIR ) then
|
||||||
|
_foamAddLib \$OPENMPI_LIB_DIR
|
||||||
|
endif
|
||||||
|
|
||||||
|
setenv MPI_HOME \$OPENMPI_DIR
|
||||||
|
setenv MPI_ARCH_PATH \$MPI_HOME
|
||||||
|
setenv OPAL_PREFIX \$MPI_ARCH_PATH
|
||||||
|
|
||||||
|
# We initialize the rest of the environment using mpicc --showme:
|
||||||
|
setenv OPENMPI_INCLUDE_DIR "\`mpicc --showme:incdirs\`"
|
||||||
|
setenv OPENMPI_COMPILE_FLAGS "\`mpicc --showme:compile\`"
|
||||||
|
setenv OPENMPI_LINK_FLAGS "\`mpicc --showme:link\`"
|
||||||
|
|
||||||
|
# Set the foam-extend compilation flags
|
||||||
|
setenv PINC "\$OPENMPI_COMPILE_FLAGS"
|
||||||
|
setenv PLIBS "\$OPENMPI_LINK_FLAGS"
|
||||||
|
|
||||||
|
|
||||||
|
if (\$?FOAM_VERBOSE && \$?prompt) then
|
||||||
|
echo " Environment variables defined for OpenMPI:"
|
||||||
|
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
|
||||||
|
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
|
||||||
|
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
|
||||||
|
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
|
||||||
|
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
|
||||||
|
echo ""
|
||||||
|
echo " MPI_HOME : \$MPI_HOME"
|
||||||
|
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
|
||||||
|
echo " MPIRUN_OPTIONS : \$MPIRUN_OPTIONS"
|
||||||
|
echo " OPAL_PREFIX : \$OPAL_PREFIX"
|
||||||
|
echo " PINC : \$PINC"
|
||||||
|
echo " PLIBS : \$PLIBS"
|
||||||
|
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}
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -27,8 +30,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triSurfModifier.H"
|
#include "triSurfModifier.H"
|
||||||
#include "triFaceList.H"
|
#include "triFaceList.H"
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -27,8 +30,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triSurfaceCopyParts.H"
|
#include "triSurfaceCopyParts.H"
|
||||||
#include "demandDrivenData.H"
|
#include "demandDrivenData.H"
|
||||||
|
|
|
@ -1,28 +1,31 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
cfMesh utility to convert a surface file to VTK multiblock dataset
|
foam-extend utility to convert a surface file to VTK multiblock dataset
|
||||||
format, including the patches, feature edges and surface features.
|
format, including the patches, feature edges and surface features.
|
||||||
|
|
||||||
Author
|
Author
|
||||||
|
@ -45,7 +48,7 @@ using namespace Foam;
|
||||||
void writePointsToVTK
|
void writePointsToVTK
|
||||||
(
|
(
|
||||||
const fileName& fn,
|
const fileName& fn,
|
||||||
const string& title,
|
const string& /*title*/,
|
||||||
const UList<point>& points
|
const UList<point>& points
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -78,7 +81,7 @@ void writePointsToVTK
|
||||||
const fileName& fn,
|
const fileName& fn,
|
||||||
const string& title,
|
const string& title,
|
||||||
const UList<point>& points,
|
const UList<point>& points,
|
||||||
unallocLabelList& addr
|
UList<label>& addr
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Create subaddressed points
|
// Create subaddressed points
|
||||||
|
@ -102,7 +105,7 @@ void writePointsToVTK
|
||||||
void writeEdgesToVTK
|
void writeEdgesToVTK
|
||||||
(
|
(
|
||||||
const fileName& fn,
|
const fileName& fn,
|
||||||
const string& title,
|
const string& /*title*/,
|
||||||
const UList<point>& points,
|
const UList<point>& points,
|
||||||
const LongList<edge>& edges
|
const LongList<edge>& edges
|
||||||
)
|
)
|
||||||
|
@ -158,7 +161,7 @@ void writeEdgesToVTK
|
||||||
const string& title,
|
const string& title,
|
||||||
const UList<point>& points,
|
const UList<point>& points,
|
||||||
const LongList<edge>& edges,
|
const LongList<edge>& edges,
|
||||||
const unallocLabelList& addr
|
const UList<label>& addr
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Remove unused points and create subaddressed edges
|
// Remove unused points and create subaddressed edges
|
||||||
|
@ -201,7 +204,7 @@ void writeEdgesToVTK
|
||||||
void writeFacetsToVTK
|
void writeFacetsToVTK
|
||||||
(
|
(
|
||||||
const fileName& fn,
|
const fileName& fn,
|
||||||
const string& title,
|
const string& /*title*/,
|
||||||
const UList<point>& points,
|
const UList<point>& points,
|
||||||
const LongList<labelledTri>& facets
|
const LongList<labelledTri>& facets
|
||||||
)
|
)
|
||||||
|
@ -274,7 +277,7 @@ void writeFacetsToVTK
|
||||||
const string& title,
|
const string& title,
|
||||||
const pointField& points,
|
const pointField& points,
|
||||||
const LongList<labelledTri>& facets,
|
const LongList<labelledTri>& facets,
|
||||||
const unallocLabelList& addr
|
const UList<label>& addr
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Remove unused points and create subaddressed facets
|
// Remove unused points and create subaddressed facets
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -30,8 +33,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "cartesian2DMeshGenerator.H"
|
#include "cartesian2DMeshGenerator.H"
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -30,8 +33,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "cartesianMeshGenerator.H"
|
#include "cartesianMeshGenerator.H"
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Reads the specified surface and writes it in the fms format.
|
Reads the specified surface and writes it in the fms format.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -28,8 +31,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triSurfaceExtrude2DEdges.H"
|
#include "triSurfaceExtrude2DEdges.H"
|
||||||
#include "demandDrivenData.H"
|
#include "demandDrivenData.H"
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Generates boundary layers in the existing mesh, based on the settings
|
Generates boundary layers in the existing mesh, based on the settings
|
||||||
|
@ -28,8 +31,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "polyMeshGenModifier.H"
|
#include "polyMeshGenModifier.H"
|
||||||
#include "meshOptimizer.H"
|
#include "meshOptimizer.H"
|
||||||
#include "boundaryLayers.H"
|
#include "boundaryLayers.H"
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Performs point relocations in the mesh (smoothing) in order to
|
Performs point relocations in the mesh (smoothing) in order to
|
||||||
|
@ -28,8 +31,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "polyMeshGenModifier.H"
|
#include "polyMeshGenModifier.H"
|
||||||
#include "meshOptimizer.H"
|
#include "meshOptimizer.H"
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -28,8 +31,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "polyMeshGenModifier.H"
|
#include "polyMeshGenModifier.H"
|
||||||
#include "symmetryPlaneOptimisation.H"
|
#include "symmetryPlaneOptimisation.H"
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,31 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
cfMesh utility to merge the supplied list of patches onto a single
|
foam-extend utility to merge the supplied list of patches onto a single
|
||||||
patch.
|
patch.
|
||||||
|
|
||||||
Author
|
Author
|
||||||
|
@ -31,8 +34,6 @@ Author
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "autoPtr.H"
|
#include "autoPtr.H"
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triSurfModifier.H"
|
#include "triSurfModifier.H"
|
||||||
|
@ -211,7 +212,7 @@ autoPtr<triSurf> mergeSurfacePatches
|
||||||
label faceI = 0;
|
label faceI = 0;
|
||||||
forAll(patchAddr, patchI)
|
forAll(patchAddr, patchI)
|
||||||
{
|
{
|
||||||
const unallocLabelList& addr = patchAddr[patchI];
|
const UList<label>& addr = patchAddr[patchI];
|
||||||
|
|
||||||
if(addr.size())
|
if(addr.size())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -27,8 +30,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "polyMeshGenModifier.H"
|
#include "polyMeshGenModifier.H"
|
||||||
#include "writeMeshFPMA.H"
|
#include "writeMeshFPMA.H"
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Application
|
Application
|
||||||
Generates polyhedral mesh
|
Generates polyhedral mesh
|
||||||
|
@ -30,8 +33,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "voronoiMeshGenerator.H"
|
#include "voronoiMeshGenerator.H"
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -27,8 +30,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triFaceList.H"
|
#include "triFaceList.H"
|
||||||
#include "labelLongList.H"
|
#include "labelLongList.H"
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -30,8 +33,7 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
#include "polyMeshGen.H"
|
||||||
#include "foamTime.H"
|
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
@ -83,16 +85,13 @@ int main(int argc, char *argv[])
|
||||||
file += ss.str();
|
file += ss.str();
|
||||||
Info << "Creating " << file << endl;
|
Info << "Creating " << file << endl;
|
||||||
|
|
||||||
// create a directory for processor data
|
//- create a directory for processor data
|
||||||
mkDir(runTime.path()/file);
|
mkDir(runTime.path()/file);
|
||||||
|
|
||||||
// generate constant directories
|
//- copy the contents of the const directory into processor*
|
||||||
mkDir(runTime.path()/"constant");
|
|
||||||
|
|
||||||
// copy the contents of the const directory into processor*
|
|
||||||
cp(runTime.path()/"constant", runTime.path()/file);
|
cp(runTime.path()/"constant", runTime.path()/file);
|
||||||
|
|
||||||
// generate 0 directories
|
//- generate 0 directories for
|
||||||
mkDir(runTime.path()/file/"0");
|
mkDir(runTime.path()/file/"0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,53 +24,53 @@ def extractFeatureEdges(body, minFeatureAngle = 5):
|
||||||
import GEOM
|
import GEOM
|
||||||
from salome.geom import geomBuilder
|
from salome.geom import geomBuilder
|
||||||
geompy = geomBuilder.New(salome.myStudy)
|
geompy = geomBuilder.New(salome.myStudy)
|
||||||
|
|
||||||
# Check the body type
|
# Check the body type
|
||||||
if not (body.GetShapeType() in [GEOM.SHELL, GEOM.SOLID, GEOM.FACE, GEOM.COMPOUND]):
|
if not (body.GetShapeType() in [GEOM.SHELL, GEOM.SOLID, GEOM.FACE, GEOM.COMPOUND]):
|
||||||
raise RuntimeError('Supplied object is not a solid, shell or face.')
|
raise RuntimeError('Supplied object is not a solid, shell or face.')
|
||||||
|
|
||||||
print 'Extracting edges of %s with feature angle > %g.' % (body.GetName(), minFeatureAngle)
|
print 'Extracting edges of %s with feature angle > %g.' % (body.GetName(), minFeatureAngle)
|
||||||
|
|
||||||
# Extract basic info
|
# Extract basic info
|
||||||
faces = geompy.SubShapeAll(body, geompy.ShapeType["FACE"])
|
faces = geompy.SubShapeAll(body, geompy.ShapeType["FACE"])
|
||||||
curves = geompy.SubShapeAll(body, geompy.ShapeType["EDGE"])
|
curves = geompy.SubShapeAll(body, geompy.ShapeType["EDGE"])
|
||||||
points = geompy.SubShapeAll(body, geompy.ShapeType["VERTEX"])
|
points = geompy.SubShapeAll(body, geompy.ShapeType["VERTEX"])
|
||||||
|
|
||||||
faceIds = geompy.GetSubShapesIDs(body, faces)
|
faceIds = geompy.GetSubShapesIDs(body, faces)
|
||||||
curveIds = geompy.GetSubShapesIDs(body, curves)
|
curveIds = geompy.GetSubShapesIDs(body, curves)
|
||||||
nodeIds = geompy.GetSubShapesIDs(body, points)
|
nodeIds = geompy.GetSubShapesIDs(body, points)
|
||||||
|
|
||||||
maxFaceId = max(faceIds)
|
maxFaceId = max(faceIds)
|
||||||
maxCurveId = max(curveIds)
|
maxCurveId = max(curveIds)
|
||||||
maxNodeId = max(nodeIds)
|
maxNodeId = max(nodeIds)
|
||||||
|
|
||||||
# Reverse mapping from curve id to local curve arrays
|
# Reverse mapping from curve id to local curve arrays
|
||||||
faceMap = [-1 for i in xrange(maxFaceId+1)]
|
faceMap = [-1 for i in xrange(maxFaceId+1)]
|
||||||
for localId, id in enumerate(faceIds):
|
for localId, id in enumerate(faceIds):
|
||||||
faceMap[id] = localId
|
faceMap[id] = localId
|
||||||
|
|
||||||
curveMap = [-1 for i in xrange(maxCurveId+1)]
|
curveMap = [-1 for i in xrange(maxCurveId+1)]
|
||||||
for localId, id in enumerate(curveIds):
|
for localId, id in enumerate(curveIds):
|
||||||
curveMap[id] = localId
|
curveMap[id] = localId
|
||||||
|
|
||||||
nodeMap = [-1 for i in xrange(maxNodeId+1)]
|
nodeMap = [-1 for i in xrange(maxNodeId+1)]
|
||||||
for localId, id in enumerate(nodeIds):
|
for localId, id in enumerate(nodeIds):
|
||||||
nodeMap[id] = localId
|
nodeMap[id] = localId
|
||||||
|
|
||||||
|
|
||||||
# Get curves on each face
|
# Get curves on each face
|
||||||
faceCurveIds = [[curveMap[id] for id in geompy.GetSubShapesIDs(
|
faceCurveIds = [[curveMap[id] for id in geompy.GetSubShapesIDs(
|
||||||
body,
|
body,
|
||||||
geompy.SubShapeAll(face, geompy.ShapeType["EDGE"])
|
geompy.SubShapeAll(face, geompy.ShapeType["EDGE"])
|
||||||
)] for face in faces]
|
)] for face in faces]
|
||||||
|
|
||||||
# Get faces attached to each curve
|
# Get faces attached to each curve
|
||||||
curveFaceIds = [[] for id in curveIds]
|
curveFaceIds = [[] for id in curveIds]
|
||||||
|
|
||||||
for faceI, ids in enumerate(faceCurveIds):
|
for faceI, ids in enumerate(faceCurveIds):
|
||||||
for id in ids:
|
for id in ids:
|
||||||
curveFaceIds[id].append(faceI)
|
curveFaceIds[id].append(faceI)
|
||||||
|
|
||||||
# Now that we have the connectivity for curves and faces find the
|
# Now that we have the connectivity for curves and faces find the
|
||||||
# feature edges
|
# feature edges
|
||||||
featureEdgeIds = []
|
featureEdgeIds = []
|
||||||
|
@ -87,21 +87,21 @@ def extractFeatureEdges(body, minFeatureAngle = 5):
|
||||||
angle = geompy.GetAngle(n1, n2)
|
angle = geompy.GetAngle(n1, n2)
|
||||||
if angle > minFeatureAngle:
|
if angle > minFeatureAngle:
|
||||||
featureEdgeIds.append(curveId)
|
featureEdgeIds.append(curveId)
|
||||||
|
|
||||||
elif len(adjFaceIds) == 1:
|
elif len(adjFaceIds) == 1:
|
||||||
# Curve on standalone face - Add by default
|
# Curve on standalone face - Add by default
|
||||||
featureEdgeIds.append(curveId)
|
featureEdgeIds.append(curveId)
|
||||||
|
|
||||||
elif len(adjFaceIds) == 0:
|
elif len(adjFaceIds) == 0:
|
||||||
# Standalone curve - Ignore
|
# Standalone curve - Ignore
|
||||||
None
|
None
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise RuntimeError('Curve found sharing %d faces. This is unexpected for fully enclosed bodies.' % len(adjFaceIds))
|
raise RuntimeError('Curve found sharing %d faces. This is unexpected for fully enclosed bodies.' % len(adjFaceIds))
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
print "%d feature edges found" % len(featureEdgeIds)
|
print "%d feature edges found" % len(featureEdgeIds)
|
||||||
|
|
||||||
return featureEdgeIds
|
return featureEdgeIds
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,22 +110,22 @@ def extractFeatureEdges(body, minFeatureAngle = 5):
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import salome
|
import salome
|
||||||
salome.salome_init()
|
salome.salome_init()
|
||||||
|
|
||||||
import GEOM
|
import GEOM
|
||||||
from salome.geom import geomBuilder
|
from salome.geom import geomBuilder
|
||||||
geompy = geomBuilder.New(salome.myStudy)
|
geompy = geomBuilder.New(salome.myStudy)
|
||||||
|
|
||||||
# Get current GUI selection
|
# Get current GUI selection
|
||||||
selected = salome.sg.getAllSelected()
|
selected = salome.sg.getAllSelected()
|
||||||
if len(selected) != 1:
|
if len(selected) != 1:
|
||||||
raise RuntimeError('A single solid, shell or face object must be selected.')
|
raise RuntimeError('A single solid, shell or face object must be selected.')
|
||||||
|
|
||||||
body = salome.myStudy.FindObjectID(selected[0]).GetObject()
|
body = salome.myStudy.FindObjectID(selected[0]).GetObject()
|
||||||
|
|
||||||
# Get feature edges and add to the group 'featureEdges'
|
# Get feature edges and add to the group 'featureEdges'
|
||||||
featureEdges = geompy.CreateGroup(body, geompy.ShapeType["EDGE"])
|
featureEdges = geompy.CreateGroup(body, geompy.ShapeType["EDGE"])
|
||||||
geompy.UnionIDs(featureEdges, extractFeatureEdges(body))
|
geompy.UnionIDs(featureEdges, extractFeatureEdges(body))
|
||||||
geompy.addToStudyInFather(body, featureEdges, 'featureEdges')
|
geompy.addToStudyInFather(body, featureEdges, 'featureEdges')
|
||||||
|
|
||||||
if salome.sg.hasDesktop():
|
if salome.sg.hasDesktop():
|
||||||
salome.sg.updateObjBrowser(1)
|
salome.sg.updateObjBrowser(1)
|
||||||
|
|
|
@ -52,28 +52,28 @@ class triSurf:
|
||||||
from salome.smesh import smeshBuilder
|
from salome.smesh import smeshBuilder
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
import SMESH, SALOMEDS
|
import SMESH, SALOMEDS
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Get the Salome mesh object
|
# Get the Salome mesh object
|
||||||
if object is None:
|
if object is None:
|
||||||
selected = salome.sg.getAllSelected()
|
selected = salome.sg.getAllSelected()
|
||||||
if len(selected) != 1:
|
if len(selected) != 1:
|
||||||
raise RuntimeError('A single Salome mesh object must be selected.')
|
raise RuntimeError('A single Salome mesh object must be selected.')
|
||||||
|
|
||||||
object = salome.myStudy.FindObjectID(selected[0]).GetObject()
|
object = salome.myStudy.FindObjectID(selected[0]).GetObject()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
object.GetMesh()
|
object.GetMesh()
|
||||||
except:
|
except:
|
||||||
raise RuntimeError('Supplied object is not a Salome SMESH mesh.')
|
raise RuntimeError('Supplied object is not a Salome SMESH mesh.')
|
||||||
|
|
||||||
smesh = smeshBuilder.New(salome.myStudy)
|
smesh = smeshBuilder.New(salome.myStudy)
|
||||||
mesh = smesh.Mesh(object)
|
mesh = smesh.Mesh(object)
|
||||||
|
|
||||||
print "Converting SMESH Mesh '%s'" % mesh.GetName()
|
print "Converting SMESH Mesh '%s'" % mesh.GetName()
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Get basic mesh info
|
# Get basic mesh info
|
||||||
nNodes = mesh.NbNodes()
|
nNodes = mesh.NbNodes()
|
||||||
|
@ -83,11 +83,11 @@ class triSurf:
|
||||||
nodeIds = mesh.GetNodesId()
|
nodeIds = mesh.GetNodesId()
|
||||||
faceIds = mesh.GetElementsByType(SMESH.FACE)
|
faceIds = mesh.GetElementsByType(SMESH.FACE)
|
||||||
edgeIds = mesh.GetElementsByType(SMESH.EDGE)
|
edgeIds = mesh.GetElementsByType(SMESH.EDGE)
|
||||||
|
|
||||||
# Check that mesh is strictly triangular
|
# Check that mesh is strictly triangular
|
||||||
if nFaces != nTris:
|
if nFaces != nTris:
|
||||||
raise RuntimeError('Mesh is not strictly triangular')
|
raise RuntimeError('Mesh is not strictly triangular')
|
||||||
|
|
||||||
# Get patch and subset names & ids
|
# Get patch and subset names & ids
|
||||||
# All SMESH.FACE groups are assumed to be patches
|
# All SMESH.FACE groups are assumed to be patches
|
||||||
# All SMESH.EDGE groups are assumed to be feature subsets
|
# All SMESH.EDGE groups are assumed to be feature subsets
|
||||||
|
@ -95,7 +95,7 @@ class triSurf:
|
||||||
patches = OrderedDict()
|
patches = OrderedDict()
|
||||||
pointSubsets = OrderedDict()
|
pointSubsets = OrderedDict()
|
||||||
featureEdgeSubsets = OrderedDict()
|
featureEdgeSubsets = OrderedDict()
|
||||||
|
|
||||||
for group in mesh.GetGroups():
|
for group in mesh.GetGroups():
|
||||||
if group.GetType() == SMESH.FACE:
|
if group.GetType() == SMESH.FACE:
|
||||||
patches[group.GetName()] = group.GetIDs()
|
patches[group.GetName()] = group.GetIDs()
|
||||||
|
@ -103,7 +103,7 @@ class triSurf:
|
||||||
featureEdgeSubsets[group.GetName()] = group.GetIDs()
|
featureEdgeSubsets[group.GetName()] = group.GetIDs()
|
||||||
elif group.GetType() == SMESH.NODE:
|
elif group.GetType() == SMESH.NODE:
|
||||||
pointSubsets[group.GetName()] = group.GetIDs()
|
pointSubsets[group.GetName()] = group.GetIDs()
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Process faces and patches
|
# Process faces and patches
|
||||||
# Get patchId for each face
|
# Get patchId for each face
|
||||||
|
@ -117,44 +117,44 @@ class triSurf:
|
||||||
else:
|
else:
|
||||||
print "Face %d is assigned to both groups %s and %s" % (faceId, name, patches.keys()[patchIds[faceId-1]])
|
print "Face %d is assigned to both groups %s and %s" % (faceId, name, patches.keys()[patchIds[faceId-1]])
|
||||||
raise RuntimeError('Groups of faces are not unique, i.e. they overlap.')
|
raise RuntimeError('Groups of faces are not unique, i.e. they overlap.')
|
||||||
|
|
||||||
patchId += 1
|
patchId += 1
|
||||||
|
|
||||||
# Compact and reorder patchIds to match faceIds
|
# Compact and reorder patchIds to match faceIds
|
||||||
patchIds = [patchIds[faceId-1] for faceId in faceIds]
|
patchIds = [patchIds[faceId-1] for faceId in faceIds]
|
||||||
|
|
||||||
# Reorder faces by increasing group id
|
# Reorder faces by increasing group id
|
||||||
faceAndpatchIds = sorted(zip(faceIds, patchIds), key=itemgetter(1))
|
faceAndpatchIds = sorted(zip(faceIds, patchIds), key=itemgetter(1))
|
||||||
faceIds, patchIds = zip(*faceAndpatchIds)
|
faceIds, patchIds = zip(*faceAndpatchIds)
|
||||||
|
|
||||||
# Add unused faces to the default patch
|
# Add unused faces to the default patch
|
||||||
defaultFaces = [faceId for faceId, patchId in faceAndpatchIds if patchId == lastPatchId]
|
defaultFaces = [faceId for faceId, patchId in faceAndpatchIds if patchId == lastPatchId]
|
||||||
if len(defaultFaces) > 0:
|
if len(defaultFaces) > 0:
|
||||||
patches['defaultFaces'] = defaultFaces
|
patches['defaultFaces'] = defaultFaces
|
||||||
|
|
||||||
defaultFaces = None
|
defaultFaces = None
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Process feature edges
|
# Process feature edges
|
||||||
if not allEdges:
|
if not allEdges:
|
||||||
edgeIds = []
|
edgeIds = []
|
||||||
for name, ids in featureEdgeSubsets.iteritems():
|
for name, ids in featureEdgeSubsets.iteritems():
|
||||||
edgeIds += ids
|
edgeIds += ids
|
||||||
|
|
||||||
edgeIds = list(set(edgeIds))
|
edgeIds = list(set(edgeIds))
|
||||||
nEdges = len(edgeIds)
|
nEdges = len(edgeIds)
|
||||||
|
|
||||||
# Reverse mapping of edge ids since they aren't necessarily numbered 1..nEdges
|
# Reverse mapping of edge ids since they aren't necessarily numbered 1..nEdges
|
||||||
if len(edgeIds):
|
if len(edgeIds):
|
||||||
edgeMap = [-1] * max(edgeIds)
|
edgeMap = [-1] * max(edgeIds)
|
||||||
else:
|
else:
|
||||||
edgeMap = []
|
edgeMap = []
|
||||||
|
|
||||||
i=0
|
i=0
|
||||||
for edgeId in edgeIds:
|
for edgeId in edgeIds:
|
||||||
edgeMap[edgeId-1] = i
|
edgeMap[edgeId-1] = i
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Process nodes
|
# Process nodes
|
||||||
# Reverse mapping of node ids since nodes aren't necessarily numbered 1..nNodes
|
# Reverse mapping of node ids since nodes aren't necessarily numbered 1..nNodes
|
||||||
|
@ -163,77 +163,77 @@ class triSurf:
|
||||||
for nodeId in nodeIds:
|
for nodeId in nodeIds:
|
||||||
nodeMap[nodeId-1] = i
|
nodeMap[nodeId-1] = i
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
self._mesh = mesh
|
self._mesh = mesh
|
||||||
|
|
||||||
self._nodeIds = nodeIds
|
self._nodeIds = nodeIds
|
||||||
self._edgeIds = edgeIds
|
self._edgeIds = edgeIds
|
||||||
self._faceIds = faceIds
|
self._faceIds = faceIds
|
||||||
|
|
||||||
self._nodeMap = nodeMap
|
self._nodeMap = nodeMap
|
||||||
self._edgeMap = edgeMap
|
self._edgeMap = edgeMap
|
||||||
self._faceMap = []
|
self._faceMap = []
|
||||||
|
|
||||||
self._patches = patches
|
self._patches = patches
|
||||||
self._pointSubsets = pointSubsets
|
self._pointSubsets = pointSubsets
|
||||||
self._featureEdgeSubsets = featureEdgeSubsets
|
self._featureEdgeSubsets = featureEdgeSubsets
|
||||||
self._faceSubsets = {}
|
self._faceSubsets = {}
|
||||||
|
|
||||||
print 'Done'
|
print 'Done'
|
||||||
|
|
||||||
def nNodes(self):
|
def nNodes(self):
|
||||||
'''
|
'''
|
||||||
Return the number of nodes
|
Return the number of nodes
|
||||||
'''
|
'''
|
||||||
return len(self._nodeIds)
|
return len(self._nodeIds)
|
||||||
|
|
||||||
def nEdges(self):
|
def nEdges(self):
|
||||||
'''
|
'''
|
||||||
Return the number of edges
|
Return the number of edges
|
||||||
'''
|
'''
|
||||||
return len(self._edgeIds)
|
return len(self._edgeIds)
|
||||||
|
|
||||||
def nFacets(self):
|
def nFacets(self):
|
||||||
'''
|
'''
|
||||||
Return the number of triangular facets
|
Return the number of triangular facets
|
||||||
'''
|
'''
|
||||||
return len(self._faceIds)
|
return len(self._faceIds)
|
||||||
|
|
||||||
def nPatches(self):
|
def nPatches(self):
|
||||||
'''
|
'''
|
||||||
Return the number of patches
|
Return the number of patches
|
||||||
'''
|
'''
|
||||||
return len(self._patches)
|
return len(self._patches)
|
||||||
|
|
||||||
def _writePatchDefs(self, f, typeName = 'wall'):
|
def _writePatchDefs(self, f, typeName = 'wall'):
|
||||||
'''
|
'''
|
||||||
Write the patch definitions to file as an OpenFOAM geometricSurfacePatchList.
|
Write the patch definitions to file as an OpenFOAM geometricSurfacePatchList.
|
||||||
NOTE: All patches are assumed to be walls.
|
NOTE: All patches are assumed to be walls.
|
||||||
'''
|
'''
|
||||||
patches = self._patches
|
patches = self._patches
|
||||||
|
|
||||||
f.write('%d\n(\n' % len(patches))
|
f.write('%d\n(\n' % len(patches))
|
||||||
for name in patches.iterkeys():
|
for name in patches.iterkeys():
|
||||||
f.write('%s\t%s\n' % (name, typeName))
|
f.write('%s\t%s\n' % (name, typeName))
|
||||||
|
|
||||||
f.write(')\n')
|
f.write(')\n')
|
||||||
|
|
||||||
def _writeNodes(self, f):
|
def _writeNodes(self, f):
|
||||||
'''
|
'''
|
||||||
Write the nodes to file as an OpenFOAM pointField.
|
Write the nodes to file as an OpenFOAM pointField.
|
||||||
'''
|
'''
|
||||||
mesh = self._mesh
|
mesh = self._mesh
|
||||||
nodeIds = self._nodeIds
|
nodeIds = self._nodeIds
|
||||||
|
|
||||||
f.write('%d\n(\n' % len(nodeIds))
|
f.write('%d\n(\n' % len(nodeIds))
|
||||||
|
|
||||||
for x, y, z in [mesh.GetNodeXYZ(nodeId) for nodeId in nodeIds]:
|
for x, y, z in [mesh.GetNodeXYZ(nodeId) for nodeId in nodeIds]:
|
||||||
f.write( '( %g %g %g )\n' % (x, y, z))
|
f.write( '( %g %g %g )\n' % (x, y, z))
|
||||||
|
|
||||||
f.write(')\n')
|
f.write(')\n')
|
||||||
|
|
||||||
def _writeFeatureEdges(self, f):
|
def _writeFeatureEdges(self, f):
|
||||||
'''
|
'''
|
||||||
Write the feature edges to file as an OpenFOAM edgeList.
|
Write the feature edges to file as an OpenFOAM edgeList.
|
||||||
|
@ -241,35 +241,35 @@ class triSurf:
|
||||||
mesh = self._mesh
|
mesh = self._mesh
|
||||||
nodeMap = self._nodeMap
|
nodeMap = self._nodeMap
|
||||||
edgeIds = self._edgeIds
|
edgeIds = self._edgeIds
|
||||||
|
|
||||||
f.write('%d\n(\n' % len(edgeIds))
|
f.write('%d\n(\n' % len(edgeIds))
|
||||||
|
|
||||||
for edgeId in edgeIds:
|
for edgeId in edgeIds:
|
||||||
nodes = mesh.GetElemNodes(edgeId)
|
nodes = mesh.GetElemNodes(edgeId)
|
||||||
f.write( '(' + ' '.join([str(nodeMap[nodeId-1]) for nodeId in nodes]) + ')\n')
|
f.write( '(' + ' '.join([str(nodeMap[nodeId-1]) for nodeId in nodes]) + ')\n')
|
||||||
|
|
||||||
f.write(')\n')
|
f.write(')\n')
|
||||||
|
|
||||||
def _writeFacets(self, f):
|
def _writeFacets(self, f):
|
||||||
'''
|
'''
|
||||||
Write the facets to file as an OpenFOAM List of labelledTri.
|
Write the facets to file as an OpenFOAM List of labelledTri.
|
||||||
'''
|
'''
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
mesh = self._mesh
|
mesh = self._mesh
|
||||||
nodeMap = self._nodeMap
|
nodeMap = self._nodeMap
|
||||||
patches = self._patches
|
patches = self._patches
|
||||||
|
|
||||||
f.write('%d\n(\n' % sum([len(patch) for patch in patches.itervalues()]))
|
f.write('%d\n(\n' % sum([len(patch) for patch in patches.itervalues()]))
|
||||||
|
|
||||||
patchId = 0
|
patchId = 0
|
||||||
for patchId, (patchName, faceIds) in enumerate(patches.iteritems()):
|
for patchId, (patchName, faceIds) in enumerate(patches.iteritems()):
|
||||||
for faceId in faceIds:
|
for faceId in faceIds:
|
||||||
nodes = mesh.GetElemNodes(faceId)
|
nodes = mesh.GetElemNodes(faceId)
|
||||||
f.write( '((' + ' '.join([str(nodeMap[nodeId-1]) for nodeId in nodes]) + ') %d)\n' % patchId)
|
f.write( '((' + ' '.join([str(nodeMap[nodeId-1]) for nodeId in nodes]) + ') %d)\n' % patchId)
|
||||||
|
|
||||||
f.write(')\n')
|
f.write(')\n')
|
||||||
|
|
||||||
def _writeSubsets(self, f, subsets, map, typeId):
|
def _writeSubsets(self, f, subsets, map, typeId):
|
||||||
'''
|
'''
|
||||||
General function to write a subset to file as an OpenFOAM Map<meshSubset>.
|
General function to write a subset to file as an OpenFOAM Map<meshSubset>.
|
||||||
|
@ -277,72 +277,72 @@ class triSurf:
|
||||||
f.write('%d\n(\n' % len(subsets))
|
f.write('%d\n(\n' % len(subsets))
|
||||||
for name, ids in subsets.iteritems():
|
for name, ids in subsets.iteritems():
|
||||||
f.write('%s %s %d ( %s )\n' % (name, typeId, len(ids), ' '.join([str(map[id-1]) for id in ids])))
|
f.write('%s %s %d ( %s )\n' % (name, typeId, len(ids), ' '.join([str(map[id-1]) for id in ids])))
|
||||||
|
|
||||||
f.write(')\n')
|
f.write(')\n')
|
||||||
|
|
||||||
def _writePointSubsets(self, f):
|
def _writePointSubsets(self, f):
|
||||||
'''
|
'''
|
||||||
Write the point subsets to file as and OpenFOAM Map<meshSubset>.
|
Write the point subsets to file as and OpenFOAM Map<meshSubset>.
|
||||||
'''
|
'''
|
||||||
self._writeSubsets(f, self._pointSubsets, self._nodeMap, '2')
|
self._writeSubsets(f, self._pointSubsets, self._nodeMap, '2')
|
||||||
|
|
||||||
def _writeFaceSubsets(self, f):
|
def _writeFaceSubsets(self, f):
|
||||||
'''
|
'''
|
||||||
Write the face subsets to file as and OpenFOAM Map<meshSubset>.
|
Write the face subsets to file as and OpenFOAM Map<meshSubset>.
|
||||||
'''
|
'''
|
||||||
self._writeSubsets(f, self._faceSubsets, self._faceMap, '4')
|
self._writeSubsets(f, self._faceSubsets, self._faceMap, '4')
|
||||||
|
|
||||||
def _writeFeatureEdgeSubsets(self, f):
|
def _writeFeatureEdgeSubsets(self, f):
|
||||||
'''
|
'''
|
||||||
Write the feature edge subsets to file as and OpenFOAM Map<meshSubset>.
|
Write the feature edge subsets to file as and OpenFOAM Map<meshSubset>.
|
||||||
'''
|
'''
|
||||||
self._writeSubsets(f, self._featureEdgeSubsets, self._edgeMap, '8')
|
self._writeSubsets(f, self._featureEdgeSubsets, self._edgeMap, '8')
|
||||||
|
|
||||||
def writeEdgeMesh(self, fileName):
|
def writeEdgeMesh(self, fileName):
|
||||||
'''
|
'''
|
||||||
Write to file as an OpenFOAM edgeMesh
|
Write to file as an OpenFOAM edgeMesh
|
||||||
|
|
||||||
fileName - The file name to write
|
fileName - The file name to write
|
||||||
'''
|
'''
|
||||||
# Create file
|
# Create file
|
||||||
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
||||||
|
|
||||||
# Write header
|
# Write header
|
||||||
f.write(foamHeader('edgeMesh', self._mesh.GetName()))
|
f.write(foamHeader('edgeMesh', self._mesh.GetName()))
|
||||||
|
|
||||||
self._writeNodes(f)
|
self._writeNodes(f)
|
||||||
self._writeFeatureEdges(f)
|
self._writeFeatureEdges(f)
|
||||||
|
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
print 'edgeMesh written to %s' % fileName
|
print 'edgeMesh written to %s' % fileName
|
||||||
|
|
||||||
def writeFtr(self, fileName):
|
def writeFtr(self, fileName):
|
||||||
'''
|
'''
|
||||||
Write to file as an OpenFOAM cfMesh FTR file
|
Write to file as an OpenFOAM cfMesh FTR file
|
||||||
|
|
||||||
fileName - the file name to write
|
fileName - the file name to write
|
||||||
'''
|
'''
|
||||||
# Create file
|
# Create file
|
||||||
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
||||||
|
|
||||||
self._writePatchDefs(f)
|
self._writePatchDefs(f)
|
||||||
self._writeNodes(f)
|
self._writeNodes(f)
|
||||||
self._writeFacets(f)
|
self._writeFacets(f)
|
||||||
|
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
print 'triSurf written to %s' % fileName
|
print 'triSurf written to %s' % fileName
|
||||||
|
|
||||||
def writeFms(self, fileName):
|
def writeFms(self, fileName):
|
||||||
'''
|
'''
|
||||||
Write to file as an OpenFOAM cfMesh FMS file
|
Write to file as an OpenFOAM cfMesh FMS file
|
||||||
|
|
||||||
fileName - the file name to write
|
fileName - the file name to write
|
||||||
'''
|
'''
|
||||||
# Create file
|
# Create file
|
||||||
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
f = open(fileName, 'wb') # NOTE: file opened as binary to ensure unix-style line breaks
|
||||||
|
|
||||||
self._writePatchDefs(f)
|
self._writePatchDefs(f)
|
||||||
self._writeNodes(f)
|
self._writeNodes(f)
|
||||||
self._writeFacets(f)
|
self._writeFacets(f)
|
||||||
|
@ -350,14 +350,14 @@ class triSurf:
|
||||||
self._writePointSubsets(f)
|
self._writePointSubsets(f)
|
||||||
self._writeFaceSubsets(f)
|
self._writeFaceSubsets(f)
|
||||||
self._writeFeatureEdgeSubsets(f)
|
self._writeFeatureEdgeSubsets(f)
|
||||||
|
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
print 'triSurf written to %s' % fileName
|
print 'triSurf written to %s' % fileName
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import salome
|
import salome
|
||||||
salome.salome_init()
|
salome.salome_init()
|
||||||
|
|
||||||
import SMESH, SALOMEDS
|
import SMESH, SALOMEDS
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -28,8 +31,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "triSurfaceRemoveFacets.H"
|
#include "triSurfaceRemoveFacets.H"
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Scales the mesh into other units.
|
Scales the mesh into other units.
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | cfMesh: A library for mesh generation
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration |
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of cfMesh.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
cfMesh is free software; you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
cfMesh is distributed in the hope that it will be useful, but WITHOUT
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Scales surface vertices by a precribed factor.
|
Scales surface vertices by a precribed factor.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -27,8 +30,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "triSurf.H"
|
#include "triSurf.H"
|
||||||
#include "demandDrivenData.H"
|
#include "demandDrivenData.H"
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -29,14 +32,14 @@ Description
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "IFstream.H"
|
#include "IFstream.H"
|
||||||
#include "fileName.H"
|
#include "fileName.H"
|
||||||
|
#include "triSurf.H"
|
||||||
#include "triSurfModifier.H"
|
#include "triSurfModifier.H"
|
||||||
#include "boundBox.H"
|
#include "boundBox.H"
|
||||||
#include "OFstream.H"
|
#include "OFstream.H"
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include "triSurfaceDetectFeatureEdges.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
// Main program:
|
// Main program:
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
@ -121,12 +124,12 @@ int main(int argc, char *argv[])
|
||||||
//- generate bounding bound triangles
|
//- generate bounding bound triangles
|
||||||
const label nTriangles = origSurface.size();
|
const label nTriangles = origSurface.size();
|
||||||
LongList<labelledTri>& newTriangles = sMod.facetsAccess();
|
LongList<labelledTri>& newTriangles = sMod.facetsAccess();
|
||||||
newTriangles.setSize(nTriangles + 12);
|
newTriangles.setSize(nTriangles+12);
|
||||||
|
|
||||||
//- create patches
|
//- create patches
|
||||||
geometricSurfacePatchList& newPatches = sMod.patchesAccess();
|
geometricSurfacePatchList& newPatches = sMod.patchesAccess();
|
||||||
const label nPatches = origSurface.patches().size();
|
const label nPatches = origSurface.patches().size();
|
||||||
newPatches.setSize(nPatches + 6);
|
newPatches.setSize(nPatches+6);
|
||||||
|
|
||||||
newPatches[nPatches].name() = "xMin";
|
newPatches[nPatches].name() = "xMin";
|
||||||
newPatches[nPatches+1].name() = "xMax";
|
newPatches[nPatches+1].name() = "xMax";
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
\\ / F ield | foam-extend: Open Source CFD
|
||||||
\\ / O peration | Version: 3.2
|
\\ / O peration | Version: 4.1
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
\\ / A nd | Web: http://www.foam-extend.org
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
\\/ M anipulation | For copyright notice see file Copyright
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Author | F.Juretic (franjo.juretic@c-fields.com)
|
||||||
|
Copyright | Copyright (C) Creative Fields, Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of foam-extend.
|
This file is part of foam-extend.
|
||||||
|
|
||||||
foam-extend is free software: you can redistribute it and/or modify it
|
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
|
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
|
Free Software Foundation; either version 3 of the License, or (at your
|
||||||
option) any later version.
|
option) any later version.
|
||||||
|
|
||||||
foam-extend is distributed in the hope that it will be useful, but
|
foam-extend is distributed in the hope that it will be useful, but WITHOUT
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
General Public License for more details.
|
for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -30,8 +33,6 @@ Description
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "objectRegistry.H"
|
|
||||||
#include "foamTime.H"
|
|
||||||
#include "tetMeshGenerator.H"
|
#include "tetMeshGenerator.H"
|
||||||
|
|
||||||
using namespace Foam;
|
using namespace Foam;
|
||||||
|
|
|
@ -962,11 +962,12 @@ void Foam::ensightMesh::writeAllFacePrims
|
||||||
{
|
{
|
||||||
if (nPrims)
|
if (nPrims)
|
||||||
{
|
{
|
||||||
|
const labelList* pPrims = &prims;
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
ensightGeometryFile << key << nl << setw(10) << nPrims << nl;
|
ensightGeometryFile << key << nl << setw(10) << nPrims << nl;
|
||||||
|
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeFacePrims
|
writeFacePrims
|
||||||
(
|
(
|
||||||
|
@ -993,7 +994,7 @@ void Foam::ensightMesh::writeAllFacePrims
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
@ -1050,10 +1051,11 @@ void Foam::ensightMesh::writeAllNSided
|
||||||
<< "nsided" << nl << setw(10) << nPrims << nl;
|
<< "nsided" << nl << setw(10) << nPrims << nl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const labelList* pPrims = &prims;
|
||||||
// Number of points for each face
|
// Number of points for each face
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeNSidedNPointsPerFace
|
writeNSidedNPointsPerFace
|
||||||
(
|
(
|
||||||
|
@ -1078,7 +1080,7 @@ void Foam::ensightMesh::writeAllNSided
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
@ -1087,7 +1089,7 @@ void Foam::ensightMesh::writeAllNSided
|
||||||
// List of points id for each face
|
// List of points id for each face
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeNSidedPoints
|
writeNSidedPoints
|
||||||
(
|
(
|
||||||
|
@ -1114,7 +1116,7 @@ void Foam::ensightMesh::writeAllNSided
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
@ -1174,10 +1176,11 @@ void Foam::ensightMesh::writeAllNSidedBinary
|
||||||
writeEnsDataBinary(nPrims,ensightGeometryFile);
|
writeEnsDataBinary(nPrims,ensightGeometryFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const labelList* pPrims = &prims;
|
||||||
// Number of points for each face
|
// Number of points for each face
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeNSidedNPointsPerFaceBinary
|
writeNSidedNPointsPerFaceBinary
|
||||||
(
|
(
|
||||||
|
@ -1202,7 +1205,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
@ -1211,7 +1214,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
|
||||||
// List of points id for each face
|
// List of points id for each face
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeNSidedPointsBinary
|
writeNSidedPointsBinary
|
||||||
(
|
(
|
||||||
|
@ -1238,7 +1241,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
@ -1260,12 +1263,13 @@ void Foam::ensightMesh::writeAllFacePrimsBinary
|
||||||
{
|
{
|
||||||
if (nPrims)
|
if (nPrims)
|
||||||
{
|
{
|
||||||
|
const labelList* pPrims = &prims;
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
writeEnsDataBinary(key,ensightGeometryFile);
|
writeEnsDataBinary(key,ensightGeometryFile);
|
||||||
writeEnsDataBinary(nPrims,ensightGeometryFile);
|
writeEnsDataBinary(nPrims,ensightGeometryFile);
|
||||||
|
|
||||||
if (&prims != nullptr)
|
if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
writeFacePrimsBinary
|
writeFacePrimsBinary
|
||||||
(
|
(
|
||||||
|
@ -1292,7 +1296,7 @@ void Foam::ensightMesh::writeAllFacePrimsBinary
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (&prims != nullptr)
|
else if (pPrims != nullptr)
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< ensMap(patchFaces, prims);
|
toMaster<< ensMap(patchFaces, prims);
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
MAKEWHAT=
|
MAKEWHAT=
|
||||||
EXTRAFLAGS=
|
EXTRAFLAGS=
|
||||||
|
@ -8,14 +7,14 @@ skipcompile=n
|
||||||
if test $# -ge 1 ; then
|
if test $# -ge 1 ; then
|
||||||
Platname=$1
|
Platname=$1
|
||||||
shift
|
shift
|
||||||
while test $# -ge 1
|
while test $# -ge 1
|
||||||
do
|
do
|
||||||
if test "$1" = "-release" ; then
|
if test "$1" = "-release" ; then
|
||||||
isrelease=y
|
isrelease=y
|
||||||
elif test "$1" = "-skipcompile" ; then
|
elif test "$1" = "-skipcompile" ; then
|
||||||
skipcompile=y
|
skipcompile=y
|
||||||
elif test "$1" = "-tecio" ; then
|
elif test "$1" = "-tecio" ; then
|
||||||
MAKEWHAT=tecio.a
|
MAKEWHAT=libtecio.a
|
||||||
else
|
else
|
||||||
EXTRAFLAGS="$EXTRAFLAGS $1"
|
EXTRAFLAGS="$EXTRAFLAGS $1"
|
||||||
fi
|
fi
|
||||||
|
@ -25,7 +24,7 @@ else
|
||||||
echo "Choose platform:"
|
echo "Choose platform:"
|
||||||
echo " "
|
echo " "
|
||||||
echo " macux.104"
|
echo " macux.104"
|
||||||
echo " macix64.105"
|
echo " macix64.106"
|
||||||
echo " sgix.62"
|
echo " sgix.62"
|
||||||
echo " sgix3.62"
|
echo " sgix3.62"
|
||||||
echo " sgix.65"
|
echo " sgix.65"
|
||||||
|
@ -45,23 +44,24 @@ else
|
||||||
echo " hp7xx64.11"
|
echo " hp7xx64.11"
|
||||||
echo " hpi64.11"
|
echo " hpi64.11"
|
||||||
echo " linux.24"
|
echo " linux.24"
|
||||||
echo " linuxi64.24"
|
echo " linux64.26"
|
||||||
echo " linux.22"
|
echo " linux.22"
|
||||||
echo " linuxa.22"
|
echo " linuxa.22"
|
||||||
echo " linuxg248x64.26"
|
echo " linux32-centos4.8"
|
||||||
echo " linuxg27x64.26"
|
echo " linux64-sled10.4"
|
||||||
|
echo " linuxg29x64.26"
|
||||||
echo " crayc90"
|
echo " crayc90"
|
||||||
echo "->\c"
|
echo "->\c"
|
||||||
read Platname
|
read Platname
|
||||||
|
|
||||||
echo "Choose:"
|
echo "Choose:"
|
||||||
echo " 1. Make tecio.a only"
|
echo " 1. Make libtecio.a only"
|
||||||
echo " 2. Make tecio.a and pltview"
|
echo " 2. Make libtecio.a and pltview"
|
||||||
|
|
||||||
read choice
|
read choice
|
||||||
|
|
||||||
if test $choice -eq 1 ;then
|
if test $choice -eq 1 ;then
|
||||||
MAKEWHAT=tecio.a
|
MAKEWHAT=libtecio.a
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -72,18 +72,32 @@ AR=ar
|
||||||
ARFLAGS=qv
|
ARFLAGS=qv
|
||||||
DISTSUBDIR2=
|
DISTSUBDIR2=
|
||||||
|
|
||||||
|
#
|
||||||
|
# The blah-64 platforms are 64-bit builds of tecio, typically on 32-bit
|
||||||
|
# platforms.
|
||||||
|
#
|
||||||
case $Platname in
|
case $Platname in
|
||||||
mac*) CCOMP=g++
|
macix64*) CCOMP=g++
|
||||||
FINALCFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64 -DDARWIN -DLONGIS64 -I/usr/X11R6/include"
|
FINALCFLAGS="-arch x86_64 -DDARWIN -DMAC64 -I/usr/X11R6/include"
|
||||||
STRIPFLAG=-Wl,-x
|
STRIPFLAG=-Wl,-x
|
||||||
LINKFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64"
|
LINKFLAGS="-arch x86_64"
|
||||||
|
;;
|
||||||
|
macux*-64) CCOMP=g++
|
||||||
|
FINALCFLAGS="-arch ppc64 -arch x86_64 -DDARWIN -DMAC64 -I/usr/X11R6/include"
|
||||||
|
STRIPFLAG=-Wl,-x
|
||||||
|
LINKFLAGS="-arch ppc64 -arch x86_64"
|
||||||
|
;;
|
||||||
|
macux*) CCOMP=g++
|
||||||
|
FINALCFLAGS="-arch ppc -arch i386 -DDARWIN -I/usr/X11R6/include"
|
||||||
|
STRIPFLAG=-Wl,-x
|
||||||
|
LINKFLAGS="-arch ppc -arch i386"
|
||||||
;;
|
;;
|
||||||
sgix.65-64) CCOMP=CC
|
sgix.65-64) CCOMP=CC
|
||||||
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
|
FINALCFLAGS="-DIRISX -mips4 -64"
|
||||||
LINKFLAGS="-mips4 -64"
|
LINKFLAGS="-mips4 -64"
|
||||||
;;
|
;;
|
||||||
sgix64.65) CCOMP=CC
|
sgix64.65) CCOMP=CC
|
||||||
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
|
FINALCFLAGS="-DIRISX -mips4 -64"
|
||||||
LINKFLAGS="-mips4 -64"
|
LINKFLAGS="-mips4 -64"
|
||||||
;;
|
;;
|
||||||
sgix.65) CCOMP=CC
|
sgix.65) CCOMP=CC
|
||||||
|
@ -95,7 +109,7 @@ case $Platname in
|
||||||
LINKFLAGS="-o32"
|
LINKFLAGS="-o32"
|
||||||
;;
|
;;
|
||||||
sgix.62-64) CCOMP=CC
|
sgix.62-64) CCOMP=CC
|
||||||
FINALCFLAGS="-DIRISX -DIRIX62 -DLONGIS64 -mips4 -64"
|
FINALCFLAGS="-DIRISX -DIRIX62 -mips4 -64"
|
||||||
LINKFLAGS="-mips4 -64"
|
LINKFLAGS="-mips4 -64"
|
||||||
;;
|
;;
|
||||||
sgix.62) CCOMP=CC
|
sgix.62) CCOMP=CC
|
||||||
|
@ -114,42 +128,45 @@ case $Platname in
|
||||||
FINALCFLAGS=-DIBMRS6000X
|
FINALCFLAGS=-DIBMRS6000X
|
||||||
;;
|
;;
|
||||||
ibmx64.*) CCOMP=xlC
|
ibmx64.*) CCOMP=xlC
|
||||||
FINALCFLAGS="-DIBMRS6000X -DLONGIS64 -q64"
|
FINALCFLAGS="-DIBMRS6000X -q64"
|
||||||
ARFLAGS="-X64 qv"
|
ARFLAGS="-X64 qv"
|
||||||
;;
|
;;
|
||||||
compaq.51) CCOMP=cxx
|
compaq.51) CCOMP=cxx
|
||||||
FINALCFLAGS="-DCOMPAQX -I/usr/include -ieee_with_inexact"
|
FINALCFLAGS="-DCOMPAQX -I/usr/include -ieee_with_inexact"
|
||||||
;;
|
;;
|
||||||
decalpha.32)CCOMP=cc
|
decalpha.32)CCOMP=cc
|
||||||
FINALCFLAGS="-DDECALPHAX -I/usr/include -ieee_with_inexact"
|
FINALCFLAGS="-DDECALPHAX -I/usr/include -ieee_with_inexact"
|
||||||
;;
|
;;
|
||||||
hp7xx.*-64) CCOMP=aCC
|
hp7xx.*-64) CCOMP=aCC
|
||||||
FINALCFLAGS="+DD64 +DS2.0 -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
FINALCFLAGS="+DD64 +DS2.0 -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
||||||
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
||||||
;;
|
;;
|
||||||
hp7xx64.11) CCOMP=aCC
|
hp7xx64.11) CCOMP=aCC
|
||||||
FINALCFLAGS="+DA2.0W +DD64 +DS2.0W -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
FINALCFLAGS="+DA2.0W +DD64 +DS2.0W -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
||||||
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
||||||
;;
|
;;
|
||||||
hpi64.11) CCOMP=aCC
|
hpi64.11) CCOMP=aCC
|
||||||
FINALCFLAGS="+DD64 -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
FINALCFLAGS="+DD64 -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
||||||
LINKFLAGS="+DD64"
|
LINKFLAGS="+DD64"
|
||||||
;;
|
;;
|
||||||
hp7xx.11) CCOMP=aCC
|
hp7xx.11) CCOMP=aCC
|
||||||
FINALCFLAGS="+DAportable -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
FINALCFLAGS="+DAportable -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
||||||
LINKFLAGS="+DAportable"
|
LINKFLAGS="+DAportable"
|
||||||
;;
|
;;
|
||||||
crayc90) CCOMP=cc
|
crayc90) CCOMP=cc
|
||||||
FINALCFLAGS="-DCRAY -DUNIXX"
|
FINALCFLAGS="-DCRAY -DUNIXX"
|
||||||
;;
|
;;
|
||||||
linux*i64.*)CCOMP=g++
|
linux.64-gcc4.2.4.26) #
|
||||||
FINALCFLAGS="-fPIC -DLINUX -DLINUXI64"
|
# Special custom build for synopsys. Run Runmake directly on satsop.
|
||||||
;;
|
#
|
||||||
linux*64.*) CCOMP=g++
|
CCOMP=/usr/local/gcc-4.2.2/bin/g++
|
||||||
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
|
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
|
||||||
|
;;
|
||||||
|
linux*64*) CCOMP=g++
|
||||||
|
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
|
||||||
;;
|
;;
|
||||||
linux*) CCOMP=g++
|
linux*) CCOMP=g++
|
||||||
FINALCFLAGS="-fPIC -DLINUX"
|
FINALCFLAGS="-fPIC -DLINUX"
|
||||||
;;
|
;;
|
||||||
sun4.54) CCOMP=/opt/SUNWspro/bin/CC
|
sun4.54) CCOMP=/opt/SUNWspro/bin/CC
|
||||||
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
||||||
|
@ -173,28 +190,28 @@ case $Platname in
|
||||||
ARFLAGS="-xar -o"
|
ARFLAGS="-xar -o"
|
||||||
;;
|
;;
|
||||||
sun4.57-64) CCOMP=/opt/SUNWspro/bin/CC
|
sun4.57-64) CCOMP=/opt/SUNWspro/bin/CC
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
FINALCFLAGS="-DSUNSOLARISX -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
||||||
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
||||||
MAKECMD=/usr/ccs/bin/make
|
MAKECMD=/usr/ccs/bin/make
|
||||||
AR=/opt/SUNWspro/bin/CC
|
AR=/opt/SUNWspro/bin/CC
|
||||||
ARFLAGS="-xar -o"
|
ARFLAGS="-xar -o"
|
||||||
;;
|
;;
|
||||||
sun464.57) CCOMP=/opt/SUNWspro/bin/CC
|
sun464.57) CCOMP=/opt/SUNWspro/bin/CC
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
FINALCFLAGS="-DSUNSOLARISX -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
||||||
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
||||||
MAKECMD=/usr/ccs/bin/make
|
MAKECMD=/usr/ccs/bin/make
|
||||||
AR=/opt/SUNWspro/bin/CC
|
AR=/opt/SUNWspro/bin/CC
|
||||||
ARFLAGS="-xar -o"
|
ARFLAGS="-xar -o"
|
||||||
;;
|
;;
|
||||||
sun464.59) CCOMP=/opt/SUNWspro/bin/CC
|
sun464.59) CCOMP=/opt/SUNWspro/bin/CC
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -m64 -xarch=generic -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
FINALCFLAGS="-DSUNSOLARISX -KPIC -m64 -xarch=generic -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
||||||
LINKFLAGS="-KPIC -m64 -xarch=generic -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
LINKFLAGS="-KPIC -m64 -xarch=generic -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
||||||
MAKECMD=/usr/ccs/bin/make
|
MAKECMD=/usr/ccs/bin/make
|
||||||
AR=/opt/SUNWspro/bin/CC
|
AR=/opt/SUNWspro/bin/CC
|
||||||
ARFLAGS="-xar -o"
|
ARFLAGS="-xar -o"
|
||||||
;;
|
;;
|
||||||
sun86.54) CCOMP=/opt/SUNWspro/bin/CC
|
sun86.54) CCOMP=/opt/SUNWspro/bin/CC
|
||||||
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include"
|
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include"
|
||||||
MAKECMD=/usr/ccs/bin/make
|
MAKECMD=/usr/ccs/bin/make
|
||||||
AR=/opt/SUNWspro/bin/CC
|
AR=/opt/SUNWspro/bin/CC
|
||||||
ARFLAGS="-xar -o"
|
ARFLAGS="-xar -o"
|
||||||
|
@ -223,7 +240,7 @@ FINALCFLAGS="$FINALCFLAGS $EXTRAFLAGS -DUSEENUM -DTHREED"
|
||||||
# NOTE: Used to use make here but had problems with using remsh to run
|
# NOTE: Used to use make here but had problems with using remsh to run
|
||||||
# make multiple times to get 64 bit and 32 bit versions of libraries....
|
# make multiple times to get 64 bit and 32 bit versions of libraries....
|
||||||
#
|
#
|
||||||
# $MAKECMD $MAKEWHAT AR=$AR CC=$CCOMP LINKFLAGS="$LINKFLAGS" STRIPFLAG=$STRIPFLAG CFLAGS="$EXTRAFLAGS -DUSEENUM -DTHREED $FINALCFLAGS"
|
# $MAKECMD $MAKEWHAT AR=$AR CC=$CCOMP LINKFLAGS="$LINKFLAGS" STRIPFLAG=$STRIPFLAG CFLAGS="$EXTRAFLAGS -DUSEENUM -DTHREED $FINALCFLAGS"
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -260,18 +277,18 @@ cd ..
|
||||||
pwd
|
pwd
|
||||||
|
|
||||||
|
|
||||||
echo "$AR $ARFLAGS tecio.a $OBJLIST"
|
echo "$AR $ARFLAGS libtecio.a $OBJLIST"
|
||||||
$AR $ARFLAGS tecio.a $OBJLIST
|
$AR $ARFLAGS libtecio.a $OBJLIST
|
||||||
if test -f /bin/ranlib ; then
|
if test -f /bin/ranlib ; then
|
||||||
/bin/ranlib tecio.a;
|
/bin/ranlib libtecio.a;
|
||||||
elif test -f /usr/bin/ranlib ; then
|
elif test -f /usr/bin/ranlib ; then
|
||||||
/usr/bin/ranlib tecio.a;
|
/usr/bin/ranlib libtecio.a;
|
||||||
elif test -f /usr/ucb/ranlib ; then
|
elif test -f /usr/ucb/ranlib ; then
|
||||||
/usr/ucb/ranlib tecio.a;
|
/usr/ucb/ranlib libtecio.a;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp"
|
echo "$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp"
|
||||||
$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp
|
$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp
|
||||||
|
|
||||||
echo "$CCOMP $FINALCFLAGS pltview.o tecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview"
|
echo "$CCOMP $FINALCFLAGS pltview.o libtecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview"
|
||||||
$CCOMP $FINALCFLAGS pltview.o tecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview
|
$CCOMP $FINALCFLAGS pltview.o libtecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=arrow
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -31,10 +31,8 @@ int main()
|
||||||
&FileType,
|
&FileType,
|
||||||
&Debug,
|
&Debug,
|
||||||
&VIsDouble);
|
&VIsDouble);
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
|
|
||||||
/* After TECINI is called, call TECZNE to create one or more
|
/* After TECINI is called, call TECZNE to create one or more
|
||||||
* zones for your data file. In this example, Zone 1 contains a
|
* zones for your data file. In this example, Zone 1 contains a
|
||||||
* single rectangular solid created as a face-based finite-element
|
* single rectangular solid created as a face-based finite-element
|
||||||
|
@ -106,7 +104,6 @@ int main()
|
||||||
ValueLocation,
|
ValueLocation,
|
||||||
NULL,
|
NULL,
|
||||||
&SharConn);
|
&SharConn);
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecdat_rect.txt*/
|
/* DOCSTART:arrow_tecdat_rect.txt*/
|
||||||
|
@ -137,7 +134,6 @@ int main()
|
||||||
|
|
||||||
P_Rect[0] = 10;
|
P_Rect[0] = 10;
|
||||||
|
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
INTEGER4 IsDouble = 1;
|
||||||
I = TECDAT112(&NumPts_Rect, X_Rect, &IsDouble);
|
I = TECDAT112(&NumPts_Rect, X_Rect, &IsDouble);
|
||||||
I = TECDAT112(&NumPts_Rect, Y_Rect, &IsDouble);
|
I = TECDAT112(&NumPts_Rect, Y_Rect, &IsDouble);
|
||||||
|
@ -146,7 +142,6 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:arrow_facenodes_rect.txt*/
|
/* DOCSTART:arrow_facenodes_rect.txt*/
|
||||||
|
|
||||||
/* The FaceNodeCounts array is used to describe the number of
|
/* The FaceNodeCounts array is used to describe the number of
|
||||||
* nodes in each face of the zone. The first value in the array
|
* nodes in each face of the zone. The first value in the array
|
||||||
* is the number of nodes in Face 1, the second value is the
|
* is the number of nodes in Face 1, the second value is the
|
||||||
|
@ -160,21 +155,21 @@ int main()
|
||||||
FaceNodeCounts_Rect[ii] = 4;
|
FaceNodeCounts_Rect[ii] = 4;
|
||||||
|
|
||||||
/* The FaceNodes array is used to specify the nodes that compose
|
/* The FaceNodes array is used to specify the nodes that compose
|
||||||
* each face. For each face (n of N), the number of nodes used
|
* each face. For each face (n of N), the number of nodes used
|
||||||
* to define the face is specified by the nth value in the
|
* to define the face is specified by the nth value in the
|
||||||
* FaceNodeCounts array. For example, if the first value in the
|
* FaceNodeCounts array. For example, if the first value in the
|
||||||
* FaceNodeCounts array is 4 (indicating Face 1 is composed of
|
* FaceNodeCounts array is 4 (indicating Face 1 is composed of
|
||||||
* four nodes), the first four values in the FaceNodes array are
|
* four nodes), the first four values in the FaceNodes array are
|
||||||
* the node numbers of the nodes in Face 1.
|
* the node numbers of the nodes in Face 1.
|
||||||
*
|
*
|
||||||
* ------------
|
* ------------
|
||||||
* WARNING
|
* WARNING
|
||||||
* When providing the node numbers for each face, you must
|
* When providing the node numbers for each face, you must
|
||||||
* provide the node numbers in a consistent order (either
|
* provide the node numbers in a consistent order (either
|
||||||
* clockwise or counter-clockwise. Providing the node numbers
|
* clockwise or counter-clockwise. Providing the node numbers
|
||||||
* out of order results in contorted faces.
|
* out of order results in contorted faces.
|
||||||
* ------------
|
* ------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
INTEGER4 *FaceNodes_Rect = new INTEGER4[TotalNumFaceNodes_Rect];
|
INTEGER4 *FaceNodes_Rect = new INTEGER4[TotalNumFaceNodes_Rect];
|
||||||
|
|
||||||
|
@ -202,7 +197,7 @@ int main()
|
||||||
FaceNodes_Rect[14] = 7;
|
FaceNodes_Rect[14] = 7;
|
||||||
FaceNodes_Rect[15] = 3;
|
FaceNodes_Rect[15] = 3;
|
||||||
|
|
||||||
//Nodes for Face 5
|
//Nodes for Face 5
|
||||||
FaceNodes_Rect[16] = 6;
|
FaceNodes_Rect[16] = 6;
|
||||||
FaceNodes_Rect[17] = 2;
|
FaceNodes_Rect[17] = 2;
|
||||||
FaceNodes_Rect[18] = 1;
|
FaceNodes_Rect[18] = 1;
|
||||||
|
@ -247,6 +242,12 @@ int main()
|
||||||
* in Zone 5.
|
* in Zone 5.
|
||||||
*/
|
*/
|
||||||
FaceLeftElems_Rect[3] = -1;
|
FaceLeftElems_Rect[3] = -1;
|
||||||
|
|
||||||
|
I = TECPOLYFACE112(&NumFaces_Rect,
|
||||||
|
FaceNodeCounts_Rect,
|
||||||
|
FaceNodes_Rect,
|
||||||
|
FaceLeftElems_Rect,
|
||||||
|
FaceRightElems_Rect);
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecpoly_rect.txt*/
|
/* DOCSTART:arrow_tecpoly_rect.txt*/
|
||||||
|
@ -276,13 +277,10 @@ int main()
|
||||||
FaceBndryConnElems_Rect[0] = 1;
|
FaceBndryConnElems_Rect[0] = 1;
|
||||||
FaceBndryConnZones_Rect[0] = 2;
|
FaceBndryConnZones_Rect[0] = 2;
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts_Rect,
|
I = TECPOLYBCONN112(&NumConnBndryFaces_Rect,
|
||||||
FaceNodes_Rect,
|
FaceBndryConnCounts_Rect,
|
||||||
FaceLeftElems_Rect,
|
FaceBndryConnElems_Rect,
|
||||||
FaceRightElems_Rect,
|
FaceBndryConnZones_Rect);
|
||||||
FaceBndryConnCounts_Rect,
|
|
||||||
FaceBndryConnElems_Rect,
|
|
||||||
FaceBndryConnZones_Rect);
|
|
||||||
|
|
||||||
/* cleanup */
|
/* cleanup */
|
||||||
delete X_Rect;
|
delete X_Rect;
|
||||||
|
@ -359,13 +357,10 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecdat_prism.txt*/
|
/* DOCSTART:arrow_tecdat_prism.txt*/
|
||||||
|
|
||||||
|
|
||||||
double *X_Prism = new double[NumPts_Prism];
|
double *X_Prism = new double[NumPts_Prism];
|
||||||
double *Y_Prism = new double[NumPts_Prism];
|
double *Y_Prism = new double[NumPts_Prism];
|
||||||
double *Z_Prism = new double[NumPts_Prism];
|
double *Z_Prism = new double[NumPts_Prism];
|
||||||
|
|
||||||
|
|
||||||
/* Set the X and Y variable values, one z-plane at a time */
|
/* Set the X and Y variable values, one z-plane at a time */
|
||||||
double ZVal = 0;
|
double ZVal = 0;
|
||||||
for (INTEGER4 ii = 0; ii < 2; ii++)
|
for (INTEGER4 ii = 0; ii < 2; ii++)
|
||||||
|
@ -438,7 +433,7 @@ int main()
|
||||||
FaceNodes_Prism[13] = 4;
|
FaceNodes_Prism[13] = 4;
|
||||||
FaceNodes_Prism[14] = 6;
|
FaceNodes_Prism[14] = 6;
|
||||||
|
|
||||||
//Nodes for Face 5
|
//Nodes for Face 5
|
||||||
FaceNodes_Prism[15] = 1;
|
FaceNodes_Prism[15] = 1;
|
||||||
FaceNodes_Prism[16] = 2;
|
FaceNodes_Prism[16] = 2;
|
||||||
FaceNodes_Prism[17] = 3;
|
FaceNodes_Prism[17] = 3;
|
||||||
|
@ -470,10 +465,15 @@ int main()
|
||||||
* element and zone for a face.
|
* element and zone for a face.
|
||||||
*/
|
*/
|
||||||
FaceLeftElems_Prism[0] = -1;
|
FaceLeftElems_Prism[0] = -1;
|
||||||
|
|
||||||
|
I = TECPOLYFACE112(&NumFaces_Prism,
|
||||||
|
FaceNodeCounts_Prism,
|
||||||
|
FaceNodes_Prism,
|
||||||
|
FaceLeftElems_Prism,
|
||||||
|
FaceRightElems_Prism);
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecpoly_prism.txt*/
|
/* DOCSTART:arrow_tecpoly_prism.txt*/
|
||||||
|
|
||||||
INTEGER4 *FaceBndryConnCounts_Prism = new INTEGER4[NumConnBndryFaces_Prism];
|
INTEGER4 *FaceBndryConnCounts_Prism = new INTEGER4[NumConnBndryFaces_Prism];
|
||||||
FaceBndryConnCounts_Prism[0] = 2;
|
FaceBndryConnCounts_Prism[0] = 2;
|
||||||
|
|
||||||
|
@ -500,13 +500,10 @@ int main()
|
||||||
FaceBndryConnElems_Prism[1] = 1;
|
FaceBndryConnElems_Prism[1] = 1;
|
||||||
FaceBndryConnZones_Prism[1] = 1;
|
FaceBndryConnZones_Prism[1] = 1;
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts_Prism,
|
I = TECPOLYBCONN112(&NumConnBndryFaces_Prism,
|
||||||
FaceNodes_Prism,
|
FaceBndryConnCounts_Prism,
|
||||||
FaceLeftElems_Prism,
|
FaceBndryConnElems_Prism,
|
||||||
FaceRightElems_Prism,
|
FaceBndryConnZones_Prism);
|
||||||
FaceBndryConnCounts_Prism,
|
|
||||||
FaceBndryConnElems_Prism,
|
|
||||||
FaceBndryConnZones_Prism);
|
|
||||||
|
|
||||||
/* cleanup */
|
/* cleanup */
|
||||||
delete X_Prism;
|
delete X_Prism;
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=comtest
|
|
||||||
FILES=$(EXECUTABLE).c
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,8 +1,8 @@
|
||||||
C
|
C
|
||||||
C Complex example FORTRAN program to write a
|
C Complex example FORTRAN program to write a
|
||||||
C binary data file for Tecplot. This example
|
C binary data file for Tecplot. This example
|
||||||
C does the following:
|
C does the following:
|
||||||
C
|
C
|
||||||
C 1. Open a data file called "field.plt."
|
C 1. Open a data file called "field.plt."
|
||||||
C 2. Open a data file called "line.plt."
|
C 2. Open a data file called "line.plt."
|
||||||
C 3. Assign values for X, Y and P. These will be used
|
C 3. Assign values for X, Y and P. These will be used
|
||||||
|
@ -16,12 +16,17 @@ C 8. Write out a text record to "field.plt."
|
||||||
C 9. Write out a geometry (circle) record to "field.plt."
|
C 9. Write out a geometry (circle) record to "field.plt."
|
||||||
C 10. Close file 1.
|
C 10. Close file 1.
|
||||||
C 11. Close file 2.
|
C 11. Close file 2.
|
||||||
C
|
C
|
||||||
Program ComplexTest
|
Program ComplexTest
|
||||||
|
|
||||||
|
C This code was written for FORTRAN77 compilers. If you are using a
|
||||||
|
C FORTRAN90/95 compiler, we recommend using the .f90 source code files.
|
||||||
|
C Otherwise, you will need to alter the include statement below to include
|
||||||
|
C tecio.for instead of tecio.inc.
|
||||||
|
|
||||||
Include "tecio.inc"
|
Include "tecio.inc"
|
||||||
|
|
||||||
REAL*4 X(4,5), Y(4,5), P(4,5)
|
REAL*4 X(4,5), Y(4,5), P(4,5)
|
||||||
REAL*8 XL(50), YL(50)
|
REAL*8 XL(50), YL(50)
|
||||||
REAL*4 XLDummy(1), YLDummy(1)
|
REAL*4 XLDummy(1), YLDummy(1)
|
||||||
EQUIVALENCE (XLDummy(1), XL(1))
|
EQUIVALENCE (XLDummy(1), XL(1))
|
||||||
|
@ -56,7 +61,7 @@ C
|
||||||
NullPtr = 0
|
NullPtr = 0
|
||||||
C
|
C
|
||||||
C Open field.plt and write the header information.
|
C Open field.plt and write the header information.
|
||||||
C
|
C
|
||||||
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '//
|
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '//
|
||||||
& '1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR,
|
& '1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR,
|
||||||
& 'X Y P'//NULCHAR,
|
& 'X Y P'//NULCHAR,
|
||||||
|
@ -65,9 +70,9 @@ C
|
||||||
& FileType,
|
& FileType,
|
||||||
& Debug,
|
& Debug,
|
||||||
& VIsDouble)
|
& VIsDouble)
|
||||||
C
|
C
|
||||||
C Open line.plt and write the header information.
|
C Open line.plt and write the header information.
|
||||||
C
|
C
|
||||||
VIsDouble = 1
|
VIsDouble = 1
|
||||||
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR,
|
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR,
|
||||||
& 'X Y'//NULCHAR,
|
& 'X Y'//NULCHAR,
|
||||||
|
@ -77,9 +82,9 @@ C
|
||||||
& Debug,
|
& Debug,
|
||||||
& VIsDouble)
|
& VIsDouble)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Calculate values for the field variables.
|
C Calculate values for the field variables.
|
||||||
C
|
C
|
||||||
Do 10 J = 1,5
|
Do 10 J = 1,5
|
||||||
Do 10 I = 1,4
|
Do 10 I = 1,4
|
||||||
X(I,J) = I
|
X(I,J) = I
|
||||||
|
@ -87,15 +92,15 @@ C
|
||||||
P(I,J) = I*J
|
P(I,J) = I*J
|
||||||
10 Continue
|
10 Continue
|
||||||
|
|
||||||
C
|
C
|
||||||
C Make sure writing to file #1.
|
C Make sure writing to file #1.
|
||||||
C
|
C
|
||||||
III = 1
|
III = 1
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Write the zone header information for the ordered zone.
|
C Write the zone header information for the ordered zone.
|
||||||
C
|
C
|
||||||
IMax = 4
|
IMax = 4
|
||||||
JMax = 5
|
JMax = 5
|
||||||
KMax = 1
|
KMax = 1
|
||||||
|
@ -124,31 +129,31 @@ C
|
||||||
& Null, ! ShareVarFromZone
|
& Null, ! ShareVarFromZone
|
||||||
& 0) ! ShareConnectivityFromZone)
|
& 0) ! ShareConnectivityFromZone)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Write out the field data for the ordered zone.
|
C Write out the field data for the ordered zone.
|
||||||
C
|
C
|
||||||
III = IMax*JMax
|
III = IMax*JMax
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
I = TECDAT112(III,X,DIsDouble)
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
I = TECDAT112(III,Y,DIsDouble)
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Calculate values for the I-ordered zone.
|
C Calculate values for the I-ordered zone.
|
||||||
C
|
C
|
||||||
|
|
||||||
Do 20 I = 1,50
|
Do 20 I = 1,50
|
||||||
XL(I) = I
|
XL(I) = I
|
||||||
YL(I) = sin(I/20.0)
|
YL(I) = sin(I/20.0)
|
||||||
20 Continue
|
20 Continue
|
||||||
C
|
C
|
||||||
C Switch to the 'line.plt' file (file number 2)
|
C Switch to the 'line.plt' file (file number 2)
|
||||||
C and write out the line plot data.
|
C and write out the line plot data.
|
||||||
C
|
C
|
||||||
III = 2
|
III = 2
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
C
|
C
|
||||||
C Write the zone header information for the XY-data.
|
C Write the zone header information for the XY-data.
|
||||||
C
|
C
|
||||||
IMax = 50
|
IMax = 50
|
||||||
JMax = 1
|
JMax = 1
|
||||||
KMax = 1
|
KMax = 1
|
||||||
|
@ -175,18 +180,18 @@ C
|
||||||
& Null,
|
& Null,
|
||||||
& Null,
|
& Null,
|
||||||
& 0)
|
& 0)
|
||||||
C
|
C
|
||||||
C Write out the line plot.
|
C Write out the line plot.
|
||||||
C
|
C
|
||||||
DIsDouble = 1
|
DIsDouble = 1
|
||||||
III = IMax
|
III = IMax
|
||||||
I = TECDAT112(III,XLDummy,DIsDouble)
|
I = TECDAT112(III,XLDummy,DIsDouble)
|
||||||
I = TECDAT112(III,YLDummy,DIsDouble)
|
I = TECDAT112(III,YLDummy,DIsDouble)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Switch back to the field plot file and write out
|
C Switch back to the field plot file and write out
|
||||||
C the finite-element zone.
|
C the finite-element zone.
|
||||||
C
|
C
|
||||||
III = 1
|
III = 1
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
C
|
C
|
||||||
|
@ -198,12 +203,12 @@ C
|
||||||
Y(I,J) = J
|
Y(I,J) = J
|
||||||
P(I,J) = I*J
|
P(I,J) = I*J
|
||||||
30 Continue
|
30 Continue
|
||||||
C
|
C
|
||||||
C Write the zone header information for the finite-element zone.
|
C Write the zone header information for the finite-element zone.
|
||||||
C
|
C
|
||||||
NPts = 20
|
NPts = 20
|
||||||
NElm = 12
|
NElm = 12
|
||||||
KMax = 1
|
KMax = 1
|
||||||
SolTime = 10.0
|
SolTime = 10.0
|
||||||
StrandID = 2
|
StrandID = 2
|
||||||
I = TECZNE112('Finite Zone 1'//NULCHAR,
|
I = TECZNE112('Finite Zone 1'//NULCHAR,
|
||||||
|
@ -227,9 +232,9 @@ C
|
||||||
& Null,
|
& Null,
|
||||||
& Null,
|
& Null,
|
||||||
& 0)
|
& 0)
|
||||||
C
|
C
|
||||||
C Write out the field data for the finite-element zone.
|
C Write out the field data for the finite-element zone.
|
||||||
C
|
C
|
||||||
IMax = 4
|
IMax = 4
|
||||||
JMax = 5
|
JMax = 5
|
||||||
III = IMax*JMax
|
III = IMax*JMax
|
||||||
|
@ -238,11 +243,11 @@ C
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
I = TECDAT112(III,Y,DIsDouble)
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Calculate and then write out the connectivity list.
|
C Calculate and then write out the connectivity list.
|
||||||
C Note: The NM array references cells starting with
|
C Note: The NM array references cells starting with
|
||||||
C offset of 1.
|
C offset of 1.
|
||||||
C
|
C
|
||||||
|
|
||||||
Do 40 I = 1,IMax-1
|
Do 40 I = 1,IMax-1
|
||||||
Do 40 J = 1,JMax-1
|
Do 40 J = 1,JMax-1
|
||||||
|
@ -348,30 +353,30 @@ C
|
||||||
DIsDouble = 0
|
DIsDouble = 0
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Prepare to write out text record. Text is positioned
|
C Prepare to write out text record. Text is positioned
|
||||||
C at 50, 50 in frame units and has a height 5 frame units.
|
C at 50, 50 in frame units and has a height 5 frame units.
|
||||||
C
|
C
|
||||||
XP = 50
|
XP = 50
|
||||||
YP = 50
|
YP = 50
|
||||||
FH = 5
|
FH = 5
|
||||||
Scope = 1
|
Scope = 1
|
||||||
Clipping = 0
|
Clipping = 0
|
||||||
PositionCoordSys = 1
|
PositionCoordSys = 1
|
||||||
FontType = 1
|
FontType = 1
|
||||||
HeightUnits = 1
|
HeightUnits = 1
|
||||||
AttachToZone = 0
|
AttachToZone = 0
|
||||||
Zone = 0
|
Zone = 0
|
||||||
BoxType = 0
|
BoxType = 0
|
||||||
BoxMargin = 5.0
|
BoxMargin = 5.0
|
||||||
BoxLineThickness = 0.5
|
BoxLineThickness = 0.5
|
||||||
BoxColor = 3
|
BoxColor = 3
|
||||||
BoxFillColor = 7
|
BoxFillColor = 7
|
||||||
TextAngle = 0.0
|
TextAngle = 0.0
|
||||||
Anchor = 0
|
Anchor = 0
|
||||||
LineSpacing = 1.5
|
LineSpacing = 1.5
|
||||||
TextColor = 0
|
TextColor = 0
|
||||||
|
|
||||||
III = TECTXT112(XP,
|
III = TECTXT112(XP,
|
||||||
& YP,
|
& YP,
|
||||||
& 0.0d0,
|
& 0.0d0,
|
||||||
|
@ -395,11 +400,11 @@ C
|
||||||
& 'Hi Mom'//NULCHAR,
|
& 'Hi Mom'//NULCHAR,
|
||||||
& NULCHAR)
|
& NULCHAR)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Prepare to write out geometry record (circle). Circle is
|
C Prepare to write out geometry record (circle). Circle is
|
||||||
C positioned at 25, 25 in frame units and has a radius of 30.
|
C positioned at 25, 25 in frame units and has a radius of 30.
|
||||||
C Circle is drawn using a dashed line pattern.
|
C Circle is drawn using a dashed line pattern.
|
||||||
C
|
C
|
||||||
|
|
||||||
|
|
||||||
XP = 25
|
XP = 25
|
||||||
|
@ -408,8 +413,8 @@ C
|
||||||
IsFilled = 0
|
IsFilled = 0
|
||||||
Color = 0
|
Color = 0
|
||||||
FillColor = 7
|
FillColor = 7
|
||||||
GeomType = 2
|
GeomType = 2
|
||||||
LinePattern = 1
|
LinePattern = 1
|
||||||
LineThickness = 0.3
|
LineThickness = 0.3
|
||||||
PatternLength = 1
|
PatternLength = 1
|
||||||
NumEllipsePts = 72
|
NumEllipsePts = 72
|
||||||
|
@ -419,12 +424,12 @@ C
|
||||||
ArrowheadAngle = 15.0
|
ArrowheadAngle = 15.0
|
||||||
NumSegments = 1
|
NumSegments = 1
|
||||||
NumSegPts(1) = 1
|
NumSegPts(1) = 1
|
||||||
|
|
||||||
XGeomData(1) = 30
|
XGeomData(1) = 30
|
||||||
YGeomData(1) = 0.0
|
YGeomData(1) = 0.0
|
||||||
ZGeomData(1) = 0.0
|
ZGeomData(1) = 0.0
|
||||||
|
|
||||||
|
|
||||||
III = TECGEO112(XP,
|
III = TECGEO112(XP,
|
||||||
& YP,
|
& YP,
|
||||||
& ZP,
|
& ZP,
|
||||||
|
@ -451,17 +456,17 @@ C
|
||||||
& YGeomData,
|
& YGeomData,
|
||||||
& ZGeomData,
|
& ZGeomData,
|
||||||
& NULCHAR)
|
& NULCHAR)
|
||||||
|
|
||||||
C
|
C
|
||||||
C Close out file 1.
|
C Close out file 1.
|
||||||
C
|
C
|
||||||
I = TECEND112()
|
I = TECEND112()
|
||||||
|
|
||||||
C
|
C
|
||||||
C Close out file 2.
|
C Close out file 2.
|
||||||
C
|
C
|
||||||
III = 2
|
III = 2
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
I = TECEND112()
|
I = TECEND112()
|
||||||
STOP
|
STOP
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
!
|
!
|
||||||
! Complex example FORTRAN program to write a
|
! Complex example FORTRAN program to write a
|
||||||
! binary data file for Tecplot. This example
|
! binary data file for Tecplot. This example
|
||||||
! does the following:
|
! does the following:
|
||||||
!
|
!
|
||||||
! 1. Open a data file called "field.plt."
|
! 1. Open a data file called "field.plt."
|
||||||
! 2. Open a data file called "line.plt."
|
! 2. Open a data file called "line.plt."
|
||||||
! 3. Assign values for X, Y and P. These will be used
|
! 3. Assign values for X, Y and P. These will be used
|
||||||
|
@ -16,19 +16,19 @@
|
||||||
! 9. Write out a geometry (circle) record to "field.plt."
|
! 9. Write out a geometry (circle) record to "field.plt."
|
||||||
! 10. Close file 1.
|
! 10. Close file 1.
|
||||||
! 11. Close file 2.
|
! 11. Close file 2.
|
||||||
!
|
!
|
||||||
Program ComplexTest
|
Program ComplexTest
|
||||||
|
|
||||||
Include "tecio.f90"
|
Include "tecio.f90"
|
||||||
|
|
||||||
REAL*4 X(4,5), Y(4,5), P(4,5)
|
REAL*4 X(4,5), Y(4,5), P(4,5)
|
||||||
REAL*8 XL(50), YL(50)
|
REAL*8 XL(50), YL(50)
|
||||||
REAL*4 XLDummy(1), YLDummy(1)
|
REAL*4 XLDummy(1), YLDummy(1)
|
||||||
EQUIVALENCE (XLDummy(1), XL(1))
|
EQUIVALENCE (XLDummy(1), XL(1))
|
||||||
EQUIVALENCE (YLDummy(1), YL(1))
|
EQUIVALENCE (YLDummy(1), YL(1))
|
||||||
REAL*8 SolTime
|
REAL*8 SolTime
|
||||||
INTEGER*4 Debug,I,J,K,L,III,NPts,NElm,DIsDouble,VIsDouble,FileType
|
INTEGER*4 Debug,I,J,K,L,III,NPts,NElm,DIsDouble,VIsDouble,FileType
|
||||||
INTEGER*4 IMax,JMax,KMax,NM(4,12)
|
INTEGER*4 IMax,JMax,KMax,NM(4,12)
|
||||||
INTEGER*4 StrandID,ParentZn
|
INTEGER*4 StrandID,ParentZn
|
||||||
INTEGER*4 SharingZone(3)
|
INTEGER*4 SharingZone(3)
|
||||||
REAL*8 XP, YP, ZP, FH, LineSpacing, PatternLength
|
REAL*8 XP, YP, ZP, FH, LineSpacing, PatternLength
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
NullPtr = 0
|
NullPtr = 0
|
||||||
!
|
!
|
||||||
! Open field.plt and write the header information.
|
! Open field.plt and write the header information.
|
||||||
!
|
!
|
||||||
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '// &
|
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '// &
|
||||||
'1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR, &
|
'1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR, &
|
||||||
'X Y P'//NULCHAR, &
|
'X Y P'//NULCHAR, &
|
||||||
|
@ -65,9 +65,9 @@
|
||||||
FileType, &
|
FileType, &
|
||||||
Debug, &
|
Debug, &
|
||||||
VIsDouble)
|
VIsDouble)
|
||||||
!
|
!
|
||||||
! Open line.plt and write the header information.
|
! Open line.plt and write the header information.
|
||||||
!
|
!
|
||||||
VIsDouble = 1
|
VIsDouble = 1
|
||||||
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR, &
|
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR, &
|
||||||
'X Y'//NULCHAR, &
|
'X Y'//NULCHAR, &
|
||||||
|
@ -77,9 +77,9 @@
|
||||||
Debug, &
|
Debug, &
|
||||||
VIsDouble)
|
VIsDouble)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Calculate values for the field variables.
|
! Calculate values for the field variables.
|
||||||
!
|
!
|
||||||
Do 10 J = 1,5
|
Do 10 J = 1,5
|
||||||
Do 10 I = 1,4
|
Do 10 I = 1,4
|
||||||
X(I,J) = I
|
X(I,J) = I
|
||||||
|
@ -87,22 +87,22 @@
|
||||||
P(I,J) = I*J
|
P(I,J) = I*J
|
||||||
10 Continue
|
10 Continue
|
||||||
|
|
||||||
!
|
!
|
||||||
! Make sure writing to file #1.
|
! Make sure writing to file #1.
|
||||||
!
|
!
|
||||||
III = 1
|
III = 1
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Write the zone header information for the ordered zone.
|
! Write the zone header information for the ordered zone.
|
||||||
!
|
!
|
||||||
IMax = 4
|
IMax = 4
|
||||||
JMax = 5
|
JMax = 5
|
||||||
KMax = 1
|
KMax = 1
|
||||||
SolTime = 10.0
|
SolTime = 10.0
|
||||||
StrandID = 1
|
StrandID = 1
|
||||||
ParentZn = 0
|
ParentZn = 0
|
||||||
I = TECZNE112('Ordered Zone 1'//NULCHAR, &
|
I = TECZNE112('Ordered Zone 1'//NULCHAR, &
|
||||||
0, & ! ZONETYPE
|
0, & ! ZONETYPE
|
||||||
IMax, &
|
IMax, &
|
||||||
JMax, &
|
JMax, &
|
||||||
|
@ -124,31 +124,31 @@
|
||||||
Null, & ! ShareVarFromZone
|
Null, & ! ShareVarFromZone
|
||||||
0) ! ShareConnectivityFromZone)
|
0) ! ShareConnectivityFromZone)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Write out the field data for the ordered zone.
|
! Write out the field data for the ordered zone.
|
||||||
!
|
!
|
||||||
III = IMax*JMax
|
III = IMax*JMax
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
I = TECDAT112(III,X,DIsDouble)
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
I = TECDAT112(III,Y,DIsDouble)
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Calculate values for the I-ordered zone.
|
! Calculate values for the I-ordered zone.
|
||||||
!
|
!
|
||||||
|
|
||||||
Do 20 I = 1,50
|
Do 20 I = 1,50
|
||||||
XL(I) = I
|
XL(I) = I
|
||||||
YL(I) = sin(I/20.0)
|
YL(I) = sin(I/20.0)
|
||||||
20 Continue
|
20 Continue
|
||||||
!
|
!
|
||||||
! Switch to the 'line.plt' file (file number 2)
|
! Switch to the 'line.plt' file (file number 2)
|
||||||
! and write out the line plot data.
|
! and write out the line plot data.
|
||||||
!
|
!
|
||||||
III = 2
|
III = 2
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
!
|
!
|
||||||
! Write the zone header information for the XY-data.
|
! Write the zone header information for the XY-data.
|
||||||
!
|
!
|
||||||
IMax = 50
|
IMax = 50
|
||||||
JMax = 1
|
JMax = 1
|
||||||
KMax = 1
|
KMax = 1
|
||||||
|
@ -175,18 +175,18 @@
|
||||||
Null, &
|
Null, &
|
||||||
Null, &
|
Null, &
|
||||||
0)
|
0)
|
||||||
!
|
!
|
||||||
! Write out the line plot.
|
! Write out the line plot.
|
||||||
!
|
!
|
||||||
DIsDouble = 1
|
DIsDouble = 1
|
||||||
III = IMax
|
III = IMax
|
||||||
I = TECDAT112(III,XLDummy,DIsDouble)
|
I = TECDAT112(III,XLDummy,DIsDouble)
|
||||||
I = TECDAT112(III,YLDummy,DIsDouble)
|
I = TECDAT112(III,YLDummy,DIsDouble)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Switch back to the field plot file and write out
|
! Switch back to the field plot file and write out
|
||||||
! the finite-element zone.
|
! the finite-element zone.
|
||||||
!
|
!
|
||||||
III = 1
|
III = 1
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
!
|
!
|
||||||
|
@ -198,12 +198,12 @@
|
||||||
Y(I,J) = J
|
Y(I,J) = J
|
||||||
P(I,J) = I*J
|
P(I,J) = I*J
|
||||||
30 Continue
|
30 Continue
|
||||||
!
|
!
|
||||||
! Write the zone header information for the finite-element zone.
|
! Write the zone header information for the finite-element zone.
|
||||||
!
|
!
|
||||||
NPts = 20
|
NPts = 20
|
||||||
NElm = 12
|
NElm = 12
|
||||||
KMax = 1
|
KMax = 1
|
||||||
SolTime = 10.0
|
SolTime = 10.0
|
||||||
StrandID = 2
|
StrandID = 2
|
||||||
I = TECZNE112('Finite Zone 1'//NULCHAR, &
|
I = TECZNE112('Finite Zone 1'//NULCHAR, &
|
||||||
|
@ -227,9 +227,9 @@
|
||||||
Null, &
|
Null, &
|
||||||
Null, &
|
Null, &
|
||||||
0)
|
0)
|
||||||
!
|
!
|
||||||
! Write out the field data for the finite-element zone.
|
! Write out the field data for the finite-element zone.
|
||||||
!
|
!
|
||||||
IMax = 4
|
IMax = 4
|
||||||
JMax = 5
|
JMax = 5
|
||||||
III = IMax*JMax
|
III = IMax*JMax
|
||||||
|
@ -238,11 +238,11 @@
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
I = TECDAT112(III,Y,DIsDouble)
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Calculate and then write out the connectivity list.
|
! Calculate and then write out the connectivity list.
|
||||||
! Note: The NM array references cells starting with
|
! Note: The NM array references cells starting with
|
||||||
! offset of 1.
|
! offset of 1.
|
||||||
!
|
!
|
||||||
|
|
||||||
Do 40 I = 1,IMax-1
|
Do 40 I = 1,IMax-1
|
||||||
Do 40 J = 1,JMax-1
|
Do 40 J = 1,JMax-1
|
||||||
|
@ -348,30 +348,30 @@
|
||||||
DIsDouble = 0
|
DIsDouble = 0
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
I = TECDAT112(III,P,DIsDouble)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Prepare to write out text record. Text is positioned
|
! Prepare to write out text record. Text is positioned
|
||||||
! at 50, 50 in frame units and has a height 5 frame units.
|
! at 50, 50 in frame units and has a height 5 frame units.
|
||||||
!
|
!
|
||||||
XP = 50
|
XP = 50
|
||||||
YP = 50
|
YP = 50
|
||||||
FH = 5
|
FH = 5
|
||||||
Scope = 1
|
Scope = 1
|
||||||
Clipping = 0
|
Clipping = 0
|
||||||
PositionCoordSys = 1
|
PositionCoordSys = 1
|
||||||
FontType = 1
|
FontType = 1
|
||||||
HeightUnits = 1
|
HeightUnits = 1
|
||||||
AttachToZone = 0
|
AttachToZone = 0
|
||||||
Zone = 0
|
Zone = 0
|
||||||
BoxType = 0
|
BoxType = 0
|
||||||
BoxMargin = 5.0
|
BoxMargin = 5.0
|
||||||
BoxLineThickness = 0.5
|
BoxLineThickness = 0.5
|
||||||
BoxColor = 3
|
BoxColor = 3
|
||||||
BoxFillColor = 7
|
BoxFillColor = 7
|
||||||
TextAngle = 0.0
|
TextAngle = 0.0
|
||||||
Anchor = 0
|
Anchor = 0
|
||||||
LineSpacing = 1.5
|
LineSpacing = 1.5
|
||||||
TextColor = 0
|
TextColor = 0
|
||||||
|
|
||||||
III = TECTXT112(XP, &
|
III = TECTXT112(XP, &
|
||||||
YP, &
|
YP, &
|
||||||
0.0d0, &
|
0.0d0, &
|
||||||
|
@ -395,11 +395,11 @@
|
||||||
'Hi Mom'//NULCHAR, &
|
'Hi Mom'//NULCHAR, &
|
||||||
NULCHAR)
|
NULCHAR)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Prepare to write out geometry record (circle). Circle is
|
! Prepare to write out geometry record (circle). Circle is
|
||||||
! positioned at 25, 25 in frame units and has a radius of 30.
|
! positioned at 25, 25 in frame units and has a radius of 30.
|
||||||
! Circle is drawn using a dashed line pattern.
|
! Circle is drawn using a dashed line pattern.
|
||||||
!
|
!
|
||||||
|
|
||||||
|
|
||||||
XP = 25
|
XP = 25
|
||||||
|
@ -408,8 +408,8 @@
|
||||||
IsFilled = 0
|
IsFilled = 0
|
||||||
Color = 0
|
Color = 0
|
||||||
FillColor = 7
|
FillColor = 7
|
||||||
GeomType = 2
|
GeomType = 2
|
||||||
LinePattern = 1
|
LinePattern = 1
|
||||||
LineThickness = 0.3
|
LineThickness = 0.3
|
||||||
PatternLength = 1
|
PatternLength = 1
|
||||||
NumEllipsePts = 72
|
NumEllipsePts = 72
|
||||||
|
@ -419,12 +419,12 @@
|
||||||
ArrowheadAngle = 15.0
|
ArrowheadAngle = 15.0
|
||||||
NumSegments = 1
|
NumSegments = 1
|
||||||
NumSegPts(1) = 1
|
NumSegPts(1) = 1
|
||||||
|
|
||||||
XGeomData(1) = 30
|
XGeomData(1) = 30
|
||||||
YGeomData(1) = 0.0
|
YGeomData(1) = 0.0
|
||||||
ZGeomData(1) = 0.0
|
ZGeomData(1) = 0.0
|
||||||
|
|
||||||
|
|
||||||
III = TECGEO112(XP, &
|
III = TECGEO112(XP, &
|
||||||
YP, &
|
YP, &
|
||||||
ZP, &
|
ZP, &
|
||||||
|
@ -451,17 +451,17 @@
|
||||||
YGeomData, &
|
YGeomData, &
|
||||||
ZGeomData, &
|
ZGeomData, &
|
||||||
NULCHAR)
|
NULCHAR)
|
||||||
|
|
||||||
!
|
!
|
||||||
! Close out file 1.
|
! Close out file 1.
|
||||||
!
|
!
|
||||||
I = TECEND112()
|
I = TECEND112()
|
||||||
|
|
||||||
!
|
!
|
||||||
! Close out file 2.
|
! Close out file 2.
|
||||||
!
|
!
|
||||||
III = 2
|
III = 2
|
||||||
I = TECFIL112(III)
|
I = TECFIL112(III)
|
||||||
I = TECEND112()
|
I = TECEND112()
|
||||||
STOP
|
STOP
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,346 +1,346 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="comtestc"
|
Name="comtestc"
|
||||||
ProjectGUID="{723FBFD1-5AF2-4154-B77A-CE3849EAFCA2}"
|
ProjectGUID="{723FBFD1-5AF2-4154-B77A-CE3849EAFCA2}"
|
||||||
RootNamespace="comtestc"
|
RootNamespace="comtestc"
|
||||||
Keyword="Win32Proj"
|
Keyword="Win32Proj"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"
|
||||||
/>
|
/>
|
||||||
<Platform
|
<Platform
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
<ToolFiles>
|
||||||
</ToolFiles>
|
</ToolFiles>
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\comtest.c"
|
RelativePath=".\comtest.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
</VisualStudioProject>
|
</VisualStudioProject>
|
||||||
|
|
|
@ -6,19 +6,19 @@
|
||||||
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2013R1)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/comtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2013R1)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/comtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
||||||
<Tool Name="VFPreLinkEventTool"/></Configuration>
|
<Tool Name="VFPreLinkEventTool"/></Configuration>
|
||||||
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)" MustRebuild="true">
|
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)" MustRebuild="true">
|
||||||
<Tool Name="VFMidlTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
<Tool Name="VFMidlTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
<Tool Name="VFFortranCompilerTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
<Tool Name="VFFortranCompilerTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2013R1)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
<Tool Name="VFLinkerTool" SwitchesHaveChanged="true" MustRebuild="true" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
<Tool Name="VFLinkerTool" SwitchesHaveChanged="true" MustRebuild="true" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2013R1)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
||||||
<Tool Name="VFResourceCompilerTool" SwitchesHaveChanged="true" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
<Tool Name="VFResourceCompilerTool" SwitchesHaveChanged="true" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
||||||
<Tool Name="VFPreLinkEventTool"/></Configuration></Configurations>
|
<Tool Name="VFPreLinkEventTool"/></Configuration></Configurations>
|
||||||
<Files>
|
<Files>
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=faceneighbors
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=gridsolution
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -89,7 +89,6 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_tecdat.txt*/
|
/* DOCSTART:gridsolution_grid_tecdat.txt*/
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
/* TECDAT Parameters */
|
||||||
double Phi = 0.5 * (1.0 + sqrt(5.0));
|
double Phi = 0.5 * (1.0 + sqrt(5.0));
|
||||||
double Pi = 3.141592653578;
|
double Pi = 3.141592653578;
|
||||||
|
@ -105,8 +104,8 @@ int main()
|
||||||
Z[Count] = Phi + 1.0;
|
Z[Count] = Phi + 1.0;
|
||||||
Count++;
|
Count++;
|
||||||
|
|
||||||
X[Count] = -X[Count - 1];
|
X[Count] = -X[Count - 1];
|
||||||
Y[Count] = -Y[Count - 1];
|
Y[Count] = -Y[Count - 1];
|
||||||
Z[Count] = -Z[Count - 1];
|
Z[Count] = -Z[Count - 1];
|
||||||
Count++;
|
Count++;
|
||||||
|
|
||||||
|
@ -115,26 +114,25 @@ int main()
|
||||||
Z[Count] = Phi - 1.0;
|
Z[Count] = Phi - 1.0;
|
||||||
Count++;
|
Count++;
|
||||||
|
|
||||||
X[Count] = -X[Count - 1];
|
X[Count] = -X[Count - 1];
|
||||||
Y[Count] = -Y[Count - 1];
|
Y[Count] = -Y[Count - 1];
|
||||||
Z[Count] = -Z[Count - 1];
|
Z[Count] = -Z[Count - 1];
|
||||||
Count++;
|
Count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
INTEGER4 IsDouble = 1;
|
||||||
|
|
||||||
I = TECDAT112(&NumPts, X, &IsDouble);
|
I = TECDAT112(&NumPts, X, &IsDouble);
|
||||||
I = TECDAT112(&NumPts, Y, &IsDouble);
|
I = TECDAT112(&NumPts, Y, &IsDouble);
|
||||||
I = TECDAT112(&NumPts, Z, &IsDouble);
|
I = TECDAT112(&NumPts, Z, &IsDouble);
|
||||||
|
|
||||||
delete X;
|
delete X;
|
||||||
delete Y;
|
delete Y;
|
||||||
delete Z;
|
delete Z;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_facenodes.txt*/
|
/* DOCSTART:gridsolution_grid_facenodes.txt*/
|
||||||
/* TecPoly Parameters */
|
/* TecPolyFace Parameters */
|
||||||
|
|
||||||
/* Create a FaceNodes array, dimensioned by the total number
|
/* Create a FaceNodes array, dimensioned by the total number
|
||||||
* of face nodes in the zone.
|
* of face nodes in the zone.
|
||||||
|
@ -225,7 +223,6 @@ int main()
|
||||||
FaceNodes[n++] = 9;
|
FaceNodes[n++] = 9;
|
||||||
FaceNodes[n++] = 13;
|
FaceNodes[n++] = 13;
|
||||||
FaceNodes[n++] = 17;
|
FaceNodes[n++] = 17;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* Specify the number of nodes for each face, and the right and
|
/* Specify the number of nodes for each face, and the right and
|
||||||
|
@ -277,21 +274,17 @@ int main()
|
||||||
FaceLeftElems[10] = 0;
|
FaceLeftElems[10] = 0;
|
||||||
FaceLeftElems[11] = 1;
|
FaceLeftElems[11] = 1;
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts,
|
I = TECPOLYFACE112(&NumFaces,
|
||||||
FaceNodes,
|
FaceNodeCounts,
|
||||||
FaceLeftElems,
|
FaceNodes,
|
||||||
FaceRightElems,
|
FaceLeftElems,
|
||||||
NULL, /* No boundary connections. */
|
FaceRightElems);
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
delete FaceNodes;
|
delete FaceNodes;
|
||||||
delete FaceLeftElems;
|
delete FaceLeftElems;
|
||||||
delete FaceRightElems;
|
delete FaceRightElems;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_tecend.txt*/
|
/* DOCSTART:gridsolution_grid_tecend.txt*/
|
||||||
I = TECEND112();
|
I = TECEND112();
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
@ -348,7 +341,6 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecdat.txt*/
|
/* DOCSTART:gridsolution_solution_tecdat.txt*/
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
/* TECDAT Parameters */
|
||||||
double *P = new double[NumPts];
|
double *P = new double[NumPts];
|
||||||
double *T = new double[NumPts];
|
double *T = new double[NumPts];
|
||||||
|
@ -364,13 +356,12 @@ int main()
|
||||||
|
|
||||||
delete P;
|
delete P;
|
||||||
delete T;
|
delete T;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecend.txt*/
|
/* DOCSTART:gridsolution_solution_tecend.txt*/
|
||||||
I = TECEND112();
|
I = TECEND112();
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,321 +1,321 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="gridsolution"
|
Name="gridsolution"
|
||||||
ProjectGUID="{D2747EA6-7807-42E1-984D-C946B3D97D95}"
|
ProjectGUID="{D2747EA6-7807-42E1-984D-C946B3D97D95}"
|
||||||
RootNamespace="mulitplepolygons"
|
RootNamespace="mulitplepolygons"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"
|
||||||
/>
|
/>
|
||||||
<Platform
|
<Platform
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
<ToolFiles>
|
||||||
</ToolFiles>
|
</ToolFiles>
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\gridsolution.cpp"
|
RelativePath=".\gridsolution.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
</VisualStudioProject>
|
</VisualStudioProject>
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=ij_ordered
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=multiplefiles
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
Binary file not shown.
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=multiplepolygons
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* This example illustrates using TecPoly to create two polygonal
|
/* This example illustrates using TecPolyFace and TecPolyBConn to create
|
||||||
* zones. The first zone contains six hexagons, and the second
|
* two polygonal zones. The first zone contains six hexagons, and the
|
||||||
* zone contains a hexagon and an octagon. Refer to the Data
|
* second zone contains a hexagon and an octagon. Refer to the Data
|
||||||
* Format Guide for a picture of the configuration, including node
|
* Format Guide for a picture of the configuration, including node
|
||||||
* and face numbers.
|
* and face numbers.
|
||||||
*/
|
*/
|
||||||
|
@ -38,12 +38,12 @@ int main()
|
||||||
/* TECZNE Parameters */
|
/* TECZNE Parameters */
|
||||||
INTEGER4 ZoneType = 6; /* FE Polygon */
|
INTEGER4 ZoneType = 6; /* FE Polygon */
|
||||||
INTEGER4 NumPts_Z1 = 13; /* the number of unique
|
INTEGER4 NumPts_Z1 = 13; /* the number of unique
|
||||||
* nodes in the zone.
|
* nodes in the zone.
|
||||||
*/
|
*/
|
||||||
INTEGER4 NumElems_Z1 = 3;
|
INTEGER4 NumElems_Z1 = 3;
|
||||||
INTEGER4 NumFaces_Z1 = 15; /* the number of unique
|
INTEGER4 NumFaces_Z1 = 15; /* the number of unique
|
||||||
* faces in the zone.
|
* faces in the zone.
|
||||||
*/
|
*/
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
INTEGER4 ICellMax = 0; /* not used */
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
INTEGER4 JCellMax = 0; /* not used */
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
INTEGER4 KCellMax = 0; /* not used */
|
||||||
|
@ -71,13 +71,13 @@ int main()
|
||||||
INTEGER4 TotalNumBndryFaces_Z1 = 3;
|
INTEGER4 TotalNumBndryFaces_Z1 = 3;
|
||||||
|
|
||||||
/* Each boundary face has one or more boundary connections. A
|
/* Each boundary face has one or more boundary connections. A
|
||||||
* boundary connection is defined as another element in another
|
* boundary connection is defined as another element in another
|
||||||
* zone. Face 9 has a boundary connection with Element 1 in
|
* zone. Face 9 has a boundary connection with Element 1 in
|
||||||
* Zone 2. In this example, each boundary face is connected to
|
* Zone 2. In this example, each boundary face is connected to
|
||||||
* one other element, so the total number of boundary
|
* one other element, so the total number of boundary
|
||||||
* connections is equivalent to the total number of boundary
|
* connections is equivalent to the total number of boundary
|
||||||
* faces (3).
|
* faces (3).
|
||||||
*/
|
*/
|
||||||
INTEGER4 TotalNumBndryConns_Z1 = 3;
|
INTEGER4 TotalNumBndryConns_Z1 = 3;
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 1: 3 Hexagons", /* Specifies the name of
|
I = TECZNE112((char*)"Zone 1: 3 Hexagons", /* Specifies the name of
|
||||||
|
@ -110,7 +110,6 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_tecdat.txt*/
|
/* DOCSTART:hexagons_zone1_tecdat.txt*/
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
/* TECDAT Parameters */
|
||||||
double *X_Z1 = new double[NumPts_Z1];
|
double *X_Z1 = new double[NumPts_Z1];
|
||||||
double *Y_Z1 = new double[NumPts_Z1];
|
double *Y_Z1 = new double[NumPts_Z1];
|
||||||
|
@ -154,13 +153,11 @@ int main()
|
||||||
X_Z1[12] = 0;
|
X_Z1[12] = 0;
|
||||||
Y_Z1[12] = 3;
|
Y_Z1[12] = 3;
|
||||||
|
|
||||||
|
|
||||||
double *P_Z1 = new double[NumElems_Z1];
|
double *P_Z1 = new double[NumElems_Z1];
|
||||||
P_Z1[0] = 2;
|
P_Z1[0] = 2;
|
||||||
P_Z1[1] = 4;
|
P_Z1[1] = 4;
|
||||||
P_Z1[2] = 5;
|
P_Z1[2] = 5;
|
||||||
|
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
INTEGER4 IsDouble = 1;
|
||||||
I = TECDAT112(&NumPts_Z1, X_Z1, &IsDouble);
|
I = TECDAT112(&NumPts_Z1, X_Z1, &IsDouble);
|
||||||
I = TECDAT112(&NumPts_Z1, Y_Z1, &IsDouble);
|
I = TECDAT112(&NumPts_Z1, Y_Z1, &IsDouble);
|
||||||
|
@ -171,7 +168,7 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_facenodes.txt*/
|
/* DOCSTART:hexagons_zone1_facenodes.txt*/
|
||||||
/* TecPoly Parameters */
|
/* TecPolyFace Parameters */
|
||||||
|
|
||||||
/* Create a FaceNodes array, dimensioned by the total number
|
/* Create a FaceNodes array, dimensioned by the total number
|
||||||
* of face nodes in the zone.
|
* of face nodes in the zone.
|
||||||
|
@ -225,7 +222,6 @@ int main()
|
||||||
|
|
||||||
FaceNodes_Z1[28] = 13;
|
FaceNodes_Z1[28] = 13;
|
||||||
FaceNodes_Z1[29] = 5;
|
FaceNodes_Z1[29] = 5;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* Specify the right and left neighboring elements.
|
/* Specify the right and left neighboring elements.
|
||||||
|
@ -259,7 +255,7 @@ int main()
|
||||||
FaceLeftElems_Z1[7] = 0;
|
FaceLeftElems_Z1[7] = 0;
|
||||||
FaceLeftElems_Z1[8] = -1;
|
FaceLeftElems_Z1[8] = -1;
|
||||||
FaceLeftElems_Z1[9] = -2;
|
FaceLeftElems_Z1[9] = -2;
|
||||||
FaceLeftElems_Z1[10] = 2;
|
FaceLeftElems_Z1[10] = 3;
|
||||||
|
|
||||||
/* Left Face Elems for Element 3 */
|
/* Left Face Elems for Element 3 */
|
||||||
FaceLeftElems_Z1[11] = -3;
|
FaceLeftElems_Z1[11] = -3;
|
||||||
|
@ -274,14 +270,25 @@ int main()
|
||||||
for (INTEGER4 ii = 0; ii < 6; ii++)
|
for (INTEGER4 ii = 0; ii < 6; ii++)
|
||||||
FaceRightElems_Z1[ii] = 1;
|
FaceRightElems_Z1[ii] = 1;
|
||||||
|
|
||||||
for (INTEGER4 ii = 6; ii < 10; ii++)
|
for (INTEGER4 ii = 6; ii < 11; ii++)
|
||||||
FaceRightElems_Z1[ii] = 2;
|
FaceRightElems_Z1[ii] = 2;
|
||||||
|
|
||||||
for (INTEGER4 ii = 10; ii <= 14; ii++)
|
for (INTEGER4 ii = 11; ii <= 14; ii++)
|
||||||
FaceRightElems_Z1[ii] = 3;
|
FaceRightElems_Z1[ii] = 3;
|
||||||
|
|
||||||
|
I = TECPOLYFACE112(&NumFaces_Z1,
|
||||||
|
NULL, /* Not used for polygon zones */
|
||||||
|
FaceNodes_Z1,
|
||||||
|
FaceLeftElems_Z1,
|
||||||
|
FaceRightElems_Z1);
|
||||||
|
|
||||||
|
delete FaceNodes_Z1;
|
||||||
|
delete FaceLeftElems_Z1;
|
||||||
|
delete FaceRightElems_Z1;
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_tecpoly.txt */
|
/* DOCSTART:hexagons_zone1_tecpoly.txt */
|
||||||
|
/* TecPolyBConn Parameters */
|
||||||
|
|
||||||
/* The FaceBndryConnectionCounts array is used to define the
|
/* The FaceBndryConnectionCounts array is used to define the
|
||||||
* number of boundary connections for each face that has a
|
* number of boundary connections for each face that has a
|
||||||
|
@ -308,31 +315,22 @@ int main()
|
||||||
INTEGER4 FaceBndryConnectionElems_Z1[3] = {1, 2, 2};
|
INTEGER4 FaceBndryConnectionElems_Z1[3] = {1, 2, 2};
|
||||||
INTEGER4 FaceBndryConnectionZones_Z1[3] = {2, 2, 2};
|
INTEGER4 FaceBndryConnectionZones_Z1[3] = {2, 2, 2};
|
||||||
|
|
||||||
|
I = TECPOLYBCONN112(&TotalNumBndryFaces_Z1,
|
||||||
I = TECPOLY112(NULL, /* Not used for polygon zones */
|
FaceBndryConnectionCounts_Z1,
|
||||||
FaceNodes_Z1,
|
FaceBndryConnectionElems_Z1,
|
||||||
FaceLeftElems_Z1,
|
FaceBndryConnectionZones_Z1);
|
||||||
FaceRightElems_Z1,
|
|
||||||
FaceBndryConnectionCounts_Z1,
|
|
||||||
FaceBndryConnectionElems_Z1,
|
|
||||||
FaceBndryConnectionZones_Z1);
|
|
||||||
|
|
||||||
delete FaceNodes_Z1;
|
|
||||||
delete FaceLeftElems_Z1;
|
|
||||||
delete FaceRightElems_Z1;
|
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* Define Zone 2. Zone 2 contains an octagon and a hexagon. */
|
/* Define Zone 2. Zone 2 contains an octagon and a hexagon. */
|
||||||
/* TECZNE Parameters */
|
/* TECZNE Parameters */
|
||||||
/* DOCSTART:hexagons_zone2_teczne.txt*/
|
/* DOCSTART:hexagons_zone2_teczne.txt*/
|
||||||
INTEGER4 NumPts_Z2 = 12; /* number of unique
|
INTEGER4 NumPts_Z2 = 12; /* number of unique
|
||||||
* nodes in the zone
|
* nodes in the zone
|
||||||
*/
|
*/
|
||||||
INTEGER4 NumElems_Z2 = 2;
|
INTEGER4 NumElems_Z2 = 2;
|
||||||
INTEGER4 NumFaces_Z2 = 13; /* number of unique
|
INTEGER4 NumFaces_Z2 = 13; /* number of unique
|
||||||
* faces in the zone
|
* faces in the zone
|
||||||
*/
|
*/
|
||||||
INTEGER4 NumFaceConnections_Z2 = 0;
|
INTEGER4 NumFaceConnections_Z2 = 0;
|
||||||
/* In polygonal zones, each face has exactly two nodes */
|
/* In polygonal zones, each face has exactly two nodes */
|
||||||
INTEGER4 TotalNumFaceNodes_Z2 = NumFaces_Z2 * 2;
|
INTEGER4 TotalNumFaceNodes_Z2 = NumFaces_Z2 * 2;
|
||||||
|
@ -397,7 +395,6 @@ int main()
|
||||||
X_Z2[5] = 4;
|
X_Z2[5] = 4;
|
||||||
Y_Z2[5] = 3;
|
Y_Z2[5] = 3;
|
||||||
|
|
||||||
|
|
||||||
X_Z2[6] = 3;
|
X_Z2[6] = 3;
|
||||||
Y_Z2[6] = 3;
|
Y_Z2[6] = 3;
|
||||||
|
|
||||||
|
@ -433,7 +430,7 @@ int main()
|
||||||
delete P_Z2;
|
delete P_Z2;
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* TecPoly Parameters */
|
/* TecPolyFace Parameters */
|
||||||
/* DOCSTART:hexagons_zone2_facemap.txt*/
|
/* DOCSTART:hexagons_zone2_facemap.txt*/
|
||||||
INTEGER4 *FaceNodes_Z2;
|
INTEGER4 *FaceNodes_Z2;
|
||||||
FaceNodes_Z2 = new INTEGER4[TotalNumFaceNodes_Z2];
|
FaceNodes_Z2 = new INTEGER4[TotalNumFaceNodes_Z2];
|
||||||
|
@ -457,7 +454,6 @@ int main()
|
||||||
FaceNodes_Z2[10] = 6;
|
FaceNodes_Z2[10] = 6;
|
||||||
FaceNodes_Z2[11] = 1;
|
FaceNodes_Z2[11] = 1;
|
||||||
|
|
||||||
|
|
||||||
/* Face Nodes for Element 2 */
|
/* Face Nodes for Element 2 */
|
||||||
FaceNodes_Z2[12] = 7;
|
FaceNodes_Z2[12] = 7;
|
||||||
FaceNodes_Z2[13] = 6;
|
FaceNodes_Z2[13] = 6;
|
||||||
|
@ -481,8 +477,7 @@ int main()
|
||||||
FaceNodes_Z2[25] = 7;
|
FaceNodes_Z2[25] = 7;
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
|
/* DOCSTART:hexagons_zone2_tecpolyface.txt*/
|
||||||
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
|
|
||||||
/* Specify the right and left neighboring elements.
|
/* Specify the right and left neighboring elements.
|
||||||
* The neighboring elements can be determined using the
|
* The neighboring elements can be determined using the
|
||||||
* right-hand rule. For each face, place your right-hand along
|
* right-hand rule. For each face, place your right-hand along
|
||||||
|
@ -525,6 +520,16 @@ int main()
|
||||||
|
|
||||||
for (INTEGER4 ii = 6; ii < 13; ii++)
|
for (INTEGER4 ii = 6; ii < 13; ii++)
|
||||||
FaceRightElems_Z2[ii] = 2;
|
FaceRightElems_Z2[ii] = 2;
|
||||||
|
|
||||||
|
I = TECPOLYFACE112(&NumFaces_Z2,
|
||||||
|
NULL,
|
||||||
|
FaceNodes_Z2,
|
||||||
|
FaceLeftElems_Z2,
|
||||||
|
FaceRightElems_Z2);
|
||||||
|
|
||||||
|
delete FaceNodes_Z2;
|
||||||
|
delete FaceLeftElems_Z2;
|
||||||
|
delete FaceRightElems_Z2;
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
|
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
|
||||||
|
@ -548,17 +553,10 @@ int main()
|
||||||
INTEGER4 FaceBndryConnectionElems_Z2[3] = {2, 3, 3};
|
INTEGER4 FaceBndryConnectionElems_Z2[3] = {2, 3, 3};
|
||||||
INTEGER4 FaceBndryConnectionZones_Z2[3] = {1, 1, 1};
|
INTEGER4 FaceBndryConnectionZones_Z2[3] = {1, 1, 1};
|
||||||
|
|
||||||
I = TECPOLY112(NULL,
|
I = TECPOLYBCONN112(&TotalNumBndryFaces_Z2,
|
||||||
FaceNodes_Z2,
|
FaceBndryConnectionCounts_Z2,
|
||||||
FaceLeftElems_Z2,
|
FaceBndryConnectionElems_Z2,
|
||||||
FaceRightElems_Z2,
|
FaceBndryConnectionZones_Z2);
|
||||||
FaceBndryConnectionCounts_Z2,
|
|
||||||
FaceBndryConnectionElems_Z2,
|
|
||||||
FaceBndryConnectionZones_Z2);
|
|
||||||
|
|
||||||
delete FaceNodes_Z2;
|
|
||||||
delete FaceLeftElems_Z2;
|
|
||||||
delete FaceRightElems_Z2;
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
||||||
/* DOCSTART:hexagons_tecend.txt*/
|
/* DOCSTART:hexagons_tecend.txt*/
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=octagon
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -90,9 +90,9 @@ int main()
|
||||||
&NumBConnections,
|
&NumBConnections,
|
||||||
NULL,
|
NULL,
|
||||||
NULL, /* When Value Location is not specified,
|
NULL, /* When Value Location is not specified,
|
||||||
* Tecplot will treat all variables as
|
* Tecplot will treat all variables as
|
||||||
* nodal variables.
|
* nodal variables.
|
||||||
*/
|
*/
|
||||||
NULL,
|
NULL,
|
||||||
&ShrConn);
|
&ShrConn);
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
@ -110,7 +110,7 @@ int main()
|
||||||
* It is important that you refer to node numbers consistently.
|
* It is important that you refer to node numbers consistently.
|
||||||
* The node numbers will be used later to define the
|
* The node numbers will be used later to define the
|
||||||
* connectivity for each element.
|
* connectivity for each element.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* TECDAT Variables */
|
/* TECDAT Variables */
|
||||||
/* Set up the variable values. The variable values will be
|
/* Set up the variable values. The variable values will be
|
||||||
|
@ -195,7 +195,6 @@ int main()
|
||||||
FaceNodes[2*ii+1] = ii + 2;
|
FaceNodes[2*ii+1] = ii + 2;
|
||||||
}
|
}
|
||||||
FaceNodes[15] = 1;
|
FaceNodes[15] = 1;
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
/* Define the right and left elements of each face.
|
/* Define the right and left elements of each face.
|
||||||
|
|
||||||
|
@ -228,13 +227,11 @@ int main()
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
/* Write the polyhedral data to the file. */
|
/* Write the polyhedral data to the file. */
|
||||||
/* DOCSTART:octagon_tecpoly.txt*/
|
/* DOCSTART:octagon_tecpoly.txt*/
|
||||||
I = TECPOLY112(NULL,
|
I = TECPOLYFACE112(&NumFaces,
|
||||||
FaceNodes,
|
NULL,
|
||||||
FaceLeftElems,
|
FaceNodes,
|
||||||
FaceRightElems,
|
FaceLeftElems,
|
||||||
NULL,
|
FaceRightElems);
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
delete FaceNodes;
|
delete FaceNodes;
|
||||||
delete FaceLeftElems;
|
delete FaceLeftElems;
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=pyramid
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -20,7 +20,6 @@ int main()
|
||||||
&(Debug),
|
&(Debug),
|
||||||
&(VIsDouble));
|
&(VIsDouble));
|
||||||
|
|
||||||
|
|
||||||
/* Call TECZNE112 */
|
/* Call TECZNE112 */
|
||||||
INTEGER4 ZoneType = 7; /* 7 for FEPolyhedron */
|
INTEGER4 ZoneType = 7; /* 7 for FEPolyhedron */
|
||||||
INTEGER4 NumNodes = 5; /* number of unique nodes */
|
INTEGER4 NumNodes = 5; /* number of unique nodes */
|
||||||
|
@ -117,7 +116,7 @@ int main()
|
||||||
delete Z;
|
delete Z;
|
||||||
|
|
||||||
/* Define the Face Nodes.
|
/* Define the Face Nodes.
|
||||||
|
*
|
||||||
* The FaceNodes array is used to indicate which nodes define
|
* The FaceNodes array is used to indicate which nodes define
|
||||||
* which face. As mentioned earlier, the number of the nodes is
|
* which face. As mentioned earlier, the number of the nodes is
|
||||||
* implicitly defined by the order in which the nodal data is
|
* implicitly defined by the order in which the nodal data is
|
||||||
|
@ -201,14 +200,12 @@ int main()
|
||||||
FaceRightElems[3] = 1;
|
FaceRightElems[3] = 1;
|
||||||
FaceRightElems[4] = 1;
|
FaceRightElems[4] = 1;
|
||||||
|
|
||||||
/* Write the face map (created above) using TECPOLY112. */
|
/* Write the face map (created above) using TECPOLYFACE112. */
|
||||||
I = TECPOLY112(FaceNodeCounts, /* The face node counts array */
|
I = TECPOLYFACE112(&NumFaces,
|
||||||
FaceNodes, /* The face nodes array */
|
FaceNodeCounts, /* The face node counts array */
|
||||||
FaceLeftElems, /* The left elements array */
|
FaceNodes, /* The face nodes array */
|
||||||
FaceRightElems, /* The right elements array */
|
FaceLeftElems, /* The left elements array */
|
||||||
NULL, /* No boundary connection counts */
|
FaceRightElems); /* The right elements array */
|
||||||
NULL, /* No boundary connection elements */
|
|
||||||
NULL); /* No boundary connection zones */
|
|
||||||
|
|
||||||
delete FaceNodeCounts;
|
delete FaceNodeCounts;
|
||||||
delete FaceNodes;
|
delete FaceNodes;
|
||||||
|
@ -218,5 +215,4 @@ int main()
|
||||||
I = TECEND112();
|
I = TECEND112();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DOCEND */
|
/* DOCEND */
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=simtest
|
|
||||||
FILES=$(EXECUTABLE).c
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -11,6 +11,11 @@ C
|
||||||
C
|
C
|
||||||
program test
|
program test
|
||||||
|
|
||||||
|
C This code was written for FORTRAN77 compilers. If you are using a
|
||||||
|
C FORTRAN90/95 compiler, we recommend using the .f90 source code files.
|
||||||
|
C Otherwise, you will need to alter the include statement below to include
|
||||||
|
C tecio.for instead of tecio.inc.
|
||||||
|
|
||||||
INCLUDE 'tecio.inc'
|
INCLUDE 'tecio.inc'
|
||||||
|
|
||||||
character*1 NULLCHR
|
character*1 NULLCHR
|
||||||
|
@ -44,7 +49,7 @@ C
|
||||||
FNMode = 0
|
FNMode = 0
|
||||||
ShrConn = 0
|
ShrConn = 0
|
||||||
C
|
C
|
||||||
C... Open the file and write the tecplot datafile
|
C... Open the file and write the tecplot datafile
|
||||||
C... header information.
|
C... header information.
|
||||||
C
|
C
|
||||||
I = TecIni112('SIMPLE DATASET'//NULLCHR,
|
I = TecIni112('SIMPLE DATASET'//NULLCHR,
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
FNMode = 0
|
FNMode = 0
|
||||||
ShrConn = 0
|
ShrConn = 0
|
||||||
!
|
!
|
||||||
!... Open the file and write the tecplot datafile
|
!... Open the file and write the tecplot datafile
|
||||||
!... header information.
|
!... header information.
|
||||||
!
|
!
|
||||||
I = TecIni112('SIMPLE DATASET'//NULLCHR, &
|
I = TecIni112('SIMPLE DATASET'//NULLCHR, &
|
||||||
|
|
|
@ -1,346 +1,346 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="simtestc"
|
Name="simtestc"
|
||||||
ProjectGUID="{62FA6E8C-388E-4047-BC9D-574B470B94DE}"
|
ProjectGUID="{62FA6E8C-388E-4047-BC9D-574B470B94DE}"
|
||||||
RootNamespace="simtestc"
|
RootNamespace="simtestc"
|
||||||
Keyword="Win32Proj"
|
Keyword="Win32Proj"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
Name="Win32"
|
Name="Win32"
|
||||||
/>
|
/>
|
||||||
<Platform
|
<Platform
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
<ToolFiles>
|
||||||
</ToolFiles>
|
</ToolFiles>
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="3"
|
RuntimeLibrary="3"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="1"
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
||||||
CharacterSet="1"
|
CharacterSet="1"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCMIDLTool"
|
Name="VCMIDLTool"
|
||||||
TargetEnvironment="3"
|
TargetEnvironment="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories=""
|
AdditionalIncludeDirectories=""
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="2"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
AdditionalLibraryDirectories=""
|
AdditionalLibraryDirectories=""
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
SubSystem="1"
|
SubSystem="1"
|
||||||
OptimizeReferences="2"
|
OptimizeReferences="2"
|
||||||
EnableCOMDATFolding="2"
|
EnableCOMDATFolding="2"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManifestTool"
|
Name="VCManifestTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXDCMakeTool"
|
Name="VCXDCMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCBscMakeTool"
|
Name="VCBscMakeTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCFxCopTool"
|
Name="VCFxCopTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCWebDeploymentTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\simtest.c"
|
RelativePath=".\simtest.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
</VisualStudioProject>
|
</VisualStudioProject>
|
||||||
|
|
|
@ -7,18 +7,18 @@
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2013R1)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/simtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2013R1)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/simtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
||||||
<Tool Name="VFPreLinkEventTool"/>
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration>
|
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration>
|
||||||
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2013R1)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2013R1)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
||||||
<Tool Name="VFPreLinkEventTool"/>
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration></Configurations>
|
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration></Configurations>
|
||||||
<Files>
|
<Files>
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=squares
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=text
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -66,7 +43,7 @@ END CODELOG
|
||||||
#if defined ADDON
|
#if defined ADDON
|
||||||
#include "TECADDON.h"
|
#include "TECADDON.h"
|
||||||
#include "GUIDEFS.h"
|
#include "GUIDEFS.h"
|
||||||
#include "GUI.h"
|
#include "TECGUI.h"
|
||||||
#define READTEC TecUtilReadBinaryData
|
#define READTEC TecUtilReadBinaryData
|
||||||
#define SHOWINFO(S) TecGUITextAppendString(Output_T_D1,S);
|
#define SHOWINFO(S) TecGUITextAppendString(Output_T_D1,S);
|
||||||
#define ERRMSG(S) TecUtilDialogErrMsg(S)
|
#define ERRMSG(S) TecUtilDialogErrMsg(S)
|
||||||
|
@ -75,6 +52,12 @@ END CODELOG
|
||||||
#define STRINGLISTGETSTRING(S,N) TecUtilStringListGetString(S,N)
|
#define STRINGLISTGETSTRING(S,N) TecUtilStringListGetString(S,N)
|
||||||
#define STRINGLISTGETCOUNT(S) TecUtilStringListGetCount(S)
|
#define STRINGLISTGETCOUNT(S) TecUtilStringListGetCount(S)
|
||||||
#define STRINGLISTDEALLOC(S) TecUtilStringListDealloc(S)
|
#define STRINGLISTDEALLOC(S) TecUtilStringListDealloc(S)
|
||||||
|
|
||||||
|
#define AUXDATADEALLOC(S) TecUtilAuxDataDealloc(S)
|
||||||
|
#define AUXDATAGETNUMITEMS(S) TecUtilAuxDataGetNumItems(S)
|
||||||
|
#define AUXDATAGETITEMBYINDEX(S,Index,Name,Value,Type,Retain) \
|
||||||
|
TecUtilAuxDataGetItemByIndex(S,(Index),Name,Value,Type,Retain)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
#include "GLOBAL.h"
|
#include "GLOBAL.h"
|
||||||
|
@ -83,22 +66,21 @@ END CODELOG
|
||||||
#define FREE_ARRAY(N,S) TecFree((void *)N)
|
#define FREE_ARRAY(N,S) TecFree((void *)N)
|
||||||
#include "ARRLIST.h"
|
#include "ARRLIST.h"
|
||||||
#include "STRLIST.h"
|
#include "STRLIST.h"
|
||||||
|
#include "AUXDATA.h"
|
||||||
#include "DATAUTIL.h"
|
#include "DATAUTIL.h"
|
||||||
|
|
||||||
/*
|
|
||||||
#include "TECADDON.h"
|
|
||||||
#include "TECXXX.h"
|
|
||||||
#include "DATAUTIL.h"
|
|
||||||
#include "STRLIST.h"
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define READTEC ReadTec
|
#define READTEC ReadTec
|
||||||
#define SHOWINFO(S) printf("%s",S);
|
#define SHOWINFO(S) printf("%s",S);
|
||||||
#define ERRMSG(S) printf("Err: %s\n",S);
|
#define ERRMSG(S) printf("Err: %s\n",S);
|
||||||
#define STRINGLISTGETSTRING(S,N) StringListGetString(S,(N)-1)
|
#define STRINGLISTGETSTRING(S,N) StringListGetString(S,(N)-1)
|
||||||
#define STRINGLISTGETCOUNT(S) StringListCount(S)
|
#define STRINGLISTGETCOUNT(S) StringListCount(S)
|
||||||
#define STRINGLISTDEALLOC(S) StringListDealloc(S)
|
#define STRINGLISTDEALLOC(S) StringListDealloc(S)
|
||||||
#define MaxCharsUserRec 500
|
|
||||||
|
#define AUXDATADEALLOC(S) AuxDataDealloc(S)
|
||||||
|
#define AUXDATAGETNUMITEMS(S) AuxDataGetNumItems(S)
|
||||||
|
#define AUXDATAGETITEMBYINDEX(S,Index,Name,Value,Type,Retain) \
|
||||||
|
AuxDataGetItemByIndex(S,(Index)-1,Name,Value,Type,Retain)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -144,7 +126,8 @@ static void DeallocHeaderInfo(char **DataSetTitle,
|
||||||
LgIndex_t **NumPtsJ,
|
LgIndex_t **NumPtsJ,
|
||||||
LgIndex_t **NumPtsK,
|
LgIndex_t **NumPtsK,
|
||||||
ZoneType_e **ZoneType,
|
ZoneType_e **ZoneType,
|
||||||
StringList_pa *UserRec)
|
StringList_pa *UserRec,
|
||||||
|
AuxData_pa *DatasetAuxData)
|
||||||
{
|
{
|
||||||
if (*DataSetTitle)
|
if (*DataSetTitle)
|
||||||
FREE_ARRAY(*DataSetTitle, "data set title");
|
FREE_ARRAY(*DataSetTitle, "data set title");
|
||||||
|
@ -162,6 +145,8 @@ static void DeallocHeaderInfo(char **DataSetTitle,
|
||||||
FREE_ARRAY(*ZoneType, "ZoneType Array");
|
FREE_ARRAY(*ZoneType, "ZoneType Array");
|
||||||
if (*UserRec)
|
if (*UserRec)
|
||||||
STRINGLISTDEALLOC(UserRec);
|
STRINGLISTDEALLOC(UserRec);
|
||||||
|
if (*DatasetAuxData)
|
||||||
|
AUXDATADEALLOC(DatasetAuxData);
|
||||||
|
|
||||||
*DataSetTitle = NULL;
|
*DataSetTitle = NULL;
|
||||||
*VarNames = NULL;
|
*VarNames = NULL;
|
||||||
|
@ -173,10 +158,56 @@ static void DeallocHeaderInfo(char **DataSetTitle,
|
||||||
*UserRec = NULL;
|
*UserRec = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define MAXCHARSINFOLINE 5000
|
#define MAXCHARSINFOLINE 5000
|
||||||
|
|
||||||
|
void ShowDatasetAuxData(AuxData_pa DatasetAuxData, char* InfoLine)
|
||||||
|
{
|
||||||
|
REQUIRE(VALID_REF(InfoLine));
|
||||||
|
if (DatasetAuxData != NULL)
|
||||||
|
{
|
||||||
|
SHOWINFO("Dataset Auxiliary Data:\n");
|
||||||
|
SHOWINFO("-----------------------\n");
|
||||||
|
LgIndex_t NumItems = AUXDATAGETNUMITEMS(DatasetAuxData);
|
||||||
|
for (LgIndex_t ii = 0; ii < NumItems; ++ii)
|
||||||
|
{
|
||||||
|
#if defined ADDON
|
||||||
|
char* Name;
|
||||||
|
#else
|
||||||
|
const char* Name;
|
||||||
|
#endif
|
||||||
|
ArbParam_t Value;
|
||||||
|
AuxDataType_e Type;
|
||||||
|
Boolean_t Retain;
|
||||||
|
AUXDATAGETITEMBYINDEX(DatasetAuxData,
|
||||||
|
ii+1,
|
||||||
|
&Name,
|
||||||
|
&Value,
|
||||||
|
&Type,
|
||||||
|
&Retain);
|
||||||
|
sprintf(InfoLine, " Name: %s\n", Name);
|
||||||
|
SHOWINFO(InfoLine);
|
||||||
|
#if defined ADDON
|
||||||
|
// The TecUtil layer returns copies which must be deallocated
|
||||||
|
TecUtilStringDealloc(&Name);
|
||||||
|
#endif
|
||||||
|
if (Type == AuxDataType_String)
|
||||||
|
{
|
||||||
|
char* ValueString = reinterpret_cast<char*>(Value);
|
||||||
|
sprintf(InfoLine, " Value : %s\n", ValueString);
|
||||||
|
SHOWINFO(InfoLine);
|
||||||
|
SHOWINFO(" Type : String\n");
|
||||||
|
#if defined ADDON
|
||||||
|
// The TecUtil layer returns copies which must be deallocated
|
||||||
|
TecUtilStringDealloc(&ValueString);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
sprintf(InfoLine, " Retain: %s\n", Retain ? "True" : "False");
|
||||||
|
SHOWINFO(InfoLine);
|
||||||
|
}
|
||||||
|
SHOWINFO("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ReportFileInfo(char *FName,
|
void ReportFileInfo(char *FName,
|
||||||
Boolean_t LoadRawData,
|
Boolean_t LoadRawData,
|
||||||
|
@ -185,14 +216,15 @@ void ReportFileInfo(char *FName,
|
||||||
short IVersion;
|
short IVersion;
|
||||||
EntIndex_t NumZones;
|
EntIndex_t NumZones;
|
||||||
EntIndex_t NumVars;
|
EntIndex_t NumVars;
|
||||||
char *DataSetTitle = NULL;
|
char *DataSetTitle = NULL;
|
||||||
StringList_pa VarNames = NULL;
|
StringList_pa VarNames = NULL;
|
||||||
StringList_pa ZoneNames = NULL;
|
StringList_pa ZoneNames = NULL;
|
||||||
LgIndex_t *NumPtsI = NULL;
|
LgIndex_t *NumPtsI = NULL;
|
||||||
LgIndex_t *NumPtsJ = NULL;
|
LgIndex_t *NumPtsJ = NULL;
|
||||||
LgIndex_t *NumPtsK = NULL;
|
LgIndex_t *NumPtsK = NULL;
|
||||||
ZoneType_e *ZoneType = NULL;
|
ZoneType_e *ZoneType = NULL;
|
||||||
StringList_pa UserRec = NULL;
|
StringList_pa UserRec = NULL;
|
||||||
|
AuxData_pa DatasetAuxData = NULL;
|
||||||
int CZ, CV;
|
int CZ, CV;
|
||||||
char InfoLine[MAXCHARSINFOLINE+1];
|
char InfoLine[MAXCHARSINFOLINE+1];
|
||||||
double **VDataBase = NULL;
|
double **VDataBase = NULL;
|
||||||
|
@ -215,6 +247,7 @@ void ReportFileInfo(char *FName,
|
||||||
&NumPtsK,
|
&NumPtsK,
|
||||||
&ZoneType,
|
&ZoneType,
|
||||||
&UserRec,
|
&UserRec,
|
||||||
|
&DatasetAuxData,
|
||||||
FALSE,
|
FALSE,
|
||||||
(NodeMap_t ***)NULL,
|
(NodeMap_t ***)NULL,
|
||||||
(double ***)NULL))
|
(double ***)NULL))
|
||||||
|
@ -272,7 +305,8 @@ void ReportFileInfo(char *FName,
|
||||||
&NumPtsJ,
|
&NumPtsJ,
|
||||||
&NumPtsK,
|
&NumPtsK,
|
||||||
&ZoneType,
|
&ZoneType,
|
||||||
&UserRec);
|
&UserRec,
|
||||||
|
&DatasetAuxData);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reread the datafile. This time load in the header AND the raw data
|
* Reread the datafile. This time load in the header AND the raw data
|
||||||
|
@ -292,6 +326,7 @@ void ReportFileInfo(char *FName,
|
||||||
&NumPtsK,
|
&NumPtsK,
|
||||||
&ZoneType,
|
&ZoneType,
|
||||||
&UserRec,
|
&UserRec,
|
||||||
|
&DatasetAuxData,
|
||||||
AllocateRawDataSpaceLocally,
|
AllocateRawDataSpaceLocally,
|
||||||
&NodeMap,
|
&NodeMap,
|
||||||
&VDataBase))
|
&VDataBase))
|
||||||
|
@ -368,6 +403,9 @@ void ReportFileInfo(char *FName,
|
||||||
|
|
||||||
sprintf(InfoLine, "DataSetTitle: %s\n", DataSetTitle ? DataSetTitle : " ");
|
sprintf(InfoLine, "DataSetTitle: %s\n", DataSetTitle ? DataSetTitle : " ");
|
||||||
SHOWINFO(InfoLine);
|
SHOWINFO(InfoLine);
|
||||||
|
|
||||||
|
ShowDatasetAuxData(DatasetAuxData, InfoLine);
|
||||||
|
|
||||||
sprintf(InfoLine, "NumZones : %d\n", (int)NumZones);
|
sprintf(InfoLine, "NumZones : %d\n", (int)NumZones);
|
||||||
SHOWINFO(InfoLine);
|
SHOWINFO(InfoLine);
|
||||||
sprintf(InfoLine, "NumVars : %d\n", (int)NumVars);
|
sprintf(InfoLine, "NumVars : %d\n", (int)NumVars);
|
||||||
|
@ -534,7 +572,8 @@ void ReportFileInfo(char *FName,
|
||||||
&NumPtsJ,
|
&NumPtsJ,
|
||||||
&NumPtsK,
|
&NumPtsK,
|
||||||
&ZoneType,
|
&ZoneType,
|
||||||
&UserRec);
|
&UserRec,
|
||||||
|
&DatasetAuxData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
** README **
|
** README **
|
||||||
***********************************************
|
***********************************************
|
||||||
|
|
||||||
To build the TecIO library and/or the pltview utility
|
To build the TecIO library and/or the pltview utility,
|
||||||
simply run the Runmake script in this directory.
|
simply run the Runmake script in this directory.
|
||||||
|
|
||||||
If customization is needed it will most likely be done
|
If customization is needed, it will most likely be done
|
||||||
in GLOBAL.h (to identify machine as 64 bit) and/or in
|
in GLOBAL.h (to identify machine as 64 bit) and/or in
|
||||||
dataio4.c. Just look for CRAY in dataio4.c and you
|
dataio4.c. Just look for CRAY in dataio4.c and you
|
||||||
will find most of the critical areas. Note that the
|
will find most of the critical areas. Note that the
|
||||||
|
@ -18,34 +18,13 @@ the variables at the top of the Makefile for your platform.
|
||||||
|
|
||||||
ReadTec()
|
ReadTec()
|
||||||
|
|
||||||
The ReadTec() is included in the tecio library but is
|
The ReadTec() function is included in the tecio library
|
||||||
not supported by Tecplot, Inc. ReadTec is used
|
but is not supported by Tecplot, Inc. ReadTec is used
|
||||||
to read Tecplot binary data files (all versions at or
|
to read Tecplot binary data files (all versions at or
|
||||||
older than the Tecplot version providing the tecio
|
older than the Tecplot version providing the tecio
|
||||||
library). See tecsrc/DATAUTIL.h for more information.
|
library). See tecsrc/DATAUTIL.h for more information.
|
||||||
|
|
||||||
The pltview example app gives an example of using ReadTec
|
The pltview example app gives an example of using ReadTec
|
||||||
to read just the header from a file as well as loading all
|
to read just the header from a file as well as loading all
|
||||||
field data from a file./*
|
field data from a file.
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2009 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -69,7 +46,7 @@ extern void getMemoryUsage(size_t* memoryInUse,
|
||||||
* ALLOC_ITEM and ALLOC_ARRAY that expect a return value of
|
* ALLOC_ITEM and ALLOC_ARRAY that expect a return value of
|
||||||
* NULL on failure instead of the exception. 2008-05-08 CAM
|
* NULL on failure instead of the exception. 2008-05-08 CAM
|
||||||
*/
|
*/
|
||||||
#if defined MSWIN && defined _DEBUG
|
#if defined MSWIN && defined _DEBUG && defined TRACK_MEMORY_USAGE
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline T *nonExceptionNew(size_t numItems,
|
inline T *nonExceptionNew(size_t numItems,
|
||||||
const char* fileName,
|
const char* fileName,
|
||||||
|
@ -88,7 +65,7 @@ inline T *nonExceptionNew(size_t numItems,
|
||||||
#endif
|
#endif
|
||||||
result = new(fileName, lineNumber) T[numItems];
|
result = new(fileName, lineNumber) T[numItems];
|
||||||
#ifdef USING_DEBUG_NEW
|
#ifdef USING_DEBUG_NEW
|
||||||
#define new DEBUG_NEW
|
//#define new DEBUG_NEW
|
||||||
#undef USING_DEBUG_NEW
|
#undef USING_DEBUG_NEW
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
|
@ -172,7 +149,7 @@ inline void nonExceptionDelete(T* &ptr)
|
||||||
* NOTE: the pointer is set to 0xFFFF after the free for asserted
|
* NOTE: the pointer is set to 0xFFFF after the free for asserted
|
||||||
* builds in the hopes of catching invalid pointer usage
|
* builds in the hopes of catching invalid pointer usage
|
||||||
*/
|
*/
|
||||||
ptr = (T*)(void*)0xFFFF;
|
ptr = static_cast<T*>(reinterpret_cast<void*>(0xFFFF));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#define FREE_ARRAY(ptr,str) nonExceptionDelete((ptr))
|
#define FREE_ARRAY(ptr,str) nonExceptionDelete((ptr))
|
||||||
|
|
|
@ -1,31 +1,10 @@
|
||||||
/*
|
#include "stdafx.h"
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
#include "MASTER.h"
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -42,6 +21,10 @@
|
||||||
# define EXTERN extern
|
# define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined TECPLOTKERNEL
|
||||||
|
typedef struct _ArrayList_s* ArrayList_pa;
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
ArrayListType_UnsignedChar,
|
ArrayListType_UnsignedChar,
|
||||||
|
@ -85,52 +68,45 @@ typedef enum
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
{
|
{
|
||||||
unsigned char UnsignedChar;
|
unsigned char UnsignedChar;
|
||||||
unsigned short UnsignedShort;
|
unsigned short UnsignedShort;
|
||||||
unsigned int UnsignedInt;
|
unsigned int UnsignedInt;
|
||||||
unsigned long UnsignedLong;
|
unsigned long UnsignedLong;
|
||||||
Int64_t Int64;
|
Int64_t Int64;
|
||||||
char Char;
|
char Char;
|
||||||
short Short;
|
short Short;
|
||||||
int Int;
|
int Int;
|
||||||
long Long;
|
long Long;
|
||||||
float Float;
|
float Float;
|
||||||
double Double;
|
double Double;
|
||||||
LgIndex_t LgIndex;
|
LgIndex_t LgIndex;
|
||||||
EntIndex_t EntIndex;
|
EntIndex_t EntIndex;
|
||||||
SmInteger_t SmInteger;
|
SmInteger_t SmInteger;
|
||||||
Boolean_t BBoolean; /* X-Windows uses Boolean */
|
Boolean_t BBoolean; /* X-Windows uses Boolean */
|
||||||
ArbParam_t ArbParam;
|
ArbParam_t ArbParam;
|
||||||
unsigned char *UnsignedCharPtr;
|
unsigned char* UnsignedCharPtr;
|
||||||
unsigned short *UnsignedShortPtr;
|
unsigned short* UnsignedShortPtr;
|
||||||
unsigned int *UnsignedIntPtr;
|
unsigned int* UnsignedIntPtr;
|
||||||
unsigned long *UnsignedLongPtr;
|
unsigned long* UnsignedLongPtr;
|
||||||
Int64_t *Int64Ptr;
|
Int64_t* Int64Ptr;
|
||||||
char *CharPtr;
|
char* CharPtr;
|
||||||
short *ShortPtr;
|
short* ShortPtr;
|
||||||
int *IntPtr;
|
int* IntPtr;
|
||||||
long *LongPtr;
|
long* LongPtr;
|
||||||
float *FloatPtr;
|
float* FloatPtr;
|
||||||
double *DoublePtr;
|
double* DoublePtr;
|
||||||
LgIndex_t *LgIndexPtr;
|
LgIndex_t* LgIndexPtr;
|
||||||
EntIndex_t *EntIndexPtr;
|
EntIndex_t* EntIndexPtr;
|
||||||
SmInteger_t *SmIntegerPtr;
|
SmInteger_t* SmIntegerPtr;
|
||||||
Boolean_t *BooleanPtr;
|
Boolean_t* BooleanPtr;
|
||||||
ArbParam_t *ArbParamPtr;
|
ArbParam_t* ArbParamPtr;
|
||||||
void *VoidPtr;
|
void* VoidPtr;
|
||||||
void (*FunctionPtr)(void);
|
void (*FunctionPtr)(void);
|
||||||
} ArrayListItem_u;
|
} ArrayListItem_u;
|
||||||
|
|
||||||
/**
|
#if defined TECPLOTKERNEL
|
||||||
* NULL array list item for added convenience of inserting a NULL item without
|
/* CORE SOURCE CODE REMOVED */
|
||||||
* having to declare and assign one. Can be used as follows:
|
#endif
|
||||||
*
|
|
||||||
* IsOk = ArrayListInsertItem(SomeArrayList, SomeIndex, ArrayListNumItem);
|
|
||||||
*
|
|
||||||
* NOTE: This value must be set to zero before Tecplot uses array lists.
|
|
||||||
* memset(&ArrayListNullItem, 0, sizeof(ArrayListType_Any));
|
|
||||||
*/
|
|
||||||
EXTERN ArrayListItem_u ArrayListNullItem;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Visitor for traversing an array list. An iterator may not perform any
|
* Visitor for traversing an array list. An iterator may not perform any
|
||||||
|
@ -147,7 +123,7 @@ EXTERN ArrayListItem_u ArrayListNullItem;
|
||||||
* TRUE to continue visiting items, otherwise
|
* TRUE to continue visiting items, otherwise
|
||||||
* FALSE to discontinue visiting
|
* FALSE to discontinue visiting
|
||||||
*/
|
*/
|
||||||
typedef Boolean_t (*ArrayListItemVisitor_pf)(void *ItemRef,
|
typedef Boolean_t (*ArrayListItemVisitor_pf)(void* ItemRef,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData);
|
||||||
#if 0 /* use this stub as a starting place */
|
#if 0 /* use this stub as a starting place */
|
||||||
{
|
{
|
||||||
|
@ -155,7 +131,7 @@ typedef Boolean_t (*ArrayListItemVisitor_pf)(void *ItemRef,
|
||||||
REQUIRE(VALID_REF(*TypeRef) || *TypeRef == NULL);
|
REQUIRE(VALID_REF(*TypeRef) || *TypeRef == NULL);
|
||||||
|
|
||||||
Boolean_t DoContinue = TRUE;
|
Boolean_t DoContinue = TRUE;
|
||||||
<type> *TypeRef = (<type> *)ItemRef;
|
<type>* TypeRef = static_cast<<type>*>(ItemRef);
|
||||||
|
|
||||||
ENSURE(VALID_BOOLEAN(DoContinue));
|
ENSURE(VALID_BOOLEAN(DoContinue));
|
||||||
return DoContinue;
|
return DoContinue;
|
||||||
|
@ -200,8 +176,8 @@ typedef ArrayListItemVisitor_pf ArrayListItemDestructor_pf;
|
||||||
* is the client's responsibility to cleanup any
|
* is the client's responsibility to cleanup any
|
||||||
* partial duplication
|
* partial duplication
|
||||||
*/
|
*/
|
||||||
typedef Boolean_t (*ArrayListItemDuplicator_pf)(void *TargetItemRef,
|
typedef Boolean_t (*ArrayListItemDuplicator_pf)(void* TargetItemRef,
|
||||||
void *SourceItemRef,
|
void* SourceItemRef,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData);
|
||||||
#if 0 /* use this stub as a starting place */
|
#if 0 /* use this stub as a starting place */
|
||||||
{
|
{
|
||||||
|
@ -210,8 +186,8 @@ typedef Boolean_t (*ArrayListItemDuplicator_pf)(void *TargetItemRef,
|
||||||
REQUIRE(VALID_REF(*SourceTypeRef) || *SourceTypeRef == NULL);
|
REQUIRE(VALID_REF(*SourceTypeRef) || *SourceTypeRef == NULL);
|
||||||
|
|
||||||
Boolean_t IsOk = TRUE;
|
Boolean_t IsOk = TRUE;
|
||||||
<type> *TargetTypeRef = (<type> *)TargetItemRef;
|
<type>* TargetTypeRef = static_cast<<type>*>(TargetItemRef);
|
||||||
<type> *SourceTypeRef = (<type> *)SourceItemRef;
|
<type>* SourceTypeRef = static_cast<<type>*>(SourceItemRef);
|
||||||
|
|
||||||
ENSURE(VALID_BOOLEAN(IsOk));
|
ENSURE(VALID_BOOLEAN(IsOk));
|
||||||
return IsOk;
|
return IsOk;
|
||||||
|
@ -260,7 +236,7 @@ typedef LgIndex_t (*ArrayListCapacityRequestAdjuster_pf)(ArrayList_pa ArrayList,
|
||||||
/* private ArrayList structure: only exposed so STRUTIL can use it */
|
/* private ArrayList structure: only exposed so STRUTIL can use it */
|
||||||
typedef struct _ArrayList_s
|
typedef struct _ArrayList_s
|
||||||
{
|
{
|
||||||
char *Array; /* byte array for holding the items */
|
char* Array; /* byte array for holding the items */
|
||||||
ArrayListType_e Type; /* type of array items */
|
ArrayListType_e Type; /* type of array items */
|
||||||
SmInteger_t ItemSize; /* byte size of an individual item */
|
SmInteger_t ItemSize; /* byte size of an individual item */
|
||||||
LgIndex_t Count; /* number of items in the array */
|
LgIndex_t Count; /* number of items in the array */
|
||||||
|
@ -297,23 +273,24 @@ EXTERN Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
|
||||||
LgIndex_t RequestedCapacity);
|
LgIndex_t RequestedCapacity);
|
||||||
EXTERN ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacity,
|
EXTERN ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacity,
|
||||||
ArrayListType_e Type,
|
ArrayListType_e Type,
|
||||||
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster,
|
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster = 0,
|
||||||
ArbParam_t CapacityRequestAdjusterClientData);
|
ArbParam_t CapacityRequestAdjusterClientData = 0);
|
||||||
EXTERN void ArrayListDealloc(ArrayList_pa *ArrayList,
|
EXTERN void ArrayListDealloc(ArrayList_pa* ArrayList,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
|
EXTERN void ArrayListClear(ArrayList_pa ArrayList);
|
||||||
EXTERN void ArrayListDeleteAllItems(ArrayList_pa ArrayList,
|
EXTERN void ArrayListDeleteAllItems(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
EXTERN void ArrayListDeleteItems(ArrayList_pa ArrayList,
|
EXTERN void ArrayListDeleteItems(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
LgIndex_t Count,
|
LgIndex_t Count,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
EXTERN void ArrayListDeleteItem(ArrayList_pa ArrayList,
|
EXTERN void ArrayListDeleteItem(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
EXTERN ArrayList_pa ArrayListRemoveItems(ArrayList_pa ArrayList,
|
EXTERN ArrayList_pa ArrayListRemoveItems(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
LgIndex_t Count);
|
LgIndex_t Count);
|
||||||
|
@ -338,35 +315,32 @@ EXTERN ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
|
||||||
EXTERN Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
|
EXTERN Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
ArrayListItem_u Item,
|
ArrayListItem_u Item,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
EXTERN Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
|
EXTERN Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
|
||||||
ArrayListItem_u Item);
|
ArrayListItem_u Item);
|
||||||
EXTERN Boolean_t ArrayListAppend(ArrayList_pa Target,
|
EXTERN Boolean_t ArrayListAppend(ArrayList_pa Target,
|
||||||
ArrayList_pa Source);
|
ArrayList_pa Source);
|
||||||
EXTERN ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
|
EXTERN ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
EXTERN void *ArrayListToArray(ArrayList_pa ArrayList,
|
EXTERN void* ArrayListToArray(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData);
|
||||||
EXTERN ArrayList_pa ArrayListFromArray(void *Source,
|
EXTERN ArrayList_pa ArrayListFromArray(void* Source,
|
||||||
LgIndex_t Count,
|
LgIndex_t Count,
|
||||||
ArrayListType_e Type,
|
ArrayListType_e Type,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator = 0,
|
||||||
ArbParam_t ClientData);
|
ArbParam_t ClientData = 0);
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
EXTERN void ArrayListQSort(ArrayList_pa ArrayList,
|
EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
||||||
ArrayListItemComparator_pf Comparator,
|
ArrayListItem_u Item,
|
||||||
ArbParam_t ClientData);
|
ArrayListItemComparator_pf Comparator,
|
||||||
EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
ArbParam_t ClientData,
|
||||||
ArrayListItem_u Item,
|
LgIndex_t* ItemIndex = 0);
|
||||||
ArrayListItemComparator_pf Comparator,
|
|
||||||
ArbParam_t ClientData,
|
|
||||||
LgIndex_t *ItemIndex);
|
|
||||||
|
|
||||||
#if defined USE_MACROS_FOR_FUNCTIONS
|
#if defined USE_MACROS_FOR_FUNCTIONS
|
||||||
/**
|
/**
|
||||||
|
@ -429,76 +403,76 @@ EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
||||||
# define ArrayListGetSmInteger(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t)
|
# define ArrayListGetSmInteger(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t)
|
||||||
# define ArrayListGetBoolean(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t)
|
# define ArrayListGetBoolean(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t)
|
||||||
# define ArrayListGetArbParam(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t)
|
# define ArrayListGetArbParam(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t)
|
||||||
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned char *)
|
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned char*)
|
||||||
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned short *)
|
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned short*)
|
||||||
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned int *)
|
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned int*)
|
||||||
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned long *)
|
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned long*)
|
||||||
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Int64_t *)
|
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Int64_t*)
|
||||||
# define ArrayListGetCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, char *)
|
# define ArrayListGetCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, char*)
|
||||||
# define ArrayListGetShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, short *)
|
# define ArrayListGetShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, short*)
|
||||||
# define ArrayListGetIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, int *)
|
# define ArrayListGetIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, int*)
|
||||||
# define ArrayListGetLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, long *)
|
# define ArrayListGetLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, long*)
|
||||||
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, float *)
|
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, float*)
|
||||||
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, double *)
|
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, double*)
|
||||||
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, LgIndex_t *)
|
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, LgIndex_t*)
|
||||||
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, EntIndex_t *)
|
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, EntIndex_t*)
|
||||||
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t *)
|
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t*)
|
||||||
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t *)
|
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t*)
|
||||||
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t *)
|
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t*)
|
||||||
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, void *)
|
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, void*)
|
||||||
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, (**)(void))
|
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, (**)(void))
|
||||||
#else
|
#else
|
||||||
# define ArrayListGetInternalRef ArrayListGetInternalRef_FUNC
|
# define ArrayListGetInternalRef ArrayListGetInternalRef_FUNC
|
||||||
# define ArrayListGetItemInternalRef ArrayListGetItemInternalRef_FUNC
|
# define ArrayListGetItemInternalRef ArrayListGetItemInternalRef_FUNC
|
||||||
# define ArrayListGetCount ArrayListGetCount_FUNC
|
# define ArrayListGetCount ArrayListGetCount_FUNC
|
||||||
|
|
||||||
# define ArrayListGetUnsignedChar(ArrayList, ItemOffset) (*((unsigned char *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedChar(ArrayList, ItemOffset) (*(static_cast<unsigned char*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedShort(ArrayList, ItemOffset) (*((unsigned short *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedShort(ArrayList, ItemOffset) (*(static_cast<unsigned short*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedInt(ArrayList, ItemOffset) (*((unsigned int *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedInt(ArrayList, ItemOffset) (*(static_cast<unsigned int*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedLong(ArrayList, ItemOffset) (*((unsigned long *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedLong(ArrayList, ItemOffset) (*(static_cast<unsigned long*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetInt64(ArrayList, ItemOffset) (*((Int64_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetInt64(ArrayList, ItemOffset) (*(static_cast<Int64_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetChar(ArrayList, ItemOffset) (*((char *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetChar(ArrayList, ItemOffset) (*(static_cast<char*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetShort(ArrayList, ItemOffset) (*((short *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetShort(ArrayList, ItemOffset) (*(static_cast<short*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetInt(ArrayList, ItemOffset) (*((int *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetInt(ArrayList, ItemOffset) (*(static_cast<int*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetLong(ArrayList, ItemOffset) (*((long *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetLong(ArrayList, ItemOffset) (*(static_cast<long*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetFloat(ArrayList, ItemOffset) (*((float *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetFloat(ArrayList, ItemOffset) (*(static_cast<float*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetDouble(ArrayList, ItemOffset) (*((double *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetDouble(ArrayList, ItemOffset) (*(static_cast<double*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetLgIndex(ArrayList, ItemOffset) (*((LgIndex_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetLgIndex(ArrayList, ItemOffset) (*(static_cast<LgIndex_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetEntIndex(ArrayList, ItemOffset) (*((EntIndex_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetEntIndex(ArrayList, ItemOffset) (*(static_cast<EntIndex_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetSmInteger(ArrayList, ItemOffset) (*((SmInteger_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetSmInteger(ArrayList, ItemOffset) (*(static_cast<SmInteger_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetBoolean(ArrayList, ItemOffset) (*((Boolean_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetBoolean(ArrayList, ItemOffset) (*(static_cast<Boolean_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetArbParam(ArrayList, ItemOffset) (*((ArbParam_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetArbParam(ArrayList, ItemOffset) (*(static_cast<ArbParam_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) (*((unsigned char * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) (*(static_cast<unsigned char**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) (*((unsigned short * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) (*(static_cast<unsigned short**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) (*((unsigned int * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) (*(static_cast<unsigned int**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) (*((unsigned long * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) (*(static_cast<unsigned long**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) (*((Int64_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) (*(static_cast<Int64_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetCharPtr(ArrayList, ItemOffset) (*((char * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetCharPtr(ArrayList, ItemOffset) (*(static_cast<char**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetShortPtr(ArrayList, ItemOffset) (*((short * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetShortPtr(ArrayList, ItemOffset) (*(static_cast<short**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetIntPtr(ArrayList, ItemOffset) (*((int * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetIntPtr(ArrayList, ItemOffset) (*(static_cast<int**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetLongPtr(ArrayList, ItemOffset) (*((long * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetLongPtr(ArrayList, ItemOffset) (*(static_cast<long**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) (*((float * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) (*(static_cast<float**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) (*((double * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) (*(static_cast<double**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) (*((LgIndex_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) (*(static_cast<LgIndex_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) (*((EntIndex_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) (*(static_cast<EntIndex_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) (*((SmInteger_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) (*(static_cast<SmInteger_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) (*((Boolean_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) (*(static_cast<Boolean_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) (*((ArbParam_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) (*(static_cast<ArbParam_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) (*((void * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) (*(static_cast<void**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) (*(((**)(void) *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
|
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) (*(static_cast<**(void)*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined USE_MACROS_FOR_FUNCTIONS
|
#if !defined USE_MACROS_FOR_FUNCTIONS
|
||||||
EXTERN const void *ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList);
|
EXTERN void const* ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList);
|
||||||
EXTERN const void *ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
|
EXTERN void const* ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset);
|
LgIndex_t ItemOffset);
|
||||||
EXTERN LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList);
|
EXTERN LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ArrayListGetInternalRef_MACRO(ArrayList) ((const void *)((ArrayList)->Array))
|
#define ArrayListGetInternalRef_MACRO(ArrayList) static_cast<void const*>((ArrayList)->Array)
|
||||||
#define ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset) ((const void *)&((ArrayList)->Array[(ItemOffset)*(ArrayList)->ItemSize]))
|
#define ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset) static_cast<void const*>(&((ArrayList)->Array[(ItemOffset)*(ArrayList)->ItemSize]))
|
||||||
#define ArrayListGetCount_MACRO(ArrayList) ((ArrayList)->Count)
|
#define ArrayListGetCount_MACRO(ArrayList) ((ArrayList)->Count)
|
||||||
#define ArrayListGetTypedArrayRef(ArrayList, NativeType) ((NativeType *)((ArrayList)->Array))
|
#define ArrayListGetTypedArrayRef(ArrayList, NativeType) reinterpret_cast<NativeType*>((ArrayList)->Array)
|
||||||
#define ArrayListGetTypedItem(ArrayList, ItemOffset, NativeType) (ArrayListGetTypedArrayRef(ArrayList,NativeType)[ItemOffset])
|
#define ArrayListGetTypedItem(ArrayList, ItemOffset, NativeType) (ArrayListGetTypedArrayRef(ArrayList,NativeType)[ItemOffset])
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -542,85 +516,112 @@ EXTERN LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList);
|
||||||
#define ArrayListSetTypedItem(ArrayList, ItemOffset, Item, NativeType) \
|
#define ArrayListSetTypedItem(ArrayList, ItemOffset, Item, NativeType) \
|
||||||
((ArrayListOffsetWithinCapacity((ArrayList), (ItemOffset)) || \
|
((ArrayListOffsetWithinCapacity((ArrayList), (ItemOffset)) || \
|
||||||
ArrayListEnlargeCapacity((ArrayList), (ItemOffset)+1)) \
|
ArrayListEnlargeCapacity((ArrayList), (ItemOffset)+1)) \
|
||||||
? (((((NativeType *)((ArrayList)->Array))[(ItemOffset)]) = (Item)), \
|
? ((void)((ArrayListGetTypedArrayRef((ArrayList),NativeType)[(ItemOffset)]) = (Item)), \
|
||||||
(((ItemOffset)+1 > (ArrayList)->Count) \
|
(((ItemOffset)+1 > (ArrayList)->Count) \
|
||||||
? (((ArrayList)->Count = (ItemOffset)+1), TRUE) \
|
? (((ArrayList)->Count = (ItemOffset)+1), TRUE) \
|
||||||
: (TRUE))) \
|
: (TRUE))) \
|
||||||
: (FALSE))
|
: (FALSE))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Appends the item to the end of the list. This is similar to ArrayListSetTypedItem however it
|
||||||
|
* needs not perform a bounds check which is always one beyond the end. This macro was added
|
||||||
|
* primarily to remove compiler warnings caused by a comparison of the array list ArrayList->Count+1
|
||||||
|
* always returning true when tested if larger than ArrayList->Count which occurs if you use the
|
||||||
|
* ArrayListSetTypedItem as ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, NativeType).
|
||||||
|
*
|
||||||
|
* This is the workhorse of the append convenience macros that follow.
|
||||||
|
*
|
||||||
|
* param ArrayList
|
||||||
|
* Array list target in which to set the item.
|
||||||
|
* param Item
|
||||||
|
* Item to append to the end of the array. Its native type must
|
||||||
|
* match 'NativeType'
|
||||||
|
* param NativeType
|
||||||
|
* Native type of 'Item'.
|
||||||
|
*
|
||||||
|
* return
|
||||||
|
* TRUE if sufficient memory permitted the operation, otherwise FALSE.
|
||||||
|
*/
|
||||||
|
#define ArrayListAppendTypedItem(ArrayList, Item, NativeType) \
|
||||||
|
((ArrayListOffsetWithinCapacity((ArrayList), (ArrayList)->Count) || \
|
||||||
|
ArrayListEnlargeCapacity((ArrayList), (ArrayList)->Count+1)) \
|
||||||
|
? ((void)((ArrayListGetTypedArrayRef((ArrayList),NativeType)[(ArrayList)->Count]) = (Item)), \
|
||||||
|
(((ArrayList)->Count = (ArrayList)->Count+1), TRUE)) \
|
||||||
|
: (FALSE))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This section provides macros for high speed setting and appending to an
|
* This section provides macros for high speed setting and appending to an
|
||||||
* array list of a known type. The only additional overhead incurred versus just
|
* array list of a known type. The only additional overhead incurred versus just
|
||||||
* using a simple array is the cost of testing the array list capacity.
|
* using a simple array is the cost of testing the array list capacity.
|
||||||
*/
|
*/
|
||||||
#define ArrayListSetUnsignedChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned char)
|
#define ArrayListSetUnsignedChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned char)
|
||||||
#define ArrayListSetUnsignedShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned short)
|
#define ArrayListSetUnsignedShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned short)
|
||||||
#define ArrayListSetUnsignedInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned int)
|
#define ArrayListSetUnsignedInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned int)
|
||||||
#define ArrayListSetUnsignedLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned long)
|
#define ArrayListSetUnsignedLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned long)
|
||||||
#define ArrayListSetInt64(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Int64_t)
|
#define ArrayListSetInt64(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Int64_t)
|
||||||
#define ArrayListSetChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, char)
|
#define ArrayListSetChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),char)
|
||||||
#define ArrayListSetShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, short)
|
#define ArrayListSetShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),short)
|
||||||
#define ArrayListSetInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, int)
|
#define ArrayListSetInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),int)
|
||||||
#define ArrayListSetLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, long)
|
#define ArrayListSetLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),long)
|
||||||
#define ArrayListSetFloat(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, float)
|
#define ArrayListSetFloat(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),float)
|
||||||
#define ArrayListSetDouble(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, double)
|
#define ArrayListSetDouble(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),double)
|
||||||
#define ArrayListSetLgIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, LgIndex_t)
|
#define ArrayListSetLgIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),LgIndex_t)
|
||||||
#define ArrayListSetEntIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, EntIndex_t)
|
#define ArrayListSetEntIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),EntIndex_t)
|
||||||
#define ArrayListSetSmInteger(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, SmInteger_t)
|
#define ArrayListSetSmInteger(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),SmInteger_t)
|
||||||
#define ArrayListSetBoolean(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Boolean_t)
|
#define ArrayListSetBoolean(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Boolean_t)
|
||||||
#define ArrayListSetArbParam(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, ArbParam_t)
|
#define ArrayListSetArbParam(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),ArbParam_t)
|
||||||
#define ArrayListSetUnsignedCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned char *)
|
#define ArrayListSetUnsignedCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned char*)
|
||||||
#define ArrayListSetUnsignedShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned short *)
|
#define ArrayListSetUnsignedShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned short*)
|
||||||
#define ArrayListSetUnsignedIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned int *)
|
#define ArrayListSetUnsignedIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned int*)
|
||||||
#define ArrayListSetUnsignedLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned long *)
|
#define ArrayListSetUnsignedLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned long*)
|
||||||
#define ArrayListSetInt64Ptr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Int64_t *)
|
#define ArrayListSetInt64Ptr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Int64_t*)
|
||||||
#define ArrayListSetCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, char *)
|
#define ArrayListSetCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),char*)
|
||||||
#define ArrayListSetShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, short *)
|
#define ArrayListSetShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),short*)
|
||||||
#define ArrayListSetIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, int *)
|
#define ArrayListSetIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),int*)
|
||||||
#define ArrayListSetLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, long *)
|
#define ArrayListSetLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),long*)
|
||||||
#define ArrayListSetFloatPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, float *)
|
#define ArrayListSetFloatPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),float*)
|
||||||
#define ArrayListSetDoublePtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, double *)
|
#define ArrayListSetDoublePtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),double*)
|
||||||
#define ArrayListSetLgIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, LgIndex_t *)
|
#define ArrayListSetLgIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),LgIndex_t*)
|
||||||
#define ArrayListSetEntIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, EntIndex_t *)
|
#define ArrayListSetEntIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),EntIndex_t*)
|
||||||
#define ArrayListSetSmIntegerPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, SmInteger_t *)
|
#define ArrayListSetSmIntegerPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),SmInteger_t*)
|
||||||
#define ArrayListSetBooleanPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Boolean_t *)
|
#define ArrayListSetBooleanPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Boolean_t*)
|
||||||
#define ArrayListSetArbParamPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, ArbParam_t *)
|
#define ArrayListSetArbParamPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),ArbParam_t*)
|
||||||
#define ArrayListSetVoidPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, void *)
|
#define ArrayListSetVoidPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),void*)
|
||||||
#define ArrayListSetFunctionPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, (**)(void))
|
#define ArrayListSetFunctionPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),(**)(void))
|
||||||
|
|
||||||
#define ArrayListAppendUnsignedChar(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned char)
|
#define ArrayListAppendUnsignedChar(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned char)
|
||||||
#define ArrayListAppendUnsignedShort(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned short)
|
#define ArrayListAppendUnsignedShort(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned short)
|
||||||
#define ArrayListAppendUnsignedInt(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned int)
|
#define ArrayListAppendUnsignedInt(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned int)
|
||||||
#define ArrayListAppendUnsignedLong(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned long)
|
#define ArrayListAppendUnsignedLong(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned long)
|
||||||
#define ArrayListAppendInt64(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Int64_t)
|
#define ArrayListAppendInt64(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Int64_t)
|
||||||
#define ArrayListAppendChar(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, char)
|
#define ArrayListAppendChar(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),char)
|
||||||
#define ArrayListAppendShort(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, short)
|
#define ArrayListAppendShort(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),short)
|
||||||
#define ArrayListAppendInt(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, int)
|
#define ArrayListAppendInt(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),int)
|
||||||
#define ArrayListAppendLong(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, long)
|
#define ArrayListAppendLong(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),long)
|
||||||
#define ArrayListAppendFloat(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, float)
|
#define ArrayListAppendFloat(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),float)
|
||||||
#define ArrayListAppendDouble(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, double)
|
#define ArrayListAppendDouble(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),double)
|
||||||
#define ArrayListAppendLgIndex(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, LgIndex_t)
|
#define ArrayListAppendLgIndex(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),LgIndex_t)
|
||||||
#define ArrayListAppendEntIndex(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, EntIndex_t)
|
#define ArrayListAppendEntIndex(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),EntIndex_t)
|
||||||
#define ArrayListAppendSmInteger(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, SmInteger_t)
|
#define ArrayListAppendSmInteger(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),SmInteger_t)
|
||||||
#define ArrayListAppendBoolean(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Boolean_t)
|
#define ArrayListAppendBoolean(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Boolean_t)
|
||||||
#define ArrayListAppendArbParam(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, ArbParam_t)
|
#define ArrayListAppendArbParam(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),ArbParam_t)
|
||||||
#define ArrayListAppendUnsignedCharPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned char *)
|
#define ArrayListAppendUnsignedCharPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned char*)
|
||||||
#define ArrayListAppendUnsignedShortPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned short *)
|
#define ArrayListAppendUnsignedShortPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned short*)
|
||||||
#define ArrayListAppendUnsignedIntPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned int *)
|
#define ArrayListAppendUnsignedIntPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned int*)
|
||||||
#define ArrayListAppendUnsignedLongPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned long *)
|
#define ArrayListAppendUnsignedLongPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned long*)
|
||||||
#define ArrayListAppendInt64Ptr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Int64_t *)
|
#define ArrayListAppendInt64Ptr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Int64_t*)
|
||||||
#define ArrayListAppendCharPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, char *)
|
#define ArrayListAppendCharPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),char*)
|
||||||
#define ArrayListAppendShortPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, short *)
|
#define ArrayListAppendShortPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),short*)
|
||||||
#define ArrayListAppendIntPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, int *)
|
#define ArrayListAppendIntPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),int*)
|
||||||
#define ArrayListAppendLongPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, long *)
|
#define ArrayListAppendLongPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),long*)
|
||||||
#define ArrayListAppendFloatPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, float *)
|
#define ArrayListAppendFloatPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),float*)
|
||||||
#define ArrayListAppendDoublePtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, double *)
|
#define ArrayListAppendDoublePtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),double*)
|
||||||
#define ArrayListAppendLgIndexPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, LgIndex_t *)
|
#define ArrayListAppendLgIndexPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),LgIndex_t*)
|
||||||
#define ArrayListAppendEntIndexPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, EntIndex_t *)
|
#define ArrayListAppendEntIndexPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),EntIndex_t*)
|
||||||
#define ArrayListAppendSmIntegerPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, SmInteger_t *)
|
#define ArrayListAppendSmIntegerPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),SmInteger_t*)
|
||||||
#define ArrayListAppendBooleanPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Boolean_t *)
|
#define ArrayListAppendBooleanPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Boolean_t*)
|
||||||
#define ArrayListAppendArbParamPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, ArbParam_t *)
|
#define ArrayListAppendArbParamPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),ArbParam_t*)
|
||||||
#define ArrayListAppendVoidPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, void *)
|
#define ArrayListAppendVoidPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),void*)
|
||||||
#define ArrayListAppendFunctionPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, (**)(void))
|
#define ArrayListAppendFunctionPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),(**)(void))
|
||||||
|
|
||||||
#endif /* ARRLIST_h */
|
#endif /* ARRLIST_h */
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -42,6 +19,27 @@
|
||||||
# define EXTERN extern
|
# define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For building pltview.exe under Windows, we use
|
||||||
|
* tecio.dll (which is linked to pltview).
|
||||||
|
* Since pltview.exe uses a few of the
|
||||||
|
* functions here, they need to be exported into
|
||||||
|
* the tecio.dll, thus "TECXXX.h" is included for the
|
||||||
|
* LIBFUNCTION & LIBCALL keywords. They are not
|
||||||
|
* documented with the other TECXXX() functions,
|
||||||
|
* however.
|
||||||
|
*
|
||||||
|
* If pltview requires other AuxData functions
|
||||||
|
* in the future, they can be added to the dll
|
||||||
|
* by adding LIBFUNCTION & LIBCALL as in
|
||||||
|
* AuxDataDealloc(), etc. below.
|
||||||
|
*
|
||||||
|
* When building the tecplot kernel, LIBFUNCTION
|
||||||
|
* and LIBCALL are nop's.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#include "TECXXX.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN Boolean_t AuxDataIsValidNameChar(char Char,
|
EXTERN Boolean_t AuxDataIsValidNameChar(char Char,
|
||||||
|
@ -52,11 +50,11 @@ EXTERN Boolean_t AuxDataIsValidName(const char *Name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN AuxData_pa AuxDataAlloc(void);
|
EXTERN AuxData_pa AuxDataAlloc(ArbParam_t Owner);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN void AuxDataDealloc(AuxData_pa *AuxData);
|
LIBFUNCTION void LIBCALL AuxDataDealloc(AuxData_pa *AuxData);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ -69,7 +67,7 @@ EXTERN AuxData_pa AuxDataCopy(AuxData_pa AuxData,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN LgIndex_t AuxDataGetNumItems(AuxData_pa AuxData);
|
LIBFUNCTION LgIndex_t LIBCALL AuxDataGetNumItems(AuxData_pa AuxData);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ -78,12 +76,12 @@ EXTERN Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
|
||||||
LgIndex_t *ItemIndex);
|
LgIndex_t *ItemIndex);
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN void AuxDataGetItemByIndex(AuxData_pa AuxData,
|
LIBFUNCTION void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData,
|
||||||
LgIndex_t Index,
|
LgIndex_t Index,
|
||||||
const char **Name,
|
const char **Name,
|
||||||
ArbParam_t *Value,
|
ArbParam_t *Value,
|
||||||
AuxDataType_e *Type,
|
AuxDataType_e *Type,
|
||||||
Boolean_t *Retain);
|
Boolean_t *Retain);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ -104,7 +102,7 @@ EXTERN Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData,
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
EXTERN Boolean_t AuxDataSetItem(AuxData_pa AuxData,
|
EXTERN Boolean_t AuxDataSetItem(AuxData_pa AuxData,
|
||||||
const char *Name,
|
char const* Name,
|
||||||
ArbParam_t Value,
|
ArbParam_t Value,
|
||||||
AuxDataType_e Type,
|
AuxDataType_e Type,
|
||||||
Boolean_t Retain);
|
Boolean_t Retain);
|
||||||
|
|
|
@ -0,0 +1,254 @@
|
||||||
|
#ifndef TECPLOT_CHARTYPE
|
||||||
|
#define TECPLOT_CHARTYPE
|
||||||
|
/*
|
||||||
|
******************************************************************
|
||||||
|
******************************************************************
|
||||||
|
******* ********
|
||||||
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
|
******* ********
|
||||||
|
******************************************************************
|
||||||
|
******************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined EXTERN
|
||||||
|
#undef EXTERN
|
||||||
|
#endif
|
||||||
|
#if defined CHARTYPEMODULE
|
||||||
|
#define EXTERN
|
||||||
|
#else
|
||||||
|
#define EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
namespace tecplot
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isspace() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isspace(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isspace(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::space, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isprint() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isprint(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isprint(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::print, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::iscntrl() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool iscntrl(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::iscntrl(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::cntrl, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isupper() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isupper(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isupper(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::upper, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::islower() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool islower(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::islower(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::lower, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isalpha() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isalpha(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isalpha(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::alpha, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isdigit() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isdigit(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isdigit(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::digit, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::ispunct() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool ispunct(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::ispunct(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::punct, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isxdigit() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isxdigit(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isxdigit(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::xdigit, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isalnum() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isalnum(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isalnum(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::alnum, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::isgraph() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline bool isgraph(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return ::isgraph(static_cast<int>(ch));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return std::use_facet<std::ctype<wchar_t> >(loc).is(std::ctype_base::graph, static_cast<wchar_t>(ch));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::toupper() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline CHAR_TYPE toupper(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return static_cast<CHAR_TYPE>(::toupper(static_cast<int>(ch)));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return static_cast<CHAR_TYPE>(
|
||||||
|
std::use_facet<std::ctype<wchar_t> >(loc).toupper(static_cast<wchar_t>(ch)));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as std::tolower() with the classic default C locale for portable
|
||||||
|
* comparisons.
|
||||||
|
*/
|
||||||
|
template <typename CHAR_TYPE>
|
||||||
|
inline CHAR_TYPE tolower(CHAR_TYPE ch,
|
||||||
|
std::locale const& loc = std::locale::classic())
|
||||||
|
{
|
||||||
|
#if defined SUNX
|
||||||
|
REQUIRE(loc == std::locale::classic());
|
||||||
|
return static_cast<CHAR_TYPE>(::tolower(static_cast<int>(ch)));
|
||||||
|
#else
|
||||||
|
REQUIRE(std::has_facet<std::ctype<wchar_t> >(loc));
|
||||||
|
return static_cast<CHAR_TYPE>(
|
||||||
|
std::use_facet<std::ctype<wchar_t> >(loc).tolower(static_cast<wchar_t>(ch)));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#if defined EXTERN
|
#if defined EXTERN
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#endif
|
#endif
|
||||||
|
@ -47,6 +24,7 @@ EXTERN Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
StringList_pa **CustomLabelBase,
|
StringList_pa **CustomLabelBase,
|
||||||
StringList_pa *UserRec,
|
StringList_pa *UserRec,
|
||||||
AuxData_pa *DataSetAuxData,
|
AuxData_pa *DataSetAuxData,
|
||||||
|
ArbParam_t AuxDataOwner,
|
||||||
Set_pa **IsVarCellCentered,
|
Set_pa **IsVarCellCentered,
|
||||||
Boolean_t *HasText,
|
Boolean_t *HasText,
|
||||||
Boolean_t *HasGeoms,
|
Boolean_t *HasGeoms,
|
||||||
|
|
|
@ -1,33 +1,10 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#ifndef DATAIO4_H
|
#ifndef DATAIO4_H
|
||||||
#define DATAIO4_H
|
#define DATAIO4_H
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -117,6 +94,7 @@ EXTERN Boolean_t ReadInZoneHeader(FileStream_s *FileStream,
|
||||||
ZoneSpec_s *ZoneSpec,
|
ZoneSpec_s *ZoneSpec,
|
||||||
Set_pa IsVarCellCentered,
|
Set_pa IsVarCellCentered,
|
||||||
EntIndex_t NumVars,
|
EntIndex_t NumVars,
|
||||||
|
ArbParam_t AuxDataOwner,
|
||||||
Boolean_t *IsRawFNAvailable,
|
Boolean_t *IsRawFNAvailable,
|
||||||
LgIndex_t *FNNumBndryConns);
|
LgIndex_t *FNNumBndryConns);
|
||||||
EXTERN Boolean_t ReadInCustomLabels(FileStream_s *FileStream,
|
EXTERN Boolean_t ReadInCustomLabels(FileStream_s *FileStream,
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#ifndef DATASET_h__
|
#ifndef DATASET_h__
|
||||||
#define DATASET_h__
|
#define DATASET_h__
|
||||||
|
|
||||||
|
@ -28,7 +5,7 @@
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -76,11 +53,11 @@ void SetZoneSpecDefaults(ZoneSpec_s *ZoneSpec);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GetZoneSpec(ZoneSpecList,Zone) ((ZoneSpec_s *)ArrayListGetVoidPtr(ZoneSpecList,Zone))
|
#define GetZoneSpec(ZoneSpecList,Zone) (static_cast<ZoneSpec_s *>(ArrayListGetVoidPtr(ZoneSpecList,Zone)))
|
||||||
#define GetZoneAuxData(DataSet, Zone) (GetZoneSpec((DataSet)->ZoneSpecList, (Zone))->AuxData)
|
#define GetZoneAuxData(DataSet, Zone) (GetZoneSpec((DataSet)->ZoneSpecList, (Zone))->AuxData)
|
||||||
#define GetVarSpec(VarSpecList,Var) ((VarSpec_s *)ArrayListGetVoidPtr(VarSpecList,Var))
|
#define GetVarSpec(VarSpecList,Var) (static_cast<VarSpec_s *>(ArrayListGetVoidPtr(VarSpecList,Var)))
|
||||||
#define GetVarAuxData(DataSet, Var) (GetVarSpec((DataSet)->VarSpecList, (Var))->AuxData)
|
#define GetVarAuxData(DataSet, Var) (GetVarSpec((DataSet)->VarSpecList, (Var))->AuxData)
|
||||||
#define GetStrandInfo(StrandInfoList, StrandID) ((StrandInfo_s *)ArrayListGetVoidPtr(StrandInfoList,StrandID))
|
#define GetStrandInfo(StrandInfoList, StrandID) (static_cast<StrandInfo_s *>(ArrayListGetVoidPtr(StrandInfoList,StrandID)))
|
||||||
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#if defined EXTERN
|
#if defined EXTERN
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#endif
|
#endif
|
||||||
|
@ -34,19 +11,20 @@
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined TECPLOTKERNEL
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace tecplot
|
namespace tecplot
|
||||||
{
|
{
|
||||||
namespace io
|
|
||||||
{
|
|
||||||
class File;
|
class File;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
EXTERN void OutOfMemoryMsg(void);
|
EXTERN void OutOfMemoryMsg(void);
|
||||||
|
|
||||||
|
@ -64,22 +42,23 @@ EXTERN void OutOfMemoryMsg(void);
|
||||||
struct _FieldData_a
|
struct _FieldData_a
|
||||||
{
|
{
|
||||||
void *Data; /* ...placed first in the structure for fastest access */
|
void *Data; /* ...placed first in the structure for fastest access */
|
||||||
# if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
# else
|
#else
|
||||||
void *GetValueCallback[1]; /* ...this field is for TecIO only */
|
void *GetValueCallback[1]; /* ...this field is for TecIO only */
|
||||||
void *SetValueCallback[1]; /* ...this field is for TecIO only */
|
void *SetValueCallback[1]; /* ...this field is for TecIO only */
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
/* PRIVATE */
|
/* PRIVATE */
|
||||||
FieldDataType_e Type;
|
FieldDataType_e Type;
|
||||||
ValueLocation_e ValueLocation;
|
ValueLocation_e ValueLocation;
|
||||||
LgIndex_t RefCount;
|
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */
|
||||||
LgIndex_t VarShareRefCount;
|
|
||||||
LgIndex_t NumValues;
|
|
||||||
# if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
# endif
|
#endif
|
||||||
|
LgIndex_t NumValues;
|
||||||
|
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,8 +98,8 @@ struct _FieldData_a
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#else /* ...for TecIO only */
|
#else /* ...for TecIO only */
|
||||||
#define GetFieldDataGetFunction_MACRO(FieldData) ((FieldValueGetFunction_pf)(FieldData)->GetValueCallback[0])
|
#define GetFieldDataGetFunction_MACRO(FieldData) (reinterpret_cast<FieldValueGetFunction_pf>((FieldData)->GetValueCallback[0]))
|
||||||
#define GetFieldDataSetFunction_MACRO(FieldData) ((FieldValueSetFunction_pf)(FieldData)->SetValueCallback[0])
|
#define GetFieldDataSetFunction_MACRO(FieldData) (reinterpret_cast<FieldValueSetFunction_pf>((FieldData)->SetValueCallback[0]))
|
||||||
#endif
|
#endif
|
||||||
#define GetFieldDataNumValues_MACRO(FieldData) ((FieldData)->NumValues)
|
#define GetFieldDataNumValues_MACRO(FieldData) ((FieldData)->NumValues)
|
||||||
#define GetFieldDataValueLocation_MACRO(FieldData) ((FieldData)->ValueLocation)
|
#define GetFieldDataValueLocation_MACRO(FieldData) ((FieldData)->ValueLocation)
|
||||||
|
@ -202,21 +181,21 @@ typedef UInt64_t Int64Rev_t;
|
||||||
#define GetFieldDataVoidPtr GetFieldDataVoidPtr_FUNC /*danger:see above*/
|
#define GetFieldDataVoidPtr GetFieldDataVoidPtr_FUNC /*danger:see above*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GetFieldDataFloatPtr_MACRO(FieldData) ((float *)((FieldData)->Data))
|
#define GetFieldDataFloatPtr_MACRO(FieldData) (static_cast<float *>((FieldData)->Data))
|
||||||
#define GetFieldDataFloatRevPtr_MACRO(FieldData) ((FloatRev_t *)((FieldData)->Data))
|
#define GetFieldDataFloatRevPtr_MACRO(FieldData) (static_cast<FloatRev_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataDoublePtr_MACRO(FieldData) ((double *)((FieldData)->Data))
|
#define GetFieldDataDoublePtr_MACRO(FieldData) (static_cast<double *>((FieldData)->Data))
|
||||||
#define GetFieldDataDoubleRevPtr_MACRO(FieldData) ((DoubleRev_t *)((FieldData)->Data))
|
#define GetFieldDataDoubleRevPtr_MACRO(FieldData) (static_cast<DoubleRev_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt64Ptr_MACRO(FieldData) ((Int64_t *)((FieldData)->Data))
|
#define GetFieldDataInt64Ptr_MACRO(FieldData) (static_cast<Int64_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt64RevPtr_MACRO(FieldData) ((Int64Rev_t *)((FieldData)->Data))
|
#define GetFieldDataInt64RevPtr_MACRO(FieldData) (static_cast<Int64Rev_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt32Ptr_MACRO(FieldData) ((Int32_t *)((FieldData)->Data))
|
#define GetFieldDataInt32Ptr_MACRO(FieldData) (static_cast<Int32_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt32RevPtr_MACRO(FieldData) ((Int32Rev_t *)((FieldData)->Data))
|
#define GetFieldDataInt32RevPtr_MACRO(FieldData) (static_cast<Int32Rev_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt16Ptr_MACRO(FieldData) ((Int16_t *)((FieldData)->Data))
|
#define GetFieldDataInt16Ptr_MACRO(FieldData) (static_cast<Int16_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataInt16RevPtr_MACRO(FieldData) ((Int16Rev_t *)((FieldData)->Data))
|
#define GetFieldDataInt16RevPtr_MACRO(FieldData) (static_cast<Int16Rev_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataBytePtr_MACRO(FieldData) ((Byte_t *)((FieldData)->Data))
|
#define GetFieldDataBytePtr_MACRO(FieldData) (static_cast<Byte_t *>((FieldData)->Data))
|
||||||
#define GetFieldData2BytePtr_MACRO(FieldData) ((UInt16_t *)((FieldData)->Data))
|
#define GetFieldData2BytePtr_MACRO(FieldData) (static_cast<UInt16_t *>((FieldData)->Data))
|
||||||
#define GetFieldData4BytePtr_MACRO(FieldData) ((UInt32_t *)((FieldData)->Data))
|
#define GetFieldData4BytePtr_MACRO(FieldData) (static_cast<UInt32_t *>((FieldData)->Data))
|
||||||
#define GetFieldData8BytePtr_MACRO(FieldData) ((UInt64_t *)((FieldData)->Data))
|
#define GetFieldData8BytePtr_MACRO(FieldData) (static_cast<UInt64_t *>((FieldData)->Data))
|
||||||
#define GetFieldDataVoidPtr_MACRO(FieldData) ((void *)((FieldData)->Data)) /*danger:see above*/
|
#define GetFieldDataVoidPtr_MACRO(FieldData) (static_cast<void *>((FieldData)->Data)) /*danger:see above*/
|
||||||
|
|
||||||
#if !defined USE_MACROS_FOR_FIELD_DATA_FUNCTIONS
|
#if !defined USE_MACROS_FOR_FIELD_DATA_FUNCTIONS
|
||||||
EXTERN float *GetFieldDataFloatPtr_FUNC(FieldData_pa fd);
|
EXTERN float *GetFieldDataFloatPtr_FUNC(FieldData_pa fd);
|
||||||
|
@ -296,6 +275,8 @@ EXTERN void SwapBytesInUnalignedTypedValueArray(FieldDataType_e ValueType,
|
||||||
/*
|
/*
|
||||||
* Copies values from "src" to "dst". "src" or "dst" may
|
* Copies values from "src" to "dst". "src" or "dst" may
|
||||||
* be differing types. Either or both may be V3D data pointers.
|
* be differing types. Either or both may be V3D data pointers.
|
||||||
|
*
|
||||||
|
* NOTE: We allow src_end to be one less than src_start and is treated as a noop.
|
||||||
*/
|
*/
|
||||||
EXTERN void CopyFieldDataRange(FieldData_pa dst,
|
EXTERN void CopyFieldDataRange(FieldData_pa dst,
|
||||||
LgIndex_t dst_start,
|
LgIndex_t dst_start,
|
||||||
|
@ -317,6 +298,9 @@ EXTERN void CopyFieldValue(FieldData_pa dst,
|
||||||
FieldData_pa src,
|
FieldData_pa src,
|
||||||
LgIndex_t srcindex);
|
LgIndex_t srcindex);
|
||||||
|
|
||||||
|
#if defined TECPLOTKERNEL
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#if defined EXTERN
|
|
||||||
#undef EXTERN
|
|
||||||
#endif
|
|
||||||
#if defined DATASHRMODULE
|
|
||||||
#define EXTERN
|
|
||||||
#else
|
|
||||||
#define EXTERN extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
*****************************************************************
|
|
||||||
*****************************************************************
|
|
||||||
******* ********
|
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
|
||||||
******* ********
|
|
||||||
*****************************************************************
|
|
||||||
*****************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif /* TECPLOTKERNEL */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General set of macros for reference count mananagement.
|
|
||||||
*/
|
|
||||||
#define IncStructureReference(V) ((V)->RefCount++)
|
|
||||||
#define DecStructureReference(V) ((V)->RefCount--)
|
|
||||||
#define IsStructureShared(V) ((V)->RefCount > 1)
|
|
||||||
#define IsStructureReferenced(V) ((V)->RefCount > 0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Special set of macros for field data that is having variable sharing between
|
|
||||||
* zones tracked. Field data maintains two reference counts: The first,
|
|
||||||
* RefCount, is used to keep track of when the field data needs to be
|
|
||||||
* deallocated; the second, VarShareRefCount, is used to track variable sharing
|
|
||||||
* between zones.
|
|
||||||
*/
|
|
||||||
#define IncVarStructureReference(V) ((V)->VarShareRefCount++)
|
|
||||||
#define DecVarStructureReference(V) ((V)->VarShareRefCount--)
|
|
||||||
#define IsVarStructureShared(V) ((V)->VarShareRefCount > 1)
|
|
||||||
#define IsVarStructureReferenced(V) ((V)->VarShareRefCount > 0)
|
|
||||||
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif /* TECPLOTKERNEL */
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* DATAUTIL.h : COPYRIGHT (C)1987-2002 Tecplot, Inc.
|
* DATAUTIL.h : COPYRIGHT (C)1987-2002 Tecplot, Inc.
|
||||||
* ALL RIGHTS RESERVED
|
* ALL RIGHTS RESERVED
|
||||||
|
@ -76,6 +53,10 @@ extern void InitInputSpecs(void);
|
||||||
* @param UserRec
|
* @param UserRec
|
||||||
* Allocates space for and returns the user records.
|
* Allocates space for and returns the user records.
|
||||||
*
|
*
|
||||||
|
* @param DatasetAuxData
|
||||||
|
* Allocates space for and returns Dataset Auxiliary Data. This must be
|
||||||
|
* deallocated with AuxDataDealloc.
|
||||||
|
*
|
||||||
* @param RawDataspaceAllocated
|
* @param RawDataspaceAllocated
|
||||||
* Only used if GetHeaderInfoOnly is FALSE. TRUE = calling program has alloced space for
|
* Only used if GetHeaderInfoOnly is FALSE. TRUE = calling program has alloced space for
|
||||||
* the raw data. FALSE= let ReadTec allocate space for the raw data.
|
* the raw data. FALSE= let ReadTec allocate space for the raw data.
|
||||||
|
@ -104,6 +85,7 @@ LIBFUNCTION Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
|
||||||
LgIndex_t **NumPtsK,
|
LgIndex_t **NumPtsK,
|
||||||
ZoneType_e **ZoneType,
|
ZoneType_e **ZoneType,
|
||||||
StringList_pa *UserRec,
|
StringList_pa *UserRec,
|
||||||
|
AuxData_pa *DatasetAuxData,
|
||||||
Boolean_t RawDataspaceAllocated,
|
Boolean_t RawDataspaceAllocated,
|
||||||
NodeMap_t ***NodeMap,
|
NodeMap_t ***NodeMap,
|
||||||
double ***VDataBase);
|
double ***VDataBase);
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -112,7 +89,8 @@ EXTERN FaceObscuration_e GetFaceObscuration(CZInfo_s const* CZInfo,
|
||||||
LgIndex_t FOffset,
|
LgIndex_t FOffset,
|
||||||
Boolean_t ConsiderValueBlanking,
|
Boolean_t ConsiderValueBlanking,
|
||||||
Boolean_t ConsiderIJKBlanking,
|
Boolean_t ConsiderIJKBlanking,
|
||||||
Boolean_t ConsiderDepthBlanking);
|
Boolean_t ConsiderDepthBlanking,
|
||||||
|
Boolean_t ConsiderClipBlanking);
|
||||||
|
|
||||||
EXTERN EntIndex_t GetNodesPerElementFace(ZoneType_e ZoneType);
|
EXTERN EntIndex_t GetNodesPerElementFace(ZoneType_e ZoneType);
|
||||||
|
|
||||||
|
@ -121,6 +99,20 @@ EXTERN EntIndex_t GetFacesPerElement(ZoneType_e ZoneType,
|
||||||
LgIndex_t JMax,
|
LgIndex_t JMax,
|
||||||
LgIndex_t KMax);
|
LgIndex_t KMax);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Points must have MAX_NODES_PER_FACE elements.
|
||||||
|
* @param UniquePoints must have MAX_NODES_PER_FACE elements.
|
||||||
|
* This array is populated with the unique points
|
||||||
|
* from the input Points array. Values beyond NumUniquePoints-1 may
|
||||||
|
* be uninitialized and should not be accessed.
|
||||||
|
* @param NumUniquePoints - This value is populated the number of unique
|
||||||
|
* points that were placed in the UniquePoints array.
|
||||||
|
* @param Is3D is used to help determine if two points are coincident.
|
||||||
|
*/
|
||||||
|
EXTERN void GetUniquePoints(XYZ_s const Points[],
|
||||||
|
XYZ_s UniquePoints[],
|
||||||
|
SmInteger_t& NumUniquePoints,
|
||||||
|
Boolean_t Is3D);
|
||||||
EXTERN CollapsedStatus_e GetSurfaceCellCollapsedStatus(CZInfo_s const* CZInfo,
|
EXTERN CollapsedStatus_e GetSurfaceCellCollapsedStatus(CZInfo_s const* CZInfo,
|
||||||
CZData_s const* CZData,
|
CZData_s const* CZData,
|
||||||
tecplot::kernel::SubElemValueProducerInterface* SubElemValueProducer);
|
tecplot::kernel::SubElemValueProducerInterface* SubElemValueProducer);
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -85,6 +62,7 @@ EXTERN InputSpec_s /*X*/ AboveZeroElapsedTimeInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ SurfaceTranslucencyInputSpec;
|
EXTERN InputSpec_s /*X*/ SurfaceTranslucencyInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ MaxDepthBufferSizeInputSpec;
|
EXTERN InputSpec_s /*X*/ MaxDepthBufferSizeInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ MaxMultiSamplesInputSpec;
|
EXTERN InputSpec_s /*X*/ MaxMultiSamplesInputSpec;
|
||||||
|
EXTERN InputSpec_s /*X*/ MaxAccumBufferSizeInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ MinBitsPerRGBPlaneInputSpec;
|
EXTERN InputSpec_s /*X*/ MinBitsPerRGBPlaneInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ AnimationSpeedInputSpec;
|
EXTERN InputSpec_s /*X*/ AnimationSpeedInputSpec;
|
||||||
EXTERN InputSpec_s /*X*/ AnimationNumStepsInputSpec;
|
EXTERN InputSpec_s /*X*/ AnimationNumStepsInputSpec;
|
||||||
|
|
|
@ -1,30 +1,7 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*****************************************************************
|
/*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************/
|
*****************************************************************/
|
||||||
|
@ -195,8 +172,8 @@
|
||||||
#define TP_GIVES
|
#define TP_GIVES
|
||||||
#define TP_RECEIVES
|
#define TP_RECEIVES
|
||||||
#define TP_RECEIVES_GIVES
|
#define TP_RECEIVES_GIVES
|
||||||
#define TP_ARRAY_GIVES
|
#define TP_ARRAY_GIVES
|
||||||
#define TP_ARRAY_RECEIVES
|
#define TP_ARRAY_RECEIVES
|
||||||
#define TP_ARRAY_RECEIVES_GIVES
|
#define TP_ARRAY_RECEIVES_GIVES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -220,8 +197,8 @@
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#if defined MSWIN
|
#if defined MSWIN && defined TECPLOTKERNEL
|
||||||
#include "W__BASE.h"
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -271,8 +248,8 @@
|
||||||
#if defined NO_ASSERTS
|
#if defined NO_ASSERTS
|
||||||
#undef NO_ASSERTS
|
#undef NO_ASSERTS
|
||||||
#endif
|
#endif
|
||||||
#if defined NDEBUG
|
#if !defined NDEBUG
|
||||||
#undef NDEBUG
|
#define NDEBUG
|
||||||
#endif
|
#endif
|
||||||
#else /* RELEASE */
|
#else /* RELEASE */
|
||||||
#if !defined NDEBUG
|
#if !defined NDEBUG
|
||||||
|
@ -373,7 +350,7 @@
|
||||||
#define SYSV
|
#define SYSV
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined DECX || defined LINUX || defined IBMRS6000X || defined COMPAQX || defined DARWIN || defined darwin
|
#if defined DECX || defined LINUX || defined IBMRS6000X || defined COMPAQX || defined DARWIN
|
||||||
#define UNIXX
|
#define UNIXX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -413,18 +390,18 @@
|
||||||
|
|
||||||
#pragma warning(disable: 4018) // signed/unsigned mismatch
|
#pragma warning(disable: 4018) // signed/unsigned mismatch
|
||||||
#pragma warning(disable: 4100) // unreferenced formal parameter
|
#pragma warning(disable: 4100) // unreferenced formal parameter
|
||||||
#pragma warning(disable: 4146) // unary minus operator applied to unsigned type,
|
#pragma warning(disable: 4146) // unary minus operator applied to unsigned type,
|
||||||
// result still unsigned
|
// result still unsigned
|
||||||
#pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2',
|
#pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2',
|
||||||
// possible loss of data
|
// possible loss of data
|
||||||
#pragma warning(disable: 4245) // conversion from 'type1' to 'type2', signed/unsigned
|
#pragma warning(disable: 4245) // conversion from 'type1' to 'type2', signed/unsigned
|
||||||
// mismatch
|
// mismatch
|
||||||
#pragma warning(disable: 4511) // 'class' : copy constructor could not be generated
|
#pragma warning(disable: 4511) // 'class' : copy constructor could not be generated
|
||||||
#pragma warning(disable: 4512) // 'class' : assignment operator could not be generated
|
#pragma warning(disable: 4512) // 'class' : assignment operator could not be generated
|
||||||
#pragma warning(disable: 4663) // C++ language change: to explicitly specialize class
|
#pragma warning(disable: 4663) // C++ language change: to explicitly specialize class
|
||||||
// template 'vector'
|
// template 'vector'
|
||||||
#pragma warning(disable: 4710) // 'function' : function not inlined
|
#pragma warning(disable: 4710) // 'function' : function not inlined
|
||||||
#pragma warning(disable: 4786) // identifier was truncated to 'number' characters
|
#pragma warning(disable: 4786) // identifier was truncated to 'number' characters
|
||||||
// in the debug information
|
// in the debug information
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -505,6 +482,10 @@
|
||||||
/* OPENGL currently a must have */
|
/* OPENGL currently a must have */
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#if 0 /* including GLEW header file is currently defining GLAPI to "extern" which causes problems with a kludged Mesa header GLwDrawA.h external glwMDrawingAreaWidgetClass */
|
||||||
|
#if defined USE_VBOs
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
# if !defined ENGINE
|
# if !defined ENGINE
|
||||||
# if defined UNIXX
|
# if defined UNIXX
|
||||||
# endif
|
# endif
|
||||||
|
@ -524,11 +505,7 @@
|
||||||
# if XmVERSION == 1 && XmREVISION == 0
|
# if XmVERSION == 1 && XmREVISION == 0
|
||||||
# endif
|
# endif
|
||||||
# else
|
# else
|
||||||
# ifndef darwin
|
# include <X11/Intrinsic.h>
|
||||||
# include <X11/Intrinsic.h>
|
|
||||||
# else
|
|
||||||
typedef void *Widget;
|
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -658,12 +635,14 @@ typedef Widget GridWidget_t;
|
||||||
* also be a release build (NDEBUG)
|
* also be a release build (NDEBUG)
|
||||||
*/
|
*/
|
||||||
#if defined MSWIN && defined CHECKED_BUILD && !defined NDEBUG
|
#if defined MSWIN && defined CHECKED_BUILD && !defined NDEBUG
|
||||||
# error "CHECKED_BUILDS must also be release builds"
|
# error "CHECKED_BUILDS must also be release builds! NDEBUG should be defined but isn't."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined NO_ASSERTS
|
#if defined NO_ASSERTS
|
||||||
# define USE_MACROS_FOR_FUNCTIONS
|
# if !defined USE_MACROS_FOR_FUNCTIONS
|
||||||
|
# define USE_MACROS_FOR_FUNCTIONS
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
|
|
||||||
|
@ -683,6 +662,21 @@ typedef Widget GridWidget_t;
|
||||||
#define DISALLOW_OFFSCREEN_EXPORT_IN_BATCH
|
#define DISALLOW_OFFSCREEN_EXPORT_IN_BATCH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* indentify the platforms capable of using FFMPEG for encoding video formats */
|
||||||
|
#if defined MSWIN || defined LINUX || defined DARWIN
|
||||||
|
#define HAVE_FFMPEG
|
||||||
|
#endif
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
|
|
||||||
|
/* In windows min and max are being redefined in windef.h.
|
||||||
|
* As we want to use the ones provided by the STL we undefined them
|
||||||
|
*/
|
||||||
|
#if defined MSWIN && defined max
|
||||||
|
# undef max
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined MSWIN && defined min
|
||||||
|
# undef min
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _MASTER_H_ */
|
#endif /* _MASTER_H_ */
|
||||||
|
|
|
@ -1,33 +1,10 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#ifndef Q_MSG_H
|
#ifndef Q_MSG_H
|
||||||
#define Q_MSG_H
|
#define Q_MSG_H
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -47,12 +24,12 @@
|
||||||
|
|
||||||
EXTERN Boolean_t WrapString(const char *OldString,
|
EXTERN Boolean_t WrapString(const char *OldString,
|
||||||
char **NewString);
|
char **NewString);
|
||||||
EXTERN void Warning(tecplot::strutil::TranslatedString Format,
|
EXTERN void Warning(tecplot::strutil::TranslatedString format,
|
||||||
...); /* zero or more arguments */
|
...); /* zero or more arguments */
|
||||||
# if defined TECPLOTKERNEL
|
# if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
EXTERN void ErrMsg(tecplot::strutil::TranslatedString Format,
|
EXTERN void ErrMsg(tecplot::strutil::TranslatedString format,
|
||||||
...); /* zero or more arguments */
|
...); /* zero or more arguments */
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -50,40 +27,44 @@ namespace strutil
|
||||||
{
|
{
|
||||||
|
|
||||||
// functions
|
// functions
|
||||||
Boolean_t IsValidUtf8LeadByte(Byte_t ch);
|
EXTERN Boolean_t IsValidUtf8LeadByte(Byte_t ch);
|
||||||
Boolean_t IsValidUtf8ContinuingByte(Byte_t ch);
|
EXTERN Boolean_t IsValidUtf8ContinuingByte(Byte_t ch);
|
||||||
Boolean_t IsValidUtf8Byte(Byte_t ch);
|
EXTERN Boolean_t IsValidUtf8Byte(Byte_t ch);
|
||||||
|
|
||||||
Boolean_t IsValidUtf8String(const char *str);
|
EXTERN Boolean_t IsPrintable8BitAsciiChar(wchar_t wChar);
|
||||||
Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str);
|
|
||||||
void InitTranslatedStrings();
|
|
||||||
void CleanUpTranslatedStrings();
|
|
||||||
|
|
||||||
Boolean_t IsNullOrZeroLengthString(const char *S);
|
EXTERN Boolean_t IsValidUtf8String(const char *str);
|
||||||
Boolean_t IsNullOrZeroLengthString(tecplot::strutil::TranslatedString TS);
|
EXTERN Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str);
|
||||||
|
EXTERN void InitTranslatedStrings();
|
||||||
|
EXTERN void CleanUpTranslatedStrings();
|
||||||
|
|
||||||
Boolean_t IsEmptyString(const char *S);
|
EXTERN Boolean_t IsNullOrZeroLengthString(const char *S);
|
||||||
Boolean_t IsEmptyString(tecplot::strutil::TranslatedString S);
|
EXTERN Boolean_t IsNullOrZeroLengthString(tecplot::strutil::TranslatedString TS);
|
||||||
Boolean_t IsEmptyString(const wchar_t* S);
|
|
||||||
|
EXTERN Boolean_t IsEmptyString(const char *S);
|
||||||
|
EXTERN Boolean_t IsEmptyString(tecplot::strutil::TranslatedString S);
|
||||||
|
EXTERN Boolean_t IsEmptyString(const wchar_t* S);
|
||||||
|
|
||||||
|
EXTERN std::string AsciiToUtf8String(unsigned char asciiChar);
|
||||||
|
|
||||||
#if defined MSWIN
|
#if defined MSWIN
|
||||||
|
|
||||||
std::string LookUpTranslation(std::string& strEnglish);
|
EXTERN std::string LookUpTranslation(std::string& strEnglish);
|
||||||
void MsWinInitTranslatedStrings();
|
EXTERN void MsWinInitTranslatedStrings();
|
||||||
|
|
||||||
std::string WStringToString(std::wstring str);
|
EXTERN std::string WStringToString(std::wstring str);
|
||||||
std::wstring StringToWString(std::string str);
|
EXTERN std::wstring StringToWString(std::string str);
|
||||||
|
|
||||||
std::wstring MultiByteToWideChar(const char *Utf8Str,
|
EXTERN std::wstring MultiByteToWideChar(const char* Utf8Str,
|
||||||
unsigned int CodePage);
|
unsigned int CodePage);
|
||||||
|
|
||||||
std::string WideCharToMultiByte(const wchar_t *WideStr,
|
EXTERN std::string WideCharToMultiByte(const wchar_t* WideStr,
|
||||||
unsigned int CodePage);
|
unsigned int CodePage);
|
||||||
|
|
||||||
// Conversion
|
// Conversion
|
||||||
std::string WideCharToUtf8(const wchar_t* str);
|
EXTERN std::string WideCharToUtf8(const wchar_t* str);
|
||||||
std::wstring Utf8ToWideChar(const char *str);
|
EXTERN std::wstring Utf8ToWideChar(const char *str);
|
||||||
char *getenv(const char *str);
|
EXTERN char *getenv(const char *str);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#if defined EXTERN
|
#if defined EXTERN
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,15 +14,18 @@
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PadOut(X,Y) ((int)(((X)-1)/(Y)+1)*(Y))
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#define PadOut(X,Y) (static_cast<int>(((X)-1)/(Y)+1)*(Y))
|
||||||
#define SetBitSize (8*sizeof(SetData_t))
|
#define SetBitSize (8*sizeof(SetData_t))
|
||||||
#define SetLastBit (((unsigned long)1)<<(SetBitSize-1))
|
#define SetLastBit ((static_cast<unsigned long>(1))<<(SetBitSize-1))
|
||||||
|
|
||||||
#if defined _DEBUG
|
#if defined _DEBUG
|
||||||
# define USE_FUNCTIONS_FOR_SETS
|
# define USE_FUNCTIONS_FOR_SETS
|
||||||
|
@ -150,7 +130,7 @@ inline Boolean_t AddToSet(Set_pa Set,
|
||||||
ExpandSet(Set, member + 1, show_error_msg)))
|
ExpandSet(Set, member + 1, show_error_msg)))
|
||||||
{
|
{
|
||||||
SetIndex_t word = member / SetBitSize;
|
SetIndex_t word = member / SetBitSize;
|
||||||
SetData_t bit = (SetData_t)1 << (member % SetBitSize);
|
SetData_t bit = static_cast<SetData_t>(1) << (member % SetBitSize);
|
||||||
Set->data[word] |= bit;
|
Set->data[word] |= bit;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -193,7 +173,7 @@ inline Boolean_t InSet(Set_pa Set,
|
||||||
if (Set && (0 <= member && member < Set->size))
|
if (Set && (0 <= member && member < Set->size))
|
||||||
{
|
{
|
||||||
SetIndex_t word = member / SetBitSize;
|
SetIndex_t word = member / SetBitSize;
|
||||||
SetData_t bit = (SetData_t)1 << (member % SetBitSize);
|
SetData_t bit = static_cast<SetData_t>(1) << (member % SetBitSize);
|
||||||
return (Set->data[word]&bit) != 0;
|
return (Set->data[word]&bit) != 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -280,4 +260,76 @@ EXTERN void ShiftSet(Set_pa Set,
|
||||||
Member != BAD_SET_VALUE; \
|
Member != BAD_SET_VALUE; \
|
||||||
Member = GetPrevMember((Set), (Member)))
|
Member = GetPrevMember((Set), (Member)))
|
||||||
|
|
||||||
|
namespace tecplot
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a set into a vector of set offsets.
|
||||||
|
* @templateparam T
|
||||||
|
* Type item in the set.
|
||||||
|
* @param itemSet
|
||||||
|
* Set of items to convert into a vector of set offsets.
|
||||||
|
* @return
|
||||||
|
* Vector of set offsets.
|
||||||
|
* @throws std::bad_alloc if insufficient resources are available to made the copy
|
||||||
|
*/
|
||||||
|
template <typename T>
|
||||||
|
std::vector<T> toVector(Set_pa itemSet)
|
||||||
|
{
|
||||||
|
REQUIRE(VALID_REF(itemSet) || itemSet == 0);
|
||||||
|
|
||||||
|
std::vector<T> result;
|
||||||
|
size_t const count = MemberCount(itemSet);
|
||||||
|
if (count != 0)
|
||||||
|
{
|
||||||
|
result.reserve(count);
|
||||||
|
SetIndex_t item;
|
||||||
|
ForAllMembersInSet(item,itemSet)
|
||||||
|
result.push_back(static_cast<T>(item));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a vector into a set offsets.
|
||||||
|
* @templateparam T
|
||||||
|
* Type item in the set.
|
||||||
|
* @param items
|
||||||
|
* Vector of elements of type T to convert to the set of offsets.
|
||||||
|
* @return
|
||||||
|
* Allocated Set of items with the elements converted from the vector.
|
||||||
|
* @throws std::bad_alloc if insufficient resources are available to made the copy
|
||||||
|
*/
|
||||||
|
template <typename T>
|
||||||
|
Set_pa toSet(std::vector<T> const& items)
|
||||||
|
{
|
||||||
|
Set_pa result = AllocSet(FALSE);
|
||||||
|
if (result == NULL)
|
||||||
|
throw std::bad_alloc();
|
||||||
|
|
||||||
|
if (!items.empty())
|
||||||
|
{
|
||||||
|
// locate the largest element, O(n)
|
||||||
|
typename std::vector<T>::const_iterator largest = std::max_element(items.begin(), items.end());
|
||||||
|
|
||||||
|
if (!ExpandSet(result, *largest + 1, FALSE))
|
||||||
|
{
|
||||||
|
DeallocSet(&result);
|
||||||
|
throw std::bad_alloc();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (typename std::vector<T>::const_iterator item = items.begin();item != items.end();++item)
|
||||||
|
{
|
||||||
|
if (!AddToSet(result,static_cast<SetIndex_t>(*item),FALSE))
|
||||||
|
throw std::bad_alloc();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ENSURE(VALID_REF(result));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#endif // _SET_H_INCLUDED
|
#endif // _SET_H_INCLUDED
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -59,7 +36,7 @@
|
||||||
* by adding LIBFUNCTION & LIBCALL as in
|
* by adding LIBFUNCTION & LIBCALL as in
|
||||||
* StringListDealloc(), etc. below.
|
* StringListDealloc(), etc. below.
|
||||||
*
|
*
|
||||||
* When building the tecplot kernal, LIBFUNCTION
|
* When building the tecplot kernel, LIBFUNCTION
|
||||||
* and LIBCALL are nop's.
|
* and LIBCALL are nop's.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -72,13 +49,13 @@ EXTERN void StringListRemoveStrings(StringList_pa StringList,
|
||||||
LgIndex_t Count);
|
LgIndex_t Count);
|
||||||
EXTERN void StringListRemoveString(StringList_pa StringList,
|
EXTERN void StringListRemoveString(StringList_pa StringList,
|
||||||
LgIndex_t StringOffset);
|
LgIndex_t StringOffset);
|
||||||
LIBFUNCTION void LIBCALL StringListDealloc(StringList_pa *StringList);
|
LIBFUNCTION void LIBCALL StringListDealloc(StringList_pa* StringList);
|
||||||
EXTERN StringList_pa StringListAlloc(void);
|
EXTERN StringList_pa StringListAlloc(void);
|
||||||
EXTERN Boolean_t StringListAppendString(StringList_pa StringList,
|
EXTERN Boolean_t StringListAppendString(StringList_pa StringList,
|
||||||
const char *String);
|
char const* String);
|
||||||
LIBFUNCTION LgIndex_t LIBCALL StringListCount(StringList_pa StringList);
|
LIBFUNCTION LgIndex_t LIBCALL StringListCount(StringList_pa StringList);
|
||||||
LIBFUNCTION char * LIBCALL StringListGetString(StringList_pa StringList,
|
LIBFUNCTION char* LIBCALL StringListGetString(StringList_pa StringList,
|
||||||
LgIndex_t StringOffset);
|
LgIndex_t StringOffset);
|
||||||
|
|
||||||
#if defined USE_MACROS_FOR_FUNCTIONS
|
#if defined USE_MACROS_FOR_FUNCTIONS
|
||||||
# define StringListGetStringRef StringListGetStringRef_MACRO
|
# define StringListGetStringRef StringListGetStringRef_MACRO
|
||||||
|
@ -87,36 +64,36 @@ LIBFUNCTION char * LIBCALL StringListGetString(StringList_pa StringList,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined USE_MACROS_FOR_FUNCTIONS
|
#if !defined USE_MACROS_FOR_FUNCTIONS
|
||||||
EXTERN const char * StringListGetStringRef_FUNC(StringList_pa StringList,
|
EXTERN char const* StringListGetStringRef_FUNC(StringList_pa StringList,
|
||||||
LgIndex_t StringOffset);
|
LgIndex_t StringOffset);
|
||||||
#endif
|
#endif
|
||||||
/**
|
/**
|
||||||
* To maintain the string list's integrity the result is cast to a
|
* To maintain the string list's integrity the result is cast to a
|
||||||
* (const char *) to minimize the risk of users passing the result
|
* (char const*) to minimize the risk of users passing the result
|
||||||
* to FREE_ARRAY.
|
* to FREE_ARRAY.
|
||||||
*/
|
*/
|
||||||
#define StringListGetStringRef_MACRO(StringList, StringOffset) \
|
#define StringListGetStringRef_MACRO(StringList, StringOffset) \
|
||||||
((const char *)ArrayListGetCharPtr((ArrayList_pa)(StringList), StringOffset))
|
static_cast<char const*>(ArrayListGetCharPtr(reinterpret_cast<ArrayList_pa>(StringList), StringOffset))
|
||||||
|
|
||||||
EXTERN Boolean_t StringListSetString(StringList_pa StringList,
|
EXTERN Boolean_t StringListSetString(StringList_pa StringList,
|
||||||
LgIndex_t StringOffset,
|
LgIndex_t StringOffset,
|
||||||
const char *String);
|
char const* String);
|
||||||
EXTERN Boolean_t StringListInsertString(StringList_pa StringList,
|
EXTERN Boolean_t StringListInsertString(StringList_pa StringList,
|
||||||
LgIndex_t StringOffset,
|
LgIndex_t StringOffset,
|
||||||
const char *String);
|
char const* String);
|
||||||
EXTERN StringList_pa StringListCopy(StringList_pa StringList);
|
EXTERN StringList_pa StringListCopy(StringList_pa StringList);
|
||||||
EXTERN Boolean_t StringListAppend(StringList_pa Target,
|
EXTERN Boolean_t StringListAppend(StringList_pa Target,
|
||||||
StringList_pa Source);
|
StringList_pa Source);
|
||||||
|
|
||||||
EXTERN char *StringListToNLString(StringList_pa StringList);
|
EXTERN char* StringListToNLString(StringList_pa StringList);
|
||||||
EXTERN StringList_pa StringListFromNLString(const char *String);
|
EXTERN StringList_pa StringListFromNLString(char const* String);
|
||||||
EXTERN char **StringListToArray(StringList_pa StringList);
|
EXTERN char** StringListToArray(StringList_pa StringList);
|
||||||
EXTERN StringList_pa StringListFromArray(const char **StringArray,
|
EXTERN StringList_pa StringListFromArray(char const** StringArray,
|
||||||
LgIndex_t Count);
|
LgIndex_t Count);
|
||||||
EXTERN StringList_pa StringListFromCompound(const char *String);
|
EXTERN StringList_pa StringListFromCompound(char const* String);
|
||||||
EXTERN char *StringListToCompound(StringList_pa StringList,
|
EXTERN char* StringListToCompound(StringList_pa StringList,
|
||||||
char GroupJoinCharacter,
|
char GroupJoinCharacter,
|
||||||
const char *CharsToEscape);
|
char const* CharsToEscape);
|
||||||
EXTERN void StringListSort(StringList_pa StringList,
|
#if defined TECPLOTKERNEL
|
||||||
StringListStringComparator_pf Comparator,
|
/* CORE SOURCE CODE REMOVED */
|
||||||
ArbParam_t ClientData);
|
#endif
|
||||||
|
|
|
@ -1,31 +1,10 @@
|
||||||
/*
|
#ifndef TECPLOT_STRUTIL
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
#define TECPLOT_STRUTIL
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -136,8 +115,6 @@ EXTERN StringList_pa LineBreakString(const char *String,
|
||||||
UInt32_t WrapMargin);
|
UInt32_t WrapMargin);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
EXTERN Boolean_t MatchKey(char *StringToMatch,
|
|
||||||
char *Key);
|
|
||||||
EXTERN void RemoveSeparator(const char **CPtr);
|
EXTERN void RemoveSeparator(const char **CPtr);
|
||||||
EXTERN void SkipWhiteSpace(const char **CPtr);
|
EXTERN void SkipWhiteSpace(const char **CPtr);
|
||||||
EXTERN void SkipNonWhiteSpace(char **CPtr);
|
EXTERN void SkipNonWhiteSpace(char **CPtr);
|
||||||
|
@ -148,6 +125,11 @@ EXTERN int ustrncmp(const char *s1,
|
||||||
size_t Len);
|
size_t Len);
|
||||||
EXTERN int ustrcmp(const char *s1,
|
EXTERN int ustrcmp(const char *s1,
|
||||||
const char *s2);
|
const char *s2);
|
||||||
|
|
||||||
|
#if defined TECPLOTKERNEL
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* public access */
|
/* public access */
|
||||||
/* InternalResetString should not be used directly (use ResetString macro) */
|
/* InternalResetString should not be used directly (use ResetString macro) */
|
||||||
#if !defined NO_ASSERTS
|
#if !defined NO_ASSERTS
|
||||||
|
@ -216,3 +198,5 @@ inline char const* EndOfString(char const* str)
|
||||||
{
|
{
|
||||||
return str + strlen(str);
|
return str + strlen(str);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,31 +1,11 @@
|
||||||
/*
|
#ifndef TECPLOT_SYSTEM_H
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
#define TECPLOT_SYSTEM_H
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -39,6 +19,15 @@
|
||||||
#define EXTERN extern
|
#define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Windows has trouble with large chunks across SAMBA mounted file systems (not sure
|
||||||
|
* where the limit is).
|
||||||
|
*/
|
||||||
|
#define MAX_BYTES_PER_CHUNK 131072L // ...== 2^17
|
||||||
|
|
||||||
|
#if defined TECPLOTKERNEL
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,7 +37,6 @@ EXTERN Boolean_t VerifyToOverwriteFile(const char *FName);
|
||||||
EXTERN Boolean_t IsValidDirectory(const char *FName);
|
EXTERN Boolean_t IsValidDirectory(const char *FName);
|
||||||
EXTERN Boolean_t FileExists(const char *F,
|
EXTERN Boolean_t FileExists(const char *F,
|
||||||
Boolean_t ShowErr);
|
Boolean_t ShowErr);
|
||||||
EXTERN Boolean_t IsOkFNameChar(unsigned char ch);
|
|
||||||
EXTERN void ErrFName(const char *FName);
|
EXTERN void ErrFName(const char *FName);
|
||||||
EXTERN Boolean_t IsValidFileName(const char *FileName,
|
EXTERN Boolean_t IsValidFileName(const char *FileName,
|
||||||
Boolean_t IsReading,
|
Boolean_t IsReading,
|
||||||
|
@ -65,3 +53,4 @@ EXTERN Boolean_t Open_File(FILE **F,
|
||||||
Boolean_t ShowErr,
|
Boolean_t ShowErr,
|
||||||
Boolean_t IsAscii);
|
Boolean_t IsAscii);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,31 +1,10 @@
|
||||||
/*
|
#ifndef TASSERT_H
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
#define TASSERT_H
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -76,8 +55,7 @@
|
||||||
* builds and always fails at compile time for release
|
* builds and always fails at compile time for release
|
||||||
* builds.
|
* builds.
|
||||||
*/
|
*/
|
||||||
#if !defined TASSERT_H
|
|
||||||
#define TASSERT_H
|
|
||||||
|
|
||||||
#if defined (MSWIN)
|
#if defined (MSWIN)
|
||||||
# include <assert.h>
|
# include <assert.h>
|
||||||
|
@ -125,8 +103,12 @@
|
||||||
#if !defined TECPLOTKERNEL
|
#if !defined TECPLOTKERNEL
|
||||||
/* For add-ons, there is a problem with VALID_REF, so just test for non-NULL */
|
/* For add-ons, there is a problem with VALID_REF, so just test for non-NULL */
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
# define VALID_REF(p) ( (p) != NULL )
|
# if !defined VALID_REF
|
||||||
# define VALID_FN_REF(fp) ( (fp) != NULL )
|
# define VALID_REF(p) ( (p) != NULL )
|
||||||
|
# endif
|
||||||
|
# if !defined VALID_FN_REF
|
||||||
|
# define VALID_FN_REF(fp) ( (fp) != NULL )
|
||||||
|
# endif
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
#endif /* !defined TECPLOTKERNAL */
|
#endif /* !defined TECPLOTKERNAL */
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
|
@ -147,11 +129,19 @@
|
||||||
|
|
||||||
#if defined NO_ASSERTS
|
#if defined NO_ASSERTS
|
||||||
/* release build in TecUtil layer uses these for TUASSERT */
|
/* release build in TecUtil layer uses these for TUASSERT */
|
||||||
# define VALID_REF(p) ((p) != NULL)
|
# if !defined VALID_REF
|
||||||
# define VALID_FN_REF(pf) ((pf) != NULL)
|
# define VALID_REF(p) ((p) != NULL)
|
||||||
|
# endif
|
||||||
|
# if !defined VALID_FN_REF
|
||||||
|
# define VALID_FN_REF(pf) ((pf) != NULL)
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
# define VALID_REF(p) ((p) != NULL && !IsBadReadPtr((const void *)(p), 1))
|
# if !defined VALID_REF
|
||||||
# define VALID_FN_REF(pf) ((pf) != NULL && !IsBadReadPtr((const void *)(pf),(UINT_PTR)sizeof(const void*)))
|
# define VALID_REF(p) ((p) != NULL && !IsBadReadPtr((const void *)(p), 1))
|
||||||
|
# endif
|
||||||
|
# if !defined VALID_FN_REF
|
||||||
|
# define VALID_FN_REF(pf) ((pf) != NULL && !IsBadReadPtr((const void *)(pf),(UINT_PTR)sizeof(const void*)))
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
|
@ -178,13 +168,21 @@
|
||||||
|
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
/* other useful validity checks */
|
/* other useful validity checks */
|
||||||
#define VALID_BOOLEAN(b) ((b) == TRUE || (b) == FALSE)
|
#if !defined VALID_BOOLEAN
|
||||||
#define VALID_ENUM(value, type) (0 <= (value) && \
|
# define VALID_BOOLEAN(b) ((b) == TRUE || (b) == FALSE)
|
||||||
(value) < END_##type)
|
#endif
|
||||||
|
#if !defined VALID_ENUM
|
||||||
|
# define VALID_ENUM(value, type) (0 <= static_cast<int>((value)) && \
|
||||||
|
static_cast<int>((value)) < END_##type)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Test a parameter than can be NULL or a valid pointer */
|
/* Test a parameter than can be NULL or a valid pointer */
|
||||||
#define VALID_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_REF(ptr))
|
#if !defined VALID_REF_OR_NULL
|
||||||
#define VALID_FN_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_FN_REF(ptr))
|
# define VALID_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_REF(ptr))
|
||||||
|
#endif
|
||||||
|
#if !defined VALID_FN_REF_OR_NULL
|
||||||
|
# define VALID_FN_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_FN_REF(ptr))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
#define VALID_TRANSLATED_STRING(ts) (!(ts).isNull())
|
#define VALID_TRANSLATED_STRING(ts) (!(ts).isNull())
|
||||||
|
@ -267,23 +265,29 @@
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
|
|
||||||
/* Check for a non-zero length string */
|
/* Check for a non-zero length string */
|
||||||
#if defined MSWIN
|
#if !defined VALID_NON_ZERO_LEN_STR
|
||||||
# if defined NO_ASSERTS
|
# if defined MSWIN
|
||||||
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
|
# if defined NO_ASSERTS
|
||||||
|
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
|
||||||
|
# else
|
||||||
|
# define VALID_NON_ZERO_LEN_STR(str) \
|
||||||
|
(VALID_REF(str) && \
|
||||||
|
!IsBadReadPtr((const void*)(str),(UINT_PTR)(1+strlen((const char*)(str)))) && \
|
||||||
|
!ISEMPTYSTRING(str))
|
||||||
|
# endif
|
||||||
# else
|
# else
|
||||||
# define VALID_NON_ZERO_LEN_STR(str) \
|
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
|
||||||
(VALID_REF(str) && \
|
|
||||||
!IsBadReadPtr((const void*)(str),(UINT_PTR)(1+strlen((const char*)(str)))) && \
|
|
||||||
!ISEMPTYSTRING(str))
|
|
||||||
# endif
|
# endif
|
||||||
#else
|
|
||||||
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define VALID_SET_INDEX(setIndex) (((SetIndex_t)setIndex)>=(SetIndex_t)1)
|
#if !defined VALID_SET_INDEX
|
||||||
|
# define VALID_SET_INDEX(setIndex) (((SetIndex_t)setIndex)>=(SetIndex_t)1)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Check for valid stdio file handle */
|
/* Check for valid stdio file handle */
|
||||||
#define VALID_FILE_HANDLE(stream) ((stream) != NULL)
|
#if !defined VALID_FILE_HANDLE
|
||||||
|
# define VALID_FILE_HANDLE(stream) ((stream) != NULL)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* To check colors and pen numbers */
|
/* To check colors and pen numbers */
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
|
@ -333,7 +337,7 @@
|
||||||
#define VALID_NAME(Name, MaxLength) \
|
#define VALID_NAME(Name, MaxLength) \
|
||||||
(VALID_REF(Name) && \
|
(VALID_REF(Name) && \
|
||||||
(ISEMPTYSTRING(Name) || \
|
(ISEMPTYSTRING(Name) || \
|
||||||
(!isspace((Name)[0]) && !isspace((Name)[strlen(Name)-1]))) && \
|
(!tecplot::isspace((Name)[0]) && !tecplot::isspace((Name)[strlen(Name)-1]))) && \
|
||||||
strlen(Name) <= (MaxLength))
|
strlen(Name) <= (MaxLength))
|
||||||
#define VALID_ZONE_NAME(Name) VALID_NAME((Name), MaxChrsZnTitle)
|
#define VALID_ZONE_NAME(Name) VALID_NAME((Name), MaxChrsZnTitle)
|
||||||
#define VALID_VAR_NAME(Name) VALID_NAME((Name), MaxChrsVarName)
|
#define VALID_VAR_NAME(Name) VALID_NAME((Name), MaxChrsVarName)
|
||||||
|
@ -366,41 +370,76 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify(
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
# define TASSERT(EXPR)
|
# define TASSERT(EXPR)
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
# define INVARIANT(EXPR)
|
# if !defined INVARIANT
|
||||||
# define REQUIRE(EXPR)
|
# define INVARIANT(EXPR)
|
||||||
# define ENSURE(EXPR)
|
# endif
|
||||||
# define CHECK(EXPR)
|
# if !defined REQUIRE
|
||||||
|
# define REQUIRE(EXPR)
|
||||||
|
# endif
|
||||||
|
# if !defined ENSURE
|
||||||
|
# define ENSURE(EXPR)
|
||||||
|
# endif
|
||||||
|
# if !defined CHECK
|
||||||
|
# define CHECK(EXPR)
|
||||||
|
# endif
|
||||||
# ifdef VERIFY
|
# ifdef VERIFY
|
||||||
# undef VERIFY
|
# undef VERIFY
|
||||||
# endif
|
# endif
|
||||||
# define VERIFY(EXPR) ((void)(EXPR))
|
# define VERIFY(EXPR) ((void)(EXPR))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If a project is compiled with "warnings treated as errors" we need a way to
|
||||||
|
* to remove parameters that are only used for assertions if assertions are
|
||||||
|
* turned off.
|
||||||
|
*
|
||||||
|
* This macro is used in the implementation as follows:
|
||||||
|
*
|
||||||
|
* void someFunction(int const ASSERT_ONLY(paramOnlyUsedInAssertions))
|
||||||
|
* {
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
# if !defined ASSERT_ONLY
|
||||||
|
# define ASSERT_ONLY(PARAMETER)
|
||||||
|
# endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Only define IGNORENOTIMPLEMENTED if building a "test" release build
|
* Only define IGNORENOTIMPLEMENTED if building a "test" release build
|
||||||
* that you are fully aware may contain unimplemented features.
|
* that you are fully aware may contain unimplemented features.
|
||||||
*/
|
*/
|
||||||
# if defined IGNORENOTIMPLEMENTED
|
# if !defined NOT_IMPLEMENTED
|
||||||
# define NOT_IMPLEMENTED() CHECK(FALSE)
|
# if defined IGNORENOTIMPLEMENTED
|
||||||
# else
|
# define NOT_IMPLEMENTED() CHECK(FALSE)
|
||||||
# if defined MSWIN
|
# else
|
||||||
|
# if defined MSWIN
|
||||||
/*
|
/*
|
||||||
* NOT_IMPLEMENTED is defined using a parameter, but should be called with none,
|
* NOT_IMPLEMENTED is defined using a parameter, but should be called with none,
|
||||||
* this will then throw a warning and not break the compile. Unix doesn't pick
|
* this will then throw a warning and not break the compile. Unix doesn't pick
|
||||||
* up this warning, so break the compile under Unix
|
* up this warning, so break the compile under Unix
|
||||||
*/
|
*/
|
||||||
# define NOT_IMPLEMENTED(x) TAssert("Not Implemented", __FILE__, __LINE__)
|
# define NOT_IMPLEMENTED(x) TAssert("Not Implemented", __FILE__, __LINE__)
|
||||||
# endif
|
# endif
|
||||||
# if defined UNIXX
|
# if defined UNIXX
|
||||||
# define NOT_IMPLEMENTED() not implemented /* intentionally break the compile */
|
# define NOT_IMPLEMENTED() not implemented /* intentionally break the compile */
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#elif defined STD_ASSERTS
|
#elif defined STD_ASSERTS
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
# define TASSERT(EXPR) assert(EXPR)
|
# define TASSERT(EXPR) assert(EXPR)
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
# define INVARIANT(EXPR) assert(EXPR)
|
# if !defined INVARIANT
|
||||||
# define REQUIRE(EXPR) assert(EXPR)
|
# define INVARIANT(EXPR) assert(EXPR)
|
||||||
# define ENSURE(EXPR) assert(EXPR)
|
# endif
|
||||||
# define CHECK(EXPR) assert(EXPR)
|
# if !defined REQUIRE
|
||||||
|
# define REQUIRE(EXPR) assert(EXPR)
|
||||||
|
# endif
|
||||||
|
# if !defined ENSURE
|
||||||
|
# define ENSURE(EXPR) assert(EXPR)
|
||||||
|
# endif
|
||||||
|
# if !defined CHECK
|
||||||
|
# define CHECK(EXPR) assert(EXPR)
|
||||||
|
# endif
|
||||||
# ifdef VERIFY
|
# ifdef VERIFY
|
||||||
# undef VERIFY
|
# undef VERIFY
|
||||||
# endif
|
# endif
|
||||||
|
@ -411,7 +450,15 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify(
|
||||||
# define VERIFY(EXPR) assert(EXPR)
|
# define VERIFY(EXPR) assert(EXPR)
|
||||||
# endif
|
# endif
|
||||||
# endif /* VERIFY */
|
# endif /* VERIFY */
|
||||||
# define NOT_IMPLEMENTED() assert(!("Not Implemented"))
|
# if !defined NOT_IMPLEMENTED
|
||||||
|
# define NOT_IMPLEMENTED() assert(!("Not Implemented"))
|
||||||
|
# endif
|
||||||
|
/*
|
||||||
|
* See note above for this macro.
|
||||||
|
*/
|
||||||
|
# if !defined ASSERT_ONLY
|
||||||
|
# define ASSERT_ONLY(PARAMETER) PARAMETER
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
#if defined (MSWIN)
|
#if defined (MSWIN)
|
||||||
|
@ -441,7 +488,7 @@ extern void TWinCheckedFailedLine(const char *Expr,
|
||||||
#define TASSERT(EXPR)\
|
#define TASSERT(EXPR)\
|
||||||
do { if (!(EXPR)) { TWinCheckedFailedLine(#EXPR,__FILE__,__LINE__); } } while (0)
|
do { if (!(EXPR)) { TWinCheckedFailedLine(#EXPR,__FILE__,__LINE__); } } while (0)
|
||||||
#else
|
#else
|
||||||
#define TASSERT(EXPR) ASSERT(EXPR) /* MFC assert.
|
#define TASSERT(EXPR) ASSERT(EXPR) /* MFC assert.
|
||||||
Works in both release & debug builds */
|
Works in both release & debug builds */
|
||||||
#endif /* CHECKED_BUILD */
|
#endif /* CHECKED_BUILD */
|
||||||
#else
|
#else
|
||||||
|
@ -486,9 +533,23 @@ Works in both release & debug builds */
|
||||||
# define NOT_IMPLEMENTED() NiceNotImplemented()
|
# define NOT_IMPLEMENTED() NiceNotImplemented()
|
||||||
# else
|
# else
|
||||||
# define NOT_IMPLEMENTED() TASSERT(!("Not Implemented"))
|
# define NOT_IMPLEMENTED() TASSERT(!("Not Implemented"))
|
||||||
|
# endif
|
||||||
|
/*
|
||||||
|
* See note above for this macro.
|
||||||
|
*/
|
||||||
|
# if !defined ASSERT_ONLY
|
||||||
|
# define ASSERT_ONLY(PARAMETER) PARAMETER
|
||||||
# endif
|
# endif
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated use ASSERT_ONLY instead
|
||||||
|
*/
|
||||||
|
#if !defined ASSERT_ONLY_PARAM && defined ASSERT_ONLY
|
||||||
|
# define ASSERT_ONLY_PARAM(PARAMETER) ASSERT_ONLY(PARAMETER)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
#if !defined STD_ASSERTS
|
#if !defined STD_ASSERTS
|
||||||
extern void TecplotMopupOnAssert(void);
|
extern void TecplotMopupOnAssert(void);
|
||||||
|
@ -500,8 +561,12 @@ extern void NiceNotImplemented(void);
|
||||||
/* ENDREMOVEFROMADDON */
|
/* ENDREMOVEFROMADDON */
|
||||||
|
|
||||||
/* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */
|
/* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */
|
||||||
#define IMPLICATION(P,Q) (!(P) || (Q))
|
#if !defined IMPLICATION
|
||||||
#define EQUIVALENCE(P,Q) ((P) == (Q))
|
# define IMPLICATION(P,Q) (!(P) || (Q))
|
||||||
|
#endif
|
||||||
|
#if !defined EQUIVALENCE
|
||||||
|
# define EQUIVALENCE(P,Q) ((P) == (Q))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* BEGINREMOVEFROMADDON */
|
/* BEGINREMOVEFROMADDON */
|
||||||
#if defined RLM
|
#if defined RLM
|
||||||
|
|
|
@ -1,24 +1 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "TECXXX.h"
|
#include "TECXXX.h"
|
||||||
|
|
|
@ -1,28 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
* TECXXX.h: Copyright (C) 1988-2010 Tecplot, Inc.
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* TECXXX.h: Copyright (C) 1988-2008 Tecplot, Inc.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined TECXXX_H_
|
#if !defined TECXXX_H_
|
||||||
|
@ -34,6 +11,7 @@
|
||||||
# define TECZNE112 teczne112
|
# define TECZNE112 teczne112
|
||||||
# define TECDAT112 tecdat112
|
# define TECDAT112 tecdat112
|
||||||
# define TECNOD112 tecnod112
|
# define TECNOD112 tecnod112
|
||||||
|
# define TECNODE112 tecnode112
|
||||||
# define TECGEO112 tecgeo112
|
# define TECGEO112 tecgeo112
|
||||||
# define TECTXT112 tectxt112
|
# define TECTXT112 tectxt112
|
||||||
# define TECLAB112 teclab112
|
# define TECLAB112 teclab112
|
||||||
|
@ -45,6 +23,8 @@
|
||||||
# define TECVAUXSTR112 tecvauxstr112
|
# define TECVAUXSTR112 tecvauxstr112
|
||||||
# define TECFACE112 tecface112
|
# define TECFACE112 tecface112
|
||||||
# define TECPOLY112 tecpoly112
|
# define TECPOLY112 tecpoly112
|
||||||
|
# define TECPOLYFACE112 tecpolyface112
|
||||||
|
# define TECPOLYBCONN112 tecpolybconn112
|
||||||
|
|
||||||
# define TECFOREIGN111 tecforeign111
|
# define TECFOREIGN111 tecforeign111
|
||||||
# define TECINI111 tecini111
|
# define TECINI111 tecini111
|
||||||
|
@ -156,9 +136,14 @@
|
||||||
|
|
||||||
#if defined (TECPLOTKERNEL)
|
#if defined (TECPLOTKERNEL)
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#else /* !TECPLOTKERNAL && !MAKEARCHIVE */
|
#else
|
||||||
# define LIBCALL STDCALL
|
#if defined (MAKEARCHIVE)
|
||||||
# define LIBFUNCTION EXTERNC DLLIMPORT
|
#define LIBCALL STDCALL
|
||||||
|
#define LIBFUNCTION EXTERNC DLLEXPORT
|
||||||
|
#else /* !TECPLOTKERNAL && !MAKEARCHIVE */
|
||||||
|
#define LIBCALL STDCALL
|
||||||
|
#define LIBFUNCTION EXTERNC DLLIMPORT
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -203,6 +188,9 @@ LIBFUNCTION INTEGER4 LIBCALL TECDAT112(INTEGER4 *N,
|
||||||
|
|
||||||
LIBFUNCTION INTEGER4 LIBCALL TECNOD112(INTEGER4 *NData);
|
LIBFUNCTION INTEGER4 LIBCALL TECNOD112(INTEGER4 *NData);
|
||||||
|
|
||||||
|
LIBFUNCTION INTEGER4 LIBCALL TECNODE112(INTEGER4 *N,
|
||||||
|
INTEGER4 *NData);
|
||||||
|
|
||||||
LIBFUNCTION INTEGER4 LIBCALL TECEND112(void);
|
LIBFUNCTION INTEGER4 LIBCALL TECEND112(void);
|
||||||
|
|
||||||
LIBFUNCTION INTEGER4 LIBCALL TECLAB112(char *S);
|
LIBFUNCTION INTEGER4 LIBCALL TECLAB112(char *S);
|
||||||
|
@ -281,6 +269,17 @@ LIBFUNCTION INTEGER4 LIBCALL TECPOLY112(INTEGER4 *FaceNodeCounts,
|
||||||
INTEGER4 *FaceBndryConnectionElems,
|
INTEGER4 *FaceBndryConnectionElems,
|
||||||
INTEGER4 *FaceBndryConnectionZones);
|
INTEGER4 *FaceBndryConnectionZones);
|
||||||
|
|
||||||
|
LIBFUNCTION INTEGER4 LIBCALL TECPOLYFACE112(INTEGER4 *NumFaces,
|
||||||
|
INTEGER4 *FaceNodeCounts,
|
||||||
|
INTEGER4 *FaceNodes,
|
||||||
|
INTEGER4 *FaceLeftElems,
|
||||||
|
INTEGER4 *FaceRightElems);
|
||||||
|
|
||||||
|
LIBFUNCTION INTEGER4 LIBCALL TECPOLYBCONN112(INTEGER4 *NumBndryFaces,
|
||||||
|
INTEGER4 *FaceBndryConnectionCounts,
|
||||||
|
INTEGER4 *FaceBndryConnectionElems,
|
||||||
|
INTEGER4 *FaceBndryConnectionZones);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* V11.1 tecio functions TODO (JN): Tecplot's version is still in flux so the .1 may change
|
* V11.1 tecio functions TODO (JN): Tecplot's version is still in flux so the .1 may change
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
#define TECPLOTENGINEMODULE
|
#define TECPLOTENGINEMODULE
|
||||||
|
@ -28,7 +5,7 @@
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -147,7 +124,7 @@ void TranslatedString::init(TranslatedString::Mode mode,
|
||||||
*/
|
*/
|
||||||
TranslatedString::TranslatedString()
|
TranslatedString::TranslatedString()
|
||||||
{
|
{
|
||||||
init(DontTranslate, (const char*)NULL, (const char*)NULL);
|
init(DontTranslate, static_cast<const char*>(NULL), static_cast<const char*>(NULL));
|
||||||
ENSURE(this->isValid());
|
ENSURE(this->isValid());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,8 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
|
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
*/
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
#include "TecplotVersion.h"
|
||||||
*
|
#define ADDON_VERSION TecVersionId
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,105 +0,0 @@
|
||||||
/*
|
|
||||||
******************************************************************
|
|
||||||
******************************************************************
|
|
||||||
******* ********
|
|
||||||
****** (C) 1988-2010 Tecplot, Inc. *******
|
|
||||||
******* ********
|
|
||||||
******************************************************************
|
|
||||||
******************************************************************
|
|
||||||
*/
|
|
||||||
#ifndef _W__BASE_h
|
|
||||||
#define _W__BASE_h
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
|
|
||||||
#include "C__BASE.h"
|
|
||||||
|
|
||||||
typedef ULONG_PTR Widget;
|
|
||||||
#define NULLWIDGET ((unsigned long)0)
|
|
||||||
|
|
||||||
extern BOOL MSWinIsLargeFont;
|
|
||||||
extern CWnd *(TPClassArray[TPNUMCLASSES]);
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
CRect Rect;
|
|
||||||
BOOL RectSet;
|
|
||||||
CRect MinRect; // Only used for resizable dialogs
|
|
||||||
BOOL MinRectSet; // Only used for resizable dialogs
|
|
||||||
} TPDialogRect_s;
|
|
||||||
|
|
||||||
extern TPDialogRect_s TPDialogRect[TPNUMCLASSES];
|
|
||||||
|
|
||||||
#define WindowIsResizable(wnd) ((wnd)->GetStyle() & WS_THICKFRAME)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* NOTE: C = class number in TPClassArray (see C__BASE.h)
|
|
||||||
* 0=no class
|
|
||||||
* 1=TPMAINWND
|
|
||||||
* O = offset within container
|
|
||||||
* 0 means the container itself
|
|
||||||
* any other number is the offset within control (starting at 1)
|
|
||||||
* I = control number/id
|
|
||||||
* 0 = class itself
|
|
||||||
* for bitmap button groups, this is the container id
|
|
||||||
* for all other controls, this is the control id
|
|
||||||
* WidgetValue 0 is the NULL widget.
|
|
||||||
*/
|
|
||||||
|
|
||||||
//#define MAKEWIDGET(C,I,O) ((Widget)((((C)&0xFFFF)<<16)|(((O)&0xFF)<<8)|((I)&0xFF)))
|
|
||||||
|
|
||||||
#define CLASS_NUM_BITS 10
|
|
||||||
#define ITEM_ID_BITS 16 /* must be at least 16-bits to fit in the workarea */
|
|
||||||
#define ITEM_OFFSET_BITS 6
|
|
||||||
|
|
||||||
/* The FILTER is also the maximum value. */
|
|
||||||
#define CLASS_NUM_FILTER ((1<<CLASS_NUM_BITS)-1)
|
|
||||||
#define ITEM_ID_FILTER ((1<<ITEM_ID_BITS)-1)
|
|
||||||
#define ITEM_OFFSET_FILTER ((1<<ITEM_OFFSET_BITS)-1)
|
|
||||||
|
|
||||||
#define TP_CLASS_NO_CLASS 0
|
|
||||||
#define TP_ITEM_CLASS_ITSELF 0
|
|
||||||
#define TP_OFFSET_ITEM_ITSELF 0
|
|
||||||
|
|
||||||
#define TP_OFFSET_MENU_CASCADE (ITEM_OFFSET_FILTER-1)
|
|
||||||
#define TP_OFFSET_MENU_OPTION ITEM_OFFSET_FILTER
|
|
||||||
|
|
||||||
/* MAKEWIDGET must be a define and not an inline function so widget's can be used in case statements. */
|
|
||||||
#define MAKEWIDGET(ClassNum, ItemID, ItemOffset) ((Widget)( ( ( ((ClassNum)<<ITEM_ID_BITS) | (ItemID) ) << ITEM_OFFSET_BITS ) | (ItemOffset) ))
|
|
||||||
|
|
||||||
inline INT_PTR GetClassNum(Widget W)
|
|
||||||
{
|
|
||||||
return (W >> ITEM_ID_BITS) >> ITEM_OFFSET_BITS;
|
|
||||||
}
|
|
||||||
inline INT_PTR GetItemID(Widget W)
|
|
||||||
{
|
|
||||||
return (W >> ITEM_OFFSET_BITS) & ITEM_ID_FILTER;
|
|
||||||
}
|
|
||||||
inline INT_PTR GetItemOffset(Widget W)
|
|
||||||
{
|
|
||||||
return W & ITEM_OFFSET_FILTER;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We cannot use Boolean_t here because it is not defined yet.
|
|
||||||
*/
|
|
||||||
extern CWnd *GetWindowFromWidget(Widget);
|
|
||||||
extern CWnd *GetParentWndFromWidget(Widget);
|
|
||||||
extern Widget GetWidgetFromWindow(CWnd *);
|
|
||||||
extern BOOL WidgetExists(Widget W);
|
|
||||||
extern BOOL TPEnableDialog(CWnd *wnd,
|
|
||||||
BOOL bEnable);
|
|
||||||
extern void TPEnableAllDialogs(BOOL bEnable);
|
|
||||||
extern TPDialogRect_s* GetDialogRectFromWidget(Widget);
|
|
||||||
extern TPDialogRect_s* GetDialogRectFromWindow(CWnd* pWnd);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* TECPLOTKERNEL */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is the start of the translated string ID's
|
|
||||||
* in the resource file
|
|
||||||
*/
|
|
||||||
#define TP_TRANSLATED_STRING_START_ID 20000
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
|
|
||||||
|
@ -30,7 +7,7 @@
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
#define TECPLOTENGINEMODULE
|
#define TECPLOTENGINEMODULE
|
||||||
|
@ -29,7 +6,7 @@
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. ********
|
****** Copyright (C) 1988-2010 Tecplot, Inc. ********
|
||||||
******* All Rights Reserved. ********
|
******* All Rights Reserved. ********
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -40,11 +17,7 @@
|
||||||
#include "GLOBAL.h"
|
#include "GLOBAL.h"
|
||||||
#include "TASSERT.h"
|
#include "TASSERT.h"
|
||||||
#include "ALLOC.h"
|
#include "ALLOC.h"
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif
|
|
||||||
#include "ARRLIST.h"
|
#include "ARRLIST.h"
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
|
@ -93,12 +66,12 @@
|
||||||
* param ItemSize
|
* param ItemSize
|
||||||
* Item size in bytes.
|
* Item size in bytes.
|
||||||
*/
|
*/
|
||||||
static void CopyArrayItems(char *TargetArray,
|
static void CopyArrayItems(char* TargetArray,
|
||||||
LgIndex_t TargetOffset,
|
LgIndex_t TargetOffset,
|
||||||
char *SourceArray,
|
char* SourceArray,
|
||||||
LgIndex_t SourceOffset,
|
LgIndex_t SourceOffset,
|
||||||
LgIndex_t Count,
|
LgIndex_t Count,
|
||||||
SmInteger_t ItemSize)
|
SmInteger_t ItemSize)
|
||||||
{
|
{
|
||||||
REQUIRE(VALID_REF(TargetArray));
|
REQUIRE(VALID_REF(TargetArray));
|
||||||
REQUIRE(TargetOffset >= 0);
|
REQUIRE(TargetOffset >= 0);
|
||||||
|
@ -106,11 +79,11 @@ static void CopyArrayItems(char *TargetArray,
|
||||||
REQUIRE(SourceOffset >= 0);
|
REQUIRE(SourceOffset >= 0);
|
||||||
REQUIRE(&TargetArray[TargetOffset] != &SourceArray[SourceOffset]);
|
REQUIRE(&TargetArray[TargetOffset] != &SourceArray[SourceOffset]);
|
||||||
REQUIRE(Count >= 1);
|
REQUIRE(Count >= 1);
|
||||||
REQUIRE(1 <= ItemSize && ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u));
|
REQUIRE(1 <= ItemSize && ItemSize <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u)));
|
||||||
|
|
||||||
void* TargetPtr = &TargetArray[TargetOffset * ItemSize];
|
void* TargetPtr = &TargetArray[TargetOffset * ItemSize];
|
||||||
void* SourcePtr = &SourceArray[SourceOffset * ItemSize];
|
void* SourcePtr = &SourceArray[SourceOffset * ItemSize];
|
||||||
memmove(TargetPtr, SourcePtr, ((size_t)Count) * ItemSize);
|
memmove(TargetPtr, SourcePtr, static_cast<size_t>(Count) * ItemSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,17 +107,17 @@ static void CopyArrayItems(char *TargetArray,
|
||||||
* Adjusted capacity that is at least as large as the request or zero if
|
* Adjusted capacity that is at least as large as the request or zero if
|
||||||
* unable to satisfy the requested capacity.
|
* unable to satisfy the requested capacity.
|
||||||
*/
|
*/
|
||||||
static LgIndex_t AdjustCapacityRequest(ArrayList_pa ArrayList,
|
static LgIndex_t AdjustCapacityRequest(ArrayList_pa ASSERT_ONLY(ArrayList),
|
||||||
LgIndex_t CurrentCapacity,
|
LgIndex_t CurrentCapacity,
|
||||||
LgIndex_t RequestedCapacity,
|
LgIndex_t RequestedCapacity,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
LgIndex_t Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE((RequestedCapacity == 0 && CurrentCapacity == 0) ||
|
REQUIRE((RequestedCapacity == 0 && CurrentCapacity == 0) ||
|
||||||
RequestedCapacity > CurrentCapacity);
|
RequestedCapacity > CurrentCapacity);
|
||||||
|
UNUSED(ClientData);
|
||||||
|
|
||||||
|
LgIndex_t Result;
|
||||||
if (RequestedCapacity != 0 && CurrentCapacity == 0)
|
if (RequestedCapacity != 0 && CurrentCapacity == 0)
|
||||||
{
|
{
|
||||||
/* first allocation; assume the request is the desired capacityy */
|
/* first allocation; assume the request is the desired capacityy */
|
||||||
|
@ -152,7 +125,7 @@ static LgIndex_t AdjustCapacityRequest(ArrayList_pa ArrayList,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const LgIndex_t DEFAULT_CAPACITY = 32;
|
LgIndex_t const DEFAULT_CAPACITY = 32;
|
||||||
LgIndex_t BlockSize = MAX(DEFAULT_CAPACITY, CurrentCapacity / 2);
|
LgIndex_t BlockSize = MAX(DEFAULT_CAPACITY, CurrentCapacity / 2);
|
||||||
if (RequestedCapacity == 0)
|
if (RequestedCapacity == 0)
|
||||||
Result = DEFAULT_CAPACITY;
|
Result = DEFAULT_CAPACITY;
|
||||||
|
@ -176,118 +149,117 @@ static LgIndex_t AdjustCapacityRequest(ArrayList_pa ArrayList,
|
||||||
*/
|
*/
|
||||||
static SmInteger_t GetElementSize(ArrayListType_e Type)
|
static SmInteger_t GetElementSize(ArrayListType_e Type)
|
||||||
{
|
{
|
||||||
SmInteger_t Result;
|
|
||||||
|
|
||||||
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
||||||
|
|
||||||
|
SmInteger_t Result;
|
||||||
switch (Type)
|
switch (Type)
|
||||||
{
|
{
|
||||||
case ArrayListType_UnsignedChar:
|
case ArrayListType_UnsignedChar:
|
||||||
Result = (SmInteger_t)sizeof(unsigned char);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned char));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedShort:
|
case ArrayListType_UnsignedShort:
|
||||||
Result = (SmInteger_t)sizeof(unsigned short);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned short));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedInt:
|
case ArrayListType_UnsignedInt:
|
||||||
Result = (SmInteger_t)sizeof(unsigned int);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned int));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedLong:
|
case ArrayListType_UnsignedLong:
|
||||||
Result = (SmInteger_t)sizeof(unsigned long);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned long));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Int64:
|
case ArrayListType_Int64:
|
||||||
Result = (SmInteger_t)sizeof(Int64_t);
|
Result = static_cast<SmInteger_t>(sizeof(Int64_t));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Char:
|
case ArrayListType_Char:
|
||||||
Result = (SmInteger_t)sizeof(char);
|
Result = static_cast<SmInteger_t>(sizeof(char));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Short:
|
case ArrayListType_Short:
|
||||||
Result = (SmInteger_t)sizeof(short);
|
Result = static_cast<SmInteger_t>(sizeof(short));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Int:
|
case ArrayListType_Int:
|
||||||
Result = (SmInteger_t)sizeof(int);
|
Result = static_cast<SmInteger_t>(sizeof(int));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Long:
|
case ArrayListType_Long:
|
||||||
Result = (SmInteger_t)sizeof(long);
|
Result = static_cast<SmInteger_t>(sizeof(long));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Float:
|
case ArrayListType_Float:
|
||||||
Result = (SmInteger_t)sizeof(float);
|
Result = static_cast<SmInteger_t>(sizeof(float));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Double:
|
case ArrayListType_Double:
|
||||||
Result = (SmInteger_t)sizeof(double);
|
Result = static_cast<SmInteger_t>(sizeof(double));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_LgIndex:
|
case ArrayListType_LgIndex:
|
||||||
Result = (SmInteger_t)sizeof(LgIndex_t);
|
Result = static_cast<SmInteger_t>(sizeof(LgIndex_t));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_EntIndex:
|
case ArrayListType_EntIndex:
|
||||||
Result = (SmInteger_t)sizeof(EntIndex_t);
|
Result = static_cast<SmInteger_t>(sizeof(EntIndex_t));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_SmInteger:
|
case ArrayListType_SmInteger:
|
||||||
Result = (SmInteger_t)sizeof(SmInteger_t);
|
Result = static_cast<SmInteger_t>(sizeof(SmInteger_t));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Boolean:
|
case ArrayListType_Boolean:
|
||||||
Result = (SmInteger_t)sizeof(Boolean_t);
|
Result = static_cast<SmInteger_t>(sizeof(Boolean_t));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_ArbParam:
|
case ArrayListType_ArbParam:
|
||||||
Result = (SmInteger_t)sizeof(ArbParam_t);
|
Result = static_cast<SmInteger_t>(sizeof(ArbParam_t));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ArrayListType_UnsignedCharPtr:
|
case ArrayListType_UnsignedCharPtr:
|
||||||
Result = (SmInteger_t)sizeof(unsigned char *);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned char*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedShortPtr:
|
case ArrayListType_UnsignedShortPtr:
|
||||||
Result = (SmInteger_t)sizeof(unsigned short *);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned short*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedIntPtr:
|
case ArrayListType_UnsignedIntPtr:
|
||||||
Result = (SmInteger_t)sizeof(unsigned int *);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned int*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_UnsignedLongPtr:
|
case ArrayListType_UnsignedLongPtr:
|
||||||
Result = (SmInteger_t)sizeof(unsigned long *);
|
Result = static_cast<SmInteger_t>(sizeof(unsigned long*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Int64Ptr:
|
case ArrayListType_Int64Ptr:
|
||||||
Result = (SmInteger_t)sizeof(Int64_t *);
|
Result = static_cast<SmInteger_t>(sizeof(Int64_t*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_CharPtr:
|
case ArrayListType_CharPtr:
|
||||||
Result = (SmInteger_t)sizeof(char *);
|
Result = static_cast<SmInteger_t>(sizeof(char*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_ShortPtr:
|
case ArrayListType_ShortPtr:
|
||||||
Result = (SmInteger_t)sizeof(short *);
|
Result = static_cast<SmInteger_t>(sizeof(short*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_IntPtr:
|
case ArrayListType_IntPtr:
|
||||||
Result = (SmInteger_t)sizeof(int *);
|
Result = static_cast<SmInteger_t>(sizeof(int*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_LongPtr:
|
case ArrayListType_LongPtr:
|
||||||
Result = (SmInteger_t)sizeof(long *);
|
Result = static_cast<SmInteger_t>(sizeof(long*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_FloatPtr:
|
case ArrayListType_FloatPtr:
|
||||||
Result = (SmInteger_t)sizeof(float *);
|
Result = static_cast<SmInteger_t>(sizeof(float*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_DoublePtr:
|
case ArrayListType_DoublePtr:
|
||||||
Result = (SmInteger_t)sizeof(double *);
|
Result = static_cast<SmInteger_t>(sizeof(double*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_LgIndexPtr:
|
case ArrayListType_LgIndexPtr:
|
||||||
Result = (SmInteger_t)sizeof(LgIndex_t *);
|
Result = static_cast<SmInteger_t>(sizeof(LgIndex_t*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_EntIndexPtr:
|
case ArrayListType_EntIndexPtr:
|
||||||
Result = (SmInteger_t)sizeof(EntIndex_t *);
|
Result = static_cast<SmInteger_t>(sizeof(EntIndex_t*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_SmIntegerPtr:
|
case ArrayListType_SmIntegerPtr:
|
||||||
Result = (SmInteger_t)sizeof(SmInteger_t *);
|
Result = static_cast<SmInteger_t>(sizeof(SmInteger_t*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_BooleanPtr:
|
case ArrayListType_BooleanPtr:
|
||||||
Result = (SmInteger_t)sizeof(Boolean_t *);
|
Result = static_cast<SmInteger_t>(sizeof(Boolean_t*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_ArbParamPtr:
|
case ArrayListType_ArbParamPtr:
|
||||||
Result = (SmInteger_t)sizeof(ArbParam_t *);
|
Result = static_cast<SmInteger_t>(sizeof(ArbParam_t*));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ArrayListType_VoidPtr:
|
case ArrayListType_VoidPtr:
|
||||||
Result = (SmInteger_t)sizeof(void *);
|
Result = static_cast<SmInteger_t>(sizeof(void*));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_FunctionPtr:
|
case ArrayListType_FunctionPtr:
|
||||||
Result = (SmInteger_t)sizeof(void (*)());
|
Result = static_cast<SmInteger_t>(sizeof(void (*)()));
|
||||||
break;
|
break;
|
||||||
case ArrayListType_Any: /* allows a mixed bag of items */
|
case ArrayListType_Any: /* allows a mixed bag of items */
|
||||||
Result = (SmInteger_t)sizeof(ArrayListItem_u);
|
Result = static_cast<SmInteger_t>(sizeof(ArrayListItem_u));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -296,7 +268,7 @@ static SmInteger_t GetElementSize(ArrayListType_e Type)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ENSURE(1 <= Result && Result <= (SmInteger_t)sizeof(ArrayListItem_u));
|
ENSURE(1 <= Result && Result <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u)));
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,24 +296,19 @@ static void DestroyItems(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
LgIndex_t Index;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
||||||
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
|
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
|
||||||
REQUIRE(VALID_FN_REF(ItemDestructor));
|
REQUIRE(VALID_FN_REF(ItemDestructor));
|
||||||
|
|
||||||
for (Index = 0;
|
for (LgIndex_t Index = 0;
|
||||||
Index < Count;
|
Index < Count;
|
||||||
Index++)
|
Index++)
|
||||||
{
|
{
|
||||||
LgIndex_t ItemIndex = (Index + ItemOffset) * ItemSize;
|
LgIndex_t ItemIndex = (Index + ItemOffset) * ItemSize;
|
||||||
#if !defined NO_ASSERTS
|
Boolean_t CHECK_DoContinue;
|
||||||
Boolean_t DoContinue = ItemDestructor((void *) & ArrayList->Array[ItemIndex], ClientData);
|
CHECK_DoContinue = ItemDestructor(static_cast<void*>(&ArrayList->Array[ItemIndex]), ClientData);
|
||||||
CHECK(DoContinue); /* this is a requirement of ArrayListItemDestructor_pf */
|
CHECK(CHECK_DoContinue); /* this is a requirement of ArrayListItemDestructor_pf */
|
||||||
#else
|
|
||||||
ItemDestructor((void *)&ArrayList->Array[ItemIndex], ClientData);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,35 +337,33 @@ static void DestroyItems(ArrayList_pa ArrayList,
|
||||||
* TRUE if the duplication was a success
|
* TRUE if the duplication was a success
|
||||||
* FALSE otherwise
|
* FALSE otherwise
|
||||||
*/
|
*/
|
||||||
static Boolean_t DuplicateItems(char *TargetArray,
|
static Boolean_t DuplicateItems(char* TargetArray,
|
||||||
LgIndex_t TargetItemOffset,
|
LgIndex_t TargetItemOffset,
|
||||||
char *SourceArray,
|
char* SourceArray,
|
||||||
LgIndex_t SourceItemOffset,
|
LgIndex_t SourceItemOffset,
|
||||||
SmInteger_t ItemSize,
|
SmInteger_t ItemSize,
|
||||||
LgIndex_t Count,
|
LgIndex_t Count,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
|
||||||
LgIndex_t Index;
|
|
||||||
|
|
||||||
REQUIRE(VALID_REF(TargetArray));
|
REQUIRE(VALID_REF(TargetArray));
|
||||||
REQUIRE(TargetItemOffset >= 0);
|
REQUIRE(TargetItemOffset >= 0);
|
||||||
REQUIRE(VALID_REF(SourceArray));
|
REQUIRE(VALID_REF(SourceArray));
|
||||||
REQUIRE(SourceItemOffset >= 0);
|
REQUIRE(SourceItemOffset >= 0);
|
||||||
REQUIRE(1 <= ItemSize &&
|
REQUIRE(1 <= ItemSize &&
|
||||||
ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u));
|
ItemSize <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u)));
|
||||||
REQUIRE(Count >= 1);
|
REQUIRE(Count >= 1);
|
||||||
REQUIRE(VALID_FN_REF(ItemDuplicator));
|
REQUIRE(VALID_FN_REF(ItemDuplicator));
|
||||||
|
|
||||||
for (Index = 0;
|
Boolean_t IsOk = TRUE;
|
||||||
|
for (LgIndex_t Index = 0;
|
||||||
Index < Count && IsOk;
|
Index < Count && IsOk;
|
||||||
Index++)
|
Index++)
|
||||||
{
|
{
|
||||||
LgIndex_t TargetItemIndex = (Index + TargetItemOffset) * ItemSize;
|
LgIndex_t TargetItemIndex = (Index + TargetItemOffset) * ItemSize;
|
||||||
LgIndex_t SourceItemIndex = (Index + SourceItemOffset) * ItemSize;
|
LgIndex_t SourceItemIndex = (Index + SourceItemOffset) * ItemSize;
|
||||||
IsOk = ItemDuplicator((void *) & TargetArray[TargetItemIndex],
|
IsOk = ItemDuplicator(static_cast<void*>(&TargetArray[TargetItemIndex]),
|
||||||
(void *) & SourceArray[SourceItemIndex],
|
static_cast<void*>(&SourceArray[SourceItemIndex]),
|
||||||
ClientData);
|
ClientData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -418,17 +383,16 @@ static Boolean_t DuplicateItems(char *TargetArray,
|
||||||
*/
|
*/
|
||||||
Boolean_t ArrayListIsValid(ArrayList_pa ArrayList)
|
Boolean_t ArrayListIsValid(ArrayList_pa ArrayList)
|
||||||
{
|
{
|
||||||
Boolean_t IsValid;
|
#if defined TECPLOTKERNEL
|
||||||
|
/* CORE SOURCE CODE REMOVED */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* this just makes sure that the NULL item global was initialized */
|
Boolean_t IsValid = (VALID_REF(ArrayList) &&
|
||||||
INVARIANT(ArrayListNullItem.Double == 0.0);
|
VALID_ENUM(ArrayList->Type, ArrayListType_e) &&
|
||||||
|
(1 <= ArrayList->ItemSize &&
|
||||||
IsValid = (VALID_REF(ArrayList) &&
|
ArrayList->ItemSize <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u))) &&
|
||||||
VALID_ENUM(ArrayList->Type, ArrayListType_e) &&
|
(0 <= ArrayList->Count &&
|
||||||
(1 <= ArrayList->ItemSize &&
|
ArrayList->Count <= ArrayList->Capacity));
|
||||||
ArrayList->ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u)) &&
|
|
||||||
(0 <= ArrayList->Count &&
|
|
||||||
ArrayList->Count <= ArrayList->Capacity));
|
|
||||||
|
|
||||||
ENSURE(VALID_BOOLEAN(IsValid));
|
ENSURE(VALID_BOOLEAN(IsValid));
|
||||||
return IsValid;
|
return IsValid;
|
||||||
|
@ -446,11 +410,9 @@ Boolean_t ArrayListIsValid(ArrayList_pa ArrayList)
|
||||||
*/
|
*/
|
||||||
ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
|
ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
|
||||||
{
|
{
|
||||||
ArrayListType_e Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
|
|
||||||
Result = ArrayList->Type;
|
ArrayListType_e Result = ArrayList->Type;
|
||||||
|
|
||||||
ENSURE(VALID_ENUM(Result, ArrayListType_e));
|
ENSURE(VALID_ENUM(Result, ArrayListType_e));
|
||||||
return Result;
|
return Result;
|
||||||
|
@ -465,9 +427,9 @@ ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
|
||||||
* the RequestedCapacity.
|
* the RequestedCapacity.
|
||||||
*
|
*
|
||||||
* param ArrayList
|
* param ArrayList
|
||||||
* Current capacity used as a helpful hint for the adjustment algorythm.
|
* Current capacity used as a helpful hint for the adjustment algorithm.
|
||||||
* param RequestedCapacity
|
* param RequestedCapacity
|
||||||
* Capacity (number ot items) request or zero for default size.
|
* Capacity (number of items) request or zero for default size.
|
||||||
*
|
*
|
||||||
* return
|
* return
|
||||||
* TRUE if the list could be enlarged (or was large enough),
|
* TRUE if the list could be enlarged (or was large enough),
|
||||||
|
@ -476,17 +438,14 @@ ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
|
||||||
Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
|
Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
|
||||||
LgIndex_t RequestedCapacity)
|
LgIndex_t RequestedCapacity)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk;
|
|
||||||
LgIndex_t AdjustedCapacity;
|
|
||||||
char *EnlargedArray;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(IMPLICATION(RequestedCapacity == 0, ArrayList->Capacity == 0));
|
REQUIRE(IMPLICATION(RequestedCapacity == 0, ArrayList->Capacity == 0));
|
||||||
|
|
||||||
|
Boolean_t IsOk;
|
||||||
if (RequestedCapacity == 0 ||
|
if (RequestedCapacity == 0 ||
|
||||||
RequestedCapacity > ArrayList->Capacity)
|
RequestedCapacity > ArrayList->Capacity)
|
||||||
{
|
{
|
||||||
AdjustedCapacity =
|
LgIndex_t AdjustedCapacity =
|
||||||
ArrayList->CapacityRequestAdjuster(ArrayList,
|
ArrayList->CapacityRequestAdjuster(ArrayList,
|
||||||
ArrayList->Capacity,
|
ArrayList->Capacity,
|
||||||
RequestedCapacity,
|
RequestedCapacity,
|
||||||
|
@ -494,6 +453,7 @@ Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
|
||||||
CHECK(AdjustedCapacity == 0 ||
|
CHECK(AdjustedCapacity == 0 ||
|
||||||
AdjustedCapacity >= RequestedCapacity);
|
AdjustedCapacity >= RequestedCapacity);
|
||||||
|
|
||||||
|
char* EnlargedArray = NULL; /* ...quiet compiler */
|
||||||
IsOk = (AdjustedCapacity != 0); /* ...were we able to meet the request? */
|
IsOk = (AdjustedCapacity != 0); /* ...were we able to meet the request? */
|
||||||
if (IsOk)
|
if (IsOk)
|
||||||
{
|
{
|
||||||
|
@ -571,12 +531,10 @@ ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacit
|
||||||
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster,
|
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster,
|
||||||
ArbParam_t CapacityRequestAdjusterClientData)
|
ArbParam_t CapacityRequestAdjusterClientData)
|
||||||
{
|
{
|
||||||
ArrayList_pa Result;
|
|
||||||
|
|
||||||
REQUIRE(EstimatedCapacity >= 0);
|
REQUIRE(EstimatedCapacity >= 0);
|
||||||
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
||||||
|
|
||||||
Result = ALLOC_ITEM(ArrayList_s, "ArrayList structure");
|
ArrayList_pa Result = ALLOC_ITEM(ArrayList_s, "ArrayList structure");
|
||||||
if (Result != NULL)
|
if (Result != NULL)
|
||||||
{
|
{
|
||||||
Result->Array = NULL;
|
Result->Array = NULL;
|
||||||
|
@ -620,9 +578,9 @@ ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacit
|
||||||
* param ClientData
|
* param ClientData
|
||||||
* Any client data needed for cleanup.
|
* Any client data needed for cleanup.
|
||||||
*/
|
*/
|
||||||
void ArrayListDealloc(ArrayList_pa *ArrayList,
|
void ArrayListDealloc(ArrayList_pa* ArrayList,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
REQUIRE(VALID_REF(ArrayList));
|
REQUIRE(VALID_REF(ArrayList));
|
||||||
REQUIRE(ArrayListIsValid(*ArrayList) || *ArrayList == NULL);
|
REQUIRE(ArrayListIsValid(*ArrayList) || *ArrayList == NULL);
|
||||||
|
@ -660,11 +618,9 @@ void ArrayListDealloc(ArrayList_pa *ArrayList,
|
||||||
*/
|
*/
|
||||||
LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList)
|
LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList)
|
||||||
{
|
{
|
||||||
LgIndex_t Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
|
|
||||||
Result = ArrayListGetCount_MACRO(ArrayList);
|
LgIndex_t Result = ArrayListGetCount_MACRO(ArrayList);
|
||||||
|
|
||||||
ENSURE(Result >= 0);
|
ENSURE(Result >= 0);
|
||||||
return Result;
|
return Result;
|
||||||
|
@ -845,14 +801,13 @@ ArrayList_pa ArrayListRemoveItems(ArrayList_pa ArrayList,
|
||||||
ArrayListItem_u ArrayListRemoveItem(ArrayList_pa ArrayList,
|
ArrayListItem_u ArrayListRemoveItem(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset)
|
LgIndex_t ItemOffset)
|
||||||
{
|
{
|
||||||
ArrayListItem_u Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
||||||
REQUIRE(!ArrayList->IsVisitingItems);
|
REQUIRE(!ArrayList->IsVisitingItems);
|
||||||
|
|
||||||
/* record the original item */
|
/* record the original item */
|
||||||
CopyArrayItems((char *)&Result, 0,
|
ArrayListItem_u Result;
|
||||||
|
CopyArrayItems(static_cast<char*>(&Result.Char), 0,
|
||||||
ArrayList->Array, ItemOffset,
|
ArrayList->Array, ItemOffset,
|
||||||
1, ArrayList->ItemSize);
|
1, ArrayList->ItemSize);
|
||||||
|
|
||||||
|
@ -883,8 +838,6 @@ Boolean_t ArrayListInsert(ArrayList_pa Target,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
ArrayList_pa Source)
|
ArrayList_pa Source)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(Target));
|
REQUIRE(ArrayListIsValid(Target));
|
||||||
REQUIRE(ItemOffset >= 0);
|
REQUIRE(ItemOffset >= 0);
|
||||||
REQUIRE(ArrayListIsValid(Source));
|
REQUIRE(ArrayListIsValid(Source));
|
||||||
|
@ -892,6 +845,8 @@ Boolean_t ArrayListInsert(ArrayList_pa Target,
|
||||||
REQUIRE(Target->Type == Source->Type);
|
REQUIRE(Target->Type == Source->Type);
|
||||||
REQUIRE(!Target->IsVisitingItems);
|
REQUIRE(!Target->IsVisitingItems);
|
||||||
|
|
||||||
|
Boolean_t IsOk = TRUE;
|
||||||
|
|
||||||
if (Source->Count != 0)
|
if (Source->Count != 0)
|
||||||
{
|
{
|
||||||
LgIndex_t NeededCapacity;
|
LgIndex_t NeededCapacity;
|
||||||
|
@ -960,14 +915,14 @@ Boolean_t ArrayListInsertItem(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
ArrayListItem_u Item)
|
ArrayListItem_u Item)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
|
||||||
LgIndex_t NeededCapacity;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(ItemOffset >= 0);
|
REQUIRE(ItemOffset >= 0);
|
||||||
REQUIRE(!ArrayList->IsVisitingItems);
|
REQUIRE(!ArrayList->IsVisitingItems);
|
||||||
|
|
||||||
|
Boolean_t IsOk = TRUE;
|
||||||
|
|
||||||
/* if necessary enlarge the list to accommodate the request */
|
/* if necessary enlarge the list to accommodate the request */
|
||||||
|
LgIndex_t NeededCapacity;
|
||||||
if (ItemOffset > ArrayList->Count)
|
if (ItemOffset > ArrayList->Count)
|
||||||
NeededCapacity = ItemOffset + 1;
|
NeededCapacity = ItemOffset + 1;
|
||||||
else
|
else
|
||||||
|
@ -998,7 +953,7 @@ Boolean_t ArrayListInsertItem(ArrayList_pa ArrayList,
|
||||||
|
|
||||||
/* insert the item */
|
/* insert the item */
|
||||||
CopyArrayItems(ArrayList->Array, ItemOffset,
|
CopyArrayItems(ArrayList->Array, ItemOffset,
|
||||||
(char *)&Item, 0,
|
static_cast<char*>(&Item.Char), 0,
|
||||||
1, ArrayList->ItemSize);
|
1, ArrayList->ItemSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1032,23 +987,21 @@ Boolean_t ArrayListVisitItems(ArrayList_pa ArrayList,
|
||||||
ArrayListItemVisitor_pf ItemVisitor,
|
ArrayListItemVisitor_pf ItemVisitor,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
Boolean_t DoContinue = TRUE;
|
|
||||||
Boolean_t IsVisitingItems;
|
|
||||||
SmInteger_t ItemSize;
|
|
||||||
LgIndex_t Index;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(VALID_FN_REF(ItemVisitor));
|
REQUIRE(VALID_FN_REF(ItemVisitor));
|
||||||
|
|
||||||
IsVisitingItems = ArrayList->IsVisitingItems;
|
Boolean_t IsVisitingItems = ArrayList->IsVisitingItems;
|
||||||
ArrayList->IsVisitingItems = TRUE; /* guards against structure changes */
|
ArrayList->IsVisitingItems = TRUE; /* guards against structure changes */
|
||||||
|
|
||||||
|
LgIndex_t Index;
|
||||||
|
SmInteger_t ItemSize;
|
||||||
|
Boolean_t DoContinue = TRUE;
|
||||||
for (Index = 0, ItemSize = ArrayList->ItemSize;
|
for (Index = 0, ItemSize = ArrayList->ItemSize;
|
||||||
Index < Count && DoContinue;
|
Index < Count && DoContinue;
|
||||||
Index++)
|
Index++)
|
||||||
{
|
{
|
||||||
LgIndex_t ItemIndex = (Index + ItemOffset) * ItemSize;
|
LgIndex_t ItemIndex = (Index + ItemOffset) * ItemSize;
|
||||||
DoContinue = ItemVisitor((void *) & ArrayList->Array[ItemIndex], ClientData);
|
DoContinue = ItemVisitor(static_cast<void*>(&ArrayList->Array[ItemIndex]), ClientData);
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList->IsVisitingItems = IsVisitingItems;
|
ArrayList->IsVisitingItems = IsVisitingItems;
|
||||||
|
@ -1079,15 +1032,13 @@ ArrayList_pa ArrayListGetItems(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset,
|
LgIndex_t ItemOffset,
|
||||||
LgIndex_t Count)
|
LgIndex_t Count)
|
||||||
{
|
{
|
||||||
ArrayList_pa Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
||||||
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
|
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
|
||||||
|
|
||||||
Result = ArrayListAlloc(Count, ArrayList->Type,
|
ArrayList_pa Result = ArrayListAlloc(Count, ArrayList->Type,
|
||||||
ArrayList->CapacityRequestAdjuster,
|
ArrayList->CapacityRequestAdjuster,
|
||||||
ArrayList->CapacityRequestAdjusterClientData);
|
ArrayList->CapacityRequestAdjusterClientData);
|
||||||
if (Result != NULL)
|
if (Result != NULL)
|
||||||
{
|
{
|
||||||
/* copy the original items into the result */
|
/* copy the original items into the result */
|
||||||
|
@ -1117,12 +1068,11 @@ ArrayList_pa ArrayListGetItems(ArrayList_pa ArrayList,
|
||||||
ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
|
ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset)
|
LgIndex_t ItemOffset)
|
||||||
{
|
{
|
||||||
ArrayListItem_u Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
||||||
|
|
||||||
CopyArrayItems((char *)&Result, 0,
|
ArrayListItem_u Result;
|
||||||
|
CopyArrayItems(static_cast<char*>(&Result.Char), 0,
|
||||||
ArrayList->Array, ItemOffset,
|
ArrayList->Array, ItemOffset,
|
||||||
1, ArrayList->ItemSize);
|
1, ArrayList->ItemSize);
|
||||||
|
|
||||||
|
@ -1150,13 +1100,13 @@ ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
|
||||||
* return
|
* return
|
||||||
* The internal reference to the requested item.
|
* The internal reference to the requested item.
|
||||||
*/
|
*/
|
||||||
const void *ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
|
void const* ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
|
||||||
LgIndex_t ItemOffset)
|
LgIndex_t ItemOffset)
|
||||||
{
|
{
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
|
||||||
|
|
||||||
const void *Result = ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset);
|
void const* Result = ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset);
|
||||||
ENSURE(Result == NULL || VALID_REF(Result));
|
ENSURE(Result == NULL || VALID_REF(Result));
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
@ -1190,14 +1140,14 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDestructor_pf ItemDestructor,
|
ArrayListItemDestructor_pf ItemDestructor,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(ItemOffset >= 0);
|
REQUIRE(ItemOffset >= 0);
|
||||||
REQUIRE(VALID_FN_REF(ItemDestructor) || ItemDestructor == NULL);
|
REQUIRE(VALID_FN_REF(ItemDestructor) || ItemDestructor == NULL);
|
||||||
REQUIRE(IMPLICATION(ItemOffset + 1 > ArrayList->Count,
|
REQUIRE(IMPLICATION(ItemOffset + 1 > ArrayList->Count,
|
||||||
!ArrayList->IsVisitingItems));
|
!ArrayList->IsVisitingItems));
|
||||||
|
|
||||||
|
Boolean_t IsOk = TRUE;
|
||||||
|
|
||||||
/* release the item if a destructor is installed */
|
/* release the item if a destructor is installed */
|
||||||
if (ItemDestructor != NULL && ItemOffset < ArrayList->Count)
|
if (ItemDestructor != NULL && ItemOffset < ArrayList->Count)
|
||||||
DestroyItems(ArrayList, ItemOffset, ArrayList->ItemSize, 1,
|
DestroyItems(ArrayList, ItemOffset, ArrayList->ItemSize, 1,
|
||||||
|
@ -1212,7 +1162,7 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
|
||||||
if (ItemOffset + 1 > ArrayList->Count)
|
if (ItemOffset + 1 > ArrayList->Count)
|
||||||
ArrayList->Count = ItemOffset + 1;
|
ArrayList->Count = ItemOffset + 1;
|
||||||
CopyArrayItems(ArrayList->Array, ItemOffset,
|
CopyArrayItems(ArrayList->Array, ItemOffset,
|
||||||
(char *)&Item, 0,
|
static_cast<char*>(&Item.Char), 0,
|
||||||
1, ArrayList->ItemSize);
|
1, ArrayList->ItemSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1237,12 +1187,10 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
|
||||||
Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
|
Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
|
||||||
ArrayListItem_u Item)
|
ArrayListItem_u Item)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(!ArrayList->IsVisitingItems);
|
REQUIRE(!ArrayList->IsVisitingItems);
|
||||||
|
|
||||||
IsOk = ArrayListInsertItem(ArrayList, ArrayList->Count, Item);
|
Boolean_t IsOk = ArrayListInsertItem(ArrayList, ArrayList->Count, Item);
|
||||||
|
|
||||||
ENSURE(ArrayListIsValid(ArrayList));
|
ENSURE(ArrayListIsValid(ArrayList));
|
||||||
ENSURE(VALID_BOOLEAN(IsOk));
|
ENSURE(VALID_BOOLEAN(IsOk));
|
||||||
|
@ -1265,15 +1213,13 @@ Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
|
||||||
Boolean_t ArrayListAppend(ArrayList_pa Target,
|
Boolean_t ArrayListAppend(ArrayList_pa Target,
|
||||||
ArrayList_pa Source)
|
ArrayList_pa Source)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(Target));
|
REQUIRE(ArrayListIsValid(Target));
|
||||||
REQUIRE(ArrayListIsValid(Source));
|
REQUIRE(ArrayListIsValid(Source));
|
||||||
REQUIRE(Target != Source);
|
REQUIRE(Target != Source);
|
||||||
REQUIRE(Target->Type == Source->Type);
|
REQUIRE(Target->Type == Source->Type);
|
||||||
REQUIRE(!Target->IsVisitingItems);
|
REQUIRE(!Target->IsVisitingItems);
|
||||||
|
|
||||||
IsOk = ArrayListInsert(Target, Target->Count, Source);
|
Boolean_t IsOk = ArrayListInsert(Target, Target->Count, Source);
|
||||||
|
|
||||||
ENSURE(ArrayListIsValid(Target));
|
ENSURE(ArrayListIsValid(Target));
|
||||||
ENSURE(VALID_BOOLEAN(IsOk));
|
ENSURE(VALID_BOOLEAN(IsOk));
|
||||||
|
@ -1301,14 +1247,12 @@ ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
ArrayList_pa Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
||||||
|
|
||||||
Result = ArrayListAlloc(ArrayList->Count, ArrayList->Type,
|
ArrayList_pa Result = ArrayListAlloc(ArrayList->Count, ArrayList->Type,
|
||||||
ArrayList->CapacityRequestAdjuster,
|
ArrayList->CapacityRequestAdjuster,
|
||||||
ArrayList->CapacityRequestAdjusterClientData);
|
ArrayList->CapacityRequestAdjusterClientData);
|
||||||
if (Result != NULL && ArrayList->Count != 0)
|
if (Result != NULL && ArrayList->Count != 0)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
Boolean_t IsOk = TRUE;
|
||||||
|
@ -1356,18 +1300,17 @@ ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
|
||||||
* array (but not the individual members unless a item duplication function
|
* array (but not the individual members unless a item duplication function
|
||||||
* was supplied) when it is no longer needed.
|
* was supplied) when it is no longer needed.
|
||||||
*/
|
*/
|
||||||
void *ArrayListToArray(ArrayList_pa Source,
|
void* ArrayListToArray(ArrayList_pa Source,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
void *Result;
|
|
||||||
|
|
||||||
REQUIRE(ArrayListIsValid(Source));
|
REQUIRE(ArrayListIsValid(Source));
|
||||||
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
||||||
|
|
||||||
|
void* Result;
|
||||||
if (Source->Count != 0)
|
if (Source->Count != 0)
|
||||||
Result = (void *)ALLOC_ARRAY(Source->Count * Source->ItemSize,
|
Result = static_cast<void*>(ALLOC_ARRAY(Source->Count * Source->ItemSize,
|
||||||
char, "native array");
|
char, "native array"));
|
||||||
else
|
else
|
||||||
Result = NULL;
|
Result = NULL;
|
||||||
|
|
||||||
|
@ -1376,20 +1319,20 @@ void *ArrayListToArray(ArrayList_pa Source,
|
||||||
Boolean_t IsOk = TRUE;
|
Boolean_t IsOk = TRUE;
|
||||||
if (ItemDuplicator != NULL)
|
if (ItemDuplicator != NULL)
|
||||||
/* client defines how the item duplication is performed */
|
/* client defines how the item duplication is performed */
|
||||||
IsOk = DuplicateItems((char*)Result, 0,
|
IsOk = DuplicateItems(static_cast<char*>(Result), 0,
|
||||||
Source->Array, 0,
|
Source->Array, 0,
|
||||||
Source->ItemSize, Source->Count,
|
Source->ItemSize, Source->Count,
|
||||||
ItemDuplicator, ClientData);
|
ItemDuplicator, ClientData);
|
||||||
else
|
else
|
||||||
/* copy the original items into the result */
|
/* copy the original items into the result */
|
||||||
CopyArrayItems((char *)Result, 0,
|
CopyArrayItems(static_cast<char*>(Result), 0,
|
||||||
Source->Array, 0,
|
Source->Array, 0,
|
||||||
Source->Count,
|
Source->Count,
|
||||||
Source->ItemSize);
|
Source->ItemSize);
|
||||||
if (!IsOk)
|
if (!IsOk)
|
||||||
{
|
{
|
||||||
/* Hack to remove delete warning... */
|
/* Hack to remove delete warning... */
|
||||||
char *Tmp = (char *)Result;
|
char* Tmp = static_cast<char*>(Result);
|
||||||
FREE_ARRAY(Tmp, "native array");
|
FREE_ARRAY(Tmp, "native array");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1421,33 +1364,31 @@ void *ArrayListToArray(ArrayList_pa Source,
|
||||||
* native 'C' array if sufficient memory was available, otherwise
|
* native 'C' array if sufficient memory was available, otherwise
|
||||||
* a handle to NULL.
|
* a handle to NULL.
|
||||||
*/
|
*/
|
||||||
ArrayList_pa ArrayListFromArray(void *Source,
|
ArrayList_pa ArrayListFromArray(void* Source,
|
||||||
LgIndex_t Count,
|
LgIndex_t Count,
|
||||||
ArrayListType_e Type,
|
ArrayListType_e Type,
|
||||||
ArrayListItemDuplicator_pf ItemDuplicator,
|
ArrayListItemDuplicator_pf ItemDuplicator,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
ArrayList_pa Result;
|
|
||||||
|
|
||||||
REQUIRE(VALID_REF(Source));
|
REQUIRE(VALID_REF(Source));
|
||||||
REQUIRE(Count >= 0);
|
REQUIRE(Count >= 0);
|
||||||
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
|
||||||
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
|
||||||
|
|
||||||
Result = ArrayListAlloc(Count, Type, NULL, 0);
|
ArrayList_pa Result = ArrayListAlloc(Count, Type, NULL, 0);
|
||||||
if (Result != NULL && Count != 0)
|
if (Result != NULL && Count != 0)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
Boolean_t IsOk = TRUE;
|
||||||
if (ItemDuplicator != NULL)
|
if (ItemDuplicator != NULL)
|
||||||
/* client defines how the item duplication is performed */
|
/* client defines how the item duplication is performed */
|
||||||
IsOk = DuplicateItems(Result->Array, 0,
|
IsOk = DuplicateItems(Result->Array, 0,
|
||||||
(char*)Source, 0,
|
static_cast<char*>(Source), 0,
|
||||||
Result->ItemSize, Count,
|
Result->ItemSize, Count,
|
||||||
ItemDuplicator, ClientData);
|
ItemDuplicator, ClientData);
|
||||||
else
|
else
|
||||||
/* copy the original items into the result */
|
/* copy the original items into the result */
|
||||||
CopyArrayItems(Result->Array, 0,
|
CopyArrayItems(Result->Array, 0,
|
||||||
(char *)Source, 0,
|
static_cast<char*>(Source), 0,
|
||||||
Count, Result->ItemSize);
|
Count, Result->ItemSize);
|
||||||
if (IsOk)
|
if (IsOk)
|
||||||
Result->Count = Count;
|
Result->Count = Count;
|
||||||
|
@ -1459,122 +1400,10 @@ ArrayList_pa ArrayListFromArray(void *Source,
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds the comparator function pointer for sorting.
|
|
||||||
*/
|
|
||||||
static ArrayListItemComparator_pf ComparatorFunction = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds the context for comparisons. This information is forwarded to
|
|
||||||
* the item comparator function for sorting.
|
|
||||||
*/
|
|
||||||
static ArbParam_t ComparatorClientData = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds the item size of the individual array components for sorting.
|
|
||||||
*/
|
|
||||||
static SmInteger_t ComparatorItemSize = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Forwards the comparison test to the 'Comparator' supplied to the
|
|
||||||
* 'ArrayListQSort' function.
|
|
||||||
*
|
|
||||||
* param Item1Ref
|
|
||||||
* Reference to base address of Item1.
|
|
||||||
* param Item2Ref
|
|
||||||
* Reference to base address of Item2.
|
|
||||||
*
|
|
||||||
* return
|
|
||||||
* - A value less than zero if Item1 is less than Item2.
|
|
||||||
* - A value of zero if Item1 is equal to Item2.
|
|
||||||
* - A value greater than zero if Item1 is greater than Item2.
|
|
||||||
*/
|
|
||||||
static int QSortCompareItemsAdapter(const void *Item1Ref,
|
|
||||||
const void *Item2Ref)
|
|
||||||
{
|
|
||||||
int Result;
|
|
||||||
ArrayListItem_u Item1;
|
|
||||||
ArrayListItem_u Item2;
|
|
||||||
|
|
||||||
REQUIRE(Item1Ref != NULL);
|
|
||||||
REQUIRE(Item2Ref != NULL);
|
|
||||||
|
|
||||||
/* collect up the items */
|
|
||||||
CopyArrayItems((char *)&Item1, 0,
|
|
||||||
(char *)Item1Ref, 0,
|
|
||||||
1, ComparatorItemSize);
|
|
||||||
CopyArrayItems((char *)&Item2, 0,
|
|
||||||
(char *)Item2Ref, 0,
|
|
||||||
1, ComparatorItemSize);
|
|
||||||
|
|
||||||
/* forward the call */
|
|
||||||
Result = ComparatorFunction(Item1, Item2, ComparatorClientData);
|
|
||||||
|
|
||||||
ENSURE(Result == -1 || Result == 0 || Result == 1);
|
|
||||||
return Result;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
#if defined TECPLOTKERNEL
|
||||||
/* CORE SOURCE CODE REMOVED */
|
/* CORE SOURCE CODE REMOVED */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sorts the array list using the qsort algorithm.
|
|
||||||
*
|
|
||||||
* param ArrayList
|
|
||||||
* Array list to sort.
|
|
||||||
* param Comparator
|
|
||||||
* Function called to compare two array list elements.
|
|
||||||
* param ClientData
|
|
||||||
* Contextual information that is passed along to the comparator function.
|
|
||||||
*/
|
|
||||||
void ArrayListQSort(ArrayList_pa ArrayList,
|
|
||||||
ArrayListItemComparator_pf Comparator,
|
|
||||||
ArbParam_t ClientData)
|
|
||||||
{
|
|
||||||
ArrayListItemComparator_pf CurComparatorFunction;
|
|
||||||
ArbParam_t CurComparatorClientData;
|
|
||||||
SmInteger_t CurComparatorItemSize;
|
|
||||||
|
|
||||||
#if defined TECPLOTKERNEL
|
|
||||||
/* CORE SOURCE CODE REMOVED */
|
|
||||||
#endif
|
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
|
||||||
REQUIRE(VALID_FN_REF(Comparator));
|
|
||||||
|
|
||||||
/* to support sort recursion we need to save off the current values */
|
|
||||||
CurComparatorFunction = ComparatorFunction;
|
|
||||||
CurComparatorClientData = ComparatorClientData;
|
|
||||||
CurComparatorItemSize = ComparatorItemSize;
|
|
||||||
|
|
||||||
/* set up for comparison proxy */
|
|
||||||
ComparatorFunction = Comparator;
|
|
||||||
ComparatorClientData = ClientData;
|
|
||||||
ComparatorItemSize = ArrayList->ItemSize;
|
|
||||||
|
|
||||||
/* sort the array */
|
|
||||||
qsort(ArrayList->Array, ArrayList->Count,
|
|
||||||
ArrayList->ItemSize, QSortCompareItemsAdapter);
|
|
||||||
|
|
||||||
/* cleanup */
|
|
||||||
ComparatorFunction = CurComparatorFunction;
|
|
||||||
ComparatorClientData = CurComparatorClientData;
|
|
||||||
ComparatorItemSize = CurComparatorItemSize;
|
|
||||||
|
|
||||||
ENSURE(ArrayListIsValid(ArrayList));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Binary searches a sorted array looking for a match using the supplied
|
* Binary searches a sorted array looking for a match using the supplied
|
||||||
|
@ -1598,11 +1427,11 @@ void ArrayListQSort(ArrayList_pa ArrayList,
|
||||||
* result
|
* result
|
||||||
* TRUE if the item was found in the list, FALSE otherwise.
|
* TRUE if the item was found in the list, FALSE otherwise.
|
||||||
*/
|
*/
|
||||||
Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
||||||
ArrayListItem_u Item,
|
ArrayListItem_u Item,
|
||||||
ArrayListItemComparator_pf Comparator,
|
ArrayListItemComparator_pf Comparator,
|
||||||
ArbParam_t ClientData,
|
ArbParam_t ClientData,
|
||||||
LgIndex_t *ItemIndex)
|
LgIndex_t* ItemIndex)
|
||||||
{
|
{
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
REQUIRE(VALID_FN_REF(Comparator));
|
REQUIRE(VALID_FN_REF(Comparator));
|
||||||
|
@ -1660,11 +1489,11 @@ Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
|
||||||
* return
|
* return
|
||||||
* Reference to the array list's internal buffer.
|
* Reference to the array list's internal buffer.
|
||||||
*/
|
*/
|
||||||
const void *ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList)
|
void const* ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList)
|
||||||
{
|
{
|
||||||
REQUIRE(ArrayListIsValid(ArrayList));
|
REQUIRE(ArrayListIsValid(ArrayList));
|
||||||
|
|
||||||
const void *Result = ArrayListGetInternalRef_MACRO(ArrayList);
|
void const* Result = ArrayListGetInternalRef_MACRO(ArrayList);
|
||||||
ENSURE(Result == NULL || VALID_REF(Result));
|
ENSURE(Result == NULL || VALID_REF(Result));
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
#define TECPLOTENGINEMODULE
|
#define TECPLOTENGINEMODULE
|
||||||
|
@ -29,7 +6,7 @@
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** Copyright (C) 1988-2008 Tecplot, Inc. ********
|
****** Copyright (C) 1988-2010 Tecplot, Inc. ********
|
||||||
******* All Rights Reserved. ********
|
******* All Rights Reserved. ********
|
||||||
******* ********
|
******* ********
|
||||||
*****************************************************************
|
*****************************************************************
|
||||||
|
@ -41,6 +18,7 @@
|
||||||
#include "TASSERT.h"
|
#include "TASSERT.h"
|
||||||
#include "Q_UNICODE.h"
|
#include "Q_UNICODE.h"
|
||||||
#include "ALLOC.h"
|
#include "ALLOC.h"
|
||||||
|
#include "CHARTYPE.h"
|
||||||
#include "STRUTIL.h"
|
#include "STRUTIL.h"
|
||||||
#include "ARRLIST.h"
|
#include "ARRLIST.h"
|
||||||
#include "DATASET.h"
|
#include "DATASET.h"
|
||||||
|
@ -58,7 +36,7 @@ using namespace tecplot::strutil;
|
||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
const char *Name;
|
char const* Name;
|
||||||
ArbParam_t Value;
|
ArbParam_t Value;
|
||||||
AuxDataType_e Type;
|
AuxDataType_e Type;
|
||||||
Boolean_t Retain;
|
Boolean_t Retain;
|
||||||
|
@ -66,15 +44,14 @@ typedef struct
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private auxiliary data item container structure.
|
* Private auxiliary data item container structure.
|
||||||
|
* INVARIANT: ItemList is case-insensitive sorted by AuxDataItem->Name
|
||||||
*/
|
*/
|
||||||
typedef struct _AuxData_s
|
typedef struct _AuxData_s
|
||||||
{
|
{
|
||||||
/* invariant: ItemList is case-insensitive sorted by AuxDataItem->Name */
|
ArbParam_t Owner; /* dataset, frame, or page owner or NULL if no owner */
|
||||||
ArrayList_pa ItemList; /* <AuxDataItem_s *>[dynamic] */
|
ArrayList_pa ItemList; /* <AuxDataItem_s *>[dynamic] */
|
||||||
} AuxData_s;
|
} AuxData_s;
|
||||||
|
|
||||||
static Mutex_pa AuxDataMutex = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A valid auxiliary data name character must begin with a '_' or alpha
|
* A valid auxiliary data name character must begin with a '_' or alpha
|
||||||
|
@ -90,11 +67,11 @@ Boolean_t AuxDataIsValidNameChar(char Char,
|
||||||
REQUIRE(VALID_BOOLEAN(IsLeadChar));
|
REQUIRE(VALID_BOOLEAN(IsLeadChar));
|
||||||
|
|
||||||
IsValidNameChar = (Char == '_' ||
|
IsValidNameChar = (Char == '_' ||
|
||||||
isalpha(Char));
|
tecplot::isalpha(Char));
|
||||||
if (!IsLeadChar)
|
if (!IsLeadChar)
|
||||||
IsValidNameChar = (IsValidNameChar ||
|
IsValidNameChar = (IsValidNameChar ||
|
||||||
Char == '.' ||
|
Char == '.' ||
|
||||||
isdigit(Char));
|
tecplot::isdigit(Char));
|
||||||
|
|
||||||
ENSURE(VALID_BOOLEAN(IsValidNameChar));
|
ENSURE(VALID_BOOLEAN(IsValidNameChar));
|
||||||
return IsValidNameChar;
|
return IsValidNameChar;
|
||||||
|
@ -136,13 +113,13 @@ static void AuxDataItemDealloc(AuxDataItem_s **AuxDataItem)
|
||||||
|
|
||||||
if (*AuxDataItem != NULL)
|
if (*AuxDataItem != NULL)
|
||||||
{
|
{
|
||||||
char *Name = (char *)(*AuxDataItem)->Name;
|
char *Name = const_cast<char *>((*AuxDataItem)->Name);
|
||||||
if (Name != NULL)
|
if (Name != NULL)
|
||||||
FREE_ARRAY(Name, "auxiliary name");
|
FREE_ARRAY(Name, "auxiliary name");
|
||||||
|
|
||||||
if ((*AuxDataItem)->Type == AuxDataType_String)
|
if ((*AuxDataItem)->Type == AuxDataType_String)
|
||||||
{
|
{
|
||||||
char *Value = (char *)(*AuxDataItem)->Value;
|
char *Value = reinterpret_cast<char *>((*AuxDataItem)->Value);
|
||||||
if (Value != NULL)
|
if (Value != NULL)
|
||||||
FREE_ARRAY(Value, "auxiliary value");
|
FREE_ARRAY(Value, "auxiliary value");
|
||||||
}
|
}
|
||||||
|
@ -161,35 +138,33 @@ static void AuxDataItemDealloc(AuxDataItem_s **AuxDataItem)
|
||||||
*
|
*
|
||||||
* NOTE: Copies are made of the name and value.
|
* NOTE: Copies are made of the name and value.
|
||||||
*
|
*
|
||||||
* param Name
|
* @param Name
|
||||||
* Auxiliary data item's name (case insenstive).
|
* Auxiliary data item's name (case insenstive).
|
||||||
* param Value
|
* @param Value
|
||||||
* Auxiliary data item's value.
|
* Auxiliary data item's value.
|
||||||
* param Type
|
* @param Type
|
||||||
* Auxiliary data item's value type.
|
* Auxiliary data item's value type.
|
||||||
* param Retain
|
* @param Retain
|
||||||
* Indicates if the auxiliary data item should persist. In other words
|
* Indicates if the auxiliary data item should persist. In other words
|
||||||
* copied, saved, etc.
|
* copied, saved, etc.
|
||||||
*
|
*
|
||||||
* return
|
* @return
|
||||||
* A new auxiliary data item or NULL if sufficient memory was not
|
* A new auxiliary data item or NULL if sufficient memory was not
|
||||||
* available.
|
* available.
|
||||||
*/
|
*/
|
||||||
static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
|
static AuxDataItem_s* AuxDataItemAlloc(char const* Name,
|
||||||
ArbParam_t Value,
|
ArbParam_t Value,
|
||||||
AuxDataType_e Type,
|
AuxDataType_e Type,
|
||||||
Boolean_t Retain)
|
Boolean_t Retain)
|
||||||
{
|
{
|
||||||
AuxDataItem_s *Result;
|
|
||||||
|
|
||||||
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
||||||
REQUIRE(IMPLICATION(Type == AuxDataType_String,
|
REQUIRE(IMPLICATION(Type == AuxDataType_String,
|
||||||
(VALID_REF((char *)Value) ||
|
(VALID_REF(reinterpret_cast<char *>(Value)) ||
|
||||||
(char *)Value == NULL)));
|
reinterpret_cast<char *>(Value) == NULL)));
|
||||||
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
|
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
|
||||||
REQUIRE(VALID_BOOLEAN(Retain));
|
REQUIRE(VALID_BOOLEAN(Retain));
|
||||||
|
|
||||||
Result = ALLOC_ITEM(AuxDataItem_s, "auxiliary data item");
|
AuxDataItem_s* Result = ALLOC_ITEM(AuxDataItem_s, "auxiliary data item");
|
||||||
if (Result != NULL)
|
if (Result != NULL)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk;
|
Boolean_t IsOk;
|
||||||
|
@ -200,15 +175,15 @@ static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
|
||||||
Result->Value = 0; /* to satisfy some compilers' uninitialized warnings */
|
Result->Value = 0; /* to satisfy some compilers' uninitialized warnings */
|
||||||
if (IsOk && Type == AuxDataType_String)
|
if (IsOk && Type == AuxDataType_String)
|
||||||
{
|
{
|
||||||
char *strValue = (char *)Value;
|
char *strValue = reinterpret_cast<char *>(Value);
|
||||||
if (strValue != NULL)
|
if (strValue != NULL)
|
||||||
{
|
{
|
||||||
char *strCopy = DupString(dontTranslate(strValue));
|
char *strCopy = DupString(dontTranslate(strValue));
|
||||||
Result->Value = (ArbParam_t)strCopy;
|
Result->Value = reinterpret_cast<ArbParam_t>(strCopy);
|
||||||
IsOk = (strCopy != NULL);
|
IsOk = (strCopy != NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Result->Value = (ArbParam_t)NULL;
|
Result->Value = static_cast<ArbParam_t>(NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
CHECK(FALSE);
|
CHECK(FALSE);
|
||||||
|
@ -236,10 +211,11 @@ static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
|
||||||
static Boolean_t AuxDataItemListItemDestructor(void *ItemRef,
|
static Boolean_t AuxDataItemListItemDestructor(void *ItemRef,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
AuxDataItem_s **AuxDataItemRef = (AuxDataItem_s **)ItemRef;
|
AuxDataItem_s **AuxDataItemRef = static_cast<AuxDataItem_s **>(ItemRef);
|
||||||
|
|
||||||
REQUIRE(VALID_REF(AuxDataItemRef));
|
REQUIRE(VALID_REF(AuxDataItemRef));
|
||||||
REQUIRE(VALID_REF(*AuxDataItemRef) || *AuxDataItemRef == NULL);
|
REQUIRE(VALID_REF(*AuxDataItemRef) || *AuxDataItemRef == NULL);
|
||||||
|
UNUSED(ClientData);
|
||||||
|
|
||||||
if (*AuxDataItemRef != NULL)
|
if (*AuxDataItemRef != NULL)
|
||||||
AuxDataItemDealloc(AuxDataItemRef);
|
AuxDataItemDealloc(AuxDataItemRef);
|
||||||
|
@ -263,10 +239,11 @@ static Boolean_t AuxDataItemListItemDestructor(void *ItemRef,
|
||||||
Boolean_t AuxDataItemDestructor(void *ItemRef,
|
Boolean_t AuxDataItemDestructor(void *ItemRef,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
AuxData_pa *AuxDataRef = (AuxData_pa *)ItemRef;
|
AuxData_pa *AuxDataRef = static_cast<AuxData_pa *>(ItemRef);
|
||||||
|
|
||||||
REQUIRE(VALID_REF(AuxDataRef));
|
REQUIRE(VALID_REF(AuxDataRef));
|
||||||
REQUIRE(VALID_REF(*AuxDataRef) || *AuxDataRef == NULL);
|
REQUIRE(VALID_REF(*AuxDataRef) || *AuxDataRef == NULL);
|
||||||
|
UNUSED(ClientData);
|
||||||
|
|
||||||
if (*AuxDataRef != NULL)
|
if (*AuxDataRef != NULL)
|
||||||
AuxDataDealloc(AuxDataRef);
|
AuxDataDealloc(AuxDataRef);
|
||||||
|
@ -296,16 +273,16 @@ static Boolean_t AuxDataItemDuplicator(void *TargetItemRef,
|
||||||
ArbParam_t ClientData)
|
ArbParam_t ClientData)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk = TRUE;
|
Boolean_t IsOk = TRUE;
|
||||||
AuxDataItem_s **TargetAuxDataItemRef = (AuxDataItem_s **)TargetItemRef;
|
AuxDataItem_s **TargetAuxDataItemRef = static_cast<AuxDataItem_s **>(TargetItemRef);
|
||||||
AuxDataItem_s **SourceAuxDataItemRef = (AuxDataItem_s **)SourceItemRef;
|
AuxDataItem_s **SourceAuxDataItemRef = static_cast<AuxDataItem_s **>(SourceItemRef);
|
||||||
Boolean_t ConsiderRetain;
|
Boolean_t ConsiderRetain;
|
||||||
|
|
||||||
REQUIRE(VALID_REF(TargetAuxDataItemRef));
|
REQUIRE(VALID_REF(TargetAuxDataItemRef));
|
||||||
REQUIRE(VALID_REF(SourceAuxDataItemRef));
|
REQUIRE(VALID_REF(SourceAuxDataItemRef));
|
||||||
REQUIRE(VALID_REF(*SourceAuxDataItemRef) || *SourceAuxDataItemRef == NULL);
|
REQUIRE(VALID_REF(*SourceAuxDataItemRef) || *SourceAuxDataItemRef == NULL);
|
||||||
REQUIRE(VALID_BOOLEAN((Boolean_t)ClientData));
|
REQUIRE(VALID_BOOLEAN(static_cast<Boolean_t>(ClientData)));
|
||||||
|
|
||||||
ConsiderRetain = (Boolean_t)ClientData;
|
ConsiderRetain = static_cast<Boolean_t>(ClientData);
|
||||||
|
|
||||||
/* duplicate the item */
|
/* duplicate the item */
|
||||||
if (*SourceAuxDataItemRef != NULL &&
|
if (*SourceAuxDataItemRef != NULL &&
|
||||||
|
@ -331,7 +308,7 @@ static Boolean_t AuxDataItemDuplicator(void *TargetItemRef,
|
||||||
* param AuxData
|
* param AuxData
|
||||||
* Reference to an auxiliary data handle or reference to NULL.
|
* Reference to an auxiliary data handle or reference to NULL.
|
||||||
*/
|
*/
|
||||||
void AuxDataDealloc(AuxData_pa *AuxData)
|
void LIBCALL AuxDataDealloc(AuxData_pa *AuxData)
|
||||||
{
|
{
|
||||||
REQUIRE(VALID_REF(AuxData));
|
REQUIRE(VALID_REF(AuxData));
|
||||||
REQUIRE(VALID_REF(*AuxData) || *AuxData == NULL);
|
REQUIRE(VALID_REF(*AuxData) || *AuxData == NULL);
|
||||||
|
@ -349,14 +326,17 @@ void AuxDataDealloc(AuxData_pa *AuxData)
|
||||||
/**
|
/**
|
||||||
* Allocates an auxiliary data handle.
|
* Allocates an auxiliary data handle.
|
||||||
*
|
*
|
||||||
* return
|
* @param Owner
|
||||||
|
* Auxiliary data owner, either a dataset, frame, or page or NULL if no owner.
|
||||||
|
* @return
|
||||||
* Auxiliary data handle or NULL if sufficient memory was not available.
|
* Auxiliary data handle or NULL if sufficient memory was not available.
|
||||||
*/
|
*/
|
||||||
AuxData_pa AuxDataAlloc(void)
|
AuxData_pa AuxDataAlloc(ArbParam_t Owner)
|
||||||
{
|
{
|
||||||
AuxData_pa Result = ALLOC_ITEM(AuxData_s, "auxiliary data container");
|
AuxData_pa Result = ALLOC_ITEM(AuxData_s, "auxiliary data container");
|
||||||
if (Result != NULL)
|
if (Result != NULL)
|
||||||
{
|
{
|
||||||
|
Result->Owner = Owner;
|
||||||
Result->ItemList = ArrayListAlloc(0, ArrayListType_VoidPtr, NULL, 0);
|
Result->ItemList = ArrayListAlloc(0, ArrayListType_VoidPtr, NULL, 0);
|
||||||
if (Result->ItemList == NULL)
|
if (Result->ItemList == NULL)
|
||||||
AuxDataDealloc(&Result);
|
AuxDataDealloc(&Result);
|
||||||
|
@ -441,7 +421,7 @@ AuxData_pa AuxDataCopy(AuxData_pa AuxData,
|
||||||
* return
|
* return
|
||||||
* Number of items maintained by the auxiliary data.
|
* Number of items maintained by the auxiliary data.
|
||||||
*/
|
*/
|
||||||
LgIndex_t AuxDataGetNumItems(AuxData_pa AuxData)
|
LgIndex_t LIBCALL AuxDataGetNumItems(AuxData_pa AuxData)
|
||||||
{
|
{
|
||||||
LgIndex_t NumItems;
|
LgIndex_t NumItems;
|
||||||
|
|
||||||
|
@ -482,56 +462,31 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
|
||||||
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
||||||
REQUIRE(VALID_REF(ItemIndex));
|
REQUIRE(VALID_REF(ItemIndex));
|
||||||
|
|
||||||
/*
|
|
||||||
* Note that the current implementation just does a linear search
|
|
||||||
* though the array looking for the index of the item or if not
|
|
||||||
* found the index of the insertion point. This should be replaced
|
|
||||||
* with a binary search.
|
|
||||||
*/
|
|
||||||
NumItems = AuxDataGetNumItems(AuxData);
|
NumItems = AuxDataGetNumItems(AuxData);
|
||||||
|
|
||||||
# if defined DO_LINEAR_SEARCH
|
int low, high;
|
||||||
|
low = 0;
|
||||||
|
high = NumItems - 1;
|
||||||
|
Index = 0;
|
||||||
|
while (low <= high)
|
||||||
{
|
{
|
||||||
for (Index = 0; Index < NumItems; Index++)
|
int CompareResult;
|
||||||
|
Index = (low + high) / 2;
|
||||||
|
AuxDataItem_s* AuxDataItem = static_cast<AuxDataItem_s *>(ArrayListGetVoidPtr(AuxData->ItemList, Index));
|
||||||
|
CompareResult = ustrcmp(Name, AuxDataItem->Name);
|
||||||
|
if (CompareResult < 0)
|
||||||
|
high = Index - 1; /* If the new name is "less" than the one we're comparing to,
|
||||||
|
don't change Index since Index is already in the right spot */
|
||||||
|
else if (CompareResult > 0)
|
||||||
|
low = ++Index; /* If the new name it "greater" than the one we're comparing
|
||||||
|
against, we want to make sure its Index is greater than
|
||||||
|
the current name's index as well, that's why we increment Index here. */
|
||||||
|
else
|
||||||
{
|
{
|
||||||
AuxDataItem_s *AuxDataItem =
|
FoundItem = TRUE;
|
||||||
(AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index);
|
break;
|
||||||
int CompareResult = ustrcmp(AuxDataItem->Name, Name);
|
|
||||||
if (CompareResult >= 0)
|
|
||||||
{
|
|
||||||
FoundItem = (CompareResult == 0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# else
|
|
||||||
{
|
|
||||||
int low, high;
|
|
||||||
low = 0;
|
|
||||||
high = NumItems - 1;
|
|
||||||
Index = 0;
|
|
||||||
while (low <= high)
|
|
||||||
{
|
|
||||||
AuxDataItem_s *AuxDataItem;
|
|
||||||
int CompareResult;
|
|
||||||
Index = (low + high) / 2;
|
|
||||||
AuxDataItem = (AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index);
|
|
||||||
CompareResult = ustrcmp(Name, AuxDataItem->Name);
|
|
||||||
if (CompareResult < 0)
|
|
||||||
high = Index - 1; /* If the new name is "less" than the one we're comparing to,
|
|
||||||
don't change Index since Index is already in the right spot */
|
|
||||||
else if (CompareResult > 0)
|
|
||||||
low = ++Index; /* If the new name it "greater" than the one we're comparing
|
|
||||||
against, we want to make sure its Index is greater than
|
|
||||||
the current name's index as well, that's why we increment Index here. */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
FoundItem = TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
*ItemIndex = Index;
|
*ItemIndex = Index;
|
||||||
|
|
||||||
|
@ -560,12 +515,12 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
|
||||||
* param Retain
|
* param Retain
|
||||||
* Address to hold the auxiliary data item retain flag.
|
* Address to hold the auxiliary data item retain flag.
|
||||||
*/
|
*/
|
||||||
void AuxDataGetItemByIndex(AuxData_pa AuxData,
|
void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData,
|
||||||
LgIndex_t Index,
|
LgIndex_t Index,
|
||||||
const char **Name,
|
const char **Name,
|
||||||
ArbParam_t *Value,
|
ArbParam_t *Value,
|
||||||
AuxDataType_e *Type,
|
AuxDataType_e *Type,
|
||||||
Boolean_t *Retain)
|
Boolean_t *Retain)
|
||||||
{
|
{
|
||||||
AuxDataItem_s *AuxDataItem;
|
AuxDataItem_s *AuxDataItem;
|
||||||
|
|
||||||
|
@ -577,7 +532,7 @@ void AuxDataGetItemByIndex(AuxData_pa AuxData,
|
||||||
REQUIRE(VALID_REF(Type));
|
REQUIRE(VALID_REF(Type));
|
||||||
REQUIRE(VALID_REF(Retain));
|
REQUIRE(VALID_REF(Retain));
|
||||||
|
|
||||||
AuxDataItem = (AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index);
|
AuxDataItem = static_cast<AuxDataItem_s *>(ArrayListGetVoidPtr(AuxData->ItemList, Index));
|
||||||
*Name = AuxDataItem->Name;
|
*Name = AuxDataItem->Name;
|
||||||
*Value = AuxDataItem->Value;
|
*Value = AuxDataItem->Value;
|
||||||
*Type = AuxDataItem->Type;
|
*Type = AuxDataItem->Type;
|
||||||
|
@ -585,8 +540,8 @@ void AuxDataGetItemByIndex(AuxData_pa AuxData,
|
||||||
|
|
||||||
ENSURE(VALID_REF(*Name) && AuxDataIsValidName(*Name));
|
ENSURE(VALID_REF(*Name) && AuxDataIsValidName(*Name));
|
||||||
ENSURE(IMPLICATION(*Type == AuxDataType_String,
|
ENSURE(IMPLICATION(*Type == AuxDataType_String,
|
||||||
(VALID_REF((char *)(*Value)) ||
|
(VALID_REF(reinterpret_cast<char *>(*Value)) ||
|
||||||
(char *)(*Value) == NULL)));
|
reinterpret_cast<char *>(*Value) == NULL)));
|
||||||
ENSURE(VALID_ENUM(*Type, AuxDataType_e));
|
ENSURE(VALID_ENUM(*Type, AuxDataType_e));
|
||||||
ENSURE(VALID_BOOLEAN(*Retain));
|
ENSURE(VALID_BOOLEAN(*Retain));
|
||||||
}
|
}
|
||||||
|
@ -639,8 +594,8 @@ Boolean_t AuxDataGetItemByName(AuxData_pa AuxData,
|
||||||
ENSURE(VALID_BOOLEAN(FoundItem));
|
ENSURE(VALID_BOOLEAN(FoundItem));
|
||||||
ENSURE(IMPLICATION(FoundItem,
|
ENSURE(IMPLICATION(FoundItem,
|
||||||
IMPLICATION(*Type == AuxDataType_String,
|
IMPLICATION(*Type == AuxDataType_String,
|
||||||
(VALID_REF((char *)(*Value)) ||
|
(VALID_REF(reinterpret_cast<char *>(*Value)) ||
|
||||||
(char *)(*Value) == NULL))));
|
reinterpret_cast<char *>(*Value) == NULL))));
|
||||||
ENSURE(IMPLICATION(FoundItem,
|
ENSURE(IMPLICATION(FoundItem,
|
||||||
VALID_ENUM(*Type, AuxDataType_e)));
|
VALID_ENUM(*Type, AuxDataType_e)));
|
||||||
ENSURE(IMPLICATION(FoundItem,
|
ENSURE(IMPLICATION(FoundItem,
|
||||||
|
@ -675,13 +630,13 @@ Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData, /* IN */
|
||||||
Retain);
|
Retain);
|
||||||
|
|
||||||
if (FoundItem &&
|
if (FoundItem &&
|
||||||
(ustrcmp((char *)strValue, "YES") == 0 ||
|
(ustrcmp(reinterpret_cast<char *>(strValue), "YES") == 0 ||
|
||||||
ustrcmp((char *)strValue, "YEP") == 0 ||
|
ustrcmp(reinterpret_cast<char *>(strValue), "YEP") == 0 ||
|
||||||
ustrcmp((char *)strValue, "Y") == 0 ||
|
ustrcmp(reinterpret_cast<char *>(strValue), "Y") == 0 ||
|
||||||
ustrcmp((char *)strValue, "TRUE") == 0 ||
|
ustrcmp(reinterpret_cast<char *>(strValue), "TRUE") == 0 ||
|
||||||
ustrcmp((char *)strValue, "T") == 0 ||
|
ustrcmp(reinterpret_cast<char *>(strValue), "T") == 0 ||
|
||||||
ustrcmp((char *)strValue, "ON") == 0 ||
|
ustrcmp(reinterpret_cast<char *>(strValue), "ON") == 0 ||
|
||||||
ustrcmp((char *)strValue, "1") == 0))
|
ustrcmp(reinterpret_cast<char *>(strValue), "1") == 0))
|
||||||
{
|
{
|
||||||
*Value = TRUE;
|
*Value = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -702,47 +657,44 @@ Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData, /* IN */
|
||||||
*
|
*
|
||||||
* NOTE: The auxiliary data makes copies of the name and value.
|
* NOTE: The auxiliary data makes copies of the name and value.
|
||||||
*
|
*
|
||||||
* param AuxData
|
* @param AuxData
|
||||||
* Auxiliary data handle.
|
* Auxiliary data handle.
|
||||||
* param Name
|
* @param Name
|
||||||
* Auxiliary data item's name (case insenstive).
|
* Auxiliary data item's name (case insenstive).
|
||||||
* param Value
|
* @param Value
|
||||||
* Auxiliary data item's value.
|
* Auxiliary data item's value.
|
||||||
* param Type
|
* @param Type
|
||||||
* Auxiliary data item's value type.
|
* Auxiliary data item's value type.
|
||||||
* param Retain
|
* @param Retain
|
||||||
* Indicates if the auxiliary data item should persist.
|
* Indicates if the auxiliary data item should persist.
|
||||||
*
|
*
|
||||||
* return
|
* @return
|
||||||
* TRUE if the item was added to the auxiliary data.
|
* TRUE if the item was added to the auxiliary data.
|
||||||
*/
|
*/
|
||||||
Boolean_t AuxDataSetItem(AuxData_pa AuxData,
|
Boolean_t AuxDataSetItem(AuxData_pa AuxData,
|
||||||
const char *Name,
|
char const* Name,
|
||||||
ArbParam_t Value,
|
ArbParam_t Value,
|
||||||
AuxDataType_e Type,
|
AuxDataType_e Type,
|
||||||
Boolean_t Retain)
|
Boolean_t Retain)
|
||||||
{
|
{
|
||||||
Boolean_t IsOk;
|
|
||||||
AuxDataItem_s *AuxDataItem;
|
|
||||||
|
|
||||||
REQUIRE(VALID_REF(AuxData));
|
REQUIRE(VALID_REF(AuxData));
|
||||||
INVARIANT("AuxData->ItemList is case-insensitive sorted by AuxDataItem->Name");
|
INVARIANT("AuxData->ItemList is case-insensitive sorted by AuxDataItem->Name");
|
||||||
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
|
||||||
REQUIRE(IMPLICATION(Type == AuxDataType_String,
|
REQUIRE(IMPLICATION(Type == AuxDataType_String,
|
||||||
(VALID_REF((char *)Value) ||
|
(VALID_REF(reinterpret_cast<char *>(Value)) ||
|
||||||
(char *)Value == NULL)));
|
reinterpret_cast<char *>(Value) == NULL)));
|
||||||
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
|
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
|
||||||
REQUIRE(VALID_BOOLEAN(Retain));
|
REQUIRE(VALID_BOOLEAN(Retain));
|
||||||
|
|
||||||
AuxDataItem = AuxDataItemAlloc(Name, Value, Type, Retain);
|
AuxDataItem_s* AuxDataItem = AuxDataItemAlloc(Name, Value, Type, Retain);
|
||||||
IsOk = (AuxDataItem != NULL);
|
Boolean_t IsOk = (AuxDataItem != NULL);
|
||||||
if (IsOk)
|
if (IsOk)
|
||||||
{
|
{
|
||||||
LgIndex_t ItemIndex;
|
LgIndex_t ItemIndex;
|
||||||
ArrayListItem_u ListItem;
|
ArrayListItem_u ListItem;
|
||||||
|
|
||||||
/* add or replace the item to the list */
|
/* add or replace the item to the list */
|
||||||
ListItem.VoidPtr = (void *)AuxDataItem;
|
ListItem.VoidPtr = static_cast<void *>(AuxDataItem);
|
||||||
if (!AuxDataGetItemIndex(AuxData, Name, &ItemIndex))
|
if (!AuxDataGetItemIndex(AuxData, Name, &ItemIndex))
|
||||||
IsOk = ArrayListInsertItem(AuxData->ItemList, ItemIndex, ListItem);
|
IsOk = ArrayListInsertItem(AuxData->ItemList, ItemIndex, ListItem);
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,26 +1,3 @@
|
||||||
/*
|
|
||||||
* NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
|
|
||||||
*
|
|
||||||
* Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
|
|
||||||
*
|
|
||||||
* Tecplot hereby grants OpenCFD limited authority to distribute without
|
|
||||||
* alteration the source code to the Tecplot Input/Output library, known
|
|
||||||
* as TecIO, as part of its distribution of OpenFOAM and the
|
|
||||||
* OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
|
|
||||||
* granted access to the TecIO source code, and may redistribute it for the
|
|
||||||
* purpose of maintaining the converter. However, no authority is granted
|
|
||||||
* to alter the TecIO source code in any form or manner.
|
|
||||||
*
|
|
||||||
* This limited grant of distribution does not supersede Tecplot, Inc.'s
|
|
||||||
* copyright in TecIO. Contact Tecplot, Inc. for further information.
|
|
||||||
*
|
|
||||||
* Tecplot, Inc.
|
|
||||||
* 3535 Factoria Blvd, Ste. 550
|
|
||||||
* Bellevue, WA 98006, USA
|
|
||||||
* Phone: +1 425 653 1200
|
|
||||||
* http://www.tecplot.com/
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "MASTER.h"
|
#include "MASTER.h"
|
||||||
#define TECPLOTENGINEMODULE
|
#define TECPLOTENGINEMODULE
|
||||||
|
@ -29,7 +6,7 @@
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******* ********
|
******* ********
|
||||||
****** (C) 1988-2008 Tecplot, Inc. *******
|
****** (C) 1988-2010 Tecplot, Inc. *******
|
||||||
******* ********
|
******* ********
|
||||||
******************************************************************
|
******************************************************************
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
@ -107,6 +84,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
StringList_pa **CustomLabelBase,
|
StringList_pa **CustomLabelBase,
|
||||||
StringList_pa *UserRec,
|
StringList_pa *UserRec,
|
||||||
AuxData_pa *DataSetAuxData,
|
AuxData_pa *DataSetAuxData,
|
||||||
|
ArbParam_t AuxDataOwner,
|
||||||
Set_pa **IsVarCellCentered, /* Create an Array dim by zones */
|
Set_pa **IsVarCellCentered, /* Create an Array dim by zones */
|
||||||
Boolean_t *HasText,
|
Boolean_t *HasText,
|
||||||
Boolean_t *HasGeoms,
|
Boolean_t *HasGeoms,
|
||||||
|
@ -235,12 +213,12 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
if (IsOk && (UserRec != NULL && *UserRec == NULL))
|
if (IsOk && (UserRec != NULL && *UserRec == NULL))
|
||||||
{
|
{
|
||||||
*UserRec = StringListAlloc();
|
*UserRec = StringListAlloc();
|
||||||
IsOk = (Boolean_t)(*UserRec != NULL);
|
IsOk = static_cast<Boolean_t>(*UserRec != NULL);
|
||||||
}
|
}
|
||||||
if (IsOk && (DataSetAuxData != NULL && *DataSetAuxData == NULL))
|
if (IsOk && (DataSetAuxData != NULL && *DataSetAuxData == NULL))
|
||||||
{
|
{
|
||||||
*DataSetAuxData = AuxDataAlloc();
|
*DataSetAuxData = AuxDataAlloc(AuxDataOwner);
|
||||||
IsOk = (Boolean_t)(*DataSetAuxData != NULL);
|
IsOk = static_cast<Boolean_t>(*DataSetAuxData != NULL);
|
||||||
}
|
}
|
||||||
if (IsOk && (VarAuxDataList != NULL && *VarAuxDataList == NULL) && *NumVars > 0)
|
if (IsOk && (VarAuxDataList != NULL && *VarAuxDataList == NULL) && *NumVars > 0)
|
||||||
{
|
{
|
||||||
|
@ -267,7 +245,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
* Now allocate a set for each zone
|
* Now allocate a set for each zone
|
||||||
*/
|
*/
|
||||||
(*IsVarCellCentered)[Z] = AllocSet(FALSE);
|
(*IsVarCellCentered)[Z] = AllocSet(FALSE);
|
||||||
IsOk = (Boolean_t)((*IsVarCellCentered)[Z] != NULL);
|
IsOk = static_cast<Boolean_t>((*IsVarCellCentered)[Z] != NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -303,13 +281,13 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
|
|
||||||
IsOk = ReadInDataFileTypeTitleAndVarNames(FileStream,
|
IsOk = ReadInDataFileTypeTitleAndVarNames(FileStream,
|
||||||
IVersion,
|
IVersion,
|
||||||
((Pass == 2) ? &S : (char **)NULL),
|
((Pass == 2) ? &S : static_cast<char **>(NULL)),
|
||||||
((Pass == 2) ? FileType : (DataFileType_e *)NULL),
|
((Pass == 2) ? FileType : static_cast<DataFileType_e *>(NULL)),
|
||||||
&INumVars,
|
&INumVars,
|
||||||
((Pass == 2) ? VarNames : (StringList_pa *)NULL));
|
((Pass == 2) ? VarNames : static_cast<StringList_pa *>(NULL)));
|
||||||
|
|
||||||
if (IsOk)
|
if (IsOk)
|
||||||
*NumVars = (EntIndex_t)INumVars;
|
*NumVars = static_cast<EntIndex_t>(INumVars);
|
||||||
|
|
||||||
if ((Pass == 2) && S && IsOk && DataSetTitle)
|
if ((Pass == 2) && S && IsOk && DataSetTitle)
|
||||||
*DataSetTitle = S;
|
*DataSetTitle = S;
|
||||||
|
@ -341,7 +319,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
LgIndex_t LocalFNNumBndryConns;
|
LgIndex_t LocalFNNumBndryConns;
|
||||||
IsOk = ReadInZoneHeader(FileStream, IVersion, ZoneSpec,
|
IsOk = ReadInZoneHeader(FileStream, IVersion, ZoneSpec,
|
||||||
OkToLoad ? (*IsVarCellCentered)[*NumZones] : NULL,
|
OkToLoad ? (*IsVarCellCentered)[*NumZones] : NULL,
|
||||||
*NumVars, &LocalIsRawFNAvailable,
|
*NumVars, AuxDataOwner, &LocalIsRawFNAvailable,
|
||||||
&LocalFNNumBndryConns);
|
&LocalFNNumBndryConns);
|
||||||
if (IsOk && OkToLoad && IsRawFNAvailable != NULL)
|
if (IsOk && OkToLoad && IsRawFNAvailable != NULL)
|
||||||
{
|
{
|
||||||
|
@ -362,7 +340,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
if (IsOk)
|
if (IsOk)
|
||||||
{
|
{
|
||||||
ArrayListItem_u CurZoneSpecItem;
|
ArrayListItem_u CurZoneSpecItem;
|
||||||
CurZoneSpecItem.VoidPtr = (void *)ZoneSpec;
|
CurZoneSpecItem.VoidPtr = static_cast<void *>(ZoneSpec);
|
||||||
ArrayListSetItem(*ZoneSpecList, *NumZones,
|
ArrayListSetItem(*ZoneSpecList, *NumZones,
|
||||||
CurZoneSpecItem,
|
CurZoneSpecItem,
|
||||||
ZoneSpecItemDestructor, 0);
|
ZoneSpecItemDestructor, 0);
|
||||||
|
@ -471,12 +449,12 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
Boolean_t OkToLoad;
|
Boolean_t OkToLoad;
|
||||||
char *CurUserRec = NULL;
|
char *CurUserRec = NULL;
|
||||||
|
|
||||||
OkToLoad = (Boolean_t)((Pass == 2) && UserRec);
|
OkToLoad = static_cast<Boolean_t>((Pass == 2) && UserRec);
|
||||||
|
|
||||||
IsOk = ReadInUserRec(FileStream,
|
IsOk = ReadInUserRec(FileStream,
|
||||||
IVersion,
|
IVersion,
|
||||||
500,
|
500,
|
||||||
OkToLoad ? &CurUserRec : (char **)NULL);
|
OkToLoad ? &CurUserRec : static_cast<char **>(NULL));
|
||||||
if (IsOk && OkToLoad)
|
if (IsOk && OkToLoad)
|
||||||
IsOk = StringListAppendString(*UserRec, CurUserRec);
|
IsOk = StringListAppendString(*UserRec, CurUserRec);
|
||||||
if (CurUserRec)
|
if (CurUserRec)
|
||||||
|
@ -510,10 +488,10 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
|
||||||
AuxData_pa VarAuxData;
|
AuxData_pa VarAuxData;
|
||||||
if (OkToLoad)
|
if (OkToLoad)
|
||||||
{
|
{
|
||||||
VarAuxData = (AuxData_pa)ArrayListGetVoidPtr(*VarAuxDataList, VarNum);
|
VarAuxData = static_cast<AuxData_pa>(ArrayListGetVoidPtr(*VarAuxDataList, VarNum));
|
||||||
if (VarAuxData == NULL)
|
if (VarAuxData == NULL)
|
||||||
{
|
{
|
||||||
VarAuxData = AuxDataAlloc();
|
VarAuxData = AuxDataAlloc(AuxDataOwner);
|
||||||
IsOk = (VarAuxData != NULL &&
|
IsOk = (VarAuxData != NULL &&
|
||||||
ArrayListSetVoidPtr(*VarAuxDataList, VarNum, VarAuxData));
|
ArrayListSetVoidPtr(*VarAuxDataList, VarNum, VarAuxData));
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue