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:
Hrvoje Jasak 2019-02-13 15:25:42 +00:00
commit 4311ba296a
677 changed files with 175807 additions and 169967 deletions

View file

@ -57,6 +57,7 @@ uninstallPackage openmpi-1.5 $1
uninstallPackage openmpi-1.6.5 $1
uninstallPackage openmpi-1.8.4 $1
uninstallPackage openmpi-3.1.0 $1
uninstallPackage openmpi-4.0.0 $1
echo
echo ========================================

View file

@ -113,6 +113,14 @@ then
-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
#
[ ! -z "$WM_THIRD_PARTY_USE_MVAPICH2_22" ] && {

View 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

View 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

View file

@ -72,10 +72,11 @@ License: Unkown
Name: %{name}
Version: %{version}
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
Prefix: %{_prefix}
Group: Development/Tools
Patch0: openmpi-3.1.1.patch
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
@ -95,6 +96,8 @@ Group: Development/Tools
%prep
%setup -q
%patch0 -p1
%build
# export WM settings in a form that GNU configure recognizes

View 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}

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -27,8 +30,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "triSurfModifier.H"
#include "triFaceList.H"

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -27,8 +30,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "triSurfaceCopyParts.H"
#include "demandDrivenData.H"

View file

@ -1,28 +1,31 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
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.
Author
@ -45,7 +48,7 @@ using namespace Foam;
void writePointsToVTK
(
const fileName& fn,
const string& title,
const string& /*title*/,
const UList<point>& points
)
{
@ -78,7 +81,7 @@ void writePointsToVTK
const fileName& fn,
const string& title,
const UList<point>& points,
unallocLabelList& addr
UList<label>& addr
)
{
// Create subaddressed points
@ -102,7 +105,7 @@ void writePointsToVTK
void writeEdgesToVTK
(
const fileName& fn,
const string& title,
const string& /*title*/,
const UList<point>& points,
const LongList<edge>& edges
)
@ -158,7 +161,7 @@ void writeEdgesToVTK
const string& title,
const UList<point>& points,
const LongList<edge>& edges,
const unallocLabelList& addr
const UList<label>& addr
)
{
// Remove unused points and create subaddressed edges
@ -201,7 +204,7 @@ void writeEdgesToVTK
void writeFacetsToVTK
(
const fileName& fn,
const string& title,
const string& /*title*/,
const UList<point>& points,
const LongList<labelledTri>& facets
)
@ -274,7 +277,7 @@ void writeFacetsToVTK
const string& title,
const pointField& points,
const LongList<labelledTri>& facets,
const unallocLabelList& addr
const UList<label>& addr
)
{
// Remove unused points and create subaddressed facets

View file

@ -1,9 +1,12 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
This file is part of foam-extend.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -30,8 +33,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "cartesian2DMeshGenerator.H"
using namespace Foam;

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -30,8 +33,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "cartesianMeshGenerator.H"
using namespace Foam;

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Description
Reads the specified surface and writes it in the fms format.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -28,8 +31,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "triSurfaceExtrude2DEdges.H"
#include "demandDrivenData.H"

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Description
Generates boundary layers in the existing mesh, based on the settings
@ -28,8 +31,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "polyMeshGenModifier.H"
#include "meshOptimizer.H"
#include "boundaryLayers.H"

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Description
Performs point relocations in the mesh (smoothing) in order to
@ -28,8 +31,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "polyMeshGenModifier.H"
#include "meshOptimizer.H"

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -28,8 +31,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "polyMeshGenModifier.H"
#include "symmetryPlaneOptimisation.H"

View file

@ -1,28 +1,31 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
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.
Author
@ -31,8 +34,6 @@ Author
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "autoPtr.H"
#include "triSurf.H"
#include "triSurfModifier.H"
@ -211,7 +212,7 @@ autoPtr<triSurf> mergeSurfacePatches
label faceI = 0;
forAll(patchAddr, patchI)
{
const unallocLabelList& addr = patchAddr[patchI];
const UList<label>& addr = patchAddr[patchI];
if(addr.size())
{

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -27,8 +30,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "polyMeshGenModifier.H"
#include "writeMeshFPMA.H"

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Application
Generates polyhedral mesh
@ -30,8 +33,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "voronoiMeshGenerator.H"
using namespace Foam;

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -27,8 +30,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "triFaceList.H"
#include "labelLongList.H"

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -30,8 +33,7 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "polyMeshGen.H"
#include <sstream>
@ -83,16 +85,13 @@ int main(int argc, char *argv[])
file += ss.str();
Info << "Creating " << file << endl;
// create a directory for processor data
//- create a directory for processor data
mkDir(runTime.path()/file);
// generate constant directories
mkDir(runTime.path()/"constant");
// copy the contents of the const directory into processor*
//- copy the contents of the const directory into processor*
cp(runTime.path()/"constant", runTime.path()/file);
// generate 0 directories
//- generate 0 directories for
mkDir(runTime.path()/file/"0");
}

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -28,8 +31,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "triSurfaceRemoveFacets.H"

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Description
Scales the mesh into other units.

View file

@ -1,25 +1,28 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
\\ / F ield | foam-extend: Open Source CFD
\\ / O peration | Version: 4.1
\\ / A nd | Web: http://www.foam-extend.org
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
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
Free Software Foundation; either version 3 of the License, or (at your
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
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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
Description
Scales surface vertices by a precribed factor.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -27,8 +30,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "triSurf.H"
#include "demandDrivenData.H"

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -29,14 +32,14 @@ Description
#include "argList.H"
#include "IFstream.H"
#include "fileName.H"
#include "triSurf.H"
#include "triSurfModifier.H"
#include "boundBox.H"
#include "OFstream.H"
#include <cstdlib>
#include <sstream>
#include "triSurfaceDetectFeatureEdges.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
using namespace Foam;

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.

View file

@ -1,22 +1,25 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\\/ M anipulation | For copyright notice see file Copyright
-------------------------------------------------------------------------------
Author | F.Juretic (franjo.juretic@c-fields.com)
Copyright | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
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
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.
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.
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/>.
@ -30,8 +33,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "objectRegistry.H"
#include "foamTime.H"
#include "tetMeshGenerator.H"
using namespace Foam;

View file

@ -962,11 +962,12 @@ void Foam::ensightMesh::writeAllFacePrims
{
if (nPrims)
{
const labelList* pPrims = &prims;
if (Pstream::master())
{
ensightGeometryFile << key << nl << setw(10) << nPrims << nl;
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeFacePrims
(
@ -993,7 +994,7 @@ void Foam::ensightMesh::writeAllFacePrims
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);
@ -1050,10 +1051,11 @@ void Foam::ensightMesh::writeAllNSided
<< "nsided" << nl << setw(10) << nPrims << nl;
}
const labelList* pPrims = &prims;
// Number of points for each face
if (Pstream::master())
{
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeNSidedNPointsPerFace
(
@ -1078,7 +1080,7 @@ void Foam::ensightMesh::writeAllNSided
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);
@ -1087,7 +1089,7 @@ void Foam::ensightMesh::writeAllNSided
// List of points id for each face
if (Pstream::master())
{
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeNSidedPoints
(
@ -1114,7 +1116,7 @@ void Foam::ensightMesh::writeAllNSided
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);
@ -1174,10 +1176,11 @@ void Foam::ensightMesh::writeAllNSidedBinary
writeEnsDataBinary(nPrims,ensightGeometryFile);
}
const labelList* pPrims = &prims;
// Number of points for each face
if (Pstream::master())
{
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeNSidedNPointsPerFaceBinary
(
@ -1202,7 +1205,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);
@ -1211,7 +1214,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
// List of points id for each face
if (Pstream::master())
{
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeNSidedPointsBinary
(
@ -1238,7 +1241,7 @@ void Foam::ensightMesh::writeAllNSidedBinary
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);
@ -1260,12 +1263,13 @@ void Foam::ensightMesh::writeAllFacePrimsBinary
{
if (nPrims)
{
const labelList* pPrims = &prims;
if (Pstream::master())
{
writeEnsDataBinary(key,ensightGeometryFile);
writeEnsDataBinary(nPrims,ensightGeometryFile);
if (&prims != nullptr)
if (pPrims != nullptr)
{
writeFacePrimsBinary
(
@ -1292,7 +1296,7 @@ void Foam::ensightMesh::writeAllFacePrimsBinary
}
}
}
else if (&prims != nullptr)
else if (pPrims != nullptr)
{
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
toMaster<< ensMap(patchFaces, prims);

View file

@ -1,4 +1,3 @@
#!/bin/sh
MAKEWHAT=
EXTRAFLAGS=
@ -15,7 +14,7 @@ if test $# -ge 1 ; then
elif test "$1" = "-skipcompile" ; then
skipcompile=y
elif test "$1" = "-tecio" ; then
MAKEWHAT=tecio.a
MAKEWHAT=libtecio.a
else
EXTRAFLAGS="$EXTRAFLAGS $1"
fi
@ -25,7 +24,7 @@ else
echo "Choose platform:"
echo " "
echo " macux.104"
echo " macix64.105"
echo " macix64.106"
echo " sgix.62"
echo " sgix3.62"
echo " sgix.65"
@ -45,23 +44,24 @@ else
echo " hp7xx64.11"
echo " hpi64.11"
echo " linux.24"
echo " linuxi64.24"
echo " linux64.26"
echo " linux.22"
echo " linuxa.22"
echo " linuxg248x64.26"
echo " linuxg27x64.26"
echo " linux32-centos4.8"
echo " linux64-sled10.4"
echo " linuxg29x64.26"
echo " crayc90"
echo "->\c"
read Platname
echo "Choose:"
echo " 1. Make tecio.a only"
echo " 2. Make tecio.a and pltview"
echo " 1. Make libtecio.a only"
echo " 2. Make libtecio.a and pltview"
read choice
if test $choice -eq 1 ;then
MAKEWHAT=tecio.a
MAKEWHAT=libtecio.a
fi
fi
@ -72,18 +72,32 @@ AR=ar
ARFLAGS=qv
DISTSUBDIR2=
#
# The blah-64 platforms are 64-bit builds of tecio, typically on 32-bit
# platforms.
#
case $Platname in
mac*) CCOMP=g++
FINALCFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64 -DDARWIN -DLONGIS64 -I/usr/X11R6/include"
macix64*) CCOMP=g++
FINALCFLAGS="-arch x86_64 -DDARWIN -DMAC64 -I/usr/X11R6/include"
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
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
FINALCFLAGS="-DIRISX -mips4 -64"
LINKFLAGS="-mips4 -64"
;;
sgix64.65) CCOMP=CC
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
FINALCFLAGS="-DIRISX -mips4 -64"
LINKFLAGS="-mips4 -64"
;;
sgix.65) CCOMP=CC
@ -95,7 +109,7 @@ case $Platname in
LINKFLAGS="-o32"
;;
sgix.62-64) CCOMP=CC
FINALCFLAGS="-DIRISX -DIRIX62 -DLONGIS64 -mips4 -64"
FINALCFLAGS="-DIRISX -DIRIX62 -mips4 -64"
LINKFLAGS="-mips4 -64"
;;
sgix.62) CCOMP=CC
@ -114,7 +128,7 @@ case $Platname in
FINALCFLAGS=-DIBMRS6000X
;;
ibmx64.*) CCOMP=xlC
FINALCFLAGS="-DIBMRS6000X -DLONGIS64 -q64"
FINALCFLAGS="-DIBMRS6000X -q64"
ARFLAGS="-X64 qv"
;;
compaq.51) CCOMP=cxx
@ -124,15 +138,15 @@ case $Platname in
FINALCFLAGS="-DDECALPHAX -I/usr/include -ieee_with_inexact"
;;
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"
;;
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"
;;
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"
;;
hp7xx.11) CCOMP=aCC
@ -142,10 +156,13 @@ case $Platname in
crayc90) CCOMP=cc
FINALCFLAGS="-DCRAY -DUNIXX"
;;
linux*i64.*)CCOMP=g++
FINALCFLAGS="-fPIC -DLINUX -DLINUXI64"
linux.64-gcc4.2.4.26) #
# Special custom build for synopsys. Run Runmake directly on satsop.
#
CCOMP=/usr/local/gcc-4.2.2/bin/g++
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
;;
linux*64.*) CCOMP=g++
linux*64*) CCOMP=g++
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
;;
linux*) CCOMP=g++
@ -173,21 +190,21 @@ case $Platname in
ARFLAGS="-xar -o"
;;
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"
MAKECMD=/usr/ccs/bin/make
AR=/opt/SUNWspro/bin/CC
ARFLAGS="-xar -o"
;;
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"
MAKECMD=/usr/ccs/bin/make
AR=/opt/SUNWspro/bin/CC
ARFLAGS="-xar -o"
;;
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"
MAKECMD=/usr/ccs/bin/make
AR=/opt/SUNWspro/bin/CC
@ -260,18 +277,18 @@ cd ..
pwd
echo "$AR $ARFLAGS tecio.a $OBJLIST"
$AR $ARFLAGS tecio.a $OBJLIST
echo "$AR $ARFLAGS libtecio.a $OBJLIST"
$AR $ARFLAGS libtecio.a $OBJLIST
if test -f /bin/ranlib ; then
/bin/ranlib tecio.a;
/bin/ranlib libtecio.a;
elif test -f /usr/bin/ranlib ; then
/usr/bin/ranlib tecio.a;
/usr/bin/ranlib libtecio.a;
elif test -f /usr/ucb/ranlib ; then
/usr/ucb/ranlib tecio.a;
/usr/ucb/ranlib libtecio.a;
fi
echo "$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"
$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 libtecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview

View file

@ -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)

View file

@ -31,10 +31,8 @@ int main()
&FileType,
&Debug,
&VIsDouble);
/* DOCEND */
/* After TECINI is called, call TECZNE to create one or more
* zones for your data file. In this example, Zone 1 contains a
* single rectangular solid created as a face-based finite-element
@ -106,7 +104,6 @@ int main()
ValueLocation,
NULL,
&SharConn);
/* DOCEND */
/* DOCSTART:arrow_tecdat_rect.txt*/
@ -137,7 +134,6 @@ int main()
P_Rect[0] = 10;
INTEGER4 IsDouble = 1;
I = TECDAT112(&NumPts_Rect, X_Rect, &IsDouble);
I = TECDAT112(&NumPts_Rect, Y_Rect, &IsDouble);
@ -146,7 +142,6 @@ int main()
/* DOCEND */
/* DOCSTART:arrow_facenodes_rect.txt*/
/* The FaceNodeCounts array is used to describe the number of
* 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
@ -247,6 +242,12 @@ int main()
* in Zone 5.
*/
FaceLeftElems_Rect[3] = -1;
I = TECPOLYFACE112(&NumFaces_Rect,
FaceNodeCounts_Rect,
FaceNodes_Rect,
FaceLeftElems_Rect,
FaceRightElems_Rect);
/* DOCEND */
/* DOCSTART:arrow_tecpoly_rect.txt*/
@ -276,10 +277,7 @@ int main()
FaceBndryConnElems_Rect[0] = 1;
FaceBndryConnZones_Rect[0] = 2;
I = TECPOLY112(FaceNodeCounts_Rect,
FaceNodes_Rect,
FaceLeftElems_Rect,
FaceRightElems_Rect,
I = TECPOLYBCONN112(&NumConnBndryFaces_Rect,
FaceBndryConnCounts_Rect,
FaceBndryConnElems_Rect,
FaceBndryConnZones_Rect);
@ -359,13 +357,10 @@ int main()
/* DOCEND */
/* DOCSTART:arrow_tecdat_prism.txt*/
double *X_Prism = new double[NumPts_Prism];
double *Y_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 */
double ZVal = 0;
for (INTEGER4 ii = 0; ii < 2; ii++)
@ -470,10 +465,15 @@ int main()
* element and zone for a face.
*/
FaceLeftElems_Prism[0] = -1;
I = TECPOLYFACE112(&NumFaces_Prism,
FaceNodeCounts_Prism,
FaceNodes_Prism,
FaceLeftElems_Prism,
FaceRightElems_Prism);
/* DOCEND */
/* DOCSTART:arrow_tecpoly_prism.txt*/
INTEGER4 *FaceBndryConnCounts_Prism = new INTEGER4[NumConnBndryFaces_Prism];
FaceBndryConnCounts_Prism[0] = 2;
@ -500,10 +500,7 @@ int main()
FaceBndryConnElems_Prism[1] = 1;
FaceBndryConnZones_Prism[1] = 1;
I = TECPOLY112(FaceNodeCounts_Prism,
FaceNodes_Prism,
FaceLeftElems_Prism,
FaceRightElems_Prism,
I = TECPOLYBCONN112(&NumConnBndryFaces_Prism,
FaceBndryConnCounts_Prism,
FaceBndryConnElems_Prism,
FaceBndryConnZones_Prism);

View file

@ -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)

View file

@ -19,6 +19,11 @@ C 11. Close file 2.
C
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"
REAL*4 X(4,5), Y(4,5), P(4,5)

View file

@ -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)">
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
<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="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="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">
<Tool Name="VFMidlTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
<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="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="VFPreLinkEventTool"/></Configuration></Configurations>
<Files>

View file

@ -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)

View file

@ -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)

View file

@ -89,7 +89,6 @@ int main()
/* DOCEND */
/* DOCSTART:gridsolution_grid_tecdat.txt*/
/* TECDAT Parameters */
double Phi = 0.5 * (1.0 + sqrt(5.0));
double Pi = 3.141592653578;
@ -130,11 +129,10 @@ int main()
delete X;
delete Y;
delete Z;
/* DOCEND */
/* DOCSTART:gridsolution_grid_facenodes.txt*/
/* TecPoly Parameters */
/* TecPolyFace Parameters */
/* Create a FaceNodes array, dimensioned by the total number
* of face nodes in the zone.
@ -225,7 +223,6 @@ int main()
FaceNodes[n++] = 9;
FaceNodes[n++] = 13;
FaceNodes[n++] = 17;
/* DOCEND */
/* Specify the number of nodes for each face, and the right and
@ -277,21 +274,17 @@ int main()
FaceLeftElems[10] = 0;
FaceLeftElems[11] = 1;
I = TECPOLY112(FaceNodeCounts,
I = TECPOLYFACE112(&NumFaces,
FaceNodeCounts,
FaceNodes,
FaceLeftElems,
FaceRightElems,
NULL, /* No boundary connections. */
NULL,
NULL);
FaceRightElems);
delete FaceNodes;
delete FaceLeftElems;
delete FaceRightElems;
/* DOCEND */
/* DOCSTART:gridsolution_grid_tecend.txt*/
I = TECEND112();
/* DOCEND */
@ -348,7 +341,6 @@ int main()
/* DOCEND */
/* DOCSTART:gridsolution_solution_tecdat.txt*/
/* TECDAT Parameters */
double *P = new double[NumPts];
double *T = new double[NumPts];
@ -364,7 +356,6 @@ int main()
delete P;
delete T;
/* DOCEND */
/* DOCSTART:gridsolution_solution_tecend.txt*/

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -1,6 +1,6 @@
/* This example illustrates using TecPoly to create two polygonal
* zones. The first zone contains six hexagons, and the second
* zone contains a hexagon and an octagon. Refer to the Data
/* This example illustrates using TecPolyFace and TecPolyBConn to create
* two polygonal zones. The first zone contains six hexagons, and the
* second zone contains a hexagon and an octagon. Refer to the Data
* Format Guide for a picture of the configuration, including node
* and face numbers.
*/
@ -110,7 +110,6 @@ int main()
/* DOCEND */
/* DOCSTART:hexagons_zone1_tecdat.txt*/
/* TECDAT Parameters */
double *X_Z1 = new double[NumPts_Z1];
double *Y_Z1 = new double[NumPts_Z1];
@ -154,13 +153,11 @@ int main()
X_Z1[12] = 0;
Y_Z1[12] = 3;
double *P_Z1 = new double[NumElems_Z1];
P_Z1[0] = 2;
P_Z1[1] = 4;
P_Z1[2] = 5;
INTEGER4 IsDouble = 1;
I = TECDAT112(&NumPts_Z1, X_Z1, &IsDouble);
I = TECDAT112(&NumPts_Z1, Y_Z1, &IsDouble);
@ -171,7 +168,7 @@ int main()
/* DOCEND */
/* DOCSTART:hexagons_zone1_facenodes.txt*/
/* TecPoly Parameters */
/* TecPolyFace Parameters */
/* Create a FaceNodes array, dimensioned by the total number
* of face nodes in the zone.
@ -225,7 +222,6 @@ int main()
FaceNodes_Z1[28] = 13;
FaceNodes_Z1[29] = 5;
/* DOCEND */
/* Specify the right and left neighboring elements.
@ -259,7 +255,7 @@ int main()
FaceLeftElems_Z1[7] = 0;
FaceLeftElems_Z1[8] = -1;
FaceLeftElems_Z1[9] = -2;
FaceLeftElems_Z1[10] = 2;
FaceLeftElems_Z1[10] = 3;
/* Left Face Elems for Element 3 */
FaceLeftElems_Z1[11] = -3;
@ -274,14 +270,25 @@ int main()
for (INTEGER4 ii = 0; ii < 6; ii++)
FaceRightElems_Z1[ii] = 1;
for (INTEGER4 ii = 6; ii < 10; ii++)
for (INTEGER4 ii = 6; ii < 11; ii++)
FaceRightElems_Z1[ii] = 2;
for (INTEGER4 ii = 10; ii <= 14; ii++)
for (INTEGER4 ii = 11; ii <= 14; ii++)
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 */
/* DOCSTART:hexagons_zone1_tecpoly.txt */
/* TecPolyBConn Parameters */
/* The FaceBndryConnectionCounts array is used to define the
* number of boundary connections for each face that has a
@ -308,19 +315,10 @@ int main()
INTEGER4 FaceBndryConnectionElems_Z1[3] = {1, 2, 2};
INTEGER4 FaceBndryConnectionZones_Z1[3] = {2, 2, 2};
I = TECPOLY112(NULL, /* Not used for polygon zones */
FaceNodes_Z1,
FaceLeftElems_Z1,
FaceRightElems_Z1,
I = TECPOLYBCONN112(&TotalNumBndryFaces_Z1,
FaceBndryConnectionCounts_Z1,
FaceBndryConnectionElems_Z1,
FaceBndryConnectionZones_Z1);
delete FaceNodes_Z1;
delete FaceLeftElems_Z1;
delete FaceRightElems_Z1;
/* DOCEND */
/* Define Zone 2. Zone 2 contains an octagon and a hexagon. */
@ -397,7 +395,6 @@ int main()
X_Z2[5] = 4;
Y_Z2[5] = 3;
X_Z2[6] = 3;
Y_Z2[6] = 3;
@ -433,7 +430,7 @@ int main()
delete P_Z2;
/* DOCEND */
/* TecPoly Parameters */
/* TecPolyFace Parameters */
/* DOCSTART:hexagons_zone2_facemap.txt*/
INTEGER4 *FaceNodes_Z2;
FaceNodes_Z2 = new INTEGER4[TotalNumFaceNodes_Z2];
@ -457,7 +454,6 @@ int main()
FaceNodes_Z2[10] = 6;
FaceNodes_Z2[11] = 1;
/* Face Nodes for Element 2 */
FaceNodes_Z2[12] = 7;
FaceNodes_Z2[13] = 6;
@ -481,8 +477,7 @@ int main()
FaceNodes_Z2[25] = 7;
/* DOCEND */
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
/* DOCSTART:hexagons_zone2_tecpolyface.txt*/
/* Specify the right and left neighboring elements.
* The neighboring elements can be determined using the
* right-hand rule. For each face, place your right-hand along
@ -525,6 +520,16 @@ int main()
for (INTEGER4 ii = 6; ii < 13; ii++)
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 */
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
@ -548,17 +553,10 @@ int main()
INTEGER4 FaceBndryConnectionElems_Z2[3] = {2, 3, 3};
INTEGER4 FaceBndryConnectionZones_Z2[3] = {1, 1, 1};
I = TECPOLY112(NULL,
FaceNodes_Z2,
FaceLeftElems_Z2,
FaceRightElems_Z2,
I = TECPOLYBCONN112(&TotalNumBndryFaces_Z2,
FaceBndryConnectionCounts_Z2,
FaceBndryConnectionElems_Z2,
FaceBndryConnectionZones_Z2);
delete FaceNodes_Z2;
delete FaceLeftElems_Z2;
delete FaceRightElems_Z2;
/* DOCEND */
/* DOCSTART:hexagons_tecend.txt*/

View file

@ -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)

View file

@ -195,7 +195,6 @@ int main()
FaceNodes[2*ii+1] = ii + 2;
}
FaceNodes[15] = 1;
/* DOCEND */
/* Define the right and left elements of each face.
@ -228,13 +227,11 @@ int main()
/* DOCEND */
/* Write the polyhedral data to the file. */
/* DOCSTART:octagon_tecpoly.txt*/
I = TECPOLY112(NULL,
I = TECPOLYFACE112(&NumFaces,
NULL,
FaceNodes,
FaceLeftElems,
FaceRightElems,
NULL,
NULL,
NULL);
FaceRightElems);
delete FaceNodes;
delete FaceLeftElems;

View file

@ -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)

View file

@ -20,7 +20,6 @@ int main()
&(Debug),
&(VIsDouble));
/* Call TECZNE112 */
INTEGER4 ZoneType = 7; /* 7 for FEPolyhedron */
INTEGER4 NumNodes = 5; /* number of unique nodes */
@ -117,7 +116,7 @@ int main()
delete Z;
/* Define the Face Nodes.
*
* The FaceNodes array is used to indicate which nodes define
* which face. As mentioned earlier, the number of the nodes is
* implicitly defined by the order in which the nodal data is
@ -201,14 +200,12 @@ int main()
FaceRightElems[3] = 1;
FaceRightElems[4] = 1;
/* Write the face map (created above) using TECPOLY112. */
I = TECPOLY112(FaceNodeCounts, /* The face node counts array */
/* Write the face map (created above) using TECPOLYFACE112. */
I = TECPOLYFACE112(&NumFaces,
FaceNodeCounts, /* The face node counts array */
FaceNodes, /* The face nodes array */
FaceLeftElems, /* The left elements array */
FaceRightElems, /* The right elements array */
NULL, /* No boundary connection counts */
NULL, /* No boundary connection elements */
NULL); /* No boundary connection zones */
FaceRightElems); /* The right elements array */
delete FaceNodeCounts;
delete FaceNodes;
@ -218,5 +215,4 @@ int main()
I = TECEND112();
return 0;
}
/* DOCEND */

View file

@ -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)

View file

@ -11,6 +11,11 @@ C
C
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'
character*1 NULLCHR

View file

@ -7,18 +7,18 @@
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
<Tool Name="VFPreBuildEventTool"/>
<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="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="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)">
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
<Tool Name="VFPreBuildEventTool"/>
<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="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="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration></Configurations>
<Files>

View file

@ -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)

View file

@ -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)

View file

@ -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
#include "TECADDON.h"
#include "GUIDEFS.h"
#include "GUI.h"
#include "TECGUI.h"
#define READTEC TecUtilReadBinaryData
#define SHOWINFO(S) TecGUITextAppendString(Output_T_D1,S);
#define ERRMSG(S) TecUtilDialogErrMsg(S)
@ -75,6 +52,12 @@ END CODELOG
#define STRINGLISTGETSTRING(S,N) TecUtilStringListGetString(S,N)
#define STRINGLISTGETCOUNT(S) TecUtilStringListGetCount(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
#include "MASTER.h"
#include "GLOBAL.h"
@ -83,22 +66,21 @@ END CODELOG
#define FREE_ARRAY(N,S) TecFree((void *)N)
#include "ARRLIST.h"
#include "STRLIST.h"
#include "AUXDATA.h"
#include "DATAUTIL.h"
/*
#include "TECADDON.h"
#include "TECXXX.h"
#include "DATAUTIL.h"
#include "STRLIST.h"
*/
#define READTEC ReadTec
#define SHOWINFO(S) printf("%s",S);
#define ERRMSG(S) printf("Err: %s\n",S);
#define STRINGLISTGETSTRING(S,N) StringListGetString(S,(N)-1)
#define STRINGLISTGETCOUNT(S) StringListCount(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
@ -144,7 +126,8 @@ static void DeallocHeaderInfo(char **DataSetTitle,
LgIndex_t **NumPtsJ,
LgIndex_t **NumPtsK,
ZoneType_e **ZoneType,
StringList_pa *UserRec)
StringList_pa *UserRec,
AuxData_pa *DatasetAuxData)
{
if (*DataSetTitle)
FREE_ARRAY(*DataSetTitle, "data set title");
@ -162,6 +145,8 @@ static void DeallocHeaderInfo(char **DataSetTitle,
FREE_ARRAY(*ZoneType, "ZoneType Array");
if (*UserRec)
STRINGLISTDEALLOC(UserRec);
if (*DatasetAuxData)
AUXDATADEALLOC(DatasetAuxData);
*DataSetTitle = NULL;
*VarNames = NULL;
@ -173,10 +158,56 @@ static void DeallocHeaderInfo(char **DataSetTitle,
*UserRec = NULL;
}
#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,
Boolean_t LoadRawData,
@ -193,6 +224,7 @@ void ReportFileInfo(char *FName,
LgIndex_t *NumPtsK = NULL;
ZoneType_e *ZoneType = NULL;
StringList_pa UserRec = NULL;
AuxData_pa DatasetAuxData = NULL;
int CZ, CV;
char InfoLine[MAXCHARSINFOLINE+1];
double **VDataBase = NULL;
@ -215,6 +247,7 @@ void ReportFileInfo(char *FName,
&NumPtsK,
&ZoneType,
&UserRec,
&DatasetAuxData,
FALSE,
(NodeMap_t ***)NULL,
(double ***)NULL))
@ -272,7 +305,8 @@ void ReportFileInfo(char *FName,
&NumPtsJ,
&NumPtsK,
&ZoneType,
&UserRec);
&UserRec,
&DatasetAuxData);
/*
* Reread the datafile. This time load in the header AND the raw data
@ -292,6 +326,7 @@ void ReportFileInfo(char *FName,
&NumPtsK,
&ZoneType,
&UserRec,
&DatasetAuxData,
AllocateRawDataSpaceLocally,
&NodeMap,
&VDataBase))
@ -368,6 +403,9 @@ void ReportFileInfo(char *FName,
sprintf(InfoLine, "DataSetTitle: %s\n", DataSetTitle ? DataSetTitle : " ");
SHOWINFO(InfoLine);
ShowDatasetAuxData(DatasetAuxData, InfoLine);
sprintf(InfoLine, "NumZones : %d\n", (int)NumZones);
SHOWINFO(InfoLine);
sprintf(InfoLine, "NumVars : %d\n", (int)NumVars);
@ -534,7 +572,8 @@ void ReportFileInfo(char *FName,
&NumPtsJ,
&NumPtsK,
&ZoneType,
&UserRec);
&UserRec,
&DatasetAuxData);
}
}

View file

@ -2,10 +2,10 @@
** 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.
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
dataio4.c. Just look for CRAY in dataio4.c and you
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()
The ReadTec() is included in the tecio library but is
not supported by Tecplot, Inc. ReadTec is used
The ReadTec() function is included in the tecio library
but is not supported by Tecplot, Inc. ReadTec is used
to read Tecplot binary data files (all versions at or
older than the Tecplot version providing the tecio
library). See tecsrc/DATAUTIL.h for more information.
The pltview example app gives an example of using ReadTec
to read just the header from a file as well as loading all
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/
*
*/
field data from a file.

View file

@ -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
* 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>
inline T *nonExceptionNew(size_t numItems,
const char* fileName,
@ -88,7 +65,7 @@ inline T *nonExceptionNew(size_t numItems,
#endif
result = new(fileName, lineNumber) T[numItems];
#ifdef USING_DEBUG_NEW
#define new DEBUG_NEW
//#define new DEBUG_NEW
#undef USING_DEBUG_NEW
#endif
#else
@ -172,7 +149,7 @@ inline void nonExceptionDelete(T* &ptr)
* NOTE: the pointer is set to 0xFFFF after the free for asserted
* builds in the hopes of catching invalid pointer usage
*/
ptr = (T*)(void*)0xFFFF;
ptr = static_cast<T*>(reinterpret_cast<void*>(0xFFFF));
#endif
}
#define FREE_ARRAY(ptr,str) nonExceptionDelete((ptr))

View file

@ -1,31 +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/
*
*/
#include "stdafx.h"
#include "MASTER.h"
/*
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
******* ********
*****************************************************************
*****************************************************************
@ -42,6 +21,10 @@
# define EXTERN extern
#endif
#if !defined TECPLOTKERNEL
typedef struct _ArrayList_s* ArrayList_pa;
#endif
typedef enum
{
ArrayListType_UnsignedChar,
@ -121,16 +104,9 @@ typedef union
void (*FunctionPtr)(void);
} ArrayListItem_u;
/**
* NULL array list item for added convenience of inserting a NULL item without
* having to declare and assign one. Can be used as follows:
*
* 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;
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
/**
* Visitor for traversing an array list. An iterator may not perform any
@ -155,7 +131,7 @@ typedef Boolean_t (*ArrayListItemVisitor_pf)(void *ItemRef,
REQUIRE(VALID_REF(*TypeRef) || *TypeRef == NULL);
Boolean_t DoContinue = TRUE;
<type> *TypeRef = (<type> *)ItemRef;
<type>* TypeRef = static_cast<<type>*>(ItemRef);
ENSURE(VALID_BOOLEAN(DoContinue));
return DoContinue;
@ -210,8 +186,8 @@ typedef Boolean_t (*ArrayListItemDuplicator_pf)(void *TargetItemRef,
REQUIRE(VALID_REF(*SourceTypeRef) || *SourceTypeRef == NULL);
Boolean_t IsOk = TRUE;
<type> *TargetTypeRef = (<type> *)TargetItemRef;
<type> *SourceTypeRef = (<type> *)SourceItemRef;
<type>* TargetTypeRef = static_cast<<type>*>(TargetItemRef);
<type>* SourceTypeRef = static_cast<<type>*>(SourceItemRef);
ENSURE(VALID_BOOLEAN(IsOk));
return IsOk;
@ -297,23 +273,24 @@ EXTERN Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
LgIndex_t RequestedCapacity);
EXTERN ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacity,
ArrayListType_e Type,
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster,
ArbParam_t CapacityRequestAdjusterClientData);
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster = 0,
ArbParam_t CapacityRequestAdjusterClientData = 0);
EXTERN void ArrayListDealloc(ArrayList_pa* ArrayList,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData);
ArrayListItemDestructor_pf ItemDestructor = 0,
ArbParam_t ClientData = 0);
EXTERN void ArrayListClear(ArrayList_pa ArrayList);
EXTERN void ArrayListDeleteAllItems(ArrayList_pa ArrayList,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData);
ArrayListItemDestructor_pf ItemDestructor = 0,
ArbParam_t ClientData = 0);
EXTERN void ArrayListDeleteItems(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
LgIndex_t Count,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData);
ArrayListItemDestructor_pf ItemDestructor = 0,
ArbParam_t ClientData = 0);
EXTERN void ArrayListDeleteItem(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData);
ArrayListItemDestructor_pf ItemDestructor = 0,
ArbParam_t ClientData = 0);
EXTERN ArrayList_pa ArrayListRemoveItems(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
LgIndex_t Count);
@ -338,35 +315,32 @@ EXTERN ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
EXTERN Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
ArrayListItem_u Item,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData);
ArrayListItemDestructor_pf ItemDestructor = 0,
ArbParam_t ClientData = 0);
EXTERN Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
ArrayListItem_u Item);
EXTERN Boolean_t ArrayListAppend(ArrayList_pa Target,
ArrayList_pa Source);
EXTERN ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData);
ArrayListItemDuplicator_pf ItemDuplicator = 0,
ArbParam_t ClientData = 0);
EXTERN void* ArrayListToArray(ArrayList_pa ArrayList,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData);
EXTERN ArrayList_pa ArrayListFromArray(void* Source,
LgIndex_t Count,
ArrayListType_e Type,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData);
ArrayListItemDuplicator_pf ItemDuplicator = 0,
ArbParam_t ClientData = 0);
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
EXTERN void ArrayListQSort(ArrayList_pa ArrayList,
ArrayListItemComparator_pf Comparator,
ArbParam_t ClientData);
EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
ArrayListItem_u Item,
ArrayListItemComparator_pf Comparator,
ArbParam_t ClientData,
LgIndex_t *ItemIndex);
LgIndex_t* ItemIndex = 0);
#if defined USE_MACROS_FOR_FUNCTIONS
/**
@ -452,53 +426,53 @@ EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
# define ArrayListGetItemInternalRef ArrayListGetItemInternalRef_FUNC
# define ArrayListGetCount ArrayListGetCount_FUNC
# define ArrayListGetUnsignedChar(ArrayList, ItemOffset) (*((unsigned char *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedShort(ArrayList, ItemOffset) (*((unsigned short *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedInt(ArrayList, ItemOffset) (*((unsigned int *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedLong(ArrayList, ItemOffset) (*((unsigned long *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetInt64(ArrayList, ItemOffset) (*((Int64_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetChar(ArrayList, ItemOffset) (*((char *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetShort(ArrayList, ItemOffset) (*((short *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetInt(ArrayList, ItemOffset) (*((int *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetLong(ArrayList, ItemOffset) (*((long *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetFloat(ArrayList, ItemOffset) (*((float *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetDouble(ArrayList, ItemOffset) (*((double *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetLgIndex(ArrayList, ItemOffset) (*((LgIndex_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetEntIndex(ArrayList, ItemOffset) (*((EntIndex_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetSmInteger(ArrayList, ItemOffset) (*((SmInteger_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetBoolean(ArrayList, ItemOffset) (*((Boolean_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetArbParam(ArrayList, ItemOffset) (*((ArbParam_t *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) (*((unsigned char * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) (*((unsigned short * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) (*((unsigned int * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) (*((unsigned long * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) (*((Int64_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetCharPtr(ArrayList, ItemOffset) (*((char * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetShortPtr(ArrayList, ItemOffset) (*((short * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetIntPtr(ArrayList, ItemOffset) (*((int * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetLongPtr(ArrayList, ItemOffset) (*((long * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) (*((float * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) (*((double * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) (*((LgIndex_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) (*((EntIndex_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) (*((SmInteger_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) (*((Boolean_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) (*((ArbParam_t * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) (*((void * *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) (*(((**)(void) *)ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))
# define ArrayListGetUnsignedChar(ArrayList, ItemOffset) (*(static_cast<unsigned char*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedShort(ArrayList, ItemOffset) (*(static_cast<unsigned short*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedInt(ArrayList, ItemOffset) (*(static_cast<unsigned int*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedLong(ArrayList, ItemOffset) (*(static_cast<unsigned long*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetInt64(ArrayList, ItemOffset) (*(static_cast<Int64_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetChar(ArrayList, ItemOffset) (*(static_cast<char*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetShort(ArrayList, ItemOffset) (*(static_cast<short*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetInt(ArrayList, ItemOffset) (*(static_cast<int*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetLong(ArrayList, ItemOffset) (*(static_cast<long*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetFloat(ArrayList, ItemOffset) (*(static_cast<float*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetDouble(ArrayList, ItemOffset) (*(static_cast<double*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetLgIndex(ArrayList, ItemOffset) (*(static_cast<LgIndex_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetEntIndex(ArrayList, ItemOffset) (*(static_cast<EntIndex_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetSmInteger(ArrayList, ItemOffset) (*(static_cast<SmInteger_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetBoolean(ArrayList, ItemOffset) (*(static_cast<Boolean_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetArbParam(ArrayList, ItemOffset) (*(static_cast<ArbParam_t*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) (*(static_cast<unsigned char**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) (*(static_cast<unsigned short**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) (*(static_cast<unsigned int**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) (*(static_cast<unsigned long**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) (*(static_cast<Int64_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetCharPtr(ArrayList, ItemOffset) (*(static_cast<char**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetShortPtr(ArrayList, ItemOffset) (*(static_cast<short**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetIntPtr(ArrayList, ItemOffset) (*(static_cast<int**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetLongPtr(ArrayList, ItemOffset) (*(static_cast<long**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetFloatPtr(ArrayList, ItemOffset) (*(static_cast<float**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetDoublePtr(ArrayList, ItemOffset) (*(static_cast<double**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) (*(static_cast<LgIndex_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) (*(static_cast<EntIndex_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) (*(static_cast<SmInteger_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) (*(static_cast<Boolean_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) (*(static_cast<ArbParam_t**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetVoidPtr(ArrayList, ItemOffset) (*(static_cast<void**>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) (*(static_cast<**(void)*>(const_cast<void*>(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset)))))
#endif
#if !defined USE_MACROS_FOR_FUNCTIONS
EXTERN const void *ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList);
EXTERN const void *ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
EXTERN void const* ArrayListGetInternalRef_FUNC(ArrayList_pa ArrayList);
EXTERN void const* ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
LgIndex_t ItemOffset);
EXTERN LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList);
#endif
#define ArrayListGetInternalRef_MACRO(ArrayList) ((const void *)((ArrayList)->Array))
#define ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset) ((const void *)&((ArrayList)->Array[(ItemOffset)*(ArrayList)->ItemSize]))
#define ArrayListGetInternalRef_MACRO(ArrayList) static_cast<void const*>((ArrayList)->Array)
#define ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset) static_cast<void const*>(&((ArrayList)->Array[(ItemOffset)*(ArrayList)->ItemSize]))
#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])
/**
@ -542,85 +516,112 @@ EXTERN LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList);
#define ArrayListSetTypedItem(ArrayList, ItemOffset, Item, NativeType) \
((ArrayListOffsetWithinCapacity((ArrayList), (ItemOffset)) || \
ArrayListEnlargeCapacity((ArrayList), (ItemOffset)+1)) \
? (((((NativeType *)((ArrayList)->Array))[(ItemOffset)]) = (Item)), \
? ((void)((ArrayListGetTypedArrayRef((ArrayList),NativeType)[(ItemOffset)]) = (Item)), \
(((ItemOffset)+1 > (ArrayList)->Count) \
? (((ArrayList)->Count = (ItemOffset)+1), TRUE) \
: (TRUE))) \
: (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
* 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.
*/
#define ArrayListSetUnsignedChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned char)
#define ArrayListSetUnsignedShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned short)
#define ArrayListSetUnsignedInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned int)
#define ArrayListSetUnsignedLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned long)
#define ArrayListSetInt64(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Int64_t)
#define ArrayListSetChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, char)
#define ArrayListSetShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, short)
#define ArrayListSetInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, int)
#define ArrayListSetLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, long)
#define ArrayListSetFloat(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, float)
#define ArrayListSetDouble(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, double)
#define ArrayListSetLgIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, LgIndex_t)
#define ArrayListSetEntIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, EntIndex_t)
#define ArrayListSetSmInteger(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, SmInteger_t)
#define ArrayListSetBoolean(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Boolean_t)
#define ArrayListSetArbParam(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, ArbParam_t)
#define ArrayListSetUnsignedCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned char *)
#define ArrayListSetUnsignedShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned short *)
#define ArrayListSetUnsignedIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned int *)
#define ArrayListSetUnsignedLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, unsigned long *)
#define ArrayListSetInt64Ptr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Int64_t *)
#define ArrayListSetCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, char *)
#define ArrayListSetShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, short *)
#define ArrayListSetIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, int *)
#define ArrayListSetLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, long *)
#define ArrayListSetFloatPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, float *)
#define ArrayListSetDoublePtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, double *)
#define ArrayListSetLgIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, LgIndex_t *)
#define ArrayListSetEntIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, EntIndex_t *)
#define ArrayListSetSmIntegerPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, SmInteger_t *)
#define ArrayListSetBooleanPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, Boolean_t *)
#define ArrayListSetArbParamPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, ArbParam_t *)
#define ArrayListSetVoidPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, void *)
#define ArrayListSetFunctionPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem(ArrayList, ItemOffset, Item, (**)(void))
#define ArrayListSetUnsignedChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned char)
#define ArrayListSetUnsignedShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned short)
#define ArrayListSetUnsignedInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned int)
#define ArrayListSetUnsignedLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned long)
#define ArrayListSetInt64(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Int64_t)
#define ArrayListSetChar(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),char)
#define ArrayListSetShort(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),short)
#define ArrayListSetInt(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),int)
#define ArrayListSetLong(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),long)
#define ArrayListSetFloat(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),float)
#define ArrayListSetDouble(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),double)
#define ArrayListSetLgIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),LgIndex_t)
#define ArrayListSetEntIndex(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),EntIndex_t)
#define ArrayListSetSmInteger(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),SmInteger_t)
#define ArrayListSetBoolean(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Boolean_t)
#define ArrayListSetArbParam(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),ArbParam_t)
#define ArrayListSetUnsignedCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned char*)
#define ArrayListSetUnsignedShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned short*)
#define ArrayListSetUnsignedIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned int*)
#define ArrayListSetUnsignedLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),unsigned long*)
#define ArrayListSetInt64Ptr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Int64_t*)
#define ArrayListSetCharPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),char*)
#define ArrayListSetShortPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),short*)
#define ArrayListSetIntPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),int*)
#define ArrayListSetLongPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),long*)
#define ArrayListSetFloatPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),float*)
#define ArrayListSetDoublePtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),double*)
#define ArrayListSetLgIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),LgIndex_t*)
#define ArrayListSetEntIndexPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),EntIndex_t*)
#define ArrayListSetSmIntegerPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),SmInteger_t*)
#define ArrayListSetBooleanPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),Boolean_t*)
#define ArrayListSetArbParamPtr(ArrayList, ItemOffset, Item) ArrayListSetTypedItem((ArrayList),(ItemOffset),(Item),ArbParam_t*)
#define ArrayListSetVoidPtr(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 ArrayListAppendUnsignedShort(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned short)
#define ArrayListAppendUnsignedInt(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned int)
#define ArrayListAppendUnsignedLong(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned long)
#define ArrayListAppendInt64(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Int64_t)
#define ArrayListAppendChar(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, char)
#define ArrayListAppendShort(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, short)
#define ArrayListAppendInt(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, int)
#define ArrayListAppendLong(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, long)
#define ArrayListAppendFloat(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, float)
#define ArrayListAppendDouble(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, double)
#define ArrayListAppendLgIndex(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, LgIndex_t)
#define ArrayListAppendEntIndex(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, EntIndex_t)
#define ArrayListAppendSmInteger(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, SmInteger_t)
#define ArrayListAppendBoolean(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Boolean_t)
#define ArrayListAppendArbParam(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, ArbParam_t)
#define ArrayListAppendUnsignedCharPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned char *)
#define ArrayListAppendUnsignedShortPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned short *)
#define ArrayListAppendUnsignedIntPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned int *)
#define ArrayListAppendUnsignedLongPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, unsigned long *)
#define ArrayListAppendInt64Ptr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Int64_t *)
#define ArrayListAppendCharPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, char *)
#define ArrayListAppendShortPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, short *)
#define ArrayListAppendIntPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, int *)
#define ArrayListAppendLongPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, long *)
#define ArrayListAppendFloatPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, float *)
#define ArrayListAppendDoublePtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, double *)
#define ArrayListAppendLgIndexPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, LgIndex_t *)
#define ArrayListAppendEntIndexPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, EntIndex_t *)
#define ArrayListAppendSmIntegerPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, SmInteger_t *)
#define ArrayListAppendBooleanPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, Boolean_t *)
#define ArrayListAppendArbParamPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, ArbParam_t *)
#define ArrayListAppendVoidPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, void *)
#define ArrayListAppendFunctionPtr(ArrayList, Item) ArrayListSetTypedItem(ArrayList, (ArrayList)->Count, Item, (**)(void))
#define ArrayListAppendUnsignedChar(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned char)
#define ArrayListAppendUnsignedShort(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned short)
#define ArrayListAppendUnsignedInt(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned int)
#define ArrayListAppendUnsignedLong(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned long)
#define ArrayListAppendInt64(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Int64_t)
#define ArrayListAppendChar(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),char)
#define ArrayListAppendShort(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),short)
#define ArrayListAppendInt(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),int)
#define ArrayListAppendLong(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),long)
#define ArrayListAppendFloat(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),float)
#define ArrayListAppendDouble(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),double)
#define ArrayListAppendLgIndex(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),LgIndex_t)
#define ArrayListAppendEntIndex(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),EntIndex_t)
#define ArrayListAppendSmInteger(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),SmInteger_t)
#define ArrayListAppendBoolean(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Boolean_t)
#define ArrayListAppendArbParam(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),ArbParam_t)
#define ArrayListAppendUnsignedCharPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned char*)
#define ArrayListAppendUnsignedShortPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned short*)
#define ArrayListAppendUnsignedIntPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned int*)
#define ArrayListAppendUnsignedLongPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),unsigned long*)
#define ArrayListAppendInt64Ptr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Int64_t*)
#define ArrayListAppendCharPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),char*)
#define ArrayListAppendShortPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),short*)
#define ArrayListAppendIntPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),int*)
#define ArrayListAppendLongPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),long*)
#define ArrayListAppendFloatPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),float*)
#define ArrayListAppendDoublePtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),double*)
#define ArrayListAppendLgIndexPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),LgIndex_t*)
#define ArrayListAppendEntIndexPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),EntIndex_t*)
#define ArrayListAppendSmIntegerPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),SmInteger_t*)
#define ArrayListAppendBooleanPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),Boolean_t*)
#define ArrayListAppendArbParamPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),ArbParam_t*)
#define ArrayListAppendVoidPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),void*)
#define ArrayListAppendFunctionPtr(ArrayList, Item) ArrayListAppendTypedItem((ArrayList),(Item),(**)(void))
#endif /* ARRLIST_h */

View file

@ -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
#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,
@ -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,7 +76,7 @@ EXTERN Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
LgIndex_t *ItemIndex);
/**
*/
EXTERN void AuxDataGetItemByIndex(AuxData_pa AuxData,
LIBFUNCTION void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData,
LgIndex_t Index,
const char **Name,
ArbParam_t *Value,
@ -104,7 +102,7 @@ EXTERN Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData,
/**
*/
EXTERN Boolean_t AuxDataSetItem(AuxData_pa AuxData,
const char *Name,
char const* Name,
ArbParam_t Value,
AuxDataType_e Type,
Boolean_t Retain);

View file

@ -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

View file

@ -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
#undef EXTERN
#endif
@ -47,6 +24,7 @@ EXTERN Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
StringList_pa **CustomLabelBase,
StringList_pa *UserRec,
AuxData_pa *DataSetAuxData,
ArbParam_t AuxDataOwner,
Set_pa **IsVarCellCentered,
Boolean_t *HasText,
Boolean_t *HasGeoms,

View file

@ -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
#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,
Set_pa IsVarCellCentered,
EntIndex_t NumVars,
ArbParam_t AuxDataOwner,
Boolean_t *IsRawFNAvailable,
LgIndex_t *FNNumBndryConns);
EXTERN Boolean_t ReadInCustomLabels(FileStream_s *FileStream,

View file

@ -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__
#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
#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 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 GetStrandInfo(StrandInfoList, StrandID) ((StrandInfo_s *)ArrayListGetVoidPtr(StrandInfoList,StrandID))
#define GetStrandInfo(StrandInfoList, StrandID) (static_cast<StrandInfo_s *>(ArrayListGetVoidPtr(StrandInfoList,StrandID)))
#if defined TECPLOTKERNEL

View file

@ -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
#undef EXTERN
#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 io
{
class File;
}
}
EXTERN void OutOfMemoryMsg(void);
@ -74,8 +52,9 @@ struct _FieldData_a
/* PRIVATE */
FieldDataType_e Type;
ValueLocation_e ValueLocation;
LgIndex_t RefCount;
LgIndex_t VarShareRefCount;
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */
/* CORE SOURCE CODE REMOVED */
#endif
LgIndex_t NumValues;
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */
/* CORE SOURCE CODE REMOVED */
@ -119,8 +98,8 @@ struct _FieldData_a
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#else /* ...for TecIO only */
#define GetFieldDataGetFunction_MACRO(FieldData) ((FieldValueGetFunction_pf)(FieldData)->GetValueCallback[0])
#define GetFieldDataSetFunction_MACRO(FieldData) ((FieldValueSetFunction_pf)(FieldData)->SetValueCallback[0])
#define GetFieldDataGetFunction_MACRO(FieldData) (reinterpret_cast<FieldValueGetFunction_pf>((FieldData)->GetValueCallback[0]))
#define GetFieldDataSetFunction_MACRO(FieldData) (reinterpret_cast<FieldValueSetFunction_pf>((FieldData)->SetValueCallback[0]))
#endif
#define GetFieldDataNumValues_MACRO(FieldData) ((FieldData)->NumValues)
#define GetFieldDataValueLocation_MACRO(FieldData) ((FieldData)->ValueLocation)
@ -202,21 +181,21 @@ typedef UInt64_t Int64Rev_t;
#define GetFieldDataVoidPtr GetFieldDataVoidPtr_FUNC /*danger:see above*/
#endif
#define GetFieldDataFloatPtr_MACRO(FieldData) ((float *)((FieldData)->Data))
#define GetFieldDataFloatRevPtr_MACRO(FieldData) ((FloatRev_t *)((FieldData)->Data))
#define GetFieldDataDoublePtr_MACRO(FieldData) ((double *)((FieldData)->Data))
#define GetFieldDataDoubleRevPtr_MACRO(FieldData) ((DoubleRev_t *)((FieldData)->Data))
#define GetFieldDataInt64Ptr_MACRO(FieldData) ((Int64_t *)((FieldData)->Data))
#define GetFieldDataInt64RevPtr_MACRO(FieldData) ((Int64Rev_t *)((FieldData)->Data))
#define GetFieldDataInt32Ptr_MACRO(FieldData) ((Int32_t *)((FieldData)->Data))
#define GetFieldDataInt32RevPtr_MACRO(FieldData) ((Int32Rev_t *)((FieldData)->Data))
#define GetFieldDataInt16Ptr_MACRO(FieldData) ((Int16_t *)((FieldData)->Data))
#define GetFieldDataInt16RevPtr_MACRO(FieldData) ((Int16Rev_t *)((FieldData)->Data))
#define GetFieldDataBytePtr_MACRO(FieldData) ((Byte_t *)((FieldData)->Data))
#define GetFieldData2BytePtr_MACRO(FieldData) ((UInt16_t *)((FieldData)->Data))
#define GetFieldData4BytePtr_MACRO(FieldData) ((UInt32_t *)((FieldData)->Data))
#define GetFieldData8BytePtr_MACRO(FieldData) ((UInt64_t *)((FieldData)->Data))
#define GetFieldDataVoidPtr_MACRO(FieldData) ((void *)((FieldData)->Data)) /*danger:see above*/
#define GetFieldDataFloatPtr_MACRO(FieldData) (static_cast<float *>((FieldData)->Data))
#define GetFieldDataFloatRevPtr_MACRO(FieldData) (static_cast<FloatRev_t *>((FieldData)->Data))
#define GetFieldDataDoublePtr_MACRO(FieldData) (static_cast<double *>((FieldData)->Data))
#define GetFieldDataDoubleRevPtr_MACRO(FieldData) (static_cast<DoubleRev_t *>((FieldData)->Data))
#define GetFieldDataInt64Ptr_MACRO(FieldData) (static_cast<Int64_t *>((FieldData)->Data))
#define GetFieldDataInt64RevPtr_MACRO(FieldData) (static_cast<Int64Rev_t *>((FieldData)->Data))
#define GetFieldDataInt32Ptr_MACRO(FieldData) (static_cast<Int32_t *>((FieldData)->Data))
#define GetFieldDataInt32RevPtr_MACRO(FieldData) (static_cast<Int32Rev_t *>((FieldData)->Data))
#define GetFieldDataInt16Ptr_MACRO(FieldData) (static_cast<Int16_t *>((FieldData)->Data))
#define GetFieldDataInt16RevPtr_MACRO(FieldData) (static_cast<Int16Rev_t *>((FieldData)->Data))
#define GetFieldDataBytePtr_MACRO(FieldData) (static_cast<Byte_t *>((FieldData)->Data))
#define GetFieldData2BytePtr_MACRO(FieldData) (static_cast<UInt16_t *>((FieldData)->Data))
#define GetFieldData4BytePtr_MACRO(FieldData) (static_cast<UInt32_t *>((FieldData)->Data))
#define GetFieldData8BytePtr_MACRO(FieldData) (static_cast<UInt64_t *>((FieldData)->Data))
#define GetFieldDataVoidPtr_MACRO(FieldData) (static_cast<void *>((FieldData)->Data)) /*danger:see above*/
#if !defined USE_MACROS_FOR_FIELD_DATA_FUNCTIONS
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
* 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,
LgIndex_t dst_start,
@ -317,6 +298,9 @@ EXTERN void CopyFieldValue(FieldData_pa dst,
FieldData_pa src,
LgIndex_t srcindex);
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */

View file

@ -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 */

View file

@ -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.
* ALL RIGHTS RESERVED
@ -76,6 +53,10 @@ extern void InitInputSpecs(void);
* @param UserRec
* 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
* 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.
@ -104,6 +85,7 @@ LIBFUNCTION Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
LgIndex_t **NumPtsK,
ZoneType_e **ZoneType,
StringList_pa *UserRec,
AuxData_pa *DatasetAuxData,
Boolean_t RawDataspaceAllocated,
NodeMap_t ***NodeMap,
double ***VDataBase);

View file

@ -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,
Boolean_t ConsiderValueBlanking,
Boolean_t ConsiderIJKBlanking,
Boolean_t ConsiderDepthBlanking);
Boolean_t ConsiderDepthBlanking,
Boolean_t ConsiderClipBlanking);
EXTERN EntIndex_t GetNodesPerElementFace(ZoneType_e ZoneType);
@ -121,6 +99,20 @@ EXTERN EntIndex_t GetFacesPerElement(ZoneType_e ZoneType,
LgIndex_t JMax,
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,
CZData_s const* CZData,
tecplot::kernel::SubElemValueProducerInterface* SubElemValueProducer);

View file

@ -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. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -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. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -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. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -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*/ MaxDepthBufferSizeInputSpec;
EXTERN InputSpec_s /*X*/ MaxMultiSamplesInputSpec;
EXTERN InputSpec_s /*X*/ MaxAccumBufferSizeInputSpec;
EXTERN InputSpec_s /*X*/ MinBitsPerRGBPlaneInputSpec;
EXTERN InputSpec_s /*X*/ AnimationSpeedInputSpec;
EXTERN InputSpec_s /*X*/ AnimationNumStepsInputSpec;

View file

@ -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. *******
******* ********
*****************************************************************
*****************************************************************/
@ -220,8 +197,8 @@
#include "stdafx.h"
#if defined MSWIN
#include "W__BASE.h"
#if defined MSWIN && defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#include <string>
@ -271,8 +248,8 @@
#if defined NO_ASSERTS
#undef NO_ASSERTS
#endif
#if defined NDEBUG
#undef NDEBUG
#if !defined NDEBUG
#define NDEBUG
#endif
#else /* RELEASE */
#if !defined NDEBUG
@ -373,7 +350,7 @@
#define SYSV
#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
#endif
@ -505,6 +482,10 @@
/* OPENGL currently a must have */
#if defined TECPLOTKERNEL
/* 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 UNIXX
# endif
@ -524,11 +505,7 @@
# if XmVERSION == 1 && XmREVISION == 0
# endif
# else
# ifndef darwin
# include <X11/Intrinsic.h>
# else
typedef void *Widget;
# endif
# endif
#endif
@ -658,13 +635,15 @@ typedef Widget GridWidget_t;
* also be a release build (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
#if defined NO_ASSERTS
# if !defined USE_MACROS_FOR_FUNCTIONS
# define USE_MACROS_FOR_FUNCTIONS
# endif
#endif
/* ENDREMOVEFROMADDON */
/* BEGINREMOVEFROMADDON */
@ -683,6 +662,21 @@ typedef Widget GridWidget_t;
#define DISALLOW_OFFSCREEN_EXPORT_IN_BATCH
#endif
/* indentify the platforms capable of using FFMPEG for encoding video formats */
#if defined MSWIN || defined LINUX || defined DARWIN
#define HAVE_FFMPEG
#endif
/* 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_ */

View file

@ -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
#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,
char **NewString);
EXTERN void Warning(tecplot::strutil::TranslatedString Format,
EXTERN void Warning(tecplot::strutil::TranslatedString format,
...); /* zero or more arguments */
# if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
EXTERN void ErrMsg(tecplot::strutil::TranslatedString Format,
EXTERN void ErrMsg(tecplot::strutil::TranslatedString format,
...); /* zero or more arguments */
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */

View file

@ -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
Boolean_t IsValidUtf8LeadByte(Byte_t ch);
Boolean_t IsValidUtf8ContinuingByte(Byte_t ch);
Boolean_t IsValidUtf8Byte(Byte_t ch);
EXTERN Boolean_t IsValidUtf8LeadByte(Byte_t ch);
EXTERN Boolean_t IsValidUtf8ContinuingByte(Byte_t ch);
EXTERN Boolean_t IsValidUtf8Byte(Byte_t ch);
Boolean_t IsValidUtf8String(const char *str);
Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str);
void InitTranslatedStrings();
void CleanUpTranslatedStrings();
EXTERN Boolean_t IsPrintable8BitAsciiChar(wchar_t wChar);
Boolean_t IsNullOrZeroLengthString(const char *S);
Boolean_t IsNullOrZeroLengthString(tecplot::strutil::TranslatedString TS);
EXTERN Boolean_t IsValidUtf8String(const char *str);
EXTERN Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str);
EXTERN void InitTranslatedStrings();
EXTERN void CleanUpTranslatedStrings();
Boolean_t IsEmptyString(const char *S);
Boolean_t IsEmptyString(tecplot::strutil::TranslatedString S);
Boolean_t IsEmptyString(const wchar_t* S);
EXTERN Boolean_t IsNullOrZeroLengthString(const char *S);
EXTERN Boolean_t IsNullOrZeroLengthString(tecplot::strutil::TranslatedString TS);
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
std::string LookUpTranslation(std::string& strEnglish);
void MsWinInitTranslatedStrings();
EXTERN std::string LookUpTranslation(std::string& strEnglish);
EXTERN void MsWinInitTranslatedStrings();
std::string WStringToString(std::wstring str);
std::wstring StringToWString(std::string str);
EXTERN std::string WStringToString(std::wstring str);
EXTERN std::wstring StringToWString(std::string str);
std::wstring MultiByteToWideChar(const char *Utf8Str,
EXTERN std::wstring MultiByteToWideChar(const char* Utf8Str,
unsigned int CodePage);
std::string WideCharToMultiByte(const wchar_t *WideStr,
EXTERN std::string WideCharToMultiByte(const wchar_t* WideStr,
unsigned int CodePage);
// Conversion
std::string WideCharToUtf8(const wchar_t* str);
std::wstring Utf8ToWideChar(const char *str);
char *getenv(const char *str);
EXTERN std::string WideCharToUtf8(const wchar_t* str);
EXTERN std::wstring Utf8ToWideChar(const char *str);
EXTERN char *getenv(const char *str);
#endif

View file

@ -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
#undef EXTERN
#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 SetLastBit (((unsigned long)1)<<(SetBitSize-1))
#define SetLastBit ((static_cast<unsigned long>(1))<<(SetBitSize-1))
#if defined _DEBUG
# define USE_FUNCTIONS_FOR_SETS
@ -150,7 +130,7 @@ inline Boolean_t AddToSet(Set_pa Set,
ExpandSet(Set, member + 1, show_error_msg)))
{
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;
return TRUE;
}
@ -193,7 +173,7 @@ inline Boolean_t InSet(Set_pa Set,
if (Set && (0 <= member && member < Set->size))
{
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;
}
else
@ -280,4 +260,76 @@ EXTERN void ShiftSet(Set_pa Set,
Member != BAD_SET_VALUE; \
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

View file

@ -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
* StringListDealloc(), etc. below.
*
* When building the tecplot kernal, LIBFUNCTION
* When building the tecplot kernel, LIBFUNCTION
* and LIBCALL are nop's.
*
*/
@ -75,7 +52,7 @@ EXTERN void StringListRemoveString(StringList_pa StringList,
LIBFUNCTION void LIBCALL StringListDealloc(StringList_pa* StringList);
EXTERN StringList_pa StringListAlloc(void);
EXTERN Boolean_t StringListAppendString(StringList_pa StringList,
const char *String);
char const* String);
LIBFUNCTION LgIndex_t LIBCALL StringListCount(StringList_pa StringList);
LIBFUNCTION char* LIBCALL StringListGetString(StringList_pa StringList,
LgIndex_t StringOffset);
@ -87,36 +64,36 @@ LIBFUNCTION char * LIBCALL StringListGetString(StringList_pa StringList,
#endif
#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);
#endif
/**
* 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.
*/
#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,
LgIndex_t StringOffset,
const char *String);
char const* String);
EXTERN Boolean_t StringListInsertString(StringList_pa StringList,
LgIndex_t StringOffset,
const char *String);
char const* String);
EXTERN StringList_pa StringListCopy(StringList_pa StringList);
EXTERN Boolean_t StringListAppend(StringList_pa Target,
StringList_pa Source);
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 StringList_pa StringListFromArray(const char **StringArray,
EXTERN StringList_pa StringListFromArray(char const** StringArray,
LgIndex_t Count);
EXTERN StringList_pa StringListFromCompound(const char *String);
EXTERN StringList_pa StringListFromCompound(char const* String);
EXTERN char* StringListToCompound(StringList_pa StringList,
char GroupJoinCharacter,
const char *CharsToEscape);
EXTERN void StringListSort(StringList_pa StringList,
StringListStringComparator_pf Comparator,
ArbParam_t ClientData);
char const* CharsToEscape);
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif

View file

@ -1,31 +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 TECPLOT_STRUTIL
#define TECPLOT_STRUTIL
/*
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
@ -136,8 +115,6 @@ EXTERN StringList_pa LineBreakString(const char *String,
UInt32_t WrapMargin);
#endif
EXTERN Boolean_t MatchKey(char *StringToMatch,
char *Key);
EXTERN void RemoveSeparator(const char **CPtr);
EXTERN void SkipWhiteSpace(const char **CPtr);
EXTERN void SkipNonWhiteSpace(char **CPtr);
@ -148,6 +125,11 @@ EXTERN int ustrncmp(const char *s1,
size_t Len);
EXTERN int ustrcmp(const char *s1,
const char *s2);
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
/* public access */
/* InternalResetString should not be used directly (use ResetString macro) */
#if !defined NO_ASSERTS
@ -216,3 +198,5 @@ inline char const* EndOfString(char const* str)
{
return str + strlen(str);
};
#endif

View file

@ -1,31 +1,11 @@
/*
* 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 TECPLOT_SYSTEM_H
#define TECPLOT_SYSTEM_H
/*
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
******* ********
*****************************************************************
*****************************************************************
@ -39,6 +19,15 @@
#define EXTERN extern
#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
/* CORE SOURCE CODE REMOVED */
#endif
@ -48,7 +37,6 @@ EXTERN Boolean_t VerifyToOverwriteFile(const char *FName);
EXTERN Boolean_t IsValidDirectory(const char *FName);
EXTERN Boolean_t FileExists(const char *F,
Boolean_t ShowErr);
EXTERN Boolean_t IsOkFNameChar(unsigned char ch);
EXTERN void ErrFName(const char *FName);
EXTERN Boolean_t IsValidFileName(const char *FileName,
Boolean_t IsReading,
@ -65,3 +53,4 @@ EXTERN Boolean_t Open_File(FILE **F,
Boolean_t ShowErr,
Boolean_t IsAscii);
#endif

View file

@ -1,31 +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 TASSERT_H
#define TASSERT_H
/*
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
@ -76,8 +55,7 @@
* builds and always fails at compile time for release
* builds.
*/
#if !defined TASSERT_H
#define TASSERT_H
#if defined (MSWIN)
# include <assert.h>
@ -125,8 +103,12 @@
#if !defined TECPLOTKERNEL
/* For add-ons, there is a problem with VALID_REF, so just test for non-NULL */
/* ENDREMOVEFROMADDON */
# if !defined VALID_REF
# define VALID_REF(p) ( (p) != NULL )
# endif
# if !defined VALID_FN_REF
# define VALID_FN_REF(fp) ( (fp) != NULL )
# endif
/* BEGINREMOVEFROMADDON */
#endif /* !defined TECPLOTKERNAL */
/* ENDREMOVEFROMADDON */
@ -147,12 +129,20 @@
#if defined NO_ASSERTS
/* release build in TecUtil layer uses these for TUASSERT */
# if !defined VALID_REF
# define VALID_REF(p) ((p) != NULL)
# endif
# if !defined VALID_FN_REF
# define VALID_FN_REF(pf) ((pf) != NULL)
# endif
#else
# if !defined VALID_REF
# 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
/* BEGINREMOVEFROMADDON */
/* Widgets are numbers under Windows, so we decode it with GetWindowFromWidget */
@ -178,13 +168,21 @@
/* ENDREMOVEFROMADDON */
/* other useful validity checks */
#if !defined VALID_BOOLEAN
# define VALID_BOOLEAN(b) ((b) == TRUE || (b) == FALSE)
#define VALID_ENUM(value, type) (0 <= (value) && \
(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 */
#if !defined VALID_REF_OR_NULL
# 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 */
#define VALID_TRANSLATED_STRING(ts) (!(ts).isNull())
@ -267,6 +265,7 @@
/* ENDREMOVEFROMADDON */
/* Check for a non-zero length string */
#if !defined VALID_NON_ZERO_LEN_STR
# if defined MSWIN
# if defined NO_ASSERTS
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
@ -279,11 +278,16 @@
# else
# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str))
# endif
#endif
#if !defined VALID_SET_INDEX
# define VALID_SET_INDEX(setIndex) (((SetIndex_t)setIndex)>=(SetIndex_t)1)
#endif
/* Check for valid stdio file handle */
#if !defined VALID_FILE_HANDLE
# define VALID_FILE_HANDLE(stream) ((stream) != NULL)
#endif
/* To check colors and pen numbers */
/* BEGINREMOVEFROMADDON */
@ -333,7 +337,7 @@
#define VALID_NAME(Name, MaxLength) \
(VALID_REF(Name) && \
(ISEMPTYSTRING(Name) || \
(!isspace((Name)[0]) && !isspace((Name)[strlen(Name)-1]))) && \
(!tecplot::isspace((Name)[0]) && !tecplot::isspace((Name)[strlen(Name)-1]))) && \
strlen(Name) <= (MaxLength))
#define VALID_ZONE_NAME(Name) VALID_NAME((Name), MaxChrsZnTitle)
#define VALID_VAR_NAME(Name) VALID_NAME((Name), MaxChrsVarName)
@ -366,18 +370,44 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify(
/* BEGINREMOVEFROMADDON */
# define TASSERT(EXPR)
/* ENDREMOVEFROMADDON */
# if !defined INVARIANT
# define INVARIANT(EXPR)
# endif
# if !defined REQUIRE
# define REQUIRE(EXPR)
# endif
# if !defined ENSURE
# define ENSURE(EXPR)
# endif
# if !defined CHECK
# define CHECK(EXPR)
# endif
# ifdef VERIFY
# undef VERIFY
# endif
# 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
* that you are fully aware may contain unimplemented features.
*/
# if !defined NOT_IMPLEMENTED
# if defined IGNORENOTIMPLEMENTED
# define NOT_IMPLEMENTED() CHECK(FALSE)
# else
@ -393,14 +423,23 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify(
# define NOT_IMPLEMENTED() not implemented /* intentionally break the compile */
# endif
# endif
# endif
#elif defined STD_ASSERTS
/* BEGINREMOVEFROMADDON */
# define TASSERT(EXPR) assert(EXPR)
/* ENDREMOVEFROMADDON */
# if !defined INVARIANT
# define INVARIANT(EXPR) assert(EXPR)
# endif
# 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
# undef VERIFY
# endif
@ -411,7 +450,15 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify(
# define VERIFY(EXPR) assert(EXPR)
# endif
# endif /* VERIFY */
# 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
/* BEGINREMOVEFROMADDON */
#if defined (MSWIN)
@ -486,9 +533,23 @@ Works in both release & debug builds */
# define NOT_IMPLEMENTED() NiceNotImplemented()
# else
# define NOT_IMPLEMENTED() TASSERT(!("Not Implemented"))
# endif
/*
* See note above for this macro.
*/
# if !defined ASSERT_ONLY
# define ASSERT_ONLY(PARAMETER) PARAMETER
# endif
/* ENDREMOVEFROMADDON */
#endif
/**
* @deprecated use ASSERT_ONLY instead
*/
#if !defined ASSERT_ONLY_PARAM && defined ASSERT_ONLY
# define ASSERT_ONLY_PARAM(PARAMETER) ASSERT_ONLY(PARAMETER)
#endif
/* BEGINREMOVEFROMADDON */
#if !defined STD_ASSERTS
extern void TecplotMopupOnAssert(void);
@ -500,8 +561,12 @@ extern void NiceNotImplemented(void);
/* ENDREMOVEFROMADDON */
/* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */
#if !defined IMPLICATION
# define IMPLICATION(P,Q) (!(P) || (Q))
#endif
#if !defined EQUIVALENCE
# define EQUIVALENCE(P,Q) ((P) == (Q))
#endif
/* BEGINREMOVEFROMADDON */
#if defined RLM

View file

@ -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"

View file

@ -1,28 +1,5 @@
/*
* 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/
*
*/
/*
* TECXXX.h: Copyright (C) 1988-2008 Tecplot, Inc.
* TECXXX.h: Copyright (C) 1988-2010 Tecplot, Inc.
*/
#if !defined TECXXX_H_
@ -34,6 +11,7 @@
# define TECZNE112 teczne112
# define TECDAT112 tecdat112
# define TECNOD112 tecnod112
# define TECNODE112 tecnode112
# define TECGEO112 tecgeo112
# define TECTXT112 tectxt112
# define TECLAB112 teclab112
@ -45,6 +23,8 @@
# define TECVAUXSTR112 tecvauxstr112
# define TECFACE112 tecface112
# define TECPOLY112 tecpoly112
# define TECPOLYFACE112 tecpolyface112
# define TECPOLYBCONN112 tecpolybconn112
# define TECFOREIGN111 tecforeign111
# define TECINI111 tecini111
@ -156,10 +136,15 @@
#if defined (TECPLOTKERNEL)
/* CORE SOURCE CODE REMOVED */
#else
#if defined (MAKEARCHIVE)
#define LIBCALL STDCALL
#define LIBFUNCTION EXTERNC DLLEXPORT
#else /* !TECPLOTKERNAL && !MAKEARCHIVE */
#define LIBCALL STDCALL
#define LIBFUNCTION EXTERNC DLLIMPORT
#endif
#endif
/*
* V11.3 tecio functions
@ -203,6 +188,9 @@ LIBFUNCTION INTEGER4 LIBCALL TECDAT112(INTEGER4 *N,
LIBFUNCTION INTEGER4 LIBCALL TECNOD112(INTEGER4 *NData);
LIBFUNCTION INTEGER4 LIBCALL TECNODE112(INTEGER4 *N,
INTEGER4 *NData);
LIBFUNCTION INTEGER4 LIBCALL TECEND112(void);
LIBFUNCTION INTEGER4 LIBCALL TECLAB112(char *S);
@ -281,6 +269,17 @@ LIBFUNCTION INTEGER4 LIBCALL TECPOLY112(INTEGER4 *FaceNodeCounts,
INTEGER4 *FaceBndryConnectionElems,
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
*/

View file

@ -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. *******
******* ********
******************************************************************
******************************************************************

View file

@ -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 "MASTER.h"
#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()
{
init(DontTranslate, (const char*)NULL, (const char*)NULL);
init(DontTranslate, static_cast<const char*>(NULL), static_cast<const char*>(NULL));
ENSURE(this->isValid());
}

View file

@ -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. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -1,23 +1,5 @@
/*
* 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 "TecplotVersion.h"
#define ADDON_VERSION TecVersionId

View file

@ -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

View file

@ -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 "MASTER.h"
@ -30,7 +7,7 @@
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -29,7 +6,7 @@
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. ********
****** Copyright (C) 1988-2010 Tecplot, Inc. ********
******* All Rights Reserved. ********
******* ********
*****************************************************************
@ -40,11 +17,7 @@
#include "GLOBAL.h"
#include "TASSERT.h"
#include "ALLOC.h"
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#include "ARRLIST.h"
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
@ -106,11 +79,11 @@ static void CopyArrayItems(char *TargetArray,
REQUIRE(SourceOffset >= 0);
REQUIRE(&TargetArray[TargetOffset] != &SourceArray[SourceOffset]);
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* 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
* 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 RequestedCapacity,
ArbParam_t ClientData)
{
LgIndex_t Result;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE((RequestedCapacity == 0 && CurrentCapacity == 0) ||
RequestedCapacity > CurrentCapacity);
UNUSED(ClientData);
LgIndex_t Result;
if (RequestedCapacity != 0 && CurrentCapacity == 0)
{
/* first allocation; assume the request is the desired capacityy */
@ -152,7 +125,7 @@ static LgIndex_t AdjustCapacityRequest(ArrayList_pa ArrayList,
}
else
{
const LgIndex_t DEFAULT_CAPACITY = 32;
LgIndex_t const DEFAULT_CAPACITY = 32;
LgIndex_t BlockSize = MAX(DEFAULT_CAPACITY, CurrentCapacity / 2);
if (RequestedCapacity == 0)
Result = DEFAULT_CAPACITY;
@ -176,118 +149,117 @@ static LgIndex_t AdjustCapacityRequest(ArrayList_pa ArrayList,
*/
static SmInteger_t GetElementSize(ArrayListType_e Type)
{
SmInteger_t Result;
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
SmInteger_t Result;
switch (Type)
{
case ArrayListType_UnsignedChar:
Result = (SmInteger_t)sizeof(unsigned char);
Result = static_cast<SmInteger_t>(sizeof(unsigned char));
break;
case ArrayListType_UnsignedShort:
Result = (SmInteger_t)sizeof(unsigned short);
Result = static_cast<SmInteger_t>(sizeof(unsigned short));
break;
case ArrayListType_UnsignedInt:
Result = (SmInteger_t)sizeof(unsigned int);
Result = static_cast<SmInteger_t>(sizeof(unsigned int));
break;
case ArrayListType_UnsignedLong:
Result = (SmInteger_t)sizeof(unsigned long);
Result = static_cast<SmInteger_t>(sizeof(unsigned long));
break;
case ArrayListType_Int64:
Result = (SmInteger_t)sizeof(Int64_t);
Result = static_cast<SmInteger_t>(sizeof(Int64_t));
break;
case ArrayListType_Char:
Result = (SmInteger_t)sizeof(char);
Result = static_cast<SmInteger_t>(sizeof(char));
break;
case ArrayListType_Short:
Result = (SmInteger_t)sizeof(short);
Result = static_cast<SmInteger_t>(sizeof(short));
break;
case ArrayListType_Int:
Result = (SmInteger_t)sizeof(int);
Result = static_cast<SmInteger_t>(sizeof(int));
break;
case ArrayListType_Long:
Result = (SmInteger_t)sizeof(long);
Result = static_cast<SmInteger_t>(sizeof(long));
break;
case ArrayListType_Float:
Result = (SmInteger_t)sizeof(float);
Result = static_cast<SmInteger_t>(sizeof(float));
break;
case ArrayListType_Double:
Result = (SmInteger_t)sizeof(double);
Result = static_cast<SmInteger_t>(sizeof(double));
break;
case ArrayListType_LgIndex:
Result = (SmInteger_t)sizeof(LgIndex_t);
Result = static_cast<SmInteger_t>(sizeof(LgIndex_t));
break;
case ArrayListType_EntIndex:
Result = (SmInteger_t)sizeof(EntIndex_t);
Result = static_cast<SmInteger_t>(sizeof(EntIndex_t));
break;
case ArrayListType_SmInteger:
Result = (SmInteger_t)sizeof(SmInteger_t);
Result = static_cast<SmInteger_t>(sizeof(SmInteger_t));
break;
case ArrayListType_Boolean:
Result = (SmInteger_t)sizeof(Boolean_t);
Result = static_cast<SmInteger_t>(sizeof(Boolean_t));
break;
case ArrayListType_ArbParam:
Result = (SmInteger_t)sizeof(ArbParam_t);
Result = static_cast<SmInteger_t>(sizeof(ArbParam_t));
break;
case ArrayListType_UnsignedCharPtr:
Result = (SmInteger_t)sizeof(unsigned char *);
Result = static_cast<SmInteger_t>(sizeof(unsigned char*));
break;
case ArrayListType_UnsignedShortPtr:
Result = (SmInteger_t)sizeof(unsigned short *);
Result = static_cast<SmInteger_t>(sizeof(unsigned short*));
break;
case ArrayListType_UnsignedIntPtr:
Result = (SmInteger_t)sizeof(unsigned int *);
Result = static_cast<SmInteger_t>(sizeof(unsigned int*));
break;
case ArrayListType_UnsignedLongPtr:
Result = (SmInteger_t)sizeof(unsigned long *);
Result = static_cast<SmInteger_t>(sizeof(unsigned long*));
break;
case ArrayListType_Int64Ptr:
Result = (SmInteger_t)sizeof(Int64_t *);
Result = static_cast<SmInteger_t>(sizeof(Int64_t*));
break;
case ArrayListType_CharPtr:
Result = (SmInteger_t)sizeof(char *);
Result = static_cast<SmInteger_t>(sizeof(char*));
break;
case ArrayListType_ShortPtr:
Result = (SmInteger_t)sizeof(short *);
Result = static_cast<SmInteger_t>(sizeof(short*));
break;
case ArrayListType_IntPtr:
Result = (SmInteger_t)sizeof(int *);
Result = static_cast<SmInteger_t>(sizeof(int*));
break;
case ArrayListType_LongPtr:
Result = (SmInteger_t)sizeof(long *);
Result = static_cast<SmInteger_t>(sizeof(long*));
break;
case ArrayListType_FloatPtr:
Result = (SmInteger_t)sizeof(float *);
Result = static_cast<SmInteger_t>(sizeof(float*));
break;
case ArrayListType_DoublePtr:
Result = (SmInteger_t)sizeof(double *);
Result = static_cast<SmInteger_t>(sizeof(double*));
break;
case ArrayListType_LgIndexPtr:
Result = (SmInteger_t)sizeof(LgIndex_t *);
Result = static_cast<SmInteger_t>(sizeof(LgIndex_t*));
break;
case ArrayListType_EntIndexPtr:
Result = (SmInteger_t)sizeof(EntIndex_t *);
Result = static_cast<SmInteger_t>(sizeof(EntIndex_t*));
break;
case ArrayListType_SmIntegerPtr:
Result = (SmInteger_t)sizeof(SmInteger_t *);
Result = static_cast<SmInteger_t>(sizeof(SmInteger_t*));
break;
case ArrayListType_BooleanPtr:
Result = (SmInteger_t)sizeof(Boolean_t *);
Result = static_cast<SmInteger_t>(sizeof(Boolean_t*));
break;
case ArrayListType_ArbParamPtr:
Result = (SmInteger_t)sizeof(ArbParam_t *);
Result = static_cast<SmInteger_t>(sizeof(ArbParam_t*));
break;
case ArrayListType_VoidPtr:
Result = (SmInteger_t)sizeof(void *);
Result = static_cast<SmInteger_t>(sizeof(void*));
break;
case ArrayListType_FunctionPtr:
Result = (SmInteger_t)sizeof(void (*)());
Result = static_cast<SmInteger_t>(sizeof(void (*)()));
break;
case ArrayListType_Any: /* allows a mixed bag of items */
Result = (SmInteger_t)sizeof(ArrayListItem_u);
Result = static_cast<SmInteger_t>(sizeof(ArrayListItem_u));
break;
default:
@ -296,7 +268,7 @@ static SmInteger_t GetElementSize(ArrayListType_e Type)
break;
}
ENSURE(1 <= Result && Result <= (SmInteger_t)sizeof(ArrayListItem_u));
ENSURE(1 <= Result && Result <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u)));
return Result;
}
@ -324,24 +296,19 @@ static void DestroyItems(ArrayList_pa ArrayList,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData)
{
LgIndex_t Index;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
REQUIRE(VALID_FN_REF(ItemDestructor));
for (Index = 0;
for (LgIndex_t Index = 0;
Index < Count;
Index++)
{
LgIndex_t ItemIndex = (Index + ItemOffset) * ItemSize;
#if !defined NO_ASSERTS
Boolean_t DoContinue = ItemDestructor((void *) & ArrayList->Array[ItemIndex], ClientData);
CHECK(DoContinue); /* this is a requirement of ArrayListItemDestructor_pf */
#else
ItemDestructor((void *)&ArrayList->Array[ItemIndex], ClientData);
#endif
Boolean_t CHECK_DoContinue;
CHECK_DoContinue = ItemDestructor(static_cast<void*>(&ArrayList->Array[ItemIndex]), ClientData);
CHECK(CHECK_DoContinue); /* this is a requirement of ArrayListItemDestructor_pf */
}
}
@ -379,26 +346,24 @@ static Boolean_t DuplicateItems(char *TargetArray,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData)
{
Boolean_t IsOk = TRUE;
LgIndex_t Index;
REQUIRE(VALID_REF(TargetArray));
REQUIRE(TargetItemOffset >= 0);
REQUIRE(VALID_REF(SourceArray));
REQUIRE(SourceItemOffset >= 0);
REQUIRE(1 <= ItemSize &&
ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u));
ItemSize <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u)));
REQUIRE(Count >= 1);
REQUIRE(VALID_FN_REF(ItemDuplicator));
for (Index = 0;
Boolean_t IsOk = TRUE;
for (LgIndex_t Index = 0;
Index < Count && IsOk;
Index++)
{
LgIndex_t TargetItemIndex = (Index + TargetItemOffset) * ItemSize;
LgIndex_t SourceItemIndex = (Index + SourceItemOffset) * ItemSize;
IsOk = ItemDuplicator((void *) & TargetArray[TargetItemIndex],
(void *) & SourceArray[SourceItemIndex],
IsOk = ItemDuplicator(static_cast<void*>(&TargetArray[TargetItemIndex]),
static_cast<void*>(&SourceArray[SourceItemIndex]),
ClientData);
}
@ -418,15 +383,14 @@ static Boolean_t DuplicateItems(char *TargetArray,
*/
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 */
INVARIANT(ArrayListNullItem.Double == 0.0);
IsValid = (VALID_REF(ArrayList) &&
Boolean_t IsValid = (VALID_REF(ArrayList) &&
VALID_ENUM(ArrayList->Type, ArrayListType_e) &&
(1 <= ArrayList->ItemSize &&
ArrayList->ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u)) &&
ArrayList->ItemSize <= static_cast<SmInteger_t>(sizeof(ArrayListItem_u))) &&
(0 <= ArrayList->Count &&
ArrayList->Count <= ArrayList->Capacity));
@ -446,11 +410,9 @@ Boolean_t ArrayListIsValid(ArrayList_pa ArrayList)
*/
ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
{
ArrayListType_e Result;
REQUIRE(ArrayListIsValid(ArrayList));
Result = ArrayList->Type;
ArrayListType_e Result = ArrayList->Type;
ENSURE(VALID_ENUM(Result, ArrayListType_e));
return Result;
@ -465,9 +427,9 @@ ArrayListType_e ArrayListGetType(ArrayList_pa ArrayList)
* the RequestedCapacity.
*
* 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
* Capacity (number ot items) request or zero for default size.
* Capacity (number of items) request or zero for default size.
*
* return
* 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,
LgIndex_t RequestedCapacity)
{
Boolean_t IsOk;
LgIndex_t AdjustedCapacity;
char *EnlargedArray;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(IMPLICATION(RequestedCapacity == 0, ArrayList->Capacity == 0));
Boolean_t IsOk;
if (RequestedCapacity == 0 ||
RequestedCapacity > ArrayList->Capacity)
{
AdjustedCapacity =
LgIndex_t AdjustedCapacity =
ArrayList->CapacityRequestAdjuster(ArrayList,
ArrayList->Capacity,
RequestedCapacity,
@ -494,6 +453,7 @@ Boolean_t ArrayListEnlargeCapacity(ArrayList_pa ArrayList,
CHECK(AdjustedCapacity == 0 ||
AdjustedCapacity >= RequestedCapacity);
char* EnlargedArray = NULL; /* ...quiet compiler */
IsOk = (AdjustedCapacity != 0); /* ...were we able to meet the request? */
if (IsOk)
{
@ -571,12 +531,10 @@ ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacit
ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster,
ArbParam_t CapacityRequestAdjusterClientData)
{
ArrayList_pa Result;
REQUIRE(EstimatedCapacity >= 0);
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)
{
Result->Array = NULL;
@ -660,11 +618,9 @@ void ArrayListDealloc(ArrayList_pa *ArrayList,
*/
LgIndex_t ArrayListGetCount_FUNC(ArrayList_pa ArrayList)
{
LgIndex_t Result;
REQUIRE(ArrayListIsValid(ArrayList));
Result = ArrayListGetCount_MACRO(ArrayList);
LgIndex_t Result = ArrayListGetCount_MACRO(ArrayList);
ENSURE(Result >= 0);
return Result;
@ -845,14 +801,13 @@ ArrayList_pa ArrayListRemoveItems(ArrayList_pa ArrayList,
ArrayListItem_u ArrayListRemoveItem(ArrayList_pa ArrayList,
LgIndex_t ItemOffset)
{
ArrayListItem_u Result;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
REQUIRE(!ArrayList->IsVisitingItems);
/* record the original item */
CopyArrayItems((char *)&Result, 0,
ArrayListItem_u Result;
CopyArrayItems(static_cast<char*>(&Result.Char), 0,
ArrayList->Array, ItemOffset,
1, ArrayList->ItemSize);
@ -883,8 +838,6 @@ Boolean_t ArrayListInsert(ArrayList_pa Target,
LgIndex_t ItemOffset,
ArrayList_pa Source)
{
Boolean_t IsOk = TRUE;
REQUIRE(ArrayListIsValid(Target));
REQUIRE(ItemOffset >= 0);
REQUIRE(ArrayListIsValid(Source));
@ -892,6 +845,8 @@ Boolean_t ArrayListInsert(ArrayList_pa Target,
REQUIRE(Target->Type == Source->Type);
REQUIRE(!Target->IsVisitingItems);
Boolean_t IsOk = TRUE;
if (Source->Count != 0)
{
LgIndex_t NeededCapacity;
@ -960,14 +915,14 @@ Boolean_t ArrayListInsertItem(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
ArrayListItem_u Item)
{
Boolean_t IsOk = TRUE;
LgIndex_t NeededCapacity;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(ItemOffset >= 0);
REQUIRE(!ArrayList->IsVisitingItems);
Boolean_t IsOk = TRUE;
/* if necessary enlarge the list to accommodate the request */
LgIndex_t NeededCapacity;
if (ItemOffset > ArrayList->Count)
NeededCapacity = ItemOffset + 1;
else
@ -998,7 +953,7 @@ Boolean_t ArrayListInsertItem(ArrayList_pa ArrayList,
/* insert the item */
CopyArrayItems(ArrayList->Array, ItemOffset,
(char *)&Item, 0,
static_cast<char*>(&Item.Char), 0,
1, ArrayList->ItemSize);
}
@ -1032,23 +987,21 @@ Boolean_t ArrayListVisitItems(ArrayList_pa ArrayList,
ArrayListItemVisitor_pf ItemVisitor,
ArbParam_t ClientData)
{
Boolean_t DoContinue = TRUE;
Boolean_t IsVisitingItems;
SmInteger_t ItemSize;
LgIndex_t Index;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(VALID_FN_REF(ItemVisitor));
IsVisitingItems = ArrayList->IsVisitingItems;
Boolean_t IsVisitingItems = ArrayList->IsVisitingItems;
ArrayList->IsVisitingItems = TRUE; /* guards against structure changes */
LgIndex_t Index;
SmInteger_t ItemSize;
Boolean_t DoContinue = TRUE;
for (Index = 0, ItemSize = ArrayList->ItemSize;
Index < Count && DoContinue;
Index++)
{
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;
@ -1079,13 +1032,11 @@ ArrayList_pa ArrayListGetItems(ArrayList_pa ArrayList,
LgIndex_t ItemOffset,
LgIndex_t Count)
{
ArrayList_pa Result;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
REQUIRE(1 <= Count && ItemOffset + Count <= ArrayList->Count);
Result = ArrayListAlloc(Count, ArrayList->Type,
ArrayList_pa Result = ArrayListAlloc(Count, ArrayList->Type,
ArrayList->CapacityRequestAdjuster,
ArrayList->CapacityRequestAdjusterClientData);
if (Result != NULL)
@ -1117,12 +1068,11 @@ ArrayList_pa ArrayListGetItems(ArrayList_pa ArrayList,
ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
LgIndex_t ItemOffset)
{
ArrayListItem_u Result;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(0 <= ItemOffset && ItemOffset <= ArrayList->Count - 1);
CopyArrayItems((char *)&Result, 0,
ArrayListItem_u Result;
CopyArrayItems(static_cast<char*>(&Result.Char), 0,
ArrayList->Array, ItemOffset,
1, ArrayList->ItemSize);
@ -1150,13 +1100,13 @@ ArrayListItem_u ArrayListGetItem(ArrayList_pa ArrayList,
* return
* The internal reference to the requested item.
*/
const void *ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
void const* ArrayListGetItemInternalRef_FUNC(ArrayList_pa ArrayList,
LgIndex_t ItemOffset)
{
REQUIRE(ArrayListIsValid(ArrayList));
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));
return Result;
}
@ -1190,14 +1140,14 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
ArrayListItemDestructor_pf ItemDestructor,
ArbParam_t ClientData)
{
Boolean_t IsOk = TRUE;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(ItemOffset >= 0);
REQUIRE(VALID_FN_REF(ItemDestructor) || ItemDestructor == NULL);
REQUIRE(IMPLICATION(ItemOffset + 1 > ArrayList->Count,
!ArrayList->IsVisitingItems));
Boolean_t IsOk = TRUE;
/* release the item if a destructor is installed */
if (ItemDestructor != NULL && ItemOffset < ArrayList->Count)
DestroyItems(ArrayList, ItemOffset, ArrayList->ItemSize, 1,
@ -1212,7 +1162,7 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
if (ItemOffset + 1 > ArrayList->Count)
ArrayList->Count = ItemOffset + 1;
CopyArrayItems(ArrayList->Array, ItemOffset,
(char *)&Item, 0,
static_cast<char*>(&Item.Char), 0,
1, ArrayList->ItemSize);
}
@ -1237,12 +1187,10 @@ Boolean_t ArrayListSetItem(ArrayList_pa ArrayList,
Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
ArrayListItem_u Item)
{
Boolean_t IsOk;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(!ArrayList->IsVisitingItems);
IsOk = ArrayListInsertItem(ArrayList, ArrayList->Count, Item);
Boolean_t IsOk = ArrayListInsertItem(ArrayList, ArrayList->Count, Item);
ENSURE(ArrayListIsValid(ArrayList));
ENSURE(VALID_BOOLEAN(IsOk));
@ -1265,15 +1213,13 @@ Boolean_t ArrayListAppendItem(ArrayList_pa ArrayList,
Boolean_t ArrayListAppend(ArrayList_pa Target,
ArrayList_pa Source)
{
Boolean_t IsOk;
REQUIRE(ArrayListIsValid(Target));
REQUIRE(ArrayListIsValid(Source));
REQUIRE(Target != Source);
REQUIRE(Target->Type == Source->Type);
REQUIRE(!Target->IsVisitingItems);
IsOk = ArrayListInsert(Target, Target->Count, Source);
Boolean_t IsOk = ArrayListInsert(Target, Target->Count, Source);
ENSURE(ArrayListIsValid(Target));
ENSURE(VALID_BOOLEAN(IsOk));
@ -1301,12 +1247,10 @@ ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData)
{
ArrayList_pa Result;
REQUIRE(ArrayListIsValid(ArrayList));
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
Result = ArrayListAlloc(ArrayList->Count, ArrayList->Type,
ArrayList_pa Result = ArrayListAlloc(ArrayList->Count, ArrayList->Type,
ArrayList->CapacityRequestAdjuster,
ArrayList->CapacityRequestAdjusterClientData);
if (Result != NULL && ArrayList->Count != 0)
@ -1360,14 +1304,13 @@ void *ArrayListToArray(ArrayList_pa Source,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData)
{
void *Result;
REQUIRE(ArrayListIsValid(Source));
REQUIRE(VALID_FN_REF(ItemDuplicator) || ItemDuplicator == NULL);
void* Result;
if (Source->Count != 0)
Result = (void *)ALLOC_ARRAY(Source->Count * Source->ItemSize,
char, "native array");
Result = static_cast<void*>(ALLOC_ARRAY(Source->Count * Source->ItemSize,
char, "native array"));
else
Result = NULL;
@ -1376,20 +1319,20 @@ void *ArrayListToArray(ArrayList_pa Source,
Boolean_t IsOk = TRUE;
if (ItemDuplicator != NULL)
/* client defines how the item duplication is performed */
IsOk = DuplicateItems((char*)Result, 0,
IsOk = DuplicateItems(static_cast<char*>(Result), 0,
Source->Array, 0,
Source->ItemSize, Source->Count,
ItemDuplicator, ClientData);
else
/* copy the original items into the result */
CopyArrayItems((char *)Result, 0,
CopyArrayItems(static_cast<char*>(Result), 0,
Source->Array, 0,
Source->Count,
Source->ItemSize);
if (!IsOk)
{
/* Hack to remove delete warning... */
char *Tmp = (char *)Result;
char* Tmp = static_cast<char*>(Result);
FREE_ARRAY(Tmp, "native array");
}
}
@ -1427,27 +1370,25 @@ ArrayList_pa ArrayListFromArray(void *Source,
ArrayListItemDuplicator_pf ItemDuplicator,
ArbParam_t ClientData)
{
ArrayList_pa Result;
REQUIRE(VALID_REF(Source));
REQUIRE(Count >= 0);
REQUIRE(VALID_ENUM(Type, ArrayListType_e));
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)
{
Boolean_t IsOk = TRUE;
if (ItemDuplicator != NULL)
/* client defines how the item duplication is performed */
IsOk = DuplicateItems(Result->Array, 0,
(char*)Source, 0,
static_cast<char*>(Source), 0,
Result->ItemSize, Count,
ItemDuplicator, ClientData);
else
/* copy the original items into the result */
CopyArrayItems(Result->Array, 0,
(char *)Source, 0,
static_cast<char*>(Source), 0,
Count, Result->ItemSize);
if (IsOk)
Result->Count = Count;
@ -1459,122 +1400,10 @@ ArrayList_pa ArrayListFromArray(void *Source,
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
/* CORE SOURCE CODE REMOVED */
#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
@ -1660,11 +1489,11 @@ Boolean_t ArrayListBSearch(ArrayList_pa ArrayList,
* return
* 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));
const void *Result = ArrayListGetInternalRef_MACRO(ArrayList);
void const* Result = ArrayListGetInternalRef_MACRO(ArrayList);
ENSURE(Result == NULL || VALID_REF(Result));
return Result;
}

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -29,7 +6,7 @@
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. ********
****** Copyright (C) 1988-2010 Tecplot, Inc. ********
******* All Rights Reserved. ********
******* ********
*****************************************************************
@ -41,6 +18,7 @@
#include "TASSERT.h"
#include "Q_UNICODE.h"
#include "ALLOC.h"
#include "CHARTYPE.h"
#include "STRUTIL.h"
#include "ARRLIST.h"
#include "DATASET.h"
@ -58,7 +36,7 @@ using namespace tecplot::strutil;
*/
typedef struct
{
const char *Name;
char const* Name;
ArbParam_t Value;
AuxDataType_e Type;
Boolean_t Retain;
@ -66,15 +44,14 @@ typedef struct
/**
* Private auxiliary data item container structure.
* INVARIANT: ItemList is case-insensitive sorted by AuxDataItem->Name
*/
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] */
} AuxData_s;
static Mutex_pa AuxDataMutex = NULL;
/**
* 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));
IsValidNameChar = (Char == '_' ||
isalpha(Char));
tecplot::isalpha(Char));
if (!IsLeadChar)
IsValidNameChar = (IsValidNameChar ||
Char == '.' ||
isdigit(Char));
tecplot::isdigit(Char));
ENSURE(VALID_BOOLEAN(IsValidNameChar));
return IsValidNameChar;
@ -136,13 +113,13 @@ static void AuxDataItemDealloc(AuxDataItem_s **AuxDataItem)
if (*AuxDataItem != NULL)
{
char *Name = (char *)(*AuxDataItem)->Name;
char *Name = const_cast<char *>((*AuxDataItem)->Name);
if (Name != NULL)
FREE_ARRAY(Name, "auxiliary name");
if ((*AuxDataItem)->Type == AuxDataType_String)
{
char *Value = (char *)(*AuxDataItem)->Value;
char *Value = reinterpret_cast<char *>((*AuxDataItem)->Value);
if (Value != NULL)
FREE_ARRAY(Value, "auxiliary value");
}
@ -161,35 +138,33 @@ static void AuxDataItemDealloc(AuxDataItem_s **AuxDataItem)
*
* NOTE: Copies are made of the name and value.
*
* param Name
* @param Name
* Auxiliary data item's name (case insenstive).
* param Value
* @param Value
* Auxiliary data item's value.
* param Type
* @param Type
* Auxiliary data item's value type.
* param Retain
* @param Retain
* Indicates if the auxiliary data item should persist. In other words
* copied, saved, etc.
*
* return
* @return
* A new auxiliary data item or NULL if sufficient memory was not
* available.
*/
static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
static AuxDataItem_s* AuxDataItemAlloc(char const* Name,
ArbParam_t Value,
AuxDataType_e Type,
Boolean_t Retain)
{
AuxDataItem_s *Result;
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
REQUIRE(IMPLICATION(Type == AuxDataType_String,
(VALID_REF((char *)Value) ||
(char *)Value == NULL)));
(VALID_REF(reinterpret_cast<char *>(Value)) ||
reinterpret_cast<char *>(Value) == NULL)));
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
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)
{
Boolean_t IsOk;
@ -200,15 +175,15 @@ static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
Result->Value = 0; /* to satisfy some compilers' uninitialized warnings */
if (IsOk && Type == AuxDataType_String)
{
char *strValue = (char *)Value;
char *strValue = reinterpret_cast<char *>(Value);
if (strValue != NULL)
{
char *strCopy = DupString(dontTranslate(strValue));
Result->Value = (ArbParam_t)strCopy;
Result->Value = reinterpret_cast<ArbParam_t>(strCopy);
IsOk = (strCopy != NULL);
}
else
Result->Value = (ArbParam_t)NULL;
Result->Value = static_cast<ArbParam_t>(NULL);
}
else
CHECK(FALSE);
@ -236,10 +211,11 @@ static AuxDataItem_s *AuxDataItemAlloc(const char *Name,
static Boolean_t AuxDataItemListItemDestructor(void *ItemRef,
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) || *AuxDataItemRef == NULL);
UNUSED(ClientData);
if (*AuxDataItemRef != NULL)
AuxDataItemDealloc(AuxDataItemRef);
@ -263,10 +239,11 @@ static Boolean_t AuxDataItemListItemDestructor(void *ItemRef,
Boolean_t AuxDataItemDestructor(void *ItemRef,
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) || *AuxDataRef == NULL);
UNUSED(ClientData);
if (*AuxDataRef != NULL)
AuxDataDealloc(AuxDataRef);
@ -296,16 +273,16 @@ static Boolean_t AuxDataItemDuplicator(void *TargetItemRef,
ArbParam_t ClientData)
{
Boolean_t IsOk = TRUE;
AuxDataItem_s **TargetAuxDataItemRef = (AuxDataItem_s **)TargetItemRef;
AuxDataItem_s **SourceAuxDataItemRef = (AuxDataItem_s **)SourceItemRef;
AuxDataItem_s **TargetAuxDataItemRef = static_cast<AuxDataItem_s **>(TargetItemRef);
AuxDataItem_s **SourceAuxDataItemRef = static_cast<AuxDataItem_s **>(SourceItemRef);
Boolean_t ConsiderRetain;
REQUIRE(VALID_REF(TargetAuxDataItemRef));
REQUIRE(VALID_REF(SourceAuxDataItemRef));
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 */
if (*SourceAuxDataItemRef != NULL &&
@ -331,7 +308,7 @@ static Boolean_t AuxDataItemDuplicator(void *TargetItemRef,
* param AuxData
* 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) || *AuxData == NULL);
@ -349,14 +326,17 @@ void AuxDataDealloc(AuxData_pa *AuxData)
/**
* 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.
*/
AuxData_pa AuxDataAlloc(void)
AuxData_pa AuxDataAlloc(ArbParam_t Owner)
{
AuxData_pa Result = ALLOC_ITEM(AuxData_s, "auxiliary data container");
if (Result != NULL)
{
Result->Owner = Owner;
Result->ItemList = ArrayListAlloc(0, ArrayListType_VoidPtr, NULL, 0);
if (Result->ItemList == NULL)
AuxDataDealloc(&Result);
@ -441,7 +421,7 @@ AuxData_pa AuxDataCopy(AuxData_pa AuxData,
* return
* Number of items maintained by the auxiliary data.
*/
LgIndex_t AuxDataGetNumItems(AuxData_pa AuxData)
LgIndex_t LIBCALL AuxDataGetNumItems(AuxData_pa AuxData)
{
LgIndex_t NumItems;
@ -482,40 +462,17 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
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);
# if defined DO_LINEAR_SEARCH
{
for (Index = 0; Index < NumItems; Index++)
{
AuxDataItem_s *AuxDataItem =
(AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index);
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);
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,
@ -530,8 +487,6 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
break;
}
}
}
# endif
*ItemIndex = Index;
@ -560,7 +515,7 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData,
* param Retain
* Address to hold the auxiliary data item retain flag.
*/
void AuxDataGetItemByIndex(AuxData_pa AuxData,
void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData,
LgIndex_t Index,
const char **Name,
ArbParam_t *Value,
@ -577,7 +532,7 @@ void AuxDataGetItemByIndex(AuxData_pa AuxData,
REQUIRE(VALID_REF(Type));
REQUIRE(VALID_REF(Retain));
AuxDataItem = (AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index);
AuxDataItem = static_cast<AuxDataItem_s *>(ArrayListGetVoidPtr(AuxData->ItemList, Index));
*Name = AuxDataItem->Name;
*Value = AuxDataItem->Value;
*Type = AuxDataItem->Type;
@ -585,8 +540,8 @@ void AuxDataGetItemByIndex(AuxData_pa AuxData,
ENSURE(VALID_REF(*Name) && AuxDataIsValidName(*Name));
ENSURE(IMPLICATION(*Type == AuxDataType_String,
(VALID_REF((char *)(*Value)) ||
(char *)(*Value) == NULL)));
(VALID_REF(reinterpret_cast<char *>(*Value)) ||
reinterpret_cast<char *>(*Value) == NULL)));
ENSURE(VALID_ENUM(*Type, AuxDataType_e));
ENSURE(VALID_BOOLEAN(*Retain));
}
@ -639,8 +594,8 @@ Boolean_t AuxDataGetItemByName(AuxData_pa AuxData,
ENSURE(VALID_BOOLEAN(FoundItem));
ENSURE(IMPLICATION(FoundItem,
IMPLICATION(*Type == AuxDataType_String,
(VALID_REF((char *)(*Value)) ||
(char *)(*Value) == NULL))));
(VALID_REF(reinterpret_cast<char *>(*Value)) ||
reinterpret_cast<char *>(*Value) == NULL))));
ENSURE(IMPLICATION(FoundItem,
VALID_ENUM(*Type, AuxDataType_e)));
ENSURE(IMPLICATION(FoundItem,
@ -675,13 +630,13 @@ Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData, /* IN */
Retain);
if (FoundItem &&
(ustrcmp((char *)strValue, "YES") == 0 ||
ustrcmp((char *)strValue, "YEP") == 0 ||
ustrcmp((char *)strValue, "Y") == 0 ||
ustrcmp((char *)strValue, "TRUE") == 0 ||
ustrcmp((char *)strValue, "T") == 0 ||
ustrcmp((char *)strValue, "ON") == 0 ||
ustrcmp((char *)strValue, "1") == 0))
(ustrcmp(reinterpret_cast<char *>(strValue), "YES") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "YEP") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "Y") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "TRUE") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "T") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "ON") == 0 ||
ustrcmp(reinterpret_cast<char *>(strValue), "1") == 0))
{
*Value = TRUE;
}
@ -702,47 +657,44 @@ Boolean_t AuxDataGetBooleanItemByName(AuxData_pa AuxData, /* IN */
*
* NOTE: The auxiliary data makes copies of the name and value.
*
* param AuxData
* @param AuxData
* Auxiliary data handle.
* param Name
* @param Name
* Auxiliary data item's name (case insenstive).
* param Value
* @param Value
* Auxiliary data item's value.
* param Type
* @param Type
* Auxiliary data item's value type.
* param Retain
* @param Retain
* Indicates if the auxiliary data item should persist.
*
* return
* @return
* TRUE if the item was added to the auxiliary data.
*/
Boolean_t AuxDataSetItem(AuxData_pa AuxData,
const char *Name,
char const* Name,
ArbParam_t Value,
AuxDataType_e Type,
Boolean_t Retain)
{
Boolean_t IsOk;
AuxDataItem_s *AuxDataItem;
REQUIRE(VALID_REF(AuxData));
INVARIANT("AuxData->ItemList is case-insensitive sorted by AuxDataItem->Name");
REQUIRE(VALID_REF(Name) && AuxDataIsValidName(Name));
REQUIRE(IMPLICATION(Type == AuxDataType_String,
(VALID_REF((char *)Value) ||
(char *)Value == NULL)));
(VALID_REF(reinterpret_cast<char *>(Value)) ||
reinterpret_cast<char *>(Value) == NULL)));
REQUIRE(VALID_ENUM(Type, AuxDataType_e));
REQUIRE(VALID_BOOLEAN(Retain));
AuxDataItem = AuxDataItemAlloc(Name, Value, Type, Retain);
IsOk = (AuxDataItem != NULL);
AuxDataItem_s* AuxDataItem = AuxDataItemAlloc(Name, Value, Type, Retain);
Boolean_t IsOk = (AuxDataItem != NULL);
if (IsOk)
{
LgIndex_t ItemIndex;
ArrayListItem_u ListItem;
/* add or replace the item to the list */
ListItem.VoidPtr = (void *)AuxDataItem;
ListItem.VoidPtr = static_cast<void *>(AuxDataItem);
if (!AuxDataGetItemIndex(AuxData, Name, &ItemIndex))
IsOk = ArrayListInsertItem(AuxData->ItemList, ItemIndex, ListItem);
else

View file

@ -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 "MASTER.h"
#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 *UserRec,
AuxData_pa *DataSetAuxData,
ArbParam_t AuxDataOwner,
Set_pa **IsVarCellCentered, /* Create an Array dim by zones */
Boolean_t *HasText,
Boolean_t *HasGeoms,
@ -235,12 +213,12 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
if (IsOk && (UserRec != NULL && *UserRec == NULL))
{
*UserRec = StringListAlloc();
IsOk = (Boolean_t)(*UserRec != NULL);
IsOk = static_cast<Boolean_t>(*UserRec != NULL);
}
if (IsOk && (DataSetAuxData != NULL && *DataSetAuxData == NULL))
{
*DataSetAuxData = AuxDataAlloc();
IsOk = (Boolean_t)(*DataSetAuxData != NULL);
*DataSetAuxData = AuxDataAlloc(AuxDataOwner);
IsOk = static_cast<Boolean_t>(*DataSetAuxData != NULL);
}
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
*/
(*IsVarCellCentered)[Z] = AllocSet(FALSE);
IsOk = (Boolean_t)((*IsVarCellCentered)[Z] != NULL);
IsOk = static_cast<Boolean_t>((*IsVarCellCentered)[Z] != NULL);
}
}
else
@ -303,13 +281,13 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
IsOk = ReadInDataFileTypeTitleAndVarNames(FileStream,
IVersion,
((Pass == 2) ? &S : (char **)NULL),
((Pass == 2) ? FileType : (DataFileType_e *)NULL),
((Pass == 2) ? &S : static_cast<char **>(NULL)),
((Pass == 2) ? FileType : static_cast<DataFileType_e *>(NULL)),
&INumVars,
((Pass == 2) ? VarNames : (StringList_pa *)NULL));
((Pass == 2) ? VarNames : static_cast<StringList_pa *>(NULL)));
if (IsOk)
*NumVars = (EntIndex_t)INumVars;
*NumVars = static_cast<EntIndex_t>(INumVars);
if ((Pass == 2) && S && IsOk && DataSetTitle)
*DataSetTitle = S;
@ -341,7 +319,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
LgIndex_t LocalFNNumBndryConns;
IsOk = ReadInZoneHeader(FileStream, IVersion, ZoneSpec,
OkToLoad ? (*IsVarCellCentered)[*NumZones] : NULL,
*NumVars, &LocalIsRawFNAvailable,
*NumVars, AuxDataOwner, &LocalIsRawFNAvailable,
&LocalFNNumBndryConns);
if (IsOk && OkToLoad && IsRawFNAvailable != NULL)
{
@ -362,7 +340,7 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
if (IsOk)
{
ArrayListItem_u CurZoneSpecItem;
CurZoneSpecItem.VoidPtr = (void *)ZoneSpec;
CurZoneSpecItem.VoidPtr = static_cast<void *>(ZoneSpec);
ArrayListSetItem(*ZoneSpecList, *NumZones,
CurZoneSpecItem,
ZoneSpecItemDestructor, 0);
@ -471,12 +449,12 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
Boolean_t OkToLoad;
char *CurUserRec = NULL;
OkToLoad = (Boolean_t)((Pass == 2) && UserRec);
OkToLoad = static_cast<Boolean_t>((Pass == 2) && UserRec);
IsOk = ReadInUserRec(FileStream,
IVersion,
500,
OkToLoad ? &CurUserRec : (char **)NULL);
OkToLoad ? &CurUserRec : static_cast<char **>(NULL));
if (IsOk && OkToLoad)
IsOk = StringListAppendString(*UserRec, CurUserRec);
if (CurUserRec)
@ -510,10 +488,10 @@ Boolean_t ReadDataFileHeader(FileStream_s *FileStream,
AuxData_pa VarAuxData;
if (OkToLoad)
{
VarAuxData = (AuxData_pa)ArrayListGetVoidPtr(*VarAuxDataList, VarNum);
VarAuxData = static_cast<AuxData_pa>(ArrayListGetVoidPtr(*VarAuxDataList, VarNum));
if (VarAuxData == NULL)
{
VarAuxData = AuxDataAlloc();
VarAuxData = AuxDataAlloc(AuxDataOwner);
IsOk = (VarAuxData != NULL &&
ArrayListSetVoidPtr(*VarAuxDataList, VarNum, VarAuxData));
}

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -29,16 +6,22 @@
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
*/
#define DATASETMODULE
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#include "GLOBAL.h"
#include "TASSERT.h"
#include "Q_UNICODE.h"
#include "CHARTYPE.h"
#include "STRUTIL.h"
#include "AUXDATA.h"
#include "ARRLIST.h"
@ -50,6 +33,9 @@
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#else /* !TECPLOTKERNEL */
#define DECLARE_NUMERIC_LOCALE_SETTER
#define VALID_NUMERIC_LOCALE() (true)
#endif
#include "DATASET0.h"
@ -118,10 +104,11 @@ void ZoneSpecDealloc(ZoneSpec_s **ZoneSpec)
Boolean_t ZoneSpecItemDestructor(void *ItemRef,
ArbParam_t ClientData)
{
ZoneSpec_s **ZoneSpecRef = (ZoneSpec_s **)ItemRef;
ZoneSpec_s **ZoneSpecRef = static_cast<ZoneSpec_s **>(ItemRef);
REQUIRE(VALID_REF(ZoneSpecRef));
REQUIRE(VALID_REF(*ZoneSpecRef) || *ZoneSpecRef == NULL);
UNUSED(ClientData);
if (*ZoneSpecRef != NULL)
ZoneSpecDealloc(ZoneSpecRef);
@ -187,7 +174,7 @@ ZoneSpec_s *ZoneSpecAlloc(void)
{
ZoneSpec_s *Result;
Result = (ZoneSpec_s *)ALLOC_ITEM(ZoneSpec_s, "ZoneSpec structure");
Result = static_cast<ZoneSpec_s *>(ALLOC_ITEM(ZoneSpec_s, "ZoneSpec structure"));
if (Result != NULL)
SetZoneSpecDefaults(Result);
@ -243,6 +230,7 @@ LgIndex_t ZoneOrVarListAdjustCapacityRequest(ArrayList_pa ZoneOrVarArrayList,
REQUIRE((RequestedCapacity == 0 && CurrentCapacity == 0) ||
RequestedCapacity > CurrentCapacity);
REQUIRE(CurrentCapacity <= MaxNumZonesOrVars);
UNUSED(ClientData);
if (RequestedCapacity <= MaxNumZonesOrVars)
{

View file

@ -1,35 +1,16 @@
/*
* 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 TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#include "stdafx.h"
#include "MASTER.h"
#define TECPLOTENGINEMODULE
/*
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
@ -43,12 +24,11 @@
#include "ARRLIST.h"
#include "DATASET.h"
#include "SET.h"
#include "DATASHR.h"
#include "FILESTREAM.h"
#include "Q_MSG.h"
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#include "Q_MSG.h"
#include "DATASET0.h"
using namespace tecplot::strutil;
@ -72,11 +52,11 @@ void OutOfMemoryMsg(void)
/**
*/
FieldData_pa FieldDataAlloc(void)
FieldData_pa FieldDataAlloc(Boolean_t doTrackVarSharing)
{
FieldData_pa Result;
Result = (FieldData_pa)ALLOC_ITEM(struct _FieldData_a, "FieldDataPtr");
Result = static_cast<FieldData_pa>(ALLOC_ITEM(struct _FieldData_a, "FieldDataPtr"));
if (Result != NULL)
{
Result->Data = NULL;
@ -94,8 +74,9 @@ FieldData_pa FieldDataAlloc(void)
Result->Type = FieldDataType_Invalid;
Result->ValueLocation = ValueLocation_Invalid;
Result->RefCount = 1; /* self */
Result->VarShareRefCount = 1; /* self */
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */
/* CORE SOURCE CODE REMOVED */
#endif
Result->NumValues = 0;
#if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */
/* CORE SOURCE CODE REMOVED */
@ -121,7 +102,7 @@ void FieldDataDeallocData(FieldData_pa FieldData)
if (FieldData->Data != NULL)
{
/* Hack to remove 'deleting void* is undefined' warning... */
char *Tmp = (char *)FieldData->Data;
char *Tmp = static_cast<char *>(FieldData->Data);
FREE_ARRAY(Tmp, "FieldData _Data");
FieldData->Data = NULL;
}
@ -185,18 +166,6 @@ void FieldDataDeallocData(FieldData_pa FieldData)
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
/**
*/
void FieldDataCleanup(FieldData_pa FieldData)
@ -217,20 +186,15 @@ void FieldDataDealloc(FieldData_pa *FieldData,
{
REQUIRE(VALID_REF(FieldData));
REQUIRE(VALID_REF(*FieldData) || *FieldData == NULL);
REQUIRE(IMPLICATION(*FieldData != NULL,
IsStructureReferenced(*FieldData)));
REQUIRE(IMPLICATION(*FieldData != NULL && DoTrackVarSharing,
IsVarStructureReferenced(*FieldData)));
REQUIRE(VALID_BOOLEAN(DoTrackVarSharing));
REQUIRE(IMPLICATION(*FieldData != NULL,
(*FieldData)->RefCount >= (*FieldData)->VarShareRefCount));
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
if (*FieldData != NULL)
{
if (DoTrackVarSharing)
DecVarStructureReference(*FieldData);
DecStructureReference(*FieldData);
if (!IsStructureReferenced(*FieldData))
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
{
FieldDataCleanup(*FieldData);
@ -248,14 +212,6 @@ void FieldDataDealloc(FieldData_pa *FieldData,
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#if !defined NDEBUG || defined CHECKED_BUILD
#endif
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#if !defined NDEBUG || defined CHECKED_BUILD
#endif
#endif
#if defined TECPLOTKERNEL
@ -269,11 +225,21 @@ static void copyTypedValueArray(void* DstArray,
LgIndex_t SrcStart,
LgIndex_t SrcEnd)
{
T* SrcPtr = ((T*)SrcArray) + SrcStart;
T* DstPtr = ((T*)DstArray) + DstStart;
size_t numBytes = sizeof(T) * (SrcEnd - SrcStart + 1);
REQUIRE(VALID_REF(DstArray));
REQUIRE(DstStart >= 0);
REQUIRE(VALID_REF(SrcArray));
REQUIRE(0 <= SrcStart && SrcStart <= SrcEnd+1);
REQUIRE(DstArray != SrcArray);
size_t const numBytes = sizeof(T) * (SrcEnd - SrcStart + 1);
if (numBytes != 0)
{
T const* SrcPtr = (static_cast<T const*>(SrcArray)) + SrcStart;
T* DstPtr = (static_cast<T*>(DstArray)) + DstStart;
memcpy(DstPtr, SrcPtr, numBytes);
}
}
/**
* DstArray and SrcArray are aligned on proper word boundaries.
*/
@ -289,7 +255,7 @@ void CopyTypedValueArray(FieldDataType_e ValueType,
REQUIRE(VALID_REF(DstArray));
REQUIRE(DstStart >= 0);
REQUIRE(VALID_REF(SrcArray));
REQUIRE(0 <= SrcStart && SrcStart <= SrcEnd);
REQUIRE(0 <= SrcStart && SrcStart <= SrcEnd+1);
REQUIRE(DstArray != SrcArray);
switch (ValueType)
@ -356,8 +322,8 @@ void SwapBytesInTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Double:
{
/* swap 8 bytes blocks */
UInt64_t *SrcPtr = ((UInt64_t *)SrcArray) + SrcStart;
UInt64_t *SrcPtrEnd = ((UInt64_t *)SrcArray) + SrcEnd;
UInt64_t *SrcPtr = (static_cast<UInt64_t *>(SrcArray)) + SrcStart;
UInt64_t *SrcPtrEnd = (static_cast<UInt64_t *>(SrcArray)) + SrcEnd;
CHECK(sizeof(UInt64_t) == 8 && sizeof(double) == 8);
while (SrcPtr <= SrcPtrEnd)
{
@ -369,8 +335,8 @@ void SwapBytesInTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Int32:
{
/* swap 4 bytes blocks */
UInt32_t *SrcPtr = ((UInt32_t *)SrcArray) + SrcStart;
UInt32_t *SrcPtrEnd = ((UInt32_t *)SrcArray) + SrcEnd;
UInt32_t *SrcPtr = (static_cast<UInt32_t *>(SrcArray)) + SrcStart;
UInt32_t *SrcPtrEnd = (static_cast<UInt32_t *>(SrcArray)) + SrcEnd;
CHECK(sizeof(UInt32_t) == 4 && sizeof(float) == 4);
while (SrcPtr <= SrcPtrEnd)
{
@ -381,8 +347,8 @@ void SwapBytesInTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Int16:
{
/* swap 4 bytes blocks */
UInt16_t *SrcPtr = ((UInt16_t *)SrcArray) + SrcStart;
UInt16_t *SrcPtrEnd = ((UInt16_t *)SrcArray) + SrcEnd;
UInt16_t *SrcPtr = (static_cast<UInt16_t *>(SrcArray)) + SrcStart;
UInt16_t *SrcPtrEnd = (static_cast<UInt16_t *>(SrcArray)) + SrcEnd;
CHECK(sizeof(UInt16_t) == 2);
while (SrcPtr <= SrcPtrEnd)
{
@ -421,8 +387,8 @@ void SwapBytesInUnalignedTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Double:
{
/* swap 8-byte blocks */
Byte_t *SrcPtr = ((Byte_t *)SrcArray) + SrcStart * sizeof(UInt64_t);
Byte_t *SrcPtrEnd = ((Byte_t *)SrcArray) + SrcEnd * sizeof(UInt64_t);
Byte_t *SrcPtr = (static_cast<Byte_t *>(SrcArray)) + SrcStart * sizeof(UInt64_t);
Byte_t *SrcPtrEnd = (static_cast<Byte_t *>(SrcArray)) + SrcEnd * sizeof(UInt64_t);
size_t byte_skip = SrcSkip * sizeof(UInt64_t);
CHECK(sizeof(UInt64_t) == 8 && sizeof(double) == 8);
while (SrcPtr <= SrcPtrEnd)
@ -435,8 +401,8 @@ void SwapBytesInUnalignedTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Int32:
{
/* swap 4-byte blocks */
Byte_t *SrcPtr = ((Byte_t *)SrcArray) + SrcStart * sizeof(UInt32_t);
Byte_t *SrcPtrEnd = ((Byte_t *)SrcArray) + SrcEnd * sizeof(UInt32_t);
Byte_t *SrcPtr = (static_cast<Byte_t *>(SrcArray)) + SrcStart * sizeof(UInt32_t);
Byte_t *SrcPtrEnd = (static_cast<Byte_t *>(SrcArray)) + SrcEnd * sizeof(UInt32_t);
size_t byte_skip = SrcSkip * sizeof(UInt32_t);
CHECK(sizeof(UInt32_t) == 4 && sizeof(float) == 4);
while (SrcPtr <= SrcPtrEnd)
@ -448,8 +414,8 @@ void SwapBytesInUnalignedTypedValueArray(FieldDataType_e ValueType,
case FieldDataType_Int16:
{
/* swap 2-byte blocks */
Byte_t *SrcPtr = ((Byte_t *)SrcArray) + SrcStart * sizeof(UInt16_t);
Byte_t *SrcPtrEnd = ((Byte_t *)SrcArray) + SrcEnd * sizeof(UInt16_t);
Byte_t *SrcPtr = (static_cast<Byte_t *>(SrcArray)) + SrcStart * sizeof(UInt16_t);
Byte_t *SrcPtrEnd = (static_cast<Byte_t *>(SrcArray)) + SrcEnd * sizeof(UInt16_t);
size_t byte_skip = SrcSkip * sizeof(UInt16_t);
CHECK(sizeof(UInt16_t) == 2);
while (SrcPtr <= SrcPtrEnd)
@ -509,6 +475,14 @@ void SwapBytesInUnalignedTypedValueArray(FieldDataType_e ValueType,
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined DEBUG_FIELDVALUES
# define DEBUG_FIELDVALUES_BAD_VALUE 0x11
static unsigned char BadValueStr[] =
@ -531,7 +505,7 @@ static unsigned char BadValueStr[] =
# else
# define FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, type) \
((sizeof(type) < 4) /* cannot make reliably test with less than four bytes */ || \
memcmp(BadValueStr,((char *)((fd)->Data))+sizeof(type)*(pt), sizeof(type)) != 0)
memcmp(BadValueStr,(static_cast<char *>((fd)->Data))+sizeof(type)*(pt), sizeof(type)) != 0)
# endif
#else
# define FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, type) TRUE
@ -552,7 +526,7 @@ double STDCALL GetFieldValueForFloat(const FieldData_pa fd,
REQUIRE(0 <= pt && pt < GetFieldDataNumValues(fd));
REQUIRE(FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, float));
double Result = (double)GetFieldDataFloatPtr(fd)[pt];
double Result = static_cast<double>(GetFieldDataFloatPtr(fd)[pt]);
return Result;
}
@ -599,7 +573,7 @@ double STDCALL GetFieldValueForInt32(const FieldData_pa fd,
REQUIRE(0 <= pt && pt < GetFieldDataNumValues(fd));
REQUIRE(FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, Int32_t));
double Result = (double)GetFieldDataInt32Ptr(fd)[pt];
double Result = static_cast<double>(GetFieldDataInt32Ptr(fd)[pt]);
return Result;
}
@ -622,7 +596,7 @@ double STDCALL GetFieldValueForInt16(const FieldData_pa fd,
REQUIRE(0 <= pt && pt < GetFieldDataNumValues(fd));
REQUIRE(FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, Int16_t));
double Result = (double)GetFieldDataInt16Ptr(fd)[pt];
double Result = static_cast<double>(GetFieldDataInt16Ptr(fd)[pt]);
return Result;
}
@ -646,7 +620,7 @@ double STDCALL GetFieldValueForByte(const FieldData_pa fd,
REQUIRE(0 <= pt && pt < GetFieldDataNumValues(fd));
REQUIRE(FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, Byte_t));
double Result = (double)GetFieldDataBytePtr(fd)[pt];
double Result = static_cast<double>(GetFieldDataBytePtr(fd)[pt]);
return Result;
}
@ -850,7 +824,7 @@ static void STDCALL SetFieldValueForByte(FieldData_pa fd,
else if (val > 255.0)
GetFieldDataBytePtr(fd)[pt] = 255;
else
GetFieldDataBytePtr(fd)[pt] = (Byte_t)val;
GetFieldDataBytePtr(fd)[pt] = static_cast<Byte_t>(val);
ENSURE(FIELD_DATA_VALUE_IS_INITIALIZED(fd, pt, Byte_t));
}
@ -955,12 +929,12 @@ Int64_t FieldDataGetBytesNeeded(LgIndex_t NumValues,
switch (DataType)
{
case FieldDataType_Float: Result = ((Int64_t)NumValues)*sizeof(float); break;
case FieldDataType_Double: Result = ((Int64_t)NumValues)*sizeof(double); break;
case FieldDataType_Int32: Result = ((Int64_t)NumValues)*sizeof(LgIndex_t); break;
case FieldDataType_Int16: Result = ((Int64_t)NumValues)*sizeof(SmInteger_t); break;
case FieldDataType_Byte: Result = ((Int64_t)NumValues)*sizeof(Byte_t); break;
case FieldDataType_Bit: Result = ((Int64_t)(NumValues+7)/8)*sizeof(Byte_t); break;
case FieldDataType_Float: Result = (static_cast<Int64_t>(NumValues))*sizeof(float); break;
case FieldDataType_Double: Result = (static_cast<Int64_t>(NumValues))*sizeof(double); break;
case FieldDataType_Int32: Result = (static_cast<Int64_t>(NumValues))*sizeof(LgIndex_t); break;
case FieldDataType_Int16: Result = (static_cast<Int64_t>(NumValues))*sizeof(SmInteger_t); break;
case FieldDataType_Byte: Result = (static_cast<Int64_t>(NumValues))*sizeof(Byte_t); break;
case FieldDataType_Bit: Result = (static_cast<Int64_t>(NumValues+7)/8)*sizeof(Byte_t); break;
default: CHECK(FALSE); break;
}
@ -969,9 +943,9 @@ Int64_t FieldDataGetBytesNeeded(LgIndex_t NumValues,
}
/**
* On the SGI, HP, and Sun machines 64 bit objects such as doubles must be 8
* byte aligned while on all other machines 32 bit alignment suffices. Some
* allow 1 byte alignment but we won't bother with that.
* On the SGI, HP, Sun and Itanium Linux machines 64 bit objects such as
* doubles must be 8 byte aligned while on all other machines 32 bit alignment
* suffices. Some allow 1 byte alignment but we won't bother with that.
*/
#if defined IRISX || defined HPUX || defined SUNX
# define SIZEOF_LARGEST_OBJECT_TO_ALIGN sizeof(Int64_t)
@ -988,7 +962,7 @@ Boolean_t IsOffsetAlignedForFieldDataType(FieldDataType_e FieldDataType,
REQUIRE(Offset >= 0);
Int64_t SizeOfType = FieldDataGetBytesNeeded(1, FieldDataType);
if (SizeOfType > (Int64_t)SIZEOF_LARGEST_OBJECT_TO_ALIGN)
if (SizeOfType > static_cast<Int64_t>(SIZEOF_LARGEST_OBJECT_TO_ALIGN))
SizeOfType = SIZEOF_LARGEST_OBJECT_TO_ALIGN;
Boolean_t HasValidAlignment = (Offset % SizeOfType == 0);
@ -1006,7 +980,7 @@ Int64_t GetAlignedOffsetForFieldDataType(FieldDataType_e FieldDataType,
REQUIRE(Offset >= 0);
Int64_t SizeOfType = FieldDataGetBytesNeeded(1, FieldDataType);
if (SizeOfType > (Int64_t)SIZEOF_LARGEST_OBJECT_TO_ALIGN)
if (SizeOfType > static_cast<Int64_t>(SIZEOF_LARGEST_OBJECT_TO_ALIGN))
SizeOfType = SIZEOF_LARGEST_OBJECT_TO_ALIGN;
Int64_t NumBytesPastAlignment = (Offset % SizeOfType);
@ -1049,13 +1023,17 @@ void FieldDataDefineData(FieldData_pa FieldData,
# if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
# else /* ...for TecIO only */
FieldData->GetValueCallback[0] = (void *)DetermineFieldDataGetFunction(DataType, FALSE);
FieldData->SetValueCallback[0] = (void *)DetermineFieldDataSetFunction(DataType, FALSE);
FieldData->GetValueCallback[0] = reinterpret_cast<void *>(DetermineFieldDataGetFunction(DataType, FALSE));
FieldData->SetValueCallback[0] = reinterpret_cast<void *>(DetermineFieldDataSetFunction(DataType, FALSE));
#endif
ENSURE(FieldData->Data == NULL);
}
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
/**
*/
Boolean_t FieldDataAllocData(FieldData_pa FieldData,
@ -1071,7 +1049,7 @@ Boolean_t FieldDataAllocData(FieldData_pa FieldData,
* so we might have to squeeze it down possibly loosing precision.
*/
Int64_t ActualBytesNeeded = FieldDataGetBytesNeeded(FieldData->NumValues, FieldData->Type);
size_t BytesToAllocate = (size_t)ActualBytesNeeded;
size_t BytesToAllocate = static_cast<size_t>(ActualBytesNeeded);
/*
* 64 bit architectures are effectively unlimited in their allocation size
@ -1081,12 +1059,12 @@ Boolean_t FieldDataAllocData(FieldData_pa FieldData,
CHECK(sizeof(size_t) == 4 || sizeof(size_t) == 8);
Boolean_t IsOk = (FieldData->NumValues <= MAXINDEX &&
IMPLICATION(sizeof(size_t) == 4,
ActualBytesNeeded <= (Int64_t)0xffffffff));
ActualBytesNeeded <= static_cast<Int64_t>(0xffffffff)));
if (IsOk)
{
if (FieldData->NumValues > 0)
{
FieldData->Data = (void *)ALLOC_ARRAY(BytesToAllocate, char, "FieldData's Data");
FieldData->Data = reinterpret_cast<void *>(ALLOC_ARRAY(BytesToAllocate, char, "FieldData's Data"));
#if defined DEBUG_FIELDVALUES
{
if (FieldData->Data != NULL)
@ -1100,8 +1078,8 @@ Boolean_t FieldDataAllocData(FieldData_pa FieldData,
* byte. By zeroing the unused bits at the end of the array we
* produce consistent data files when written to disk.
*/
if (FieldData->Type == FieldDataType_Bit)
((char*)FieldData->Data)[BytesToAllocate-1] = '\0';
if (FieldData->Type == FieldDataType_Bit && FieldData->Data != NULL)
(static_cast<char*>(FieldData->Data))[BytesToAllocate-1] = '\0';
}
IsOk = (FieldData->NumValues == 0 ||
FieldData->Data != NULL);
@ -1109,7 +1087,7 @@ Boolean_t FieldDataAllocData(FieldData_pa FieldData,
OutOfMemoryMsg();
}
else if (ShowErrMsg)
ErrMsg(translate("Storage limit (%ld) exceeded for a single variable."), (long)MAXINDEX);
ErrMsg(translate("Storage limit (%ld) exceeded for a single variable."), static_cast<long>(MAXINDEX));
# if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
@ -1179,7 +1157,7 @@ FieldData_pa AllocScratchNodalFieldDataPtr(LgIndex_t NumValues,
REQUIRE(VALID_FIELD_DATA_TYPE(Type));
REQUIRE(VALID_BOOLEAN(ShowErrMsg));
FieldData_pa Result = FieldDataAlloc();
FieldData_pa Result = FieldDataAlloc(FALSE);
if (Result != NULL)
{
FieldDataDefineData(Result, NumValues, Type, ValueLocation_Nodal);
@ -1476,6 +1454,26 @@ void *GetFieldDataVoidPtr_FUNC(FieldData_pa fd)
}
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif /* TECPLOTKERNEL */
@ -1500,6 +1498,22 @@ void *GetFieldDataVoidPtr_FUNC(FieldData_pa fd)
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif /* TECPLOTKERNEL */
@ -1575,6 +1589,12 @@ void CopyFieldValue(FieldData_pa dst,
} /* CopyFieldValue() */
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#if defined TECPLOTKERNEL
#endif /* TECPLOTKERNEL */
#endif
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#endif
@ -1651,8 +1671,12 @@ void SetFieldDataPtrToAllZeros(FieldData_pa fd)
if (NumBytesToMemSet > 0)
{
void *fd_data = GetFieldDataVoidPtr(fd);
char* fd_data = static_cast<char*>(GetFieldDataVoidPtr(fd));
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#else
memset(fd_data, 0, NumBytesToMemSet);
#endif
}
else
{

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -28,7 +5,7 @@
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
@ -158,7 +135,7 @@ void LocalReadBlock(FileStream_s *FileStream,
{
ReadPureBlock(FileStream,
DoRead,
(void *)CurVPtr,
static_cast<void *>(CurVPtr),
FieldDataTypeInFile,
0,
NumValues,
@ -205,6 +182,7 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
LgIndex_t **NumPtsK,
ZoneType_e **ZoneType,
StringList_pa *UserRec,
AuxData_pa *DatasetAuxData,
Boolean_t RawDataSpaceAllocated,
NodeMap_t ***NodeMap,
double ***VDataBase)
@ -247,22 +225,23 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
FALSE,
NumZones,
NumVars,
(SmInteger_t *)NULL,
static_cast<SmInteger_t *>(NULL),
DataSetTitle,
(Text_s **)NULL,
(Geom_s **)NULL,
(StringList_pa **)NULL,
static_cast<Text_s **>(NULL),
static_cast<Geom_s **>(NULL),
static_cast<StringList_pa **>(NULL),
UserRec,
(AuxData_pa *)NULL,
DatasetAuxData,
0,
&IsVarCellCentered,
(Boolean_t *)NULL,
(Boolean_t *)NULL,
static_cast<Boolean_t *>(NULL),
static_cast<Boolean_t *>(NULL),
&ZoneSpecList,
VarNames,
(ArrayList_pa *)NULL,
(Set_pa *)NULL,
static_cast<ArrayList_pa *>(NULL),
static_cast<Set_pa *>(NULL),
&FNNumBndryConns,
(DataFileType_e *)NULL);
static_cast<DataFileType_e *>(NULL));
@ -437,10 +416,10 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
{
EntIndex_t NumDupVars, ZZ;
NumDupVars = (EntIndex_t)GetIoFileInt(ReadTecFileStream, *IVersion, 0, (LgIndex_t) * NumVars, &InputIsOk);
NumDupVars = static_cast<EntIndex_t>(GetIoFileInt(ReadTecFileStream, *IVersion, 0, static_cast<LgIndex_t>( * NumVars), &InputIsOk));
for (J = 0; J < NumDupVars; J++)
{
ZZ = (EntIndex_t)GetIoFileInt(ReadTecFileStream, *IVersion, 0, *NumVars, &InputIsOk) - 1;
ZZ = static_cast<EntIndex_t>(GetIoFileInt(ReadTecFileStream, *IVersion, 0, *NumVars, &InputIsOk)) - 1;
VarSharesFromZone[ZZ] = CurZone - 1; /* emulate DupVar: share from previous zone */
}
/* Can't duplicate from the first zone */
@ -457,10 +436,10 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
{
for (J = 0; J < *NumVars; J++)
{
VarType[J] = (FieldDataType_e)GetIoFileInt(ReadTecFileStream, *IVersion,
VarType[J] = static_cast<FieldDataType_e>(GetIoFileInt(ReadTecFileStream, *IVersion,
0,
(LgIndex_t)FieldDataType_Bit,
&InputIsOk);
static_cast<LgIndex_t>(FieldDataType_Bit),
&InputIsOk));
if (!InputIsOk)
{
ErrMsg(translate("Invalid data type - binary input file corrupted"));
@ -497,13 +476,13 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
if (*IVersion >= 105 && InputIsOk)
{
/* passive variables */
if ((Boolean_t)GetIoFileInt(ReadTecFileStream, *IVersion, 0, 1, &InputIsOk) && InputIsOk)
if (static_cast<Boolean_t>(GetIoFileInt(ReadTecFileStream, *IVersion, 0, 1, &InputIsOk)) && InputIsOk)
{
for (CurVar = 0; CurVar < *NumVars && InputIsOk; CurVar++)
{
IsVarPassive[CurVar] = (Boolean_t)GetIoFileInt(ReadTecFileStream,
IsVarPassive[CurVar] = static_cast<Boolean_t>(GetIoFileInt(ReadTecFileStream,
*IVersion,
0, 1, &InputIsOk);
0, 1, &InputIsOk));
}
}
}
@ -511,7 +490,7 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
if (*IVersion >= 101 && InputIsOk)
{
/* variable sharing: equivalent to DupVar for ReadTec */
if ((Boolean_t)GetIoFileInt(ReadTecFileStream, *IVersion, 0, 1, &InputIsOk) && InputIsOk)
if (static_cast<Boolean_t>(GetIoFileInt(ReadTecFileStream, *IVersion, 0, 1, &InputIsOk)) && InputIsOk)
{
for (CurVar = 0; CurVar < *NumVars && InputIsOk; CurVar++)
{
@ -928,13 +907,13 @@ Boolean_t STDCALL ReadTec(Boolean_t GetHeaderInfoOnly,
void * STDCALL TecAlloc(size_t size)
{
return (void *)ALLOC_ARRAY(size, char, "TecAlloc");
return static_cast<void *>(ALLOC_ARRAY(size, char, "TecAlloc"));
}
void STDCALL TecFree(void *ptr)
{
/* Hack to remove delete warning... */
char *Tmp = (char *)ptr;
char *Tmp = static_cast<char *>(ptr);
FREE_ARRAY(Tmp, "TecAlloc");
}

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -29,7 +6,7 @@
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -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 "MASTER.h"
#define TECPLOTENGINEMODULE
@ -29,7 +6,7 @@
*****************************************************************
*****************************************************************
******* ********
****** Copyright (C) 1988-2008 Tecplot, Inc. *******
****** Copyright (C) 1988-2010 Tecplot, Inc. *******
******* ********
*****************************************************************
*****************************************************************

View file

@ -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 "MASTER.h"
@ -30,7 +7,7 @@
******************************************************************
******************************************************************
******* ********
****** (C) 1988-2008 Tecplot, Inc. *******
****** (C) 1988-2010 Tecplot, Inc. *******
******* ********
******************************************************************
******************************************************************
@ -190,19 +167,19 @@ static void SendWarningToFile(FILE *F,
/**
* Show the warning message. Note that the Format string can be the only
* Show the warning message. Note that the format string can be the only
* argument, in which case it is essentially the warning message itself.
*
* param Format
* C Format string or a simple message.
* param format
* C format string or a simple message.
* param ...
* Zero or more variable arguments. The number of arguments must correspond
* to the placeholders in the format string.
*/
void Warning(TranslatedString Format,
void Warning(TranslatedString format,
...) /* zero or more arguments */
{
REQUIRE(!Format.isNull());
REQUIRE(!format.isNull());
static Boolean_t InWarning = FALSE; /* ...used to prevent recursive deadlock */
if (!InWarning)
@ -222,14 +199,14 @@ void Warning(TranslatedString Format,
Boolean_t cleanUp = TRUE;
va_list Arguments;
va_start(Arguments, Format);
char* message = vFormatString(Format.c_str(), Arguments);
va_start(Arguments, format);
char* message = vFormatString(format.c_str(), Arguments);
va_end(Arguments);
if (message == NULL)
{
cleanUp = FALSE; // ...this boolean allows us to "carefully" cast away the const'ness
message = (char*)Format.c_str();
message = const_cast<char*>(format.c_str());
}
#if defined TECPLOTKERNEL
@ -261,13 +238,13 @@ void Warning(TranslatedString Format,
static void SendErrToFile(FILE *File,
const char *Msg)
{
char *FormattedMsg;
char *formattedMsg;
REQUIRE(VALID_REF(File));
REQUIRE(VALID_REF(Msg));
if (WrapString(Msg, &FormattedMsg))
if (WrapString(Msg, &formattedMsg))
{
fprintf(File, "Err: %s\n", FormattedMsg);
FREE_ARRAY(FormattedMsg, "temp error string");
fprintf(File, "Err: %s\n", formattedMsg);
FREE_ARRAY(formattedMsg, "temp error string");
}
else
fprintf(File, "Err: %s\n", Msg);
@ -290,10 +267,12 @@ static void DefaultErrMsg(const char *Msg)
#endif
}
static void PostErrorMessage(TranslatedString Format,
/**
*/
static void PostErrorMessage(TranslatedString format,
va_list Arguments)
{
REQUIRE(!Format.isNull());
REQUIRE(!format.isNull());
/*
* Attempt to format the string. Failing that simply use the original format
@ -302,16 +281,16 @@ static void PostErrorMessage(TranslatedString Format,
* previous operation anyway.
*/
Boolean_t cleanUp = TRUE;
char* messageString = vFormatString(Format.c_str(), Arguments);
char* messageString = vFormatString(format.c_str(), Arguments);
if (messageString == NULL)
{
cleanUp = FALSE; // ...this boolean allows us to "carefully" cast away the const'ness
messageString = (char*)Format.c_str();
messageString = const_cast<char*>(format.c_str());
}
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#ifdef MSWIN
#if defined MSWIN
#endif
#if defined UNIXX
#if !defined ENGINE
@ -335,10 +314,10 @@ static void PostErrorMessage(TranslatedString Format,
* queued for display on idle. In batch mode all messages are sent to the
* batch log file.
*/
void vErrMsg(TranslatedString Format,
void vErrMsg(TranslatedString format,
va_list Arguments)
{
REQUIRE(!Format.isNull());
REQUIRE(!format.isNull());
static Boolean_t InErrMsg = FALSE; /* ...used to prevent recursive deadlock */
if (!InErrMsg)
@ -349,7 +328,7 @@ void vErrMsg(TranslatedString Format,
InErrMsg = TRUE;
{
PostErrorMessage(Format, Arguments);
PostErrorMessage(format, Arguments);
}
InErrMsg = FALSE;
@ -360,26 +339,26 @@ void vErrMsg(TranslatedString Format,
}
/**
* Show the error message. Note that the Format string can be the only
* Show the error message. Note that the format string can be the only
* argument, in which case it is essentially the error message itself.
*
* @param Format
* C Format string or a simple message.
* @param format
* C format string or a simple message.
* @param ...
* Zero or more variable arguments. The number of arguments must correspond
* to the placeholders in the format string.
*/
void ErrMsg(TranslatedString Format,
void ErrMsg(TranslatedString format,
...) /* zero or more arguments */
{
REQUIRE(!Format.isNull());
REQUIRE(!format.isNull());
va_list Arguments;
va_start(Arguments, Format);
va_start(Arguments, format);
#if defined TECPLOTKERNEL
/* CORE SOURCE CODE REMOVED */
#else
PostErrorMessage(Format, Arguments);
PostErrorMessage(format, Arguments);
#endif
va_end(Arguments);
}

Some files were not shown because too many files have changed in this diff Show more