From 9c81a37a6260024d5db1f4ad7906de8cb9c4d11e Mon Sep 17 00:00:00 2001 From: Danial Khazaei Date: Thu, 31 Jan 2019 17:20:44 +0330 Subject: [PATCH] CXX-syntax: updated tecio c++ casting style to suppress [-Wold-style-cast] --- .../foamToTecplot360/tecio/Runmake | 109 +- .../tecio/examples/arrow/Makefile | 11 - .../tecio/examples/arrow/arrow.cpp | 77 +- .../tecio/examples/comtest/Makefile | 11 - .../tecio/examples/comtest/comtest.f | 127 +- .../tecio/examples/comtest/comtest.f90 | 126 +- .../tecio/examples/comtest/comtestc.vcproj | 692 +++---- .../tecio/examples/comtest/comtestf.vfproj | 8 +- .../tecio/examples/faceneighbors/Makefile | 11 - .../tecio/examples/gridsolution/Makefile | 11 - .../examples/gridsolution/gridsolution.cpp | 35 +- .../examples/gridsolution/gridsolution.vcproj | 642 +++--- .../tecio/examples/ij_ordered/Makefile | 11 - .../tecio/examples/multiplefiles/Makefile | 11 - .../multiplepolygons/HexagonsAndOctagon.plt | Bin 1480 -> 1480 bytes .../tecio/examples/multiplepolygons/Makefile | 11 - .../multiplepolygons/multiplepolygons.cpp | 108 +- .../tecio/examples/octagon/Makefile | 11 - .../tecio/examples/octagon/octagon.cpp | 21 +- .../tecio/examples/pyramid/Makefile | 11 - .../tecio/examples/pyramid/pyramid.cpp | 18 +- .../tecio/examples/simtest/Makefile | 11 - .../tecio/examples/simtest/simtest.f | 7 +- .../tecio/examples/simtest/simtest.f90 | 2 +- .../tecio/examples/simtest/simtestc.vcproj | 692 +++---- .../tecio/examples/simtest/simtestf.vfproj | 8 +- .../tecio/examples/squares/Makefile | 11 - .../tecio/examples/text/Makefile | 11 - .../foamToTecplot360/tecio/pltview.cpp | 129 +- .../foamToTecplot360/tecio/readme.txt | 39 +- .../foamToTecplot360/tecio/tecsrc/ALLOC.h | 31 +- .../foamToTecplot360/tecio/tecsrc/ARRLIST.h | 453 ++-- .../foamToTecplot360/tecio/tecsrc/AUXDATA.h | 66 +- .../foamToTecplot360/tecio/tecsrc/CHARTYPE.h | 254 +++ .../foamToTecplot360/tecio/tecsrc/DATAIO.h | 24 +- .../foamToTecplot360/tecio/tecsrc/DATAIO4.h | 26 +- .../foamToTecplot360/tecio/tecsrc/DATASET.h | 31 +- .../foamToTecplot360/tecio/tecsrc/DATASET0.h | 88 +- .../foamToTecplot360/tecio/tecsrc/DATASHR.h | 70 - .../foamToTecplot360/tecio/tecsrc/DATAUTIL.h | 28 +- .../foamToTecplot360/tecio/tecsrc/FACE.h | 42 +- .../tecio/tecsrc/FILESTREAM.h | 25 +- .../foamToTecplot360/tecio/tecsrc/GEOM.h | 25 +- .../foamToTecplot360/tecio/tecsrc/GEOM2.h | 25 +- .../foamToTecplot360/tecio/tecsrc/GLOBAL.h | 894 +++++--- .../foamToTecplot360/tecio/tecsrc/INPUT.h | 26 +- .../foamToTecplot360/tecio/tecsrc/MASTER.h | 80 +- .../foamToTecplot360/tecio/tecsrc/Q_MSG.h | 29 +- .../foamToTecplot360/tecio/tecsrc/Q_UNICODE.h | 75 +- .../foamToTecplot360/tecio/tecsrc/SET.h | 108 +- .../foamToTecplot360/tecio/tecsrc/STRLIST.h | 77 +- .../foamToTecplot360/tecio/tecsrc/STRUTIL.h | 36 +- .../foamToTecplot360/tecio/tecsrc/SYSTEM.h | 39 +- .../foamToTecplot360/tecio/tecsrc/TASSERT.h | 203 +- .../foamToTecplot360/tecio/tecsrc/TECIO.h | 23 - .../foamToTecplot360/tecio/tecsrc/TECXXX.h | 53 +- .../foamToTecplot360/tecio/tecsrc/TEXT.h | 25 +- .../tecio/tecsrc/TranslatedString.cpp | 27 +- .../tecio/tecsrc/TranslatedString.h | 25 +- .../foamToTecplot360/tecio/tecsrc/VERSION.h | 26 +- .../foamToTecplot360/tecio/tecsrc/W__BASE.h | 105 - .../foamToTecplot360/tecio/tecsrc/alloc.cpp | 25 +- .../foamToTecplot360/tecio/tecsrc/arrlist.cpp | 445 ++-- .../foamToTecplot360/tecio/tecsrc/auxdata.cpp | 218 +- .../foamToTecplot360/tecio/tecsrc/dataio.cpp | 54 +- .../foamToTecplot360/tecio/tecsrc/dataio4.cpp | 388 ++-- .../foamToTecplot360/tecio/tecsrc/dataset.cpp | 40 +- .../tecio/tecsrc/dataset0.cpp | 258 +-- .../tecio/tecsrc/datautil.cpp | 71 +- .../tecio/tecsrc/filestream.cpp | 25 +- .../foamToTecplot360/tecio/tecsrc/geom2.cpp | 25 +- .../foamToTecplot360/tecio/tecsrc/q_msg.cpp | 97 +- .../tecio/tecsrc/q_unicode.cpp | 71 +- .../foamToTecplot360/tecio/tecsrc/set.cpp | 54 +- .../foamToTecplot360/tecio/tecsrc/stdafx.h | 33 +- .../foamToTecplot360/tecio/tecsrc/strlist.cpp | 1455 ++++++------- .../foamToTecplot360/tecio/tecsrc/strutil.cpp | 101 +- .../foamToTecplot360/tecio/tecsrc/tassert.cpp | 25 +- .../tecio/tecsrc/tecio.vcproj | 1826 +++++++++++++++++ .../foamToTecplot360/tecio/tecsrc/tecxxx.cpp | 941 +++++++-- .../foamToTecplot360/tecio2009.zip | Bin 1314269 -> 0 bytes 81 files changed, 7003 insertions(+), 5160 deletions(-) delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/faceneighbors/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/ij_ordered/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplefiles/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/squares/Makefile delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/text/Makefile create mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/CHARTYPE.h delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASHR.h delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/W__BASE.h create mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecio.vcproj delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio2009.zip diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/Runmake b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/Runmake index 94564a255..b21af93a7 100755 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/Runmake +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/Runmake @@ -1,4 +1,3 @@ -#!/bin/sh MAKEWHAT= EXTRAFLAGS= @@ -8,14 +7,14 @@ skipcompile=n if test $# -ge 1 ; then Platname=$1 shift - while test $# -ge 1 + while test $# -ge 1 do if test "$1" = "-release" ; then isrelease=y 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 + if test $choice -eq 1 ;then + 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,42 +128,45 @@ case $Platname in FINALCFLAGS=-DIBMRS6000X ;; ibmx64.*) CCOMP=xlC - FINALCFLAGS="-DIBMRS6000X -DLONGIS64 -q64" + FINALCFLAGS="-DIBMRS6000X -q64" ARFLAGS="-X64 qv" ;; compaq.51) CCOMP=cxx - FINALCFLAGS="-DCOMPAQX -I/usr/include -ieee_with_inexact" + FINALCFLAGS="-DCOMPAQX -I/usr/include -ieee_with_inexact" ;; decalpha.32)CCOMP=cc - FINALCFLAGS="-DDECALPHAX -I/usr/include -ieee_with_inexact" + 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 - FINALCFLAGS="+DAportable -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1" + FINALCFLAGS="+DAportable -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1" LINKFLAGS="+DAportable" ;; crayc90) CCOMP=cc - FINALCFLAGS="-DCRAY -DUNIXX" + FINALCFLAGS="-DCRAY -DUNIXX" ;; - linux*i64.*)CCOMP=g++ - FINALCFLAGS="-fPIC -DLINUX -DLINUXI64" - ;; - linux*64.*) CCOMP=g++ - FINALCFLAGS="-fPIC -DLINUX -DLINUX64" +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++ + FINALCFLAGS="-fPIC -DLINUX -DLINUX64" ;; linux*) CCOMP=g++ - FINALCFLAGS="-fPIC -DLINUX" + FINALCFLAGS="-fPIC -DLINUX" ;; sun4.54) CCOMP=/opt/SUNWspro/bin/CC FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1" @@ -173,28 +190,28 @@ 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 ARFLAGS="-xar -o" ;; sun86.54) CCOMP=/opt/SUNWspro/bin/CC - FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include" + FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include" MAKECMD=/usr/ccs/bin/make AR=/opt/SUNWspro/bin/CC ARFLAGS="-xar -o" @@ -223,7 +240,7 @@ FINALCFLAGS="$FINALCFLAGS $EXTRAFLAGS -DUSEENUM -DTHREED" # NOTE: Used to use make here but had problems with using remsh to run # make multiple times to get 64 bit and 32 bit versions of libraries.... # -# $MAKECMD $MAKEWHAT AR=$AR CC=$CCOMP LINKFLAGS="$LINKFLAGS" STRIPFLAG=$STRIPFLAG CFLAGS="$EXTRAFLAGS -DUSEENUM -DTHREED $FINALCFLAGS" +# $MAKECMD $MAKEWHAT AR=$AR CC=$CCOMP LINKFLAGS="$LINKFLAGS" STRIPFLAG=$STRIPFLAG CFLAGS="$EXTRAFLAGS -DUSEENUM -DTHREED $FINALCFLAGS" # # # @@ -260,18 +277,18 @@ cd .. pwd -echo "$AR $ARFLAGS tecio.a $OBJLIST" -$AR $ARFLAGS tecio.a $OBJLIST -if test -f /bin/ranlib ; then - /bin/ranlib tecio.a; -elif test -f /usr/bin/ranlib ; then - /usr/bin/ranlib tecio.a; -elif test -f /usr/ucb/ranlib ; then - /usr/ucb/ranlib tecio.a; +echo "$AR $ARFLAGS libtecio.a $OBJLIST" +$AR $ARFLAGS libtecio.a $OBJLIST +if test -f /bin/ranlib ; then + /bin/ranlib libtecio.a; +elif test -f /usr/bin/ranlib ; then + /usr/bin/ranlib libtecio.a; +elif test -f /usr/ucb/ranlib ; then + /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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/Makefile deleted file mode 100644 index 3fa4b11f3..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/arrow.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/arrow.cpp index 432022be5..0fdc9a22e 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/arrow.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/arrow/arrow.cpp @@ -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 @@ -160,21 +155,21 @@ int main() FaceNodeCounts_Rect[ii] = 4; /* The FaceNodes array is used to specify the nodes that compose - * each face. For each face (n of N), the number of nodes used - * to define the face is specified by the nth value in the - * FaceNodeCounts array. For example, if the first value in the - * FaceNodeCounts array is 4 (indicating Face 1 is composed of - * four nodes), the first four values in the FaceNodes array are - * the node numbers of the nodes in Face 1. - * - * ------------ - * WARNING - * When providing the node numbers for each face, you must - * provide the node numbers in a consistent order (either - * clockwise or counter-clockwise. Providing the node numbers - * out of order results in contorted faces. - * ------------ - */ + * each face. For each face (n of N), the number of nodes used + * to define the face is specified by the nth value in the + * FaceNodeCounts array. For example, if the first value in the + * FaceNodeCounts array is 4 (indicating Face 1 is composed of + * four nodes), the first four values in the FaceNodes array are + * the node numbers of the nodes in Face 1. + * + * ------------ + * WARNING + * When providing the node numbers for each face, you must + * provide the node numbers in a consistent order (either + * clockwise or counter-clockwise. Providing the node numbers + * out of order results in contorted faces. + * ------------ + */ INTEGER4 *FaceNodes_Rect = new INTEGER4[TotalNumFaceNodes_Rect]; @@ -202,7 +197,7 @@ int main() FaceNodes_Rect[14] = 7; FaceNodes_Rect[15] = 3; -//Nodes for Face 5 + //Nodes for Face 5 FaceNodes_Rect[16] = 6; FaceNodes_Rect[17] = 2; FaceNodes_Rect[18] = 1; @@ -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,13 +277,10 @@ int main() FaceBndryConnElems_Rect[0] = 1; FaceBndryConnZones_Rect[0] = 2; - I = TECPOLY112(FaceNodeCounts_Rect, - FaceNodes_Rect, - FaceLeftElems_Rect, - FaceRightElems_Rect, - FaceBndryConnCounts_Rect, - FaceBndryConnElems_Rect, - FaceBndryConnZones_Rect); + I = TECPOLYBCONN112(&NumConnBndryFaces_Rect, + FaceBndryConnCounts_Rect, + FaceBndryConnElems_Rect, + FaceBndryConnZones_Rect); /* cleanup */ delete X_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++) @@ -438,7 +433,7 @@ int main() FaceNodes_Prism[13] = 4; FaceNodes_Prism[14] = 6; -//Nodes for Face 5 + //Nodes for Face 5 FaceNodes_Prism[15] = 1; FaceNodes_Prism[16] = 2; FaceNodes_Prism[17] = 3; @@ -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,13 +500,10 @@ int main() FaceBndryConnElems_Prism[1] = 1; FaceBndryConnZones_Prism[1] = 1; - I = TECPOLY112(FaceNodeCounts_Prism, - FaceNodes_Prism, - FaceLeftElems_Prism, - FaceRightElems_Prism, - FaceBndryConnCounts_Prism, - FaceBndryConnElems_Prism, - FaceBndryConnZones_Prism); + I = TECPOLYBCONN112(&NumConnBndryFaces_Prism, + FaceBndryConnCounts_Prism, + FaceBndryConnElems_Prism, + FaceBndryConnZones_Prism); /* cleanup */ delete X_Prism; diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/Makefile deleted file mode 100644 index 2c6009b07..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/Makefile +++ /dev/null @@ -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) diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f index 6e6829a6e..21f2b045f 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f @@ -1,8 +1,8 @@ -C +C C Complex example FORTRAN program to write a C binary data file for Tecplot. This example C does the following: -C +C C 1. Open a data file called "field.plt." C 2. Open a data file called "line.plt." C 3. Assign values for X, Y and P. These will be used @@ -16,12 +16,17 @@ C 8. Write out a text record to "field.plt." C 9. Write out a geometry (circle) record to "field.plt." C 10. Close file 1. C 11. Close file 2. -C +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) + REAL*4 X(4,5), Y(4,5), P(4,5) REAL*8 XL(50), YL(50) REAL*4 XLDummy(1), YLDummy(1) EQUIVALENCE (XLDummy(1), XL(1)) @@ -56,7 +61,7 @@ C NullPtr = 0 C C Open field.plt and write the header information. -C +C I = TECINI112('DATASET WITH 1 ORDERED ZONE, '// & '1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR, & 'X Y P'//NULCHAR, @@ -65,9 +70,9 @@ C & FileType, & Debug, & VIsDouble) -C +C C Open line.plt and write the header information. -C +C VIsDouble = 1 I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR, & 'X Y'//NULCHAR, @@ -77,9 +82,9 @@ C & Debug, & VIsDouble) -C +C C Calculate values for the field variables. -C +C Do 10 J = 1,5 Do 10 I = 1,4 X(I,J) = I @@ -87,15 +92,15 @@ C P(I,J) = I*J 10 Continue -C +C C Make sure writing to file #1. -C +C III = 1 I = TECFIL112(III) -C +C C Write the zone header information for the ordered zone. -C +C IMax = 4 JMax = 5 KMax = 1 @@ -124,31 +129,31 @@ C & Null, ! ShareVarFromZone & 0) ! ShareConnectivityFromZone) -C +C C Write out the field data for the ordered zone. -C +C III = IMax*JMax I = TECDAT112(III,X,DIsDouble) I = TECDAT112(III,Y,DIsDouble) I = TECDAT112(III,P,DIsDouble) -C +C C Calculate values for the I-ordered zone. -C +C Do 20 I = 1,50 XL(I) = I YL(I) = sin(I/20.0) 20 Continue -C +C C Switch to the 'line.plt' file (file number 2) C and write out the line plot data. -C +C III = 2 I = TECFIL112(III) -C +C C Write the zone header information for the XY-data. -C +C IMax = 50 JMax = 1 KMax = 1 @@ -175,18 +180,18 @@ C & Null, & Null, & 0) -C +C C Write out the line plot. -C +C DIsDouble = 1 III = IMax I = TECDAT112(III,XLDummy,DIsDouble) I = TECDAT112(III,YLDummy,DIsDouble) -C +C C Switch back to the field plot file and write out C the finite-element zone. -C +C III = 1 I = TECFIL112(III) C @@ -198,12 +203,12 @@ C Y(I,J) = J P(I,J) = I*J 30 Continue -C +C C Write the zone header information for the finite-element zone. -C - NPts = 20 - NElm = 12 - KMax = 1 +C + NPts = 20 + NElm = 12 + KMax = 1 SolTime = 10.0 StrandID = 2 I = TECZNE112('Finite Zone 1'//NULCHAR, @@ -227,9 +232,9 @@ C & Null, & Null, & 0) -C +C C Write out the field data for the finite-element zone. -C +C IMax = 4 JMax = 5 III = IMax*JMax @@ -238,11 +243,11 @@ C I = TECDAT112(III,Y,DIsDouble) I = TECDAT112(III,P,DIsDouble) -C +C C Calculate and then write out the connectivity list. C Note: The NM array references cells starting with C offset of 1. -C +C Do 40 I = 1,IMax-1 Do 40 J = 1,JMax-1 @@ -348,30 +353,30 @@ C DIsDouble = 0 I = TECDAT112(III,P,DIsDouble) -C +C C Prepare to write out text record. Text is positioned C at 50, 50 in frame units and has a height 5 frame units. -C - XP = 50 - YP = 50 +C + XP = 50 + YP = 50 FH = 5 - Scope = 1 + Scope = 1 Clipping = 0 - PositionCoordSys = 1 - FontType = 1 - HeightUnits = 1 + PositionCoordSys = 1 + FontType = 1 + HeightUnits = 1 AttachToZone = 0 Zone = 0 - BoxType = 0 + BoxType = 0 BoxMargin = 5.0 BoxLineThickness = 0.5 BoxColor = 3 BoxFillColor = 7 TextAngle = 0.0 - Anchor = 0 + Anchor = 0 LineSpacing = 1.5 - TextColor = 0 - + TextColor = 0 + III = TECTXT112(XP, & YP, & 0.0d0, @@ -395,11 +400,11 @@ C & 'Hi Mom'//NULCHAR, & NULCHAR) -C -C Prepare to write out geometry record (circle). Circle is +C +C Prepare to write out geometry record (circle). Circle is C positioned at 25, 25 in frame units and has a radius of 30. C Circle is drawn using a dashed line pattern. -C +C XP = 25 @@ -408,8 +413,8 @@ C IsFilled = 0 Color = 0 FillColor = 7 - GeomType = 2 - LinePattern = 1 + GeomType = 2 + LinePattern = 1 LineThickness = 0.3 PatternLength = 1 NumEllipsePts = 72 @@ -419,12 +424,12 @@ C ArrowheadAngle = 15.0 NumSegments = 1 NumSegPts(1) = 1 - + XGeomData(1) = 30 YGeomData(1) = 0.0 ZGeomData(1) = 0.0 - - + + III = TECGEO112(XP, & YP, & ZP, @@ -451,17 +456,17 @@ C & YGeomData, & ZGeomData, & NULCHAR) - -C + +C C Close out file 1. -C - I = TECEND112() +C + I = TECEND112() -C +C C Close out file 2. -C +C III = 2 I = TECFIL112(III) - I = TECEND112() + I = TECEND112() STOP END diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f90 b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f90 index e4ea70982..56b3d560c 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f90 +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtest.f90 @@ -1,8 +1,8 @@ -! +! ! Complex example FORTRAN program to write a ! binary data file for Tecplot. This example ! does the following: -! +! ! 1. Open a data file called "field.plt." ! 2. Open a data file called "line.plt." ! 3. Assign values for X, Y and P. These will be used @@ -16,19 +16,19 @@ ! 9. Write out a geometry (circle) record to "field.plt." ! 10. Close file 1. ! 11. Close file 2. -! +! Program ComplexTest Include "tecio.f90" - REAL*4 X(4,5), Y(4,5), P(4,5) + REAL*4 X(4,5), Y(4,5), P(4,5) REAL*8 XL(50), YL(50) REAL*4 XLDummy(1), YLDummy(1) EQUIVALENCE (XLDummy(1), XL(1)) EQUIVALENCE (YLDummy(1), YL(1)) REAL*8 SolTime INTEGER*4 Debug,I,J,K,L,III,NPts,NElm,DIsDouble,VIsDouble,FileType - INTEGER*4 IMax,JMax,KMax,NM(4,12) + INTEGER*4 IMax,JMax,KMax,NM(4,12) INTEGER*4 StrandID,ParentZn INTEGER*4 SharingZone(3) REAL*8 XP, YP, ZP, FH, LineSpacing, PatternLength @@ -56,7 +56,7 @@ NullPtr = 0 ! ! Open field.plt and write the header information. -! +! I = TECINI112('DATASET WITH 1 ORDERED ZONE, '// & '1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR, & 'X Y P'//NULCHAR, & @@ -65,9 +65,9 @@ FileType, & Debug, & VIsDouble) -! +! ! Open line.plt and write the header information. -! +! VIsDouble = 1 I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR, & 'X Y'//NULCHAR, & @@ -77,9 +77,9 @@ Debug, & VIsDouble) -! +! ! Calculate values for the field variables. -! +! Do 10 J = 1,5 Do 10 I = 1,4 X(I,J) = I @@ -87,22 +87,22 @@ P(I,J) = I*J 10 Continue -! +! ! Make sure writing to file #1. -! +! III = 1 I = TECFIL112(III) -! +! ! Write the zone header information for the ordered zone. -! +! IMax = 4 JMax = 5 KMax = 1 SolTime = 10.0 StrandID = 1 ParentZn = 0 - I = TECZNE112('Ordered Zone 1'//NULCHAR, & + I = TECZNE112('Ordered Zone 1'//NULCHAR, & 0, & ! ZONETYPE IMax, & JMax, & @@ -124,31 +124,31 @@ Null, & ! ShareVarFromZone 0) ! ShareConnectivityFromZone) -! +! ! Write out the field data for the ordered zone. -! +! III = IMax*JMax I = TECDAT112(III,X,DIsDouble) I = TECDAT112(III,Y,DIsDouble) I = TECDAT112(III,P,DIsDouble) -! +! ! Calculate values for the I-ordered zone. -! +! Do 20 I = 1,50 XL(I) = I YL(I) = sin(I/20.0) 20 Continue -! +! ! Switch to the 'line.plt' file (file number 2) ! and write out the line plot data. -! +! III = 2 I = TECFIL112(III) -! +! ! Write the zone header information for the XY-data. -! +! IMax = 50 JMax = 1 KMax = 1 @@ -175,18 +175,18 @@ Null, & Null, & 0) -! +! ! Write out the line plot. -! +! DIsDouble = 1 III = IMax I = TECDAT112(III,XLDummy,DIsDouble) I = TECDAT112(III,YLDummy,DIsDouble) -! +! ! Switch back to the field plot file and write out ! the finite-element zone. -! +! III = 1 I = TECFIL112(III) ! @@ -198,12 +198,12 @@ Y(I,J) = J P(I,J) = I*J 30 Continue -! +! ! Write the zone header information for the finite-element zone. -! - NPts = 20 - NElm = 12 - KMax = 1 +! + NPts = 20 + NElm = 12 + KMax = 1 SolTime = 10.0 StrandID = 2 I = TECZNE112('Finite Zone 1'//NULCHAR, & @@ -227,9 +227,9 @@ Null, & Null, & 0) -! +! ! Write out the field data for the finite-element zone. -! +! IMax = 4 JMax = 5 III = IMax*JMax @@ -238,11 +238,11 @@ I = TECDAT112(III,Y,DIsDouble) I = TECDAT112(III,P,DIsDouble) -! +! ! Calculate and then write out the connectivity list. ! Note: The NM array references cells starting with ! offset of 1. -! +! Do 40 I = 1,IMax-1 Do 40 J = 1,JMax-1 @@ -348,30 +348,30 @@ DIsDouble = 0 I = TECDAT112(III,P,DIsDouble) -! +! ! Prepare to write out text record. Text is positioned ! at 50, 50 in frame units and has a height 5 frame units. -! - XP = 50 - YP = 50 +! + XP = 50 + YP = 50 FH = 5 - Scope = 1 + Scope = 1 Clipping = 0 - PositionCoordSys = 1 - FontType = 1 - HeightUnits = 1 + PositionCoordSys = 1 + FontType = 1 + HeightUnits = 1 AttachToZone = 0 Zone = 0 - BoxType = 0 + BoxType = 0 BoxMargin = 5.0 BoxLineThickness = 0.5 BoxColor = 3 BoxFillColor = 7 TextAngle = 0.0 - Anchor = 0 + Anchor = 0 LineSpacing = 1.5 - TextColor = 0 - + TextColor = 0 + III = TECTXT112(XP, & YP, & 0.0d0, & @@ -395,11 +395,11 @@ 'Hi Mom'//NULCHAR, & NULCHAR) -! -! Prepare to write out geometry record (circle). Circle is +! +! Prepare to write out geometry record (circle). Circle is ! positioned at 25, 25 in frame units and has a radius of 30. ! Circle is drawn using a dashed line pattern. -! +! XP = 25 @@ -408,8 +408,8 @@ IsFilled = 0 Color = 0 FillColor = 7 - GeomType = 2 - LinePattern = 1 + GeomType = 2 + LinePattern = 1 LineThickness = 0.3 PatternLength = 1 NumEllipsePts = 72 @@ -419,12 +419,12 @@ ArrowheadAngle = 15.0 NumSegments = 1 NumSegPts(1) = 1 - + XGeomData(1) = 30 YGeomData(1) = 0.0 ZGeomData(1) = 0.0 - - + + III = TECGEO112(XP, & YP, & ZP, & @@ -451,17 +451,17 @@ YGeomData, & ZGeomData, & NULCHAR) - -! + +! ! Close out file 1. -! - I = TECEND112() +! + I = TECEND112() -! +! ! Close out file 2. -! +! III = 2 I = TECFIL112(III) - I = TECEND112() + I = TECEND112() STOP END diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestc.vcproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestc.vcproj index 502224310..23da375e8 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestc.vcproj +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestc.vcproj @@ -1,346 +1,346 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestf.vfproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestf.vfproj index dc894475f..14510fbcf 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestf.vfproj +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/comtest/comtestf.vfproj @@ -6,19 +6,19 @@ - + - + - + - + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/faceneighbors/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/faceneighbors/Makefile deleted file mode 100644 index cc8b9bf18..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/faceneighbors/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/Makefile deleted file mode 100644 index d901ed95c..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/Makefile +++ /dev/null @@ -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) diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.cpp index f96035715..03b32e9c3 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.cpp @@ -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; @@ -105,8 +104,8 @@ int main() Z[Count] = Phi + 1.0; Count++; - X[Count] = -X[Count - 1]; - Y[Count] = -Y[Count - 1]; + X[Count] = -X[Count - 1]; + Y[Count] = -Y[Count - 1]; Z[Count] = -Z[Count - 1]; Count++; @@ -115,26 +114,25 @@ int main() Z[Count] = Phi - 1.0; Count++; - X[Count] = -X[Count - 1]; - Y[Count] = -Y[Count - 1]; + X[Count] = -X[Count - 1]; + Y[Count] = -Y[Count - 1]; Z[Count] = -Z[Count - 1]; Count++; } INTEGER4 IsDouble = 1; - + I = TECDAT112(&NumPts, X, &IsDouble); I = TECDAT112(&NumPts, Y, &IsDouble); I = TECDAT112(&NumPts, Z, &IsDouble); - + 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, - FaceNodes, - FaceLeftElems, - FaceRightElems, - NULL, /* No boundary connections. */ - NULL, - NULL); + I = TECPOLYFACE112(&NumFaces, + FaceNodeCounts, + FaceNodes, + FaceLeftElems, + 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,13 +356,12 @@ int main() delete P; delete T; - /* DOCEND */ /* DOCSTART:gridsolution_solution_tecend.txt*/ I = TECEND112(); /* DOCEND */ } - + return 0; } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.vcproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.vcproj index f18aecfae..7e333fd22 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.vcproj +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/gridsolution/gridsolution.vcproj @@ -1,321 +1,321 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/ij_ordered/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/ij_ordered/Makefile deleted file mode 100644 index 90411d11e..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/ij_ordered/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplefiles/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplefiles/Makefile deleted file mode 100644 index d55d2ee04..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplefiles/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/HexagonsAndOctagon.plt b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/HexagonsAndOctagon.plt index 3b4f3042c69b7ea023e8de723b7e40c5b7f6eaf2..90bf00c6dcc9b5126366850bb41ddc3694468479 100644 GIT binary patch delta 26 icmX@XeS&+#9A-wQ$#a>lCkwE!OuoS^u=x%19Yz3pZwU_o delta 22 ecmX@XeS&+#9A-ww$#a>lC*NTf*!+U|0V4olQV3@N diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/Makefile deleted file mode 100644 index d11ec5afd..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/multiplepolygons.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/multiplepolygons.cpp index 25632634f..5b2bc6ffd 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/multiplepolygons.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/multiplepolygons/multiplepolygons.cpp @@ -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. */ @@ -38,12 +38,12 @@ int main() /* TECZNE Parameters */ INTEGER4 ZoneType = 6; /* FE Polygon */ INTEGER4 NumPts_Z1 = 13; /* the number of unique - * nodes in the zone. - */ + * nodes in the zone. + */ INTEGER4 NumElems_Z1 = 3; INTEGER4 NumFaces_Z1 = 15; /* the number of unique - * faces in the zone. - */ + * faces in the zone. + */ INTEGER4 ICellMax = 0; /* not used */ INTEGER4 JCellMax = 0; /* not used */ INTEGER4 KCellMax = 0; /* not used */ @@ -71,13 +71,13 @@ int main() INTEGER4 TotalNumBndryFaces_Z1 = 3; /* Each boundary face has one or more boundary connections. A - * boundary connection is defined as another element in another - * zone. Face 9 has a boundary connection with Element 1 in - * Zone 2. In this example, each boundary face is connected to - * one other element, so the total number of boundary - * connections is equivalent to the total number of boundary - * faces (3). - */ + * boundary connection is defined as another element in another + * zone. Face 9 has a boundary connection with Element 1 in + * Zone 2. In this example, each boundary face is connected to + * one other element, so the total number of boundary + * connections is equivalent to the total number of boundary + * faces (3). + */ INTEGER4 TotalNumBndryConns_Z1 = 3; I = TECZNE112((char*)"Zone 1: 3 Hexagons", /* Specifies the name of @@ -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,31 +315,22 @@ 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, - FaceBndryConnectionCounts_Z1, - FaceBndryConnectionElems_Z1, - FaceBndryConnectionZones_Z1); - - delete FaceNodes_Z1; - delete FaceLeftElems_Z1; - delete FaceRightElems_Z1; - + I = TECPOLYBCONN112(&TotalNumBndryFaces_Z1, + FaceBndryConnectionCounts_Z1, + FaceBndryConnectionElems_Z1, + FaceBndryConnectionZones_Z1); /* DOCEND */ /* Define Zone 2. Zone 2 contains an octagon and a hexagon. */ /* TECZNE Parameters */ /* DOCSTART:hexagons_zone2_teczne.txt*/ INTEGER4 NumPts_Z2 = 12; /* number of unique - * nodes in the zone - */ + * nodes in the zone + */ INTEGER4 NumElems_Z2 = 2; INTEGER4 NumFaces_Z2 = 13; /* number of unique - * faces in the zone - */ + * faces in the zone + */ INTEGER4 NumFaceConnections_Z2 = 0; /* In polygonal zones, each face has exactly two nodes */ INTEGER4 TotalNumFaceNodes_Z2 = NumFaces_Z2 * 2; @@ -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, - FaceBndryConnectionCounts_Z2, - FaceBndryConnectionElems_Z2, - FaceBndryConnectionZones_Z2); - - delete FaceNodes_Z2; - delete FaceLeftElems_Z2; - delete FaceRightElems_Z2; + I = TECPOLYBCONN112(&TotalNumBndryFaces_Z2, + FaceBndryConnectionCounts_Z2, + FaceBndryConnectionElems_Z2, + FaceBndryConnectionZones_Z2); /* DOCEND */ /* DOCSTART:hexagons_tecend.txt*/ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/Makefile deleted file mode 100644 index b1a061516..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/octagon.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/octagon.cpp index c9d64aece..def486c8d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/octagon.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/octagon/octagon.cpp @@ -90,9 +90,9 @@ int main() &NumBConnections, NULL, NULL, /* When Value Location is not specified, - * Tecplot will treat all variables as - * nodal variables. - */ + * Tecplot will treat all variables as + * nodal variables. + */ NULL, &ShrConn); /* DOCEND */ @@ -110,7 +110,7 @@ int main() * It is important that you refer to node numbers consistently. * The node numbers will be used later to define the * connectivity for each element. - */ + */ /* TECDAT Variables */ /* Set up the variable values. The variable values will be @@ -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, - FaceNodes, - FaceLeftElems, - FaceRightElems, - NULL, - NULL, - NULL); + I = TECPOLYFACE112(&NumFaces, + NULL, + FaceNodes, + FaceLeftElems, + FaceRightElems); delete FaceNodes; delete FaceLeftElems; diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/Makefile deleted file mode 100644 index 38cb009fc..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/pyramid.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/pyramid.cpp index 864bb754b..45186a9be 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/pyramid.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/pyramid/pyramid.cpp @@ -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 */ - 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 */ + /* 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 */ delete FaceNodeCounts; delete FaceNodes; @@ -218,5 +215,4 @@ int main() I = TECEND112(); return 0; } - /* DOCEND */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/Makefile deleted file mode 100644 index 9e40ebe34..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/Makefile +++ /dev/null @@ -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) diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f index ce7cbf730..86068c893 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f @@ -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 @@ -44,7 +49,7 @@ C FNMode = 0 ShrConn = 0 C -C... Open the file and write the tecplot datafile +C... Open the file and write the tecplot datafile C... header information. C I = TecIni112('SIMPLE DATASET'//NULLCHR, diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f90 b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f90 index d6c6e62f0..1706de598 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f90 +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtest.f90 @@ -44,7 +44,7 @@ FNMode = 0 ShrConn = 0 ! -!... Open the file and write the tecplot datafile +!... Open the file and write the tecplot datafile !... header information. ! I = TecIni112('SIMPLE DATASET'//NULLCHR, & diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestc.vcproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestc.vcproj index 22a848011..814cc761f 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestc.vcproj +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestc.vcproj @@ -1,346 +1,346 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestf.vfproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestf.vfproj index 2b20da05b..b22235e5a 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestf.vfproj +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/simtest/simtestf.vfproj @@ -7,18 +7,18 @@ - + - + - + - + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/squares/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/squares/Makefile deleted file mode 100644 index 120b910d6..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/squares/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/text/Makefile b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/text/Makefile deleted file mode 100644 index 415b65fd1..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/examples/text/Makefile +++ /dev/null @@ -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) \ No newline at end of file diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/pltview.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/pltview.cpp index a2c60aa9a..2ab9ce959 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/pltview.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/pltview.cpp @@ -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(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, @@ -185,14 +216,15 @@ void ReportFileInfo(char *FName, short IVersion; EntIndex_t NumZones; EntIndex_t NumVars; - char *DataSetTitle = NULL; - StringList_pa VarNames = NULL; - StringList_pa ZoneNames = NULL; - LgIndex_t *NumPtsI = NULL; - LgIndex_t *NumPtsJ = NULL; - LgIndex_t *NumPtsK = NULL; - ZoneType_e *ZoneType = NULL; - StringList_pa UserRec = NULL; + char *DataSetTitle = NULL; + StringList_pa VarNames = NULL; + StringList_pa ZoneNames = NULL; + LgIndex_t *NumPtsI = NULL; + LgIndex_t *NumPtsJ = NULL; + 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); } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/readme.txt b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/readme.txt index 8c6f468b8..70e6531f5 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/readme.txt +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/readme.txt @@ -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 -to read Tecplot binary data files (all versions at or -older than the Tecplot version providing the tecio +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 +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. + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ALLOC.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ALLOC.h index 8ea1db45f..eea2291bb 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ALLOC.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ALLOC.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ****************************************************************** ****************************************************************** ******* ******** -****** (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 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(reinterpret_cast(0xFFFF)); #endif } #define FREE_ARRAY(ptr,str) nonExceptionDelete((ptr)) diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ARRLIST.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ARRLIST.h index 8ee300be5..418f1f286 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ARRLIST.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/ARRLIST.h @@ -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, @@ -85,52 +68,45 @@ typedef enum typedef union { - unsigned char UnsignedChar; - unsigned short UnsignedShort; - unsigned int UnsignedInt; - unsigned long UnsignedLong; - Int64_t Int64; - char Char; - short Short; - int Int; - long Long; - float Float; - double Double; - LgIndex_t LgIndex; - EntIndex_t EntIndex; - SmInteger_t SmInteger; - Boolean_t BBoolean; /* X-Windows uses Boolean */ - ArbParam_t ArbParam; - unsigned char *UnsignedCharPtr; - unsigned short *UnsignedShortPtr; - unsigned int *UnsignedIntPtr; - unsigned long *UnsignedLongPtr; - Int64_t *Int64Ptr; - char *CharPtr; - short *ShortPtr; - int *IntPtr; - long *LongPtr; - float *FloatPtr; - double *DoublePtr; - LgIndex_t *LgIndexPtr; - EntIndex_t *EntIndexPtr; - SmInteger_t *SmIntegerPtr; - Boolean_t *BooleanPtr; - ArbParam_t *ArbParamPtr; - void *VoidPtr; + unsigned char UnsignedChar; + unsigned short UnsignedShort; + unsigned int UnsignedInt; + unsigned long UnsignedLong; + Int64_t Int64; + char Char; + short Short; + int Int; + long Long; + float Float; + double Double; + LgIndex_t LgIndex; + EntIndex_t EntIndex; + SmInteger_t SmInteger; + Boolean_t BBoolean; /* X-Windows uses Boolean */ + ArbParam_t ArbParam; + unsigned char* UnsignedCharPtr; + unsigned short* UnsignedShortPtr; + unsigned int* UnsignedIntPtr; + unsigned long* UnsignedLongPtr; + Int64_t* Int64Ptr; + char* CharPtr; + short* ShortPtr; + int* IntPtr; + long* LongPtr; + float* FloatPtr; + double* DoublePtr; + LgIndex_t* LgIndexPtr; + EntIndex_t* EntIndexPtr; + SmInteger_t* SmIntegerPtr; + Boolean_t* BooleanPtr; + ArbParam_t* ArbParamPtr; + void* VoidPtr; 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 @@ -147,7 +123,7 @@ EXTERN ArrayListItem_u ArrayListNullItem; * TRUE to continue visiting items, otherwise * FALSE to discontinue visiting */ -typedef Boolean_t (*ArrayListItemVisitor_pf)(void *ItemRef, +typedef Boolean_t (*ArrayListItemVisitor_pf)(void* ItemRef, ArbParam_t ClientData); #if 0 /* use this stub as a starting place */ { @@ -155,7 +131,7 @@ typedef Boolean_t (*ArrayListItemVisitor_pf)(void *ItemRef, REQUIRE(VALID_REF(*TypeRef) || *TypeRef == NULL); Boolean_t DoContinue = TRUE; - *TypeRef = ( *)ItemRef; + * TypeRef = static_cast<*>(ItemRef); ENSURE(VALID_BOOLEAN(DoContinue)); return DoContinue; @@ -200,8 +176,8 @@ typedef ArrayListItemVisitor_pf ArrayListItemDestructor_pf; * is the client's responsibility to cleanup any * partial duplication */ -typedef Boolean_t (*ArrayListItemDuplicator_pf)(void *TargetItemRef, - void *SourceItemRef, +typedef Boolean_t (*ArrayListItemDuplicator_pf)(void* TargetItemRef, + void* SourceItemRef, ArbParam_t ClientData); #if 0 /* use this stub as a starting place */ { @@ -210,8 +186,8 @@ typedef Boolean_t (*ArrayListItemDuplicator_pf)(void *TargetItemRef, REQUIRE(VALID_REF(*SourceTypeRef) || *SourceTypeRef == NULL); Boolean_t IsOk = TRUE; - *TargetTypeRef = ( *)TargetItemRef; - *SourceTypeRef = ( *)SourceItemRef; + * TargetTypeRef = static_cast<*>(TargetItemRef); + * SourceTypeRef = static_cast<*>(SourceItemRef); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; @@ -260,7 +236,7 @@ typedef LgIndex_t (*ArrayListCapacityRequestAdjuster_pf)(ArrayList_pa ArrayList, /* private ArrayList structure: only exposed so STRUTIL can use it */ typedef struct _ArrayList_s { - char *Array; /* byte array for holding the items */ + char* Array; /* byte array for holding the items */ ArrayListType_e Type; /* type of array items */ SmInteger_t ItemSize; /* byte size of an individual item */ LgIndex_t Count; /* number of items in the array */ @@ -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); -EXTERN void ArrayListDealloc(ArrayList_pa *ArrayList, - ArrayListItemDestructor_pf ItemDestructor, - ArbParam_t ClientData); + ArrayListCapacityRequestAdjuster_pf CapacityRequestAdjuster = 0, + ArbParam_t CapacityRequestAdjusterClientData = 0); +EXTERN void ArrayListDealloc(ArrayList_pa* ArrayList, + 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); -EXTERN void *ArrayListToArray(ArrayList_pa ArrayList, + 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, +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); +EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList, + ArrayListItem_u Item, + ArrayListItemComparator_pf Comparator, + ArbParam_t ClientData, + LgIndex_t* ItemIndex = 0); #if defined USE_MACROS_FOR_FUNCTIONS /** @@ -429,76 +403,76 @@ EXTERN Boolean_t ArrayListBSearch(ArrayList_pa ArrayList, # define ArrayListGetSmInteger(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t) # define ArrayListGetBoolean(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t) # define ArrayListGetArbParam(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t) -# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned char *) -# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned short *) -# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned int *) -# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned long *) -# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Int64_t *) -# define ArrayListGetCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, char *) -# define ArrayListGetShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, short *) -# define ArrayListGetIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, int *) -# define ArrayListGetLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, long *) -# define ArrayListGetFloatPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, float *) -# define ArrayListGetDoublePtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, double *) -# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, LgIndex_t *) -# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, EntIndex_t *) -# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t *) -# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t *) -# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t *) -# define ArrayListGetVoidPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, void *) +# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned char*) +# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned short*) +# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned int*) +# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, unsigned long*) +# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Int64_t*) +# define ArrayListGetCharPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, char*) +# define ArrayListGetShortPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, short*) +# define ArrayListGetIntPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, int*) +# define ArrayListGetLongPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, long*) +# define ArrayListGetFloatPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, float*) +# define ArrayListGetDoublePtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, double*) +# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, LgIndex_t*) +# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, EntIndex_t*) +# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, SmInteger_t*) +# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, Boolean_t*) +# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, ArbParam_t*) +# define ArrayListGetVoidPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, void*) # define ArrayListGetFunctionPtr(ArrayList, ItemOffset) ArrayListGetTypedItem(ArrayList, ItemOffset, (**)(void)) #else # define ArrayListGetInternalRef ArrayListGetInternalRef_FUNC # 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(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedShort(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedInt(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedLong(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetInt64(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetChar(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetShort(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetInt(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetLong(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetFloat(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetDouble(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetLgIndex(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetEntIndex(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetSmInteger(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetBoolean(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetArbParam(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedCharPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedShortPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedIntPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetUnsignedLongPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetInt64Ptr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetCharPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetShortPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetIntPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetLongPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetFloatPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetDoublePtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetLgIndexPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetEntIndexPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetSmIntegerPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetBooleanPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetArbParamPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetVoidPtr(ArrayList, ItemOffset) (*(static_cast(const_cast(ArrayListGetItemInternalRef_FUNC(ArrayList, ItemOffset))))) +# define ArrayListGetFunctionPtr(ArrayList, ItemOffset) (*(static_cast<**(void)*>(const_cast(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((ArrayList)->Array) +#define ArrayListGetItemInternalRef_MACRO(ArrayList, ItemOffset) static_cast(&((ArrayList)->Array[(ItemOffset)*(ArrayList)->ItemSize])) #define ArrayListGetCount_MACRO(ArrayList) ((ArrayList)->Count) -#define ArrayListGetTypedArrayRef(ArrayList, NativeType) ((NativeType *)((ArrayList)->Array)) +#define ArrayListGetTypedArrayRef(ArrayList, NativeType) reinterpret_cast((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 */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/AUXDATA.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/AUXDATA.h index 652d7ba24..19822a2dd 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/AUXDATA.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/AUXDATA.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** - ****** Copyright (C) 1988-2008 Tecplot, Inc. ******* + ****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** @@ -42,6 +19,27 @@ # define EXTERN extern #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,12 +76,12 @@ EXTERN Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData, LgIndex_t *ItemIndex); /** */ -EXTERN void AuxDataGetItemByIndex(AuxData_pa AuxData, - LgIndex_t Index, - const char **Name, - ArbParam_t *Value, - AuxDataType_e *Type, - Boolean_t *Retain); +LIBFUNCTION void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData, + LgIndex_t Index, + const char **Name, + ArbParam_t *Value, + AuxDataType_e *Type, + Boolean_t *Retain); /** */ @@ -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); diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/CHARTYPE.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/CHARTYPE.h new file mode 100644 index 000000000..8c138d330 --- /dev/null +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/CHARTYPE.h @@ -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 +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::space, static_cast(ch)); + #endif +} + +/** + * Same as std::isprint() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::print, static_cast(ch)); + #endif +} + +/** + * Same as std::iscntrl() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::cntrl, static_cast(ch)); + #endif +} + +/** + * Same as std::isupper() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::upper, static_cast(ch)); + #endif +} + +/** + * Same as std::islower() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::lower, static_cast(ch)); + #endif +} + +/** + * Same as std::isalpha() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::alpha, static_cast(ch)); + #endif +} + +/** + * Same as std::isdigit() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::digit, static_cast(ch)); + #endif +} + +/** + * Same as std::ispunct() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::punct, static_cast(ch)); + #endif +} + +/** + * Same as std::isxdigit() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::xdigit, static_cast(ch)); + #endif +} + +/** + * Same as std::isalnum() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::alnum, static_cast(ch)); + #endif +} + +/** + * Same as std::isgraph() with the classic default C locale for portable + * comparisons. + */ +template +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(ch)); + #else + REQUIRE(std::has_facet >(loc)); + return std::use_facet >(loc).is(std::ctype_base::graph, static_cast(ch)); + #endif +} + +/** + * Same as std::toupper() with the classic default C locale for portable + * comparisons. + */ +template +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(::toupper(static_cast(ch))); + #else + REQUIRE(std::has_facet >(loc)); + return static_cast( + std::use_facet >(loc).toupper(static_cast(ch))); + #endif +} + +/** + * Same as std::tolower() with the classic default C locale for portable + * comparisons. + */ +template +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(::tolower(static_cast(ch))); + #else + REQUIRE(std::has_facet >(loc)); + return static_cast( + std::use_facet >(loc).tolower(static_cast(ch))); + #endif +} + +} + +#endif + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO.h index 49ad0df58..ffad2dc50 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO.h @@ -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, diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO4.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO4.h index 467ca65ba..5bf968fd1 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO4.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAIO4.h @@ -1,33 +1,10 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ #ifndef 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, diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET.h index 37ef3cc01..99dfe7934 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET.h @@ -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(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(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(ArrayListGetVoidPtr(StrandInfoList,StrandID))) #if defined TECPLOTKERNEL diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET0.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET0.h index 5bae65ce3..c299ff23e 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET0.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASET0.h @@ -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); @@ -64,22 +42,23 @@ EXTERN void OutOfMemoryMsg(void); struct _FieldData_a { void *Data; /* ...placed first in the structure for fastest access */ -# if defined TECPLOTKERNEL + #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ -# else + #else void *GetValueCallback[1]; /* ...this field is for TecIO only */ void *SetValueCallback[1]; /* ...this field is for TecIO only */ -# endif + #endif /* PRIVATE */ FieldDataType_e Type; ValueLocation_e ValueLocation; - LgIndex_t RefCount; - LgIndex_t VarShareRefCount; - LgIndex_t NumValues; -# if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */ + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */ /* CORE SOURCE CODE REMOVED */ -# endif + #endif + LgIndex_t NumValues; + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet. */ +/* CORE SOURCE CODE REMOVED */ + #endif }; @@ -119,8 +98,8 @@ struct _FieldData_a #if defined TECPLOTKERNEL /* 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((FieldData)->GetValueCallback[0])) +#define GetFieldDataSetFunction_MACRO(FieldData) (reinterpret_cast((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((FieldData)->Data)) +#define GetFieldDataFloatRevPtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataDoublePtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataDoubleRevPtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt64Ptr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt64RevPtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt32Ptr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt32RevPtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt16Ptr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataInt16RevPtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataBytePtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldData2BytePtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldData4BytePtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldData8BytePtr_MACRO(FieldData) (static_cast((FieldData)->Data)) +#define GetFieldDataVoidPtr_MACRO(FieldData) (static_cast((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 */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASHR.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASHR.h deleted file mode 100644 index 776440947..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATASHR.h +++ /dev/null @@ -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 */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAUTIL.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAUTIL.h index e76c977ca..24f2d5fe8 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAUTIL.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/DATAUTIL.h @@ -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); diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FACE.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FACE.h index 487b1c6c7..87b3cf3d4 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FACE.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FACE.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ****************************************************************** ****************************************************************** ******* ******** -****** (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); diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FILESTREAM.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FILESTREAM.h index 65b6f5b93..af6578ef9 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FILESTREAM.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/FILESTREAM.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** - ****** Copyright (C) 1988-2008 Tecplot, Inc. ******* + ****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM.h index e470744c6..88e1cba28 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM2.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM2.h index 0a8078e96..55ab64aa5 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM2.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GEOM2.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GLOBAL.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GLOBAL.h index 6c467de12..526c377a0 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GLOBAL.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/GLOBAL.h @@ -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/ - * - */ /* BEGINREMOVEFROMADDON */ /* NOTE: All code contained between comments that look like * BEGINREMOVEFROMADDON @@ -33,7 +10,7 @@ ****************************************************************** ****************************************************************** ******* ******** -****** (C) 1988-2008 Tecplot, Inc. ******* +****** (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -95,8 +72,8 @@ #undef TRUNC #endif -#define TRUE ((Boolean_t)1) -#define FALSE ((Boolean_t)0) +#define TRUE (static_cast(1)) +#define FALSE (static_cast(0)) /**************************************************************** * * @@ -107,11 +84,11 @@ #define MAX(X,Y) ((X) > (Y) ? (X) : (Y) ) #define MIN(X,Y) ((X) < (Y) ? (X) : (Y) ) #define BESTSHOWCOLOR(X) ((X) == White_C ? Black_C : White_C) -#define ROUND_TO_BYTE(X) ((BYTE)((X)+0.499)) -#define ROUNDS(X) ((short)((X)+0.499)) -#define ROUNDL(X) ((LgIndex_t)((X)+0.499)) -#define ROUND2(X) ((X) >= 0 ? ((int)((X)+0.499)) : ((int)((X)-0.499))) -#define TRUNC(X) ((short) (X)) +#define ROUND_TO_BYTE(X) (static_cast((X)+0.499)) +#define ROUNDS(X) (static_cast((X)+0.499)) +#define ROUNDL(X) (static_cast((X)+0.499)) +#define ROUND2(X) ((X) >= 0 ? (static_cast((X)+0.499)) : (static_cast((X)-0.499))) +#define TRUNC(X) (static_cast((X))) #define RAD_TO_DEG(rad) (180.*(rad)/PI) #define DEG_TO_RAD(deg) (PI*(deg)/180.) @@ -122,7 +99,7 @@ #if defined TECPLOTKERNEL && defined MSWIN /* CORE SOURCE CODE REMOVED */ #else -#define ISEMPTYSTRING(S) ( ((const char*)(S))[0] == '\0' ) +#define ISEMPTYSTRING(S) ( (static_cast((S)))[0] == '\0' ) #endif #define ISWHITESPACE(C) ((C == ' ') || (C == '\t') || (C == '\n')) @@ -130,7 +107,7 @@ /* clamp the input to the specified range */ #define CLAMP(value,low,high) ((value)<(low) ? (low) : (value) > (high) ? (high) : (value)) /* integer division rounds any fraction up (for example n=16,d=3 results in 6) */ -#define INTEGER_DIVIDE_AND_ROUND_UP(n, d) (((int)(n)+(int)(d)-1)/(int)(d)) +#define INTEGER_DIVIDE_AND_ROUND_UP(n, d) ((static_cast(n)+static_cast(d)-1)/static_cast(d)) /* BEGINREMOVEFROMADDON */ /** @@ -188,7 +165,7 @@ /* */ #define SWITCH(Type,A,B) do {Type T = (A); (A) = (B); (B) = T;} while (FALSE) #define SWITCH_DOUBLES(A,B) SWITCH(double, (A), (B)) -#define FPRINTFOK(x) (Boolean_t)((x) > 0) +#define FPRINTFOK(x) static_cast((x) > 0) #define GRAPHICSARE3D(F) ((F->PlotType == PlotType_Cartesian3D)) /* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */ @@ -199,7 +176,7 @@ #if defined UNUSED #undef UNUSED #endif -#define UNUSED(param) (void)param +#define UNUSED(param) static_cast(param) /** * Converts a double into a float value @@ -210,15 +187,15 @@ #define CONVERT_DOUBLE_TO_FLOAT(val) \ ( (val) >= SMALLFLOAT \ ? ( (val) < LARGEFLOAT \ - ? (float)(val) \ - : (float)LARGEFLOAT \ + ? static_cast((val)) \ + : static_cast(LARGEFLOAT) \ ) \ : ( (val) <= -SMALLFLOAT \ ? ( (val) > -LARGEFLOAT \ - ? (float)(val) \ - : (float)-LARGEFLOAT \ + ? static_cast((val)) \ + : static_cast(-LARGEFLOAT) \ ) \ - : (float)0.0 \ + : static_cast(0.0) \ ) \ ) @@ -232,15 +209,15 @@ #define CLAMP_DOUBLE(val) \ ( (val) >= SMALLDOUBLE \ ? ( (val) < LARGEDOUBLE \ - ? (double)(val) \ - : (double)LARGEDOUBLE \ + ? static_cast((val)) \ + : static_cast(LARGEDOUBLE) \ ) \ : ( (val) <= -SMALLDOUBLE \ ? ( (val) > -LARGEDOUBLE \ - ? (double)(val) \ - : (double)-LARGEDOUBLE \ + ? static_cast((val)) \ + : static_cast(-LARGEDOUBLE) \ ) \ - : (double)0.0 \ + : static_cast(0.0) \ ) \ ) @@ -254,15 +231,15 @@ #define CONVERT_DOUBLE_TO_INT32(val) \ ( (val) >= 1.0 \ ? ( (val) < MAXINT32 \ - ? (Int32_t)(val) \ - : (Int32_t)MAXINT32 \ + ? static_cast((val)) \ + : static_cast(MAXINT32) \ ) \ : ( (val) <= -1.0 \ - ? ( (val) > (Int32_t)-MAXINT32 \ - ? (Int32_t)(val) \ - : (Int32_t)-MAXINT32 \ + ? ( (val) > static_cast(-MAXINT32) \ + ? static_cast((val)) \ + : static_cast(-MAXINT32) \ ) \ - : (Int32_t)0.0 \ + : static_cast(0.0) \ ) \ ) @@ -276,15 +253,15 @@ #define CONVERT_DOUBLE_TO_INT16(val) \ ( (val) >= 1.0 \ ? ( (val) < MAXINT16 \ - ? (Int16_t)(val) \ - : (Int16_t)MAXINT16 \ + ? static_cast((val)) \ + : static_cast(MAXINT16) \ ) \ : ( (val) <= -1.0 \ - ? ( (val) > (Int16_t)-MAXINT16 \ - ? (Int16_t)(val) \ - : (Int16_t)-MAXINT16 \ + ? ( (val) > static_cast(-MAXINT16) \ + ? static_cast((val)) \ + : static_cast(-MAXINT16) \ ) \ - : (Int16_t)0.0 \ + : static_cast(0.0) \ ) \ ) @@ -301,8 +278,8 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[0]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[1]; \ } while (FALSE) /** @@ -318,8 +295,8 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[1]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[0]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[1]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[0]; \ } while (FALSE) /** @@ -335,10 +312,10 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \ - ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \ - ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[0]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[1]; \ + (reinterpret_cast((DstBuffer)))[2] = (reinterpret_cast((SrcBuffer)))[2]; \ + (reinterpret_cast((DstBuffer)))[3] = (reinterpret_cast((SrcBuffer)))[3]; \ } while (FALSE) /** @@ -354,10 +331,10 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[3]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[2]; \ - ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[1]; \ - ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[0]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[3]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[2]; \ + (reinterpret_cast((DstBuffer)))[2] = (reinterpret_cast((SrcBuffer)))[1]; \ + (reinterpret_cast((DstBuffer)))[3] = (reinterpret_cast((SrcBuffer)))[0]; \ } while (FALSE) /** @@ -373,14 +350,14 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \ - ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \ - ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \ - ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[4]; \ - ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[5]; \ - ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[6]; \ - ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[7]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[0]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[1]; \ + (reinterpret_cast((DstBuffer)))[2] = (reinterpret_cast((SrcBuffer)))[2]; \ + (reinterpret_cast((DstBuffer)))[3] = (reinterpret_cast((SrcBuffer)))[3]; \ + (reinterpret_cast((DstBuffer)))[4] = (reinterpret_cast((SrcBuffer)))[4]; \ + (reinterpret_cast((DstBuffer)))[5] = (reinterpret_cast((SrcBuffer)))[5]; \ + (reinterpret_cast((DstBuffer)))[6] = (reinterpret_cast((SrcBuffer)))[6]; \ + (reinterpret_cast((DstBuffer)))[7] = (reinterpret_cast((SrcBuffer)))[7]; \ } while (FALSE) /** @@ -396,14 +373,14 @@ do { \ /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \ /* most likely single byte pointers into unaligned blocks of data */ \ - ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[7]; \ - ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[6]; \ - ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[5]; \ - ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[4]; \ - ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[3]; \ - ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[2]; \ - ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[1]; \ - ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[0]; \ + (reinterpret_cast((DstBuffer)))[0] = (reinterpret_cast((SrcBuffer)))[7]; \ + (reinterpret_cast((DstBuffer)))[1] = (reinterpret_cast((SrcBuffer)))[6]; \ + (reinterpret_cast((DstBuffer)))[2] = (reinterpret_cast((SrcBuffer)))[5]; \ + (reinterpret_cast((DstBuffer)))[3] = (reinterpret_cast((SrcBuffer)))[4]; \ + (reinterpret_cast((DstBuffer)))[4] = (reinterpret_cast((SrcBuffer)))[3]; \ + (reinterpret_cast((DstBuffer)))[5] = (reinterpret_cast((SrcBuffer)))[2]; \ + (reinterpret_cast((DstBuffer)))[6] = (reinterpret_cast((SrcBuffer)))[1]; \ + (reinterpret_cast((DstBuffer)))[7] = (reinterpret_cast((SrcBuffer)))[0]; \ } while (FALSE) /** @@ -414,17 +391,17 @@ */ #define REVERSE_2_BYTES_1_AT_A_TIME(Buffer) \ do { \ - Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \ + Byte_t Byte0 = (reinterpret_cast((Buffer)))[0]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \ - ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[1]; \ - ((Byte_t *)(Buffer))[1] = Byte0; \ + (reinterpret_cast((Buffer)))[0] = (reinterpret_cast((Buffer)))[1]; \ + (reinterpret_cast((Buffer)))[1] = Byte0; \ } while (FALSE) #define REVERSE_2_BYTES_2_AT_A_TIME(Buffer) \ do { \ - UInt16_t data_bits = ((UInt16_t *)(Buffer))[0]; \ + UInt16_t data_bits = (reinterpret_cast((Buffer)))[0]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \ - ((UInt16_t *)(Buffer))[0] = (((data_bits)<<8) | \ + (reinterpret_cast((Buffer)))[0] = (((data_bits)<<8) | \ ((data_bits&0xff))); \ } while (FALSE) @@ -458,20 +435,20 @@ */ #define REVERSE_4_BYTES_1_AT_A_TIME(Buffer) \ do { \ - Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \ - Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \ + Byte_t Byte0 = (reinterpret_cast((Buffer)))[0]; \ + Byte_t Byte1 = (reinterpret_cast((Buffer)))[1]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \ - ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[3]; \ - ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[2]; \ - ((Byte_t *)(Buffer))[2] = Byte1; \ - ((Byte_t *)(Buffer))[3] = Byte0; \ + (reinterpret_cast((Buffer)))[0] = (reinterpret_cast((Buffer)))[3]; \ + (reinterpret_cast((Buffer)))[1] = (reinterpret_cast((Buffer)))[2]; \ + (reinterpret_cast((Buffer)))[2] = Byte1; \ + (reinterpret_cast((Buffer)))[3] = Byte0; \ } while (FALSE) #define REVERSE_4_BYTES_4_AT_A_TIME(Buffer) \ do { \ - UInt32_t data_bits = *((UInt32_t *)(Buffer)); \ + UInt32_t data_bits = *(reinterpret_cast((Buffer))); \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \ - *((UInt32_t *)(Buffer)) = (((data_bits)<<24) | \ + *(reinterpret_cast((Buffer))) = (((data_bits)<<24) | \ ((data_bits&0x0000ff00)<<8) | \ ((data_bits&0x00ff0000)>>8) | \ ((data_bits)>>24)); \ @@ -495,48 +472,48 @@ */ #define REVERSE_8_BYTES_1_AT_A_TIME(Buffer) \ do { \ - Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \ - Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \ - Byte_t Byte2 = ((Byte_t *)(Buffer))[2]; \ - Byte_t Byte3 = ((Byte_t *)(Buffer))[3]; \ + Byte_t Byte0 = (reinterpret_cast((Buffer)))[0]; \ + Byte_t Byte1 = (reinterpret_cast((Buffer)))[1]; \ + Byte_t Byte2 = (reinterpret_cast((Buffer)))[2]; \ + Byte_t Byte3 = (reinterpret_cast((Buffer)))[3]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \ - ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[7]; \ - ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[6]; \ - ((Byte_t *)(Buffer))[2] = ((Byte_t *)(Buffer))[5]; \ - ((Byte_t *)(Buffer))[3] = ((Byte_t *)(Buffer))[4]; \ - ((Byte_t *)(Buffer))[4] = Byte3; \ - ((Byte_t *)(Buffer))[5] = Byte2; \ - ((Byte_t *)(Buffer))[6] = Byte1; \ - ((Byte_t *)(Buffer))[7] = Byte0; \ + (reinterpret_cast((Buffer)))[0] = (reinterpret_cast((Buffer)))[7]; \ + (reinterpret_cast((Buffer)))[1] = (reinterpret_cast((Buffer)))[6]; \ + (reinterpret_cast((Buffer)))[2] = (reinterpret_cast((Buffer)))[5]; \ + (reinterpret_cast((Buffer)))[3] = (reinterpret_cast((Buffer)))[4]; \ + (reinterpret_cast((Buffer)))[4] = Byte3; \ + (reinterpret_cast((Buffer)))[5] = Byte2; \ + (reinterpret_cast((Buffer)))[6] = Byte1; \ + (reinterpret_cast((Buffer)))[7] = Byte0; \ } while (FALSE) #define REVERSE_8_BYTES_2_AT_A_TIME(Buffer) \ do { \ - UInt16_t data_bits_0 = ((UInt16_t *)(Buffer))[0]; \ - UInt16_t data_bits_1 = ((UInt16_t *)(Buffer))[1]; \ - UInt16_t data_bits_2 = ((UInt16_t *)(Buffer))[2]; \ - UInt16_t data_bits_3 = ((UInt16_t *)(Buffer))[3]; \ + UInt16_t data_bits_0 = (reinterpret_cast((Buffer)))[0]; \ + UInt16_t data_bits_1 = (reinterpret_cast((Buffer)))[1]; \ + UInt16_t data_bits_2 = (reinterpret_cast((Buffer)))[2]; \ + UInt16_t data_bits_3 = (reinterpret_cast((Buffer)))[3]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \ - ((UInt16_t *)(Buffer))[0] = (((data_bits_3)<<8) | \ + (reinterpret_cast((Buffer)))[0] = (((data_bits_3)<<8) | \ ((data_bits_3&0xff))); \ - ((UInt16_t *)(Buffer))[1] = (((data_bits_2)<<8) | \ + (reinterpret_cast((Buffer)))[1] = (((data_bits_2)<<8) | \ ((data_bits_2&0xff))); \ - ((UInt16_t *)(Buffer))[2] = (((data_bits_1)<<8) | \ + (reinterpret_cast((Buffer)))[2] = (((data_bits_1)<<8) | \ ((data_bits_1&0xff))); \ - ((UInt16_t *)(Buffer))[3] = (((data_bits_0)<<8) | \ + (reinterpret_cast((Buffer)))[3] = (((data_bits_0)<<8) | \ ((data_bits_0&0xff))); \ } while (FALSE) #define REVERSE_8_BYTES_4_AT_A_TIME(Buffer) \ do { \ - UInt32_t data_bits_0 = ((UInt32_t *)(Buffer))[0]; \ - UInt32_t data_bits_1 = ((UInt32_t *)(Buffer))[1]; \ + UInt32_t data_bits_0 = (reinterpret_cast((Buffer)))[0]; \ + UInt32_t data_bits_1 = (reinterpret_cast((Buffer)))[1]; \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \ - ((UInt32_t *)(Buffer))[0] = (((data_bits_1)<<24) | \ + (reinterpret_cast((Buffer)))[0] = (((data_bits_1)<<24)| \ ((data_bits_1&0x0000ff00)<<8) | \ ((data_bits_1&0x00ff0000)>>8) | \ ((data_bits_1)>>24)); \ - ((UInt32_t *)(Buffer))[1] = (((data_bits_0)<<24) | \ + (reinterpret_cast((Buffer)))[1] = (((data_bits_0)<<24)| \ ((data_bits_0&0x0000ff00)<<8) | \ ((data_bits_0&0x00ff0000)>>8) | \ ((data_bits_0)>>24)); \ @@ -544,9 +521,9 @@ #define REVERSE_8_BYTES_8_AT_A_TIME(Buffer) \ do { \ - UInt64_t data_bits = *((UInt64_t *)(Buffer)); \ + UInt64_t data_bits = *(reinterpret_cast((Buffer))); \ CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \ - *((UInt64_t *)(Buffer)) = (((data_bits)<<56) | \ + *(reinterpret_cast((Buffer))) = (((data_bits)<<56) | \ ((data_bits&0x000000000000ff00)<<40) | \ ((data_bits&0x0000000000ff0000)<<24) | \ ((data_bits&0x00000000ff000000)<<8) | \ @@ -586,7 +563,7 @@ #endif /* __cplusplus */ #if defined MSWIN -#if defined AMTEC_INTERNAL_MAKELIBTEC || defined TECPLOTKERNEL +#if defined AMTEC_INTERNAL_MAKELIBTEC || defined TECPLOTKERNEL || defined ENGINE_INTERNAL_EXPORT /* CORE SOURCE CODE REMOVED */ # else # define TECPLOT_DLLAPI _declspec ( dllimport ) @@ -645,11 +622,12 @@ #if defined DECALPHA || \ defined LINUXALPHA || \ - defined LINUXI64 || \ defined LINUX64 || \ defined MAC64 || \ - defined COMPAQALPHA || \ - defined darwin + defined IBMRS6000 || \ + defined SUN || \ + defined HP || \ + defined COMPAQALPHA #define LONGIS64 #endif @@ -658,7 +636,7 @@ * HARD CONSTANTS * * * ****************************************************************/ -#define LARGEMEMORY ((size_t)-1) +#define LARGEMEMORY (static_cast(-1)) /* BEGINREMOVEFROMADDON */ /* Tclinterp add-on barfs on these huge integer constants */ @@ -672,14 +650,14 @@ /* BEGINREMOVEFROMADDON */ #define LARGEUINT64 18446744073709551614ULL /* ENDREMOVEFROMADDON */ -#define LARGEUINT32 4294967294 -#define LARGEUINT16 65534 -#define LARGEUINT8 254 +#define LARGEUINT32 4294967294U +#define LARGEUINT16 65534U +#define LARGEUINT8 254U #ifdef INDEX_16_BIT -#define MAXINDEX ((LgIndex_t)LARGEINT16) +#define MAXINDEX (static_cast(LARGEINT16)) #else -#define MAXINDEX ((LgIndex_t)LARGEINT32) +#define MAXINDEX (static_cast(LARGEINT32)) #endif #define MAXZONEMAP MAXINDEX #define LARGEDOUBLE 1.0e+150 @@ -723,7 +701,7 @@ #define FONTMOVEMARK 192 #define FONTDECISIONMARK 128 #define FONTLINEMARK 64 -#define BAD_SET_VALUE ((SetIndex_t)-1) +#define BAD_SET_VALUE (static_cast(-1)) #define MENU_POSITION_FIRST (0) #define MENU_POSITION_LAST (-1) #define INVALID_UNIQUE_ID 0 @@ -744,6 +722,8 @@ */ #define MAX_ALLOWABLE_CLIPPASSES 1 #define MAX_ALLOWABLE_CLIPPLANES 6 +#define INVALID_CLIP_PLANE -1 +#define VALID_CLIP_PLANE(clipPlane) (0 <= clipPlane && clipPlane < MAX_ALLOWABLE_CLIPPLANES) /* BEGINREMOVEFROMADDON */ #if defined TECPLOTKERNEL @@ -774,31 +754,22 @@ * new versions. For a trivial example of this, see FileTypeWriterInterface and its * associated factory and concrete classes. */ -#define TecplotBinaryFileVersion 112 -#define TecplotInterfaceVersion 120 -#define TecplotInterfaceVersionStr "120" /* stay in lockstep with TecplotInterfaceVersion */ -#if defined FLEXLM -#define TecplotLicenseVersion 119 /* may vary from TecplotInterfaceVersion */ -#define TecplotLicenseVersionStr "11.9" /* stay in lockstep with TecplotLicenseVersion */ -#else /* FLEXLM */ -#define TecplotLicenseVersion 120 /* may vary from TecplotInterfaceVersion */ -#define TecplotLicenseVersionStr "12.0" /* stay in lockstep with TecplotLicenseVersion */ -#endif /* FLEXLM */ -/* Also change the macro version number in COMMAND.MASTER.h */ +#define TecplotBinaryFileVersion 112 /* NOTE: only change this when we change the binary file format */ -#define MaxNumZonesOrVars MAXZONEMAP -#define MaxXAxes 5 -#define MaxYAxes 5 -#define MaxGeoSegments 50 -#define MaxPtsCircleOrEllipse 720 -#define MaxFrames 2048 -#define MaxCustomLabelSets 10 -#define MaxFontMoves 20000 -#define MaxColorMapOverrides 16 -#define MaxValueBlankConstraints 8 -#define MaxContourGroups 8 -#define MaxIsoSurfaceGroups 8 -#define MaxSliceGroups 8 +#define MaxNumZonesOrVars MAXZONEMAP +#define MaxXAxes 5 +#define MaxYAxes 5 +#define MaxGeoSegments 50 +#define MaxPtsCircleOrEllipse 720 +#define MaxFrames 2048 +#define MaxCustomLabelSets 10 +#define MaxFontMoves 20000 +#define MaxColorMapOverrides 16 +#define MaxValueBlankConstraints 8 +#define MaxContourGroups 8 +#define MaxIsoSurfaceGroups 8 +#define MaxIsoSurfaceSpecificLevels 3 +#define MaxSliceGroups 8 #define MaxColorMapGroups 8 #define DefaultNumContLevels 15 @@ -812,6 +783,7 @@ #define VALID_SLICE_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxSliceGroups))) #define VALID_COLORMAP_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxColorMapGroups))) +#define MAX_AUTO_COLOR_SEQUENCE_VALUES 6 /* @@ -945,88 +917,88 @@ indicated as with the other hard #define constants */ /* ENDREMOVEFROMADDON */ -#define Black_C ((ColorIndex_t)0) -#define Red_C ((ColorIndex_t)1) -#define Green_C ((ColorIndex_t)2) -#define Blue_C ((ColorIndex_t)3) -#define Cyan_C ((ColorIndex_t)4) -#define Yellow_C ((ColorIndex_t)5) -#define Purple_C ((ColorIndex_t)6) -#define White_C ((ColorIndex_t)7) +#define Black_C (static_cast(0)) +#define Red_C (static_cast(1)) +#define Green_C (static_cast(2)) +#define Blue_C (static_cast(3)) +#define Cyan_C (static_cast(4)) +#define Yellow_C (static_cast(5)) +#define Purple_C (static_cast(6)) +#define White_C (static_cast(7)) -#define Custom1_C ((ColorIndex_t)8) -#define Custom2_C ((ColorIndex_t)9) -#define Custom3_C ((ColorIndex_t)10) -#define Custom4_C ((ColorIndex_t)11) -#define Custom5_C ((ColorIndex_t)12) -#define Custom6_C ((ColorIndex_t)13) -#define Custom7_C ((ColorIndex_t)14) -#define Custom8_C ((ColorIndex_t)15) -#define Custom9_C ((ColorIndex_t)16) +#define Custom1_C (static_cast(8)) +#define Custom2_C (static_cast(9)) +#define Custom3_C (static_cast(10)) +#define Custom4_C (static_cast(11)) +#define Custom5_C (static_cast(12)) +#define Custom6_C (static_cast(13)) +#define Custom7_C (static_cast(14)) +#define Custom8_C (static_cast(15)) +#define Custom9_C (static_cast(16)) -#define Custom10_C ((ColorIndex_t)17) -#define Custom11_C ((ColorIndex_t)18) -#define Custom12_C ((ColorIndex_t)19) -#define Custom13_C ((ColorIndex_t)20) -#define Custom14_C ((ColorIndex_t)21) -#define Custom15_C ((ColorIndex_t)22) -#define Custom16_C ((ColorIndex_t)23) -#define Custom17_C ((ColorIndex_t)24) -#define Custom18_C ((ColorIndex_t)25) -#define Custom19_C ((ColorIndex_t)26) +#define Custom10_C (static_cast(17)) +#define Custom11_C (static_cast(18)) +#define Custom12_C (static_cast(19)) +#define Custom13_C (static_cast(20)) +#define Custom14_C (static_cast(21)) +#define Custom15_C (static_cast(22)) +#define Custom16_C (static_cast(23)) +#define Custom17_C (static_cast(24)) +#define Custom18_C (static_cast(25)) +#define Custom19_C (static_cast(26)) -#define Custom20_C ((ColorIndex_t)27) -#define Custom21_C ((ColorIndex_t)28) -#define Custom22_C ((ColorIndex_t)29) -#define Custom23_C ((ColorIndex_t)30) -#define Custom24_C ((ColorIndex_t)31) -#define Custom25_C ((ColorIndex_t)32) -#define Custom26_C ((ColorIndex_t)33) -#define Custom27_C ((ColorIndex_t)34) -#define Custom28_C ((ColorIndex_t)35) -#define Custom29_C ((ColorIndex_t)36) +#define Custom20_C (static_cast(27)) +#define Custom21_C (static_cast(28)) +#define Custom22_C (static_cast(29)) +#define Custom23_C (static_cast(30)) +#define Custom24_C (static_cast(31)) +#define Custom25_C (static_cast(32)) +#define Custom26_C (static_cast(33)) +#define Custom27_C (static_cast(34)) +#define Custom28_C (static_cast(35)) +#define Custom29_C (static_cast(36)) -#define Custom30_C ((ColorIndex_t)37) -#define Custom31_C ((ColorIndex_t)38) -#define Custom32_C ((ColorIndex_t)39) -#define Custom33_C ((ColorIndex_t)40) -#define Custom34_C ((ColorIndex_t)41) -#define Custom35_C ((ColorIndex_t)42) -#define Custom36_C ((ColorIndex_t)43) -#define Custom37_C ((ColorIndex_t)44) -#define Custom38_C ((ColorIndex_t)45) -#define Custom39_C ((ColorIndex_t)46) +#define Custom30_C (static_cast(37)) +#define Custom31_C (static_cast(38)) +#define Custom32_C (static_cast(39)) +#define Custom33_C (static_cast(40)) +#define Custom34_C (static_cast(41)) +#define Custom35_C (static_cast(42)) +#define Custom36_C (static_cast(43)) +#define Custom37_C (static_cast(44)) +#define Custom38_C (static_cast(45)) +#define Custom39_C (static_cast(46)) -#define Custom40_C ((ColorIndex_t)47) -#define Custom41_C ((ColorIndex_t)48) -#define Custom42_C ((ColorIndex_t)49) -#define Custom43_C ((ColorIndex_t)50) -#define Custom44_C ((ColorIndex_t)51) -#define Custom45_C ((ColorIndex_t)52) -#define Custom46_C ((ColorIndex_t)53) -#define Custom47_C ((ColorIndex_t)54) -#define Custom48_C ((ColorIndex_t)55) -#define Custom49_C ((ColorIndex_t)56) +#define Custom40_C (static_cast(47)) +#define Custom41_C (static_cast(48)) +#define Custom42_C (static_cast(49)) +#define Custom43_C (static_cast(50)) +#define Custom44_C (static_cast(51)) +#define Custom45_C (static_cast(52)) +#define Custom46_C (static_cast(53)) +#define Custom47_C (static_cast(54)) +#define Custom48_C (static_cast(55)) +#define Custom49_C (static_cast(56)) -#define Custom50_C ((ColorIndex_t)57) -#define Custom51_C ((ColorIndex_t)58) -#define Custom52_C ((ColorIndex_t)59) -#define Custom53_C ((ColorIndex_t)60) -#define Custom54_C ((ColorIndex_t)61) -#define Custom55_C ((ColorIndex_t)62) -#define Custom56_C ((ColorIndex_t)63) +#define Custom50_C (static_cast(57)) +#define Custom51_C (static_cast(58)) +#define Custom52_C (static_cast(59)) +#define Custom53_C (static_cast(60)) +#define Custom54_C (static_cast(61)) +#define Custom55_C (static_cast(62)) +#define Custom56_C (static_cast(63)) -#define MultiColor_C ((ColorIndex_t)(-1)) -#define NoColor_C ((ColorIndex_t)(-2)) -#define MultiColor2_C ((ColorIndex_t)(-3)) -#define MultiColor3_C ((ColorIndex_t)(-4)) -#define MultiColor4_C ((ColorIndex_t)(-5)) -#define RGBColor_C ((ColorIndex_t)(-6)) -#define MultiColor5_C ((ColorIndex_t)(-7)) -#define MultiColor6_C ((ColorIndex_t)(-8)) -#define MultiColor7_C ((ColorIndex_t)(-9)) -#define MultiColor8_C ((ColorIndex_t)(-10)) -#define InvalidColor_C ((ColorIndex_t)(-255)) +#define MultiColor_C (static_cast(-1)) +#define NoColor_C (static_cast(-2)) +#define MultiColor2_C (static_cast(-3)) +#define MultiColor3_C (static_cast(-4)) +#define MultiColor4_C (static_cast(-5)) +#define RGBColor_C (static_cast(-6)) +#define MultiColor5_C (static_cast(-7)) +#define MultiColor6_C (static_cast(-8)) +#define MultiColor7_C (static_cast(-9)) +#define MultiColor8_C (static_cast(-10)) +#define InvalidColor_C (static_cast(-255)) #define FirstCustomColor Custom1_C #define LastCustomColor Custom56_C @@ -1042,7 +1014,7 @@ * V8 and earlier used this for MultiColor_C. We adjust this * to the new value in the SetValue layer so old addons work. */ -#define OldMultiColor_C ((ColorIndex_t)255) +#define OldMultiColor_C (static_cast(255)) /* * Gray is only used in the interface for workspace background and * for insensitive buttons in Motif. @@ -1063,23 +1035,27 @@ #define BasicColorOffset (0) #define InterfaceColorOffset (NumBasicColors) #define ContourColorOffset (NumBasicColors+NumInterfaceColors) +/* ENDREMOVEFROMADDON */ -#define BadKey (short)31 -#define Plus (short)43 -#define Minus (short)45 -#define RetKey (short)13 -#define DeleteKey (short)127 -#define ShiftDelete (short)128 -#define BackSpace (short)8 -#define LeftArrow (short)29 -#define RightArrow (short)30 -#define UpArrow (short)11 -#define DownArrow (short)10 -#define Toggle (short)19 -#define Esc (short)27 -#define RegFrame (short)18 -#define DoBitDump (short)2 +#define KeyCode_BadKey static_cast(31) +#define KeyCode_RetKey static_cast(13) +#define KeyCode_Esc static_cast(27) +#define KeyCode_BackSpace static_cast(8) +#define KeyCode_DeleteKey static_cast(127) +#define KeyCode_LeftArrow static_cast(29) +#define KeyCode_RightArrow static_cast(30) +#define KeyCode_UpArrow static_cast(11) +#define KeyCode_DownArrow static_cast(10) +#define KeyCode_Plus static_cast(43) +#define KeyCode_Minus static_cast(45) +/* BEGINREMOVEFROMADDON */ +// The following key codes are supplied by Tecplot 360(MFC and Motif) and won't be needed once +// the migration to 360Qt is completed. +#define KeyCode_ShiftDelete static_cast(128) /*deprecated*/ +#define KeyCode_Toggle static_cast(19) /*deprecated*/ +#define KeyCode_RegFrame static_cast(18) /*deprecated*/ +#define KeyCode_DoBitDump static_cast(2) /*deprecated*/ /* File Markers */ #define ZoneMarker 299.0 @@ -1099,13 +1075,14 @@ #define AxisPen Custom8_C+1 #define MajGridPen Custom8_C+2 #define MinGridPen Custom8_C+3 -#define StreamlinePen Custom8_C+4 -#define ColoredLinePen Custom8_C+5 -#define BoundaryPen Custom8_C+6 -#define LabelPen Custom8_C+7 -#define NumPlotterPens Custom8_C+8 +#define MarkerGridPen Custom8_C+4 +#define StreamlinePen Custom8_C+5 +#define ColoredLinePen Custom8_C+6 +#define BoundaryPen Custom8_C+7 +#define LabelPen Custom8_C+8 +#define NumPlotterPens Custom8_C+9 /* AutoSelectPen will select the correct pen from Black_C thru Custom8_C or ColoredLinePen */ -#define AutoSelectPen Custom8_C+9 +#define AutoSelectPen Custom8_C+10 #define InvalidPen Custom8_C+99 #define FirstObjectPen AxisPen @@ -1153,22 +1130,34 @@ /* ENDREMOVEFROMADDON */ /* BEGINREMOVEFROMADDON */ -#if defined MSWIN -#define TP_FWRITE fwrite -#define TP_FFLUSH fflush -#define TP_FCLOSE fclose - #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #else +/* ENDREMOVEFROMADDON */ + #define TP_FREAD fread + #define TP_FWRITE fwrite +/* BEGINREMOVEFROMADDON */ +#endif +/* ENDREMOVEFROMADDON */ + +#if defined MSWIN +#define TP_FFLUSH fflush +#define TP_FCLOSE fclose + +/* BEGINREMOVEFROMADDON */ +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#else +/* ENDREMOVEFROMADDON */ #define TP_UNLINK remove #define TP_RMDIR _rmdir -#define TP_FREAD ::fread #define TP_FOPEN ::fopen #define TP_FREOPEN ::freopen #define TP_STAT ::_stat #define TP_GETENV ::getenv +/* BEGINREMOVEFROMADDON */ #endif /* TECPLOTKERNEL */ +/* ENDREMOVEFROMADDON */ #if defined _WIN64 #define TP_FSEEK(stream,offset,whence) _fseeki64((stream),(__int64)(offset),(whence)) @@ -1184,16 +1173,13 @@ #define TP_FOPEN fopen #define TP_FREOPEN freopen #define TP_FCLOSE fclose -#define TP_FREAD fread -#define TP_FWRITE fwrite #define TP_FFLUSH fflush #define TP_FSEEK fseeko #define TP_FTELL ftello #define TP_STAT stat -#define _stat stat // ...make the UNIXX and MSWIN platforms have the same syntax to use "struct _stat" +#define _stat stat /* ...make the UNIXX and MSWIN platforms have the same syntax to use "struct _stat" */ #define TP_GETENV getenv #endif -/* ENDREMOVEFROMADDON */ /**************************************************************** * * @@ -1258,7 +1244,7 @@ typedef long HgIndex_t; #elif defined LONGIS64 typedef long ArbParam_t; typedef long HgIndex_t; -#elif defined MSWIN && (defined _M_IA64 || defined _M_AMD64) +#elif defined MSWIN typedef INT_PTR ArbParam_t; typedef INT_PTR HgIndex_t; #else @@ -1282,7 +1268,15 @@ typedef UInt64_t MemMapOffset_t; typedef unsigned char Byte_t; typedef short SmInteger_t; + +/** + * A number of color index constants are \#defined. These include Black_C, Red_C, + * Green_C, Blue_C, Cyan_C, Yellow_C, Purple_C, White_C, Custom1_C through + * Custom56_C, MultiColor_C, NoColor_C, MulitiColor2_C through MulitiColor8_C, + * RGBColor_C, and InvalidColor_C. + */ typedef SmInteger_t ColorIndex_t; + #ifdef INDEX_16_BIT typedef Int16_t EntIndex_t; #else @@ -1301,7 +1295,7 @@ typedef LgIndex_t SegPtsArray_t[MaxGeoSegments]; typedef double BasicSize_t[MaxBasicSizes]; typedef double *VarList_t; -typedef long SetIndex_t; +typedef HgIndex_t SetIndex_t; typedef unsigned long SetData_t; typedef SetData_t *SetData_pt; @@ -1691,6 +1685,7 @@ typedef enum StateChange_NewTopPage, StateChange_NewActiveFrame, StateChange_FrameOrderChanged, + StateChange_NewUndoState, END_StateChange_e, StateChange_Invalid = BadEnumValue, /* deprecated values */ @@ -1892,6 +1887,10 @@ typedef enum Dialog_ThreeDEdge, Dialog_TimeDetails, Dialog_Performance, + Dialog_HelpTecplotLicensing, + Dialog_GeomDetails, + Dialog_BasicColorLegend, + Dialog_FourierTransform, END_Dialog_e, Dialog_Invalid = BadEnumValue, /* deprecated values */ @@ -2231,7 +2230,7 @@ typedef enum /* * View_SetMagnification added 02/24/03 so all plot types - * can behave the same way "do a 'centered' magnifacation change". + * can behave the same way "do a 'centered' magnification change". * Line plots will still accept View_Scale option and zoom towards * the corner so old macros/addons still work. */ @@ -2412,6 +2411,7 @@ typedef enum PickObjects_IsoSurfaceCOB, PickObjects_RGBLegend, PickObjects_LineMapping, + PickObjects_BasicColorLegend, END_PickObjects_e, PickObjects_Invalid = BadEnumValue, /* deprecated values */ @@ -2453,15 +2453,6 @@ typedef enum } SingleEditState_e; -typedef enum -{ - AxisSubObject_GridArea, - AxisSubObject_AxisLine, - AxisSubObject_Title, - END_AxisSubObject_e, - AxisSubObject_Invalid = BadEnumValue -} AxisSubObject_e; - typedef enum { AxisSubPosition_GridMinBorder, @@ -2479,6 +2470,15 @@ typedef enum } AxisSubPosition_e; /* ENDREMOVEFROMADDON */ +typedef enum +{ + AxisSubObject_GridArea, + AxisSubObject_AxisLine, + AxisSubObject_Title, + END_AxisSubObject_e, + AxisSubObject_Invalid = BadEnumValue +} AxisSubObject_e; + /* * NOTE: The _NoOp value is not at the top so this * enumeration aligns with the old AltMouseButtonMode_e @@ -2502,7 +2502,7 @@ typedef enum MouseButtonDrag_ZoomData, MouseButtonDrag_TranslateData, MouseButtonDrag_RlrBallRtatData, - MouseButtonDrag_SpherRtatData, + MouseButtonDrag_SpherZRtatData, /* Was SpherRtatData*/ MouseButtonDrag_XRotateData, MouseButtonDrag_YRotateData, MouseButtonDrag_ZRotateData, @@ -2510,13 +2510,20 @@ typedef enum MouseButtonDrag_ZoomViewer, MouseButtonDrag_TranslateViewer, MouseButtonDrag_RlrBallRtatVwr, - MouseButtonDrag_SpherRotateVwr, + MouseButtonDrag_SpherZRotateVwr, /* Was SpherRotateVwr*/ MouseButtonDrag_XRotateViewer, MouseButtonDrag_YRotateViewer, MouseButtonDrag_ZRotateViewer, MouseButtonDrag_TwistRotateViewer, + MouseButtonDrag_SpherXRtatData, + MouseButtonDrag_SpherYRtatData, + MouseButtonDrag_SpherXRotateVwr, + MouseButtonDrag_SpherYRotateVwr, END_MouseButtonDrag_e, - MouseButtonDrag_Invalid = BadEnumValue + MouseButtonDrag_Invalid = BadEnumValue, + /* deprecated values */ + MouseButtonDrag_SpherRtatData = MouseButtonDrag_SpherZRtatData, + MouseButtonDrag_SpherRotateVwr = MouseButtonDrag_SpherZRotateVwr } MouseButtonDrag_e; @@ -2568,7 +2575,7 @@ typedef enum MouseButtonMode_GeomEllipse, MouseButtonMode_GeomSpline, MouseButtonMode_CreateFrame, - MouseButtonMode_RotateSpherical, + MouseButtonMode_RotateSphericalZ, /* Was MouseButtonMode_RotateSpherical */ MouseButtonMode_RotateRollerBall, MouseButtonMode_RotateTwist, MouseButtonMode_RotateXAxis, @@ -2589,9 +2596,13 @@ typedef enum MouseButtonMode_User2, MouseButtonMode_User3, MouseButtonMode_User4, + MouseButtonMode_RotateSphericalX, + MouseButtonMode_RotateSphericalY, + MouseButtonMode_AdvancedAdjust, END_MouseButtonMode_e, MouseButtonMode_Invalid = BadEnumValue, /* deprecated values */ + MouseButtonMode_RotateSpherical = MouseButtonMode_RotateSphericalZ, Mouse_NoMode = MouseButtonMode_NoMode, /* deprecated */ Mouse_Select = MouseButtonMode_Select, /* deprecated */ Mouse_Adjust = MouseButtonMode_Adjust, /* deprecated */ @@ -2606,7 +2617,7 @@ typedef enum Mouse_GeomEllipse = MouseButtonMode_GeomEllipse, /* deprecated */ Mouse_GeomSpline = MouseButtonMode_GeomSpline, /* deprecated */ Mouse_CreateFrame = MouseButtonMode_CreateFrame, /* deprecated */ - Mouse_RotateSpherical = MouseButtonMode_RotateSpherical, /* deprecated */ + Mouse_RotateSpherical = MouseButtonMode_RotateSphericalZ, /* deprecated */ Mouse_RotateRollerBall = MouseButtonMode_RotateRollerBall, /* deprecated */ Mouse_RotateTwist = MouseButtonMode_RotateTwist, /* deprecated */ Mouse_RotateXAxis = MouseButtonMode_RotateXAxis, /* deprecated */ @@ -3304,6 +3315,9 @@ typedef enum ExportFormat_Flash, ExportFormat_X3D, ExportFormat_TecplotViewer, + ExportFormat_FLV, + ExportFormat_MPEG4, + ExportFormat_WMV, END_ExportFormat_e, ExportFormat_Invalid = BadEnumValue } ExportFormat_e; @@ -3323,6 +3337,9 @@ typedef enum AnimationDest_AVI, AnimationDest_RM, AnimationDest_Flash, + AnimationDest_FLV, + AnimationDest_MPEG4, + AnimationDest_WMV, END_AnimationDest_e, AnimationDest_Invalid = BadEnumValue } AnimationDest_e; @@ -3387,14 +3404,22 @@ typedef enum typedef enum { - Paper_Letter, - Paper_Double, - Paper_A4, - Paper_A3, - Paper_Custom1, - Paper_Custom2, + PaperSize_Letter, + PaperSize_Double, + PaperSize_A4, + PaperSize_A3, + PaperSize_Custom1, + PaperSize_Custom2, END_PaperSize_e, - Paper_Invalid = BadEnumValue + PaperSize_Invalid = BadEnumValue, + /* deprecated values */ + Paper_Letter = PaperSize_Letter, /* deprecated */ + Paper_Double = PaperSize_Double, /* deprecated */ + Paper_A4 = PaperSize_A4, /* deprecated */ + Paper_A3 = PaperSize_A3, /* deprecated */ + Paper_Custom1 = PaperSize_Custom1, /* deprecated */ + Paper_Custom2 = PaperSize_Custom2, /* deprecated */ + Paper_Invalid = PaperSize_Invalid /* deprecated */ } PaperSize_e; @@ -3475,6 +3500,7 @@ typedef enum CoordSys_Screen, CoordSys_Hardcopy, CoordSys_Grid3D, + CoordSys_Workspace, END_CoordSys_e, CoordSys_Invalid = BadEnumValue } CoordSys_e; @@ -3612,10 +3638,21 @@ typedef enum Font_TimesItalicBold, Font_Courier, Font_CourierBold, + Font_Extended, END_Font_e, Font_Invalid = BadEnumValue } Font_e; +typedef enum +{ + FontStyle_Regular, + FontStyle_Italic, + FontStyle_Bold, + FontStyle_BoldItalic, + END_FontStyle_e, + FontStyle_Invalid = BadEnumValue +} FontStyle_e; + typedef enum { TwoDDrawOrder_ByZone, @@ -3660,6 +3697,16 @@ typedef enum StreamDir_Invalid = BadEnumValue } StreamDir_e; +typedef enum +{ + DistributionRegion_Point, + DistributionRegion_Rake, + DistributionRegion_SurfacesOfActiveZones, + DistributionRegion_SurfacesOfSelectedObjects, + END_DistributionRegion_e, + DistributionRegion_Invalid = BadEnumValue +} DistributionRegion_e; + typedef enum { IsoSurfaceSelection_AllContourLevels, @@ -4022,18 +4069,55 @@ typedef enum ContourColorMap_UserDef, ContourColorMap_TwoColor, ContourColorMap_RawUserDef, + ContourColorMap_DivBuRd, + ContourColorMap_DivBuYlRd, + ContourColorMap_DivBrBG, + ContourColorMap_DivOrPu, + ContourColorMap_DivPiYG, + ContourColorMap_DivPRGn, + ContourColorMap_Doppler, + ContourColorMap_ElevAboveGrnd, + ContourColorMap_ElevAbsolute, + ContourColorMap_HotMetal, + ContourColorMap_Magma, + ContourColorMap_DkRainbow, + ContourColorMap_MdRainbow, + ContourColorMap_QualAccent, + ContourColorMap_QualDark1, + ContourColorMap_QualDark2, + ContourColorMap_QualPaired, + ContourColorMap_QualPastel1, + ContourColorMap_QualPastel2, + ContourColorMap_QualPastel3, + ContourColorMap_SeqBlue, + ContourColorMap_SeqBuGn, + ContourColorMap_SeqBuPu, + ContourColorMap_SeqGreen, + ContourColorMap_SeqGnBu, + ContourColorMap_SeqOrange, + ContourColorMap_SeqOrRd, + ContourColorMap_SeqPiPu, + ContourColorMap_SeqPurple, + ContourColorMap_SeqPuBu, + ContourColorMap_SeqPuBuGn, + ContourColorMap_SeqPuRd, + ContourColorMap_SeqRed, + ContourColorMap_SeqYlGn, + ContourColorMap_SeqYlGnBu, + ContourColorMap_SeqYlOrBr, + ContourColorMap_SeqYlOrRd, END_ContourColorMap_e, ContourColorMap_Invalid = BadEnumValue, /* deprecated values */ - ColorMap_SmRainbow = ContourColorMap_SmRainbow, /* deprecated */ - ColorMap_LgRainbow = ContourColorMap_LgRainbow, /* deprecated */ - ColorMap_Modern = ContourColorMap_Modern, /* deprecated */ - ColorMap_GrayScale = ContourColorMap_GrayScale, /* deprecated */ - ColorMap_Wild = ContourColorMap_Wild, /* deprecated */ - ColorMap_UserDef = ContourColorMap_UserDef, /* deprecated */ - ColorMap_TwoColor = ContourColorMap_TwoColor, /* deprecated */ - ColorMap_RawUserDef = ContourColorMap_RawUserDef, /* deprecated */ - ColorMap_Invalid = ContourColorMap_Invalid /* deprecated */ + ColorMap_SmRainbow = ContourColorMap_SmRainbow, /* deprecated */ + ColorMap_LgRainbow = ContourColorMap_LgRainbow, /* deprecated */ + ColorMap_Modern = ContourColorMap_Modern, /* deprecated */ + ColorMap_GrayScale = ContourColorMap_GrayScale, /* deprecated */ + ColorMap_Wild = ContourColorMap_Wild, /* deprecated */ + ColorMap_UserDef = ContourColorMap_UserDef, /* deprecated */ + ColorMap_TwoColor = ContourColorMap_TwoColor, /* deprecated */ + ColorMap_RawUserDef = ContourColorMap_RawUserDef, /* deprecated */ + ColorMap_Invalid = ContourColorMap_Invalid /* deprecated */ } ContourColorMap_e; @@ -4255,6 +4339,16 @@ typedef enum Transform_Invalid = BadEnumValue } Transform_e; +typedef enum +{ + WindowFunction_Rectangular, + WindowFunction_Triangular, + WindowFunction_Hann, + WindowFunction_Hamming, + END_WindowFunction_e, + WindowFunction_Invalid = BadEnumValue +} WindowFunction_e; + typedef enum { LaunchDialogMode_ModalSync, @@ -4576,6 +4670,50 @@ typedef enum ConditionAwakeReason_Invalid = BadEnumValue } ConditionAwakeReason_e; +typedef enum +{ + ProbeStatus_Normal, + ProbeStatus_Terminated, + ProbeStatus_Exited, + END_ProbeStatus_e, + ProbeStatus_Invalid = BadEnumValue +} ProbeStatus_e; + +typedef enum +{ + FrameSizePosUnits_Paper, + FrameSizePosUnits_Workspace, + END_FrameSizePosUnits_e, + FrameSizePosUnits_Invalid = BadEnumValue +} FrameSizePosUnits_e; + +typedef enum +{ + Gridline_Major, + Gridline_Minor, + Gridline_Marker, + END_Gridline_e, + Gridline_Invalid = BadEnumValue +} Gridline_e; + +/* Used by MarkerGridlineDetail */ +typedef enum +{ + PositionMarkerBy_SolutionTime, + PositionMarkerBy_Constant, + END_PositionMarkerBy_e, + PositionMarkerBy_Invalid = BadEnumValue +} PositionMarkerBy_e; + +/* Used by TecUtilImportAddLoaderX */ +typedef enum +{ + LoaderSelectedCallbackVersion_V1, + LoaderSelectedCallbackVersion_V2, + END_LoaderSelectedCallbackVersion_e, + LoaderSelectedCallbackVersion_Invalid = BadEnumValue +} LoaderSelectedCallbackVersion_e; + /**************************************************************** * * * STRUCTURE TYPEDEFS * @@ -4587,6 +4725,8 @@ typedef enum */ typedef struct _Mutex_a* Mutex_pa; +typedef struct _SpinLock_a* SpinLock_pa; /* NOTE: some platforms may not have spin locks; see use of HAVE_SPINLOCKS define */ + typedef void*(STDCALL *ThreadFunction_pf)(ArbParam_t ThreadData); typedef struct _Condition_a* Condition_pa; @@ -4608,6 +4748,7 @@ typedef struct _Menu_s *Menu_pa; /* BEGINREMOVEFROMADDON */ typedef struct _ArrayList_s *ArrayList_pa; /* ENDREMOVEFROMADDON */ +typedef struct _LineSegmentProbeResult_s *LineSegProbeResult_pa; typedef enum { @@ -4660,6 +4801,18 @@ typedef struct /* BEGINREMOVEFROMADDON */ +typedef struct +{ + double Psi; + double Theta; + double Alpha; +} PTA_s; + +namespace tecplot +{ + class Typeface; +} + typedef struct _Generic3Var_s { double V1; @@ -4674,7 +4827,7 @@ typedef struct _ThetaR_s } ThetaR_s; /* - * This union is designed to allow different plottypes + * This union is designed to allow different plot types * to access the same values by different names. In * C++ we could use member access functions, or we * could have used macros, but instead we use this @@ -4952,21 +5105,25 @@ typedef struct _IndexRange_s typedef struct _TextShape_s { - Font_e Font; - double Height; - Units_e SizeUnits; +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#else + Font_e Font; +#endif + double Height; + Units_e SizeUnits; } TextShape_s; -#define AsciiShapeFontIsGreek(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_Greek)) -#define AsciiShapeFontIsMath(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_Math)) -#define AsciiShapeFontIsUserDefined(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_UserDefined)) +#define AsciiShapeFontIsGreek(S) (((S)->useBaseFont == FALSE) && (FontLibrary::instance().font((S)->typefaceOverride) == Font_Greek)) +#define AsciiShapeFontIsMath(S) (((S)->useBaseFont == FALSE) && (FontLibrary::instance().font((S)->typefaceOverride) == Font_Math)) +#define AsciiShapeFontIsUserDefined(S) (((S)->useBaseFont == FALSE) && (FontLibrary::instance().font((S)->typefaceOverride) == Font_UserDefined)) typedef struct { - Boolean_t UseBaseFont; /* (Default = TRUE) */ - Font_e FontOverride;/* (Default = Font_Math)*/ - SymbolChar_t Char; + Boolean_t useBaseFont; + tecplot::Typeface const* typefaceOverride; + SymbolChar_t Char; } AsciiShape_s; typedef struct _SymbolShape_s @@ -5036,7 +5193,7 @@ typedef enum FaceNeighborMemberArray_Invalid = BadEnumValue } FaceNeighborMemberArray_e; -int const FaceNeighborNumMemberArrays = (int)END_FaceNeighborMemberArray_e; +int const FaceNeighborNumMemberArrays = static_cast(END_FaceNeighborMemberArray_e); /* * Enumerates the face map's array members to make indexed members @@ -5055,7 +5212,7 @@ typedef enum FaceMapMemberArray_Invalid = BadEnumValue } FaceMapMemberArray_e; -const int FaceMapNumMemberArrays = (int)END_FaceMapMemberArray_e; +const int FaceMapNumMemberArrays = static_cast(END_FaceMapMemberArray_e); /* * Enumerates the element to face map's array members to make indexed members @@ -5069,7 +5226,7 @@ typedef enum ElemToFaceMapMemberArray_Invalid = BadEnumValue } ElemToFaceMapMemberArray_e; -const int ElemToFaceMapNumMemberArrays = (int)END_ElemToFaceMapMemberArray_e; +const int ElemToFaceMapNumMemberArrays = static_cast(END_ElemToFaceMapMemberArray_e); /* * Enumerates the element map's array members to make indexed members @@ -5083,7 +5240,7 @@ typedef enum NodeToElemMapMemberArray_Invalid = BadEnumValue } NodeToElemMapMemberArray_e; -const int NodeToElemMapNumMemberArrays = (int)END_NodeToElemMapMemberArray_e; +const int NodeToElemMapNumMemberArrays = static_cast(END_NodeToElemMapMemberArray_e); /* ENDREMOVEFROMADDON */ @@ -5237,12 +5394,12 @@ typedef struct _ZoneSpec_s EntIndex_t ParentZone; Strand_t StrandID; double SolutionTime; - LgIndex_t NumPtsI; // ...NumDataPts - LgIndex_t NumPtsJ; // ...NumElements - LgIndex_t NumPtsK; // ...NumPtsPerElem or NumFaces - LgIndex_t ICellDim; // ...currently not used - LgIndex_t JCellDim; // ...currently not used - LgIndex_t KCellDim; // ...currently not used + LgIndex_t NumPtsI; /* ...NumDataPts */ + LgIndex_t NumPtsJ; /* ...NumElements */ + LgIndex_t NumPtsK; /* ...NumPtsPerElem or NumFaces */ + LgIndex_t ICellDim; /* ...currently not used */ + LgIndex_t JCellDim; /* ...currently not used */ + LgIndex_t KCellDim; /* ...currently not used */ ZoneType_e Type; ZoneLoadInfo_s ZoneLoadInfo; AuxData_pa AuxData; @@ -5250,7 +5407,7 @@ typedef struct _ZoneSpec_s /* classic data only */ FaceNeighborMode_e FNMode; - Boolean_t FNAreCellFaceNbrsSupplied; // ...meaning we don't need to update them + Boolean_t FNAreCellFaceNbrsSupplied; /* ...meaning we don't need to update them */ /* polytope data only */ LgIndex_t NumFaceNodes; @@ -5378,6 +5535,8 @@ typedef struct _Geom_s *Geom_pa; #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ + #if defined USE_VBOs + #endif #if defined USE_OOSTYLE #endif #if defined USE_OOSTYLE @@ -5975,6 +6134,22 @@ typedef Boolean_t (STDCALL *TimerCallback_pf)(AddOnTimerCallback_pf TimerCallba UInt32_t Interval, ArbParam_t RegistrationClientData); +/* - NO DOXYGEN COMMENT GENERATION - + * Callback responsible for notifying of a successful open or save layout action. + * + * @since + * 14.1 + * + * @param layoutName + * The name of the MRU layout that was successfully opened or saved. + * @param RegistrationClientData + * Client data that was registered with the callback. + * + * @sa TecEngMRULayoutFilenameRegisterCallback + */ +typedef void (STDCALL *MRULayoutFilenameCallback_pf)(const char* layoutName, + ArbParam_t RegistrationClientData); + /** * This function is called when the user activates a menu item * added via TecUtilMenuInsertOption or TecUtilMenuInsertToggle. @@ -6186,7 +6361,7 @@ typedef void (STDCALL *FieldValueSetFunction_pf)(FieldData_pa FD, * @param FieldData * Field data handle of the variable load. * - * @result + * @return * TRUE if the variable was loaded, FALSE if unable to do so. * * @code @@ -6275,7 +6450,7 @@ typedef Boolean_t (STDCALL *LoadOnDemandVarLoad_pf)(FieldData_pa FieldData); * } * @endcode * - * @result + * @return * TRUE if the variable can be unloaded, FALSE otherwise. The add-on should * if at all possible honor the request to unload the variable. Most add-ons * should return TRUE. @@ -6340,7 +6515,7 @@ typedef void (STDCALL *LoadOnDemandVarCleanup_pf)(FieldData_pa FieldData); * @param NodeMap * Handle of the node mapping. * - * @result + * @return * TRUE if the node mapping was loaded, FALSE if unable to do so. * * @code @@ -6419,7 +6594,7 @@ typedef Boolean_t (STDCALL *LoadOnDemandNodeMapLoad_pf)(NodeMap_pa NodeMap); * } * @endcode * - * @result + * @return * TRUE if the node mapping can be unloaded, FALSE otherwise. The add-on should * if at all possible honor the request to unload the node mapping. Most add-ons * should return TRUE. @@ -6483,7 +6658,7 @@ typedef void (STDCALL *LoadOnDemandNodeMapCleanup_pf)(NodeMap_pa NodeMap); * @param FaceNeighbor * Handle of the face neighbors. * - * @result + * @return * TRUE if the face neighbors was loaded, FALSE if unable to do so. * * @code @@ -6562,7 +6737,7 @@ typedef Boolean_t (STDCALL *LoadOnDemandFaceNeighborLoad_pf)(FaceNeighbor_pa Fac * } * @endcode * - * @result + * @return * TRUE if the face neighbors can be unloaded, FALSE otherwise. The add-on * should if at all possible honor the request to unload the face neighbors. * Most add-ons should return TRUE. @@ -6626,7 +6801,7 @@ typedef void (STDCALL *LoadOnDemandFaceNeighborCleanup_pf)(FaceNeighbor_pa FaceN * @param FaceMap * Handle of the face mapping. * - * @result + * @return * TRUE if the face mapping was loaded, FALSE if unable to do so. * * @code @@ -6705,7 +6880,7 @@ typedef Boolean_t (STDCALL *LoadOnDemandFaceMapLoad_pf)(FaceMap_pa FaceMap); * } * @endcode * - * @result + * @return * TRUE if the face mapping can be unloaded, FALSE otherwise. The add-on should * if at all possible honor the request to unload the face mapping. Most add-ons * should return TRUE. @@ -6888,8 +7063,19 @@ typedef Boolean_t (STDCALL *DataSetConverter_pf)(char* DataFName, */ typedef Boolean_t (STDCALL *DataSetLoader_pf)(StringList_pa Instructions); - - +/** + * Callback registered by your addon ... + * + * @param SelectedFiles + * + * @param AdvancedOptionsSelected + * + * @param ClientData + * + */ +typedef void (STDCALL * DataLoaderCallbackV2_pf)(StringList_pa SelectedFiles, + Boolean_t AdvancedOptionsSelected, + ArbParam_t ClientData); /** @@ -7241,6 +7427,52 @@ typedef void (STDCALL *OnIdleCallback_pf)(ArbParam_t ClientData); typedef Boolean_t (STDCALL *ScriptExecCallback_pf)(const char *ScriptFileName, ArbParam_t ClientData); +/** + * This callback is called by TecUtilLineSegProbe() each time a cell face + * is about to be passed through in the course of a probe. + * + * @return + * Return FALSE if you want to stop the probe at the current face. + * Return TRUE if you want the probe to progress through the face toward + * the specified end point. + * + * @param WhichEndingPosition + * Which ending position of the call to TecUtilLineSegProbe() is currently + * being probed. It will be between 1 and NumEndingPositions, inclusive, where + * NumEndingPositions is the number of ending positions passed into + * TecUtilLineSegProbe(). + * + * @param Zone + * The zone that the probe is currently passing through. + * + * @param Cell + * The number of the cell that the probe is currently passing through. + * + * @param Face + * The face number of the face that the probe is about to pass through. + * For ordered and classic finite-element zones, this will be between + * 1 and the number of faces per cell, inclusive. For polygonal and + * polyhedral zones, this is the overall zone face number, and will be + * between 1 and the total number of faces in the zone, inclusive. + * + * @param Position + * An array contining the X, Y, Z location of the point at which the + * probe trajectory has intercepted the face. In 2-D, it contains X and Y. + * + * @param ClientData + * The client data that was passed into TecUtilLineSegProbe(). + * + * + * INTEGER*4 FUNCTION LineSegProbeCallback() + * + */ +typedef Boolean_t (STDCALL * LineSegProbeCallback_pf)(LgIndex_t WhichEndingPosition, + EntIndex_t Zone, + LgIndex_t Cell, + LgIndex_t Face, + TP_GIVES double * Position, + ArbParam_t ClientData); + /* BEGINREMOVEFROMADDON */ #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ @@ -7268,5 +7500,7 @@ typedef Boolean_t (STDCALL *ScriptExecCallback_pf)(const char *ScriptFileName, struct _ViewState_a; typedef struct _ViewState_a *SavedView_pa, *ViewState_pa; +/* define Tecplot support email address in one place */ +static char const* const tecplotSupportEmailAddress = "support@tecplot.com"; #endif /* _GLOBAL_H */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/INPUT.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/INPUT.h index 74882c3e4..929a6d9c3 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/INPUT.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/INPUT.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** @@ -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; diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/MASTER.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/MASTER.h index e833697bd..c3c05faf4 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/MASTER.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/MASTER.h @@ -1,30 +1,7 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /***************************************************************** ***************************************************************** ******* ******** - ****** Copyright (C) 1988-2008 Tecplot, Inc. ******* + ****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** *****************************************************************/ @@ -195,8 +172,8 @@ #define TP_GIVES #define TP_RECEIVES #define TP_RECEIVES_GIVES - #define TP_ARRAY_GIVES - #define TP_ARRAY_RECEIVES + #define TP_ARRAY_GIVES + #define TP_ARRAY_RECEIVES #define TP_ARRAY_RECEIVES_GIVES #endif @@ -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 @@ -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 @@ -413,18 +390,18 @@ #pragma warning(disable: 4018) // signed/unsigned mismatch #pragma warning(disable: 4100) // unreferenced formal parameter -#pragma warning(disable: 4146) // unary minus operator applied to unsigned type, +#pragma warning(disable: 4146) // unary minus operator applied to unsigned type, // result still unsigned -#pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', +#pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', // possible loss of data -#pragma warning(disable: 4245) // conversion from 'type1' to 'type2', signed/unsigned +#pragma warning(disable: 4245) // conversion from 'type1' to 'type2', signed/unsigned // mismatch #pragma warning(disable: 4511) // 'class' : copy constructor could not be generated #pragma warning(disable: 4512) // 'class' : assignment operator could not be generated -#pragma warning(disable: 4663) // C++ language change: to explicitly specialize class +#pragma warning(disable: 4663) // C++ language change: to explicitly specialize class // template 'vector' #pragma warning(disable: 4710) // 'function' : function not inlined -#pragma warning(disable: 4786) // identifier was truncated to 'number' characters +#pragma warning(disable: 4786) // identifier was truncated to 'number' characters // in the debug information #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 -# else - typedef void *Widget; -# endif +# include # endif #endif @@ -658,12 +635,14 @@ 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 -# define USE_MACROS_FOR_FUNCTIONS +# if !defined USE_MACROS_FOR_FUNCTIONS +# define USE_MACROS_FOR_FUNCTIONS +# endif #endif /* ENDREMOVEFROMADDON */ @@ -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_ */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_MSG.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_MSG.h index 04eebd5b7..a42eb12e2 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_MSG.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_MSG.h @@ -1,33 +1,10 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ #ifndef Q_MSG_H #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 */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_UNICODE.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_UNICODE.h index c11d30f09..488640fe0 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_UNICODE.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Q_UNICODE.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ****************************************************************** ****************************************************************** ******* ******** -****** (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, - unsigned int CodePage); +EXTERN std::wstring MultiByteToWideChar(const char* Utf8Str, + unsigned int CodePage); -std::string WideCharToMultiByte(const wchar_t *WideStr, - unsigned int CodePage); +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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SET.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SET.h index 8fd926ead..f3d12f3de 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SET.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SET.h @@ -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 +#include + +#define PadOut(X,Y) (static_cast(((X)-1)/(Y)+1)*(Y)) #define SetBitSize (8*sizeof(SetData_t)) -#define SetLastBit (((unsigned long)1)<<(SetBitSize-1)) +#define SetLastBit ((static_cast(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(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(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 +std::vector toVector(Set_pa itemSet) +{ + REQUIRE(VALID_REF(itemSet) || itemSet == 0); + + std::vector result; + size_t const count = MemberCount(itemSet); + if (count != 0) + { + result.reserve(count); + SetIndex_t item; + ForAllMembersInSet(item,itemSet) + result.push_back(static_cast(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 +Set_pa toSet(std::vector 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::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::const_iterator item = items.begin();item != items.end();++item) + { + if (!AddToSet(result,static_cast(*item),FALSE)) + throw std::bad_alloc(); + } + } + + ENSURE(VALID_REF(result)); + return result; +} + +} + #endif // _SET_H_INCLUDED diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRLIST.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRLIST.h index b1cb38c0b..e9fc8f7ea 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRLIST.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRLIST.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** @@ -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. * */ @@ -72,13 +49,13 @@ EXTERN void StringListRemoveStrings(StringList_pa StringList, LgIndex_t Count); EXTERN void StringListRemoveString(StringList_pa StringList, LgIndex_t StringOffset); -LIBFUNCTION void LIBCALL StringListDealloc(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); +LIBFUNCTION char* LIBCALL StringListGetString(StringList_pa StringList, + LgIndex_t StringOffset); #if defined USE_MACROS_FOR_FUNCTIONS # define StringListGetStringRef StringListGetStringRef_MACRO @@ -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, - LgIndex_t StringOffset); +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(ArrayListGetCharPtr(reinterpret_cast(StringList), StringOffset)) -EXTERN Boolean_t StringListSetString(StringList_pa StringList, - LgIndex_t StringOffset, - const char *String); -EXTERN Boolean_t StringListInsertString(StringList_pa StringList, - LgIndex_t StringOffset, - const char *String); +EXTERN Boolean_t StringListSetString(StringList_pa StringList, + LgIndex_t StringOffset, + char const* String); +EXTERN Boolean_t StringListInsertString(StringList_pa StringList, + LgIndex_t StringOffset, + 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 char **StringListToArray(StringList_pa StringList); -EXTERN StringList_pa StringListFromArray(const char **StringArray, +EXTERN char* StringListToNLString(StringList_pa StringList); +EXTERN StringList_pa StringListFromNLString(char const* String); +EXTERN char** StringListToArray(StringList_pa StringList); +EXTERN StringList_pa StringListFromArray(char const** StringArray, LgIndex_t Count); -EXTERN StringList_pa StringListFromCompound(const char *String); -EXTERN char *StringListToCompound(StringList_pa StringList, - char GroupJoinCharacter, - const char *CharsToEscape); -EXTERN void StringListSort(StringList_pa StringList, - StringListStringComparator_pf Comparator, - ArbParam_t ClientData); +EXTERN StringList_pa StringListFromCompound(char const* String); +EXTERN char* StringListToCompound(StringList_pa StringList, + char GroupJoinCharacter, + char const* CharsToEscape); +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#endif diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRUTIL.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRUTIL.h index 00a4f89d1..8b07ca875 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRUTIL.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/STRUTIL.h @@ -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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SYSTEM.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SYSTEM.h index 8b719596e..a6f4a073b 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SYSTEM.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/SYSTEM.h @@ -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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TASSERT.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TASSERT.h index 33da2a4e9..2578b31da 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TASSERT.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TASSERT.h @@ -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 @@ -125,8 +103,12 @@ #if !defined TECPLOTKERNEL /* For add-ons, there is a problem with VALID_REF, so just test for non-NULL */ /* ENDREMOVEFROMADDON */ -# define VALID_REF(p) ( (p) != NULL ) -# define VALID_FN_REF(fp) ( (fp) != NULL ) +# 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,11 +129,19 @@ #if defined NO_ASSERTS /* release build in TecUtil layer uses these for TUASSERT */ -# define VALID_REF(p) ((p) != NULL) -# define VALID_FN_REF(pf) ((pf) != NULL) +# 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 -# define VALID_REF(p) ((p) != NULL && !IsBadReadPtr((const void *)(p), 1)) -# define VALID_FN_REF(pf) ((pf) != NULL && !IsBadReadPtr((const void *)(pf),(UINT_PTR)sizeof(const void*))) +# 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 */ @@ -178,13 +168,21 @@ /* ENDREMOVEFROMADDON */ /* other useful validity checks */ -#define VALID_BOOLEAN(b) ((b) == TRUE || (b) == FALSE) -#define VALID_ENUM(value, type) (0 <= (value) && \ - (value) < END_##type) +#if !defined VALID_BOOLEAN +# define VALID_BOOLEAN(b) ((b) == TRUE || (b) == FALSE) +#endif +#if !defined VALID_ENUM +# define VALID_ENUM(value, type) (0 <= static_cast((value)) && \ + static_cast((value)) < END_##type) +#endif /* Test a parameter than can be NULL or a valid pointer */ -#define VALID_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_REF(ptr)) -#define VALID_FN_REF_OR_NULL(ptr) IMPLICATION((ptr) != NULL, VALID_FN_REF(ptr)) +#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,23 +265,29 @@ /* ENDREMOVEFROMADDON */ /* Check for a non-zero length string */ -#if defined MSWIN -# if defined NO_ASSERTS -# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str)) +#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)) +# else +# define VALID_NON_ZERO_LEN_STR(str) \ + (VALID_REF(str) && \ + !IsBadReadPtr((const void*)(str),(UINT_PTR)(1+strlen((const char*)(str)))) && \ + !ISEMPTYSTRING(str)) +# endif # else -# define VALID_NON_ZERO_LEN_STR(str) \ - (VALID_REF(str) && \ - !IsBadReadPtr((const void*)(str),(UINT_PTR)(1+strlen((const char*)(str)))) && \ - !ISEMPTYSTRING(str)) +# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str)) # endif -#else -# define VALID_NON_ZERO_LEN_STR(str) (VALID_REF(str) && !ISEMPTYSTRING(str)) #endif -#define VALID_SET_INDEX(setIndex) (((SetIndex_t)setIndex)>=(SetIndex_t)1) +#if !defined VALID_SET_INDEX +# define VALID_SET_INDEX(setIndex) (((SetIndex_t)setIndex)>=(SetIndex_t)1) +#endif /* Check for valid stdio file handle */ -#define VALID_FILE_HANDLE(stream) ((stream) != NULL) +#if !defined VALID_FILE_HANDLE +# define VALID_FILE_HANDLE(stream) ((stream) != NULL) +#endif /* To check colors and pen numbers */ /* 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,41 +370,76 @@ extern TAssertFailureNotifyFunc InstallTAssertFailureNotify( /* BEGINREMOVEFROMADDON */ # define TASSERT(EXPR) /* ENDREMOVEFROMADDON */ -# define INVARIANT(EXPR) -# define REQUIRE(EXPR) -# define ENSURE(EXPR) -# define CHECK(EXPR) +# 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 IGNORENOTIMPLEMENTED -# define NOT_IMPLEMENTED() CHECK(FALSE) -# else -# if defined MSWIN +# if !defined NOT_IMPLEMENTED +# if defined IGNORENOTIMPLEMENTED +# define NOT_IMPLEMENTED() CHECK(FALSE) +# else +# if defined MSWIN /* * NOT_IMPLEMENTED is defined using a parameter, but should be called with none, * this will then throw a warning and not break the compile. Unix doesn't pick * up this warning, so break the compile under Unix */ -# define NOT_IMPLEMENTED(x) TAssert("Not Implemented", __FILE__, __LINE__) -# endif -# if defined UNIXX -# define NOT_IMPLEMENTED() not implemented /* intentionally break the compile */ +# define NOT_IMPLEMENTED(x) TAssert("Not Implemented", __FILE__, __LINE__) +# endif +# if defined UNIXX +# define NOT_IMPLEMENTED() not implemented /* intentionally break the compile */ +# endif # endif # endif #elif defined STD_ASSERTS /* BEGINREMOVEFROMADDON */ # define TASSERT(EXPR) assert(EXPR) /* ENDREMOVEFROMADDON */ -# define INVARIANT(EXPR) assert(EXPR) -# define REQUIRE(EXPR) assert(EXPR) -# define ENSURE(EXPR) assert(EXPR) -# define CHECK(EXPR) assert(EXPR) +# 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 */ -# define NOT_IMPLEMENTED() assert(!("Not Implemented")) +# if !defined NOT_IMPLEMENTED +# define NOT_IMPLEMENTED() assert(!("Not Implemented")) +# endif + /* + * See note above for this macro. + */ +# if !defined ASSERT_ONLY +# define ASSERT_ONLY(PARAMETER) PARAMETER +# endif #else /* BEGINREMOVEFROMADDON */ #if defined (MSWIN) @@ -441,7 +488,7 @@ extern void TWinCheckedFailedLine(const char *Expr, #define TASSERT(EXPR)\ do { if (!(EXPR)) { TWinCheckedFailedLine(#EXPR,__FILE__,__LINE__); } } while (0) #else -#define TASSERT(EXPR) ASSERT(EXPR) /* MFC assert. +#define TASSERT(EXPR) ASSERT(EXPR) /* MFC assert. Works in both release & debug builds */ #endif /* CHECKED_BUILD */ #else @@ -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. */ -#define IMPLICATION(P,Q) (!(P) || (Q)) -#define EQUIVALENCE(P,Q) ((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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECIO.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECIO.h index 3dd9751f9..c2007973b 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECIO.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECIO.h @@ -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" diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECXXX.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECXXX.h index 5c955cd0d..368f02150 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECXXX.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TECXXX.h @@ -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,9 +136,14 @@ #if defined (TECPLOTKERNEL) /* CORE SOURCE CODE REMOVED */ -#else /* !TECPLOTKERNAL && !MAKEARCHIVE */ -# define LIBCALL STDCALL -# define LIBFUNCTION EXTERNC DLLIMPORT +#else + #if defined (MAKEARCHIVE) + #define LIBCALL STDCALL + #define LIBFUNCTION EXTERNC DLLEXPORT + #else /* !TECPLOTKERNAL && !MAKEARCHIVE */ + #define LIBCALL STDCALL + #define LIBFUNCTION EXTERNC DLLIMPORT + #endif #endif /* @@ -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 */ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TEXT.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TEXT.h index fae5080fc..68ccd1960 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TEXT.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TEXT.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ****************************************************************** ****************************************************************** ******* ******** -****** (C) 1988-2008 Tecplot, Inc. ******* +****** (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ****************************************************************** ****************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.cpp index 5077bf2c9..8af7af826 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.cpp @@ -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(NULL), static_cast(NULL)); ENSURE(this->isValid()); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.h index 8e28a045f..f8ed309d4 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/TranslatedString.h @@ -1,31 +1,8 @@ -/* - * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM - * - * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide. - * - * Tecplot hereby grants OpenCFD limited authority to distribute without - * alteration the source code to the Tecplot Input/Output library, known - * as TecIO, as part of its distribution of OpenFOAM and the - * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby - * granted access to the TecIO source code, and may redistribute it for the - * purpose of maintaining the converter. However, no authority is granted - * to alter the TecIO source code in any form or manner. - * - * This limited grant of distribution does not supersede Tecplot, Inc.'s - * copyright in TecIO. Contact Tecplot, Inc. for further information. - * - * Tecplot, Inc. - * 3535 Factoria Blvd, Ste. 550 - * Bellevue, WA 98006, USA - * Phone: +1 425 653 1200 - * http://www.tecplot.com/ - * - */ /* ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/VERSION.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/VERSION.h index 477479ff6..f17c2885d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/VERSION.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/VERSION.h @@ -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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/W__BASE.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/W__BASE.h deleted file mode 100644 index 641c91b95..000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/W__BASE.h +++ /dev/null @@ -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<> 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 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/alloc.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/alloc.cpp index 19ac3e0a0..c81508cf7 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/alloc.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/alloc.cpp @@ -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. ******* ******* ******** ****************************************************************** ****************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/arrlist.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/arrlist.cpp index e7a43c097..1c613b89d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/arrlist.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/arrlist.cpp @@ -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 @@ -93,12 +66,12 @@ * param ItemSize * Item size in bytes. */ -static void CopyArrayItems(char *TargetArray, - LgIndex_t TargetOffset, - char *SourceArray, - LgIndex_t SourceOffset, - LgIndex_t Count, - SmInteger_t ItemSize) +static void CopyArrayItems(char* TargetArray, + LgIndex_t TargetOffset, + char* SourceArray, + LgIndex_t SourceOffset, + LgIndex_t Count, + SmInteger_t ItemSize) { REQUIRE(VALID_REF(TargetArray)); REQUIRE(TargetOffset >= 0); @@ -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(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(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(sizeof(unsigned char)); break; case ArrayListType_UnsignedShort: - Result = (SmInteger_t)sizeof(unsigned short); + Result = static_cast(sizeof(unsigned short)); break; case ArrayListType_UnsignedInt: - Result = (SmInteger_t)sizeof(unsigned int); + Result = static_cast(sizeof(unsigned int)); break; case ArrayListType_UnsignedLong: - Result = (SmInteger_t)sizeof(unsigned long); + Result = static_cast(sizeof(unsigned long)); break; case ArrayListType_Int64: - Result = (SmInteger_t)sizeof(Int64_t); + Result = static_cast(sizeof(Int64_t)); break; case ArrayListType_Char: - Result = (SmInteger_t)sizeof(char); + Result = static_cast(sizeof(char)); break; case ArrayListType_Short: - Result = (SmInteger_t)sizeof(short); + Result = static_cast(sizeof(short)); break; case ArrayListType_Int: - Result = (SmInteger_t)sizeof(int); + Result = static_cast(sizeof(int)); break; case ArrayListType_Long: - Result = (SmInteger_t)sizeof(long); + Result = static_cast(sizeof(long)); break; case ArrayListType_Float: - Result = (SmInteger_t)sizeof(float); + Result = static_cast(sizeof(float)); break; case ArrayListType_Double: - Result = (SmInteger_t)sizeof(double); + Result = static_cast(sizeof(double)); break; case ArrayListType_LgIndex: - Result = (SmInteger_t)sizeof(LgIndex_t); + Result = static_cast(sizeof(LgIndex_t)); break; case ArrayListType_EntIndex: - Result = (SmInteger_t)sizeof(EntIndex_t); + Result = static_cast(sizeof(EntIndex_t)); break; case ArrayListType_SmInteger: - Result = (SmInteger_t)sizeof(SmInteger_t); + Result = static_cast(sizeof(SmInteger_t)); break; case ArrayListType_Boolean: - Result = (SmInteger_t)sizeof(Boolean_t); + Result = static_cast(sizeof(Boolean_t)); break; case ArrayListType_ArbParam: - Result = (SmInteger_t)sizeof(ArbParam_t); + Result = static_cast(sizeof(ArbParam_t)); break; case ArrayListType_UnsignedCharPtr: - Result = (SmInteger_t)sizeof(unsigned char *); + Result = static_cast(sizeof(unsigned char*)); break; case ArrayListType_UnsignedShortPtr: - Result = (SmInteger_t)sizeof(unsigned short *); + Result = static_cast(sizeof(unsigned short*)); break; case ArrayListType_UnsignedIntPtr: - Result = (SmInteger_t)sizeof(unsigned int *); + Result = static_cast(sizeof(unsigned int*)); break; case ArrayListType_UnsignedLongPtr: - Result = (SmInteger_t)sizeof(unsigned long *); + Result = static_cast(sizeof(unsigned long*)); break; case ArrayListType_Int64Ptr: - Result = (SmInteger_t)sizeof(Int64_t *); + Result = static_cast(sizeof(Int64_t*)); break; case ArrayListType_CharPtr: - Result = (SmInteger_t)sizeof(char *); + Result = static_cast(sizeof(char*)); break; case ArrayListType_ShortPtr: - Result = (SmInteger_t)sizeof(short *); + Result = static_cast(sizeof(short*)); break; case ArrayListType_IntPtr: - Result = (SmInteger_t)sizeof(int *); + Result = static_cast(sizeof(int*)); break; case ArrayListType_LongPtr: - Result = (SmInteger_t)sizeof(long *); + Result = static_cast(sizeof(long*)); break; case ArrayListType_FloatPtr: - Result = (SmInteger_t)sizeof(float *); + Result = static_cast(sizeof(float*)); break; case ArrayListType_DoublePtr: - Result = (SmInteger_t)sizeof(double *); + Result = static_cast(sizeof(double*)); break; case ArrayListType_LgIndexPtr: - Result = (SmInteger_t)sizeof(LgIndex_t *); + Result = static_cast(sizeof(LgIndex_t*)); break; case ArrayListType_EntIndexPtr: - Result = (SmInteger_t)sizeof(EntIndex_t *); + Result = static_cast(sizeof(EntIndex_t*)); break; case ArrayListType_SmIntegerPtr: - Result = (SmInteger_t)sizeof(SmInteger_t *); + Result = static_cast(sizeof(SmInteger_t*)); break; case ArrayListType_BooleanPtr: - Result = (SmInteger_t)sizeof(Boolean_t *); + Result = static_cast(sizeof(Boolean_t*)); break; case ArrayListType_ArbParamPtr: - Result = (SmInteger_t)sizeof(ArbParam_t *); + Result = static_cast(sizeof(ArbParam_t*)); break; case ArrayListType_VoidPtr: - Result = (SmInteger_t)sizeof(void *); + Result = static_cast(sizeof(void*)); break; case ArrayListType_FunctionPtr: - Result = (SmInteger_t)sizeof(void (*)()); + Result = static_cast(sizeof(void (*)())); break; case ArrayListType_Any: /* allows a mixed bag of items */ - Result = (SmInteger_t)sizeof(ArrayListItem_u); + Result = static_cast(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(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(&ArrayList->Array[ItemIndex]), ClientData); + CHECK(CHECK_DoContinue); /* this is a requirement of ArrayListItemDestructor_pf */ } } @@ -370,35 +337,33 @@ static void DestroyItems(ArrayList_pa ArrayList, * TRUE if the duplication was a success * FALSE otherwise */ -static Boolean_t DuplicateItems(char *TargetArray, - LgIndex_t TargetItemOffset, - char *SourceArray, - LgIndex_t SourceItemOffset, - SmInteger_t ItemSize, - LgIndex_t Count, - ArrayListItemDuplicator_pf ItemDuplicator, - ArbParam_t ClientData) +static Boolean_t DuplicateItems(char* TargetArray, + LgIndex_t TargetItemOffset, + char* SourceArray, + LgIndex_t SourceItemOffset, + SmInteger_t ItemSize, + LgIndex_t Count, + 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(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(&TargetArray[TargetItemIndex]), + static_cast(&SourceArray[SourceItemIndex]), ClientData); } @@ -418,17 +383,16 @@ 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) && - VALID_ENUM(ArrayList->Type, ArrayListType_e) && - (1 <= ArrayList->ItemSize && - ArrayList->ItemSize <= (SmInteger_t)sizeof(ArrayListItem_u)) && - (0 <= ArrayList->Count && - ArrayList->Count <= ArrayList->Capacity)); + Boolean_t IsValid = (VALID_REF(ArrayList) && + VALID_ENUM(ArrayList->Type, ArrayListType_e) && + (1 <= ArrayList->ItemSize && + ArrayList->ItemSize <= static_cast(sizeof(ArrayListItem_u))) && + (0 <= ArrayList->Count && + ArrayList->Count <= ArrayList->Capacity)); ENSURE(VALID_BOOLEAN(IsValid)); return IsValid; @@ -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; @@ -620,9 +578,9 @@ ArrayList_pa ArrayListAlloc(LgIndex_t EstimatedCapacit * param ClientData * Any client data needed for cleanup. */ -void ArrayListDealloc(ArrayList_pa *ArrayList, - ArrayListItemDestructor_pf ItemDestructor, - ArbParam_t ClientData) +void ArrayListDealloc(ArrayList_pa* ArrayList, + ArrayListItemDestructor_pf ItemDestructor, + ArbParam_t ClientData) { REQUIRE(VALID_REF(ArrayList)); REQUIRE(ArrayListIsValid(*ArrayList) || *ArrayList == 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(&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(&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(&ArrayList->Array[ItemIndex]), ClientData); } ArrayList->IsVisitingItems = IsVisitingItems; @@ -1079,15 +1032,13 @@ 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->CapacityRequestAdjuster, - ArrayList->CapacityRequestAdjusterClientData); + ArrayList_pa Result = ArrayListAlloc(Count, ArrayList->Type, + ArrayList->CapacityRequestAdjuster, + ArrayList->CapacityRequestAdjusterClientData); if (Result != NULL) { /* copy the original items into the result */ @@ -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(&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(&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,14 +1247,12 @@ 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->CapacityRequestAdjuster, - ArrayList->CapacityRequestAdjusterClientData); + ArrayList_pa Result = ArrayListAlloc(ArrayList->Count, ArrayList->Type, + ArrayList->CapacityRequestAdjuster, + ArrayList->CapacityRequestAdjusterClientData); if (Result != NULL && ArrayList->Count != 0) { Boolean_t IsOk = TRUE; @@ -1356,18 +1300,17 @@ ArrayList_pa ArrayListCopy(ArrayList_pa ArrayList, * array (but not the individual members unless a item duplication function * was supplied) when it is no longer needed. */ -void *ArrayListToArray(ArrayList_pa Source, +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(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(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(Result), 0, Source->Array, 0, Source->Count, Source->ItemSize); if (!IsOk) { /* Hack to remove delete warning... */ - char *Tmp = (char *)Result; + char* Tmp = static_cast(Result); FREE_ARRAY(Tmp, "native array"); } } @@ -1421,33 +1364,31 @@ void *ArrayListToArray(ArrayList_pa Source, * native 'C' array if sufficient memory was available, otherwise * a handle to NULL. */ -ArrayList_pa ArrayListFromArray(void *Source, - LgIndex_t Count, - ArrayListType_e Type, - ArrayListItemDuplicator_pf ItemDuplicator, - ArbParam_t ClientData) +ArrayList_pa ArrayListFromArray(void* Source, + LgIndex_t Count, + ArrayListType_e Type, + 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(Source), 0, Result->ItemSize, Count, ItemDuplicator, ClientData); else /* copy the original items into the result */ CopyArrayItems(Result->Array, 0, - (char *)Source, 0, + static_cast(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 @@ -1598,11 +1427,11 @@ void ArrayListQSort(ArrayList_pa ArrayList, * result * TRUE if the item was found in the list, FALSE otherwise. */ -Boolean_t ArrayListBSearch(ArrayList_pa ArrayList, - ArrayListItem_u Item, - ArrayListItemComparator_pf Comparator, - ArbParam_t ClientData, - LgIndex_t *ItemIndex) +Boolean_t ArrayListBSearch(ArrayList_pa ArrayList, + ArrayListItem_u Item, + ArrayListItemComparator_pf Comparator, + ArbParam_t ClientData, + LgIndex_t* ItemIndex) { REQUIRE(ArrayListIsValid(ArrayList)); REQUIRE(VALID_FN_REF(Comparator)); @@ -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; } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/auxdata.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/auxdata.cpp index 9b86bbfba..cacd317f7 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/auxdata.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/auxdata.cpp @@ -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; /* [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((*AuxDataItem)->Name); if (Name != NULL) FREE_ARRAY(Name, "auxiliary name"); if ((*AuxDataItem)->Type == AuxDataType_String) { - char *Value = (char *)(*AuxDataItem)->Value; + char *Value = reinterpret_cast((*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(Value)) || + reinterpret_cast(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(Value); if (strValue != NULL) { char *strCopy = DupString(dontTranslate(strValue)); - Result->Value = (ArbParam_t)strCopy; + Result->Value = reinterpret_cast(strCopy); IsOk = (strCopy != NULL); } else - Result->Value = (ArbParam_t)NULL; + Result->Value = static_cast(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(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(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(TargetItemRef); + AuxDataItem_s **SourceAuxDataItemRef = static_cast(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(ClientData))); - ConsiderRetain = (Boolean_t)ClientData; + ConsiderRetain = static_cast(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,56 +462,31 @@ 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 + int low, high; + low = 0; + high = NumItems - 1; + Index = 0; + while (low <= high) { - for (Index = 0; Index < NumItems; Index++) + int CompareResult; + Index = (low + high) / 2; + AuxDataItem_s* AuxDataItem = static_cast(ArrayListGetVoidPtr(AuxData->ItemList, Index)); + CompareResult = ustrcmp(Name, AuxDataItem->Name); + if (CompareResult < 0) + high = Index - 1; /* If the new name is "less" than the one we're comparing to, + don't change Index since Index is already in the right spot */ + else if (CompareResult > 0) + low = ++Index; /* If the new name it "greater" than the one we're comparing + against, we want to make sure its Index is greater than + the current name's index as well, that's why we increment Index here. */ + else { - AuxDataItem_s *AuxDataItem = - (AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index); - int CompareResult = ustrcmp(AuxDataItem->Name, Name); - if (CompareResult >= 0) - { - FoundItem = (CompareResult == 0); - break; - } + FoundItem = TRUE; + break; } } -# else - { - int low, high; - low = 0; - high = NumItems - 1; - Index = 0; - while (low <= high) - { - AuxDataItem_s *AuxDataItem; - int CompareResult; - Index = (low + high) / 2; - AuxDataItem = (AuxDataItem_s *)ArrayListGetVoidPtr(AuxData->ItemList, Index); - CompareResult = ustrcmp(Name, AuxDataItem->Name); - if (CompareResult < 0) - high = Index - 1; /* If the new name is "less" than the one we're comparing to, - don't change Index since Index is already in the right spot */ - else if (CompareResult > 0) - low = ++Index; /* If the new name it "greater" than the one we're comparing - against, we want to make sure its Index is greater than - the current name's index as well, that's why we increment Index here. */ - else - { - FoundItem = TRUE; - break; - } - } - } -# endif *ItemIndex = Index; @@ -560,12 +515,12 @@ Boolean_t AuxDataGetItemIndex(AuxData_pa AuxData, * param Retain * Address to hold the auxiliary data item retain flag. */ -void AuxDataGetItemByIndex(AuxData_pa AuxData, - LgIndex_t Index, - const char **Name, - ArbParam_t *Value, - AuxDataType_e *Type, - Boolean_t *Retain) +void LIBCALL AuxDataGetItemByIndex(AuxData_pa AuxData, + LgIndex_t Index, + const char **Name, + ArbParam_t *Value, + AuxDataType_e *Type, + Boolean_t *Retain) { AuxDataItem_s *AuxDataItem; @@ -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(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(*Value)) || + reinterpret_cast(*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(*Value)) || + reinterpret_cast(*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(strValue), "YES") == 0 || + ustrcmp(reinterpret_cast(strValue), "YEP") == 0 || + ustrcmp(reinterpret_cast(strValue), "Y") == 0 || + ustrcmp(reinterpret_cast(strValue), "TRUE") == 0 || + ustrcmp(reinterpret_cast(strValue), "T") == 0 || + ustrcmp(reinterpret_cast(strValue), "ON") == 0 || + ustrcmp(reinterpret_cast(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(Value)) || + reinterpret_cast(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(AuxDataItem); if (!AuxDataGetItemIndex(AuxData, Name, &ItemIndex)) IsOk = ArrayListInsertItem(AuxData->ItemList, ItemIndex, ListItem); else diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio.cpp index bf242bca9..4c94677d6 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio.cpp @@ -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(*UserRec != NULL); } if (IsOk && (DataSetAuxData != NULL && *DataSetAuxData == NULL)) { - *DataSetAuxData = AuxDataAlloc(); - IsOk = (Boolean_t)(*DataSetAuxData != NULL); + *DataSetAuxData = AuxDataAlloc(AuxDataOwner); + IsOk = static_cast(*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((*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(NULL)), + ((Pass == 2) ? FileType : static_cast(NULL)), &INumVars, - ((Pass == 2) ? VarNames : (StringList_pa *)NULL)); + ((Pass == 2) ? VarNames : static_cast(NULL))); if (IsOk) - *NumVars = (EntIndex_t)INumVars; + *NumVars = static_cast(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(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((Pass == 2) && UserRec); IsOk = ReadInUserRec(FileStream, IVersion, 500, - OkToLoad ? &CurUserRec : (char **)NULL); + OkToLoad ? &CurUserRec : static_cast(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(ArrayListGetVoidPtr(*VarAuxDataList, VarNum)); if (VarAuxData == NULL) { - VarAuxData = AuxDataAlloc(); + VarAuxData = AuxDataAlloc(AuxDataOwner); IsOk = (VarAuxData != NULL && ArrayListSetVoidPtr(*VarAuxDataList, VarNum, VarAuxData)); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio4.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio4.cpp index f3612623e..4af414e51 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio4.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataio4.cpp @@ -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. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -47,6 +24,9 @@ #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ +#else /* !TECPLOTKERNEL */ +#define DECLARE_NUMERIC_LOCALE_SETTER +#define VALID_NUMERIC_LOCALE() (1) #endif #include "GEOM2.h" @@ -57,6 +37,7 @@ #include "DATAIO4.h" #include "DATASET0.h" +#include "CHARTYPE.h" #include "STRUTIL.h" #include "ARRLIST.h" #include "STRLIST.h" @@ -105,7 +86,7 @@ static char FilterFloatChar(float X) if (((X >= 32.0) && (X <= 127.0)) || ((X >= 160.0) && (X <= 255.0)) || (X == 0.0)) - C = (char)X; + C = static_cast(X); else C = '?'; return (C); @@ -162,7 +143,7 @@ double GetNextValue(FileStream_s *FileStream, if (!FileStream->IsByteOrderNative) REVERSE_4_BYTES(&L); if (*IsOk) - X = (double)L; + X = static_cast(L); } break; case FieldDataType_Int16 : { @@ -171,14 +152,14 @@ double GetNextValue(FileStream_s *FileStream, if (!FileStream->IsByteOrderNative) REVERSE_2_BYTES(&S); if (*IsOk) - X = (double)S; + X = static_cast(S); } break; case FieldDataType_Byte : { Byte_t B; *IsOk = (TP_FREAD(&B, sizeof(Byte_t), 1, FileStream->File) == 1); if (*IsOk) - X = (double)B; + X = static_cast(B); } break; case FieldDataType_Bit : { @@ -193,7 +174,7 @@ double GetNextValue(FileStream_s *FileStream, Byte_t B; *IsOk = (TP_FREAD(&B, sizeof(Byte_t), 1, FileStream->File) == 1); if (*IsOk) - X = (double)(B & (Byte_t)01); + X = static_cast(B & static_cast(01)); } break; default: CHECK(FALSE); break; } @@ -222,7 +203,7 @@ LgIndex_t GetNextI(FileStream_s *FileStream, if (*IsOk) { Int32_t Int32Val; - *IsOk = (TP_FREAD((void *) & Int32Val, 4, 1, FileStream->File) == 1); + *IsOk = (TP_FREAD(static_cast( & Int32Val), 4, 1, FileStream->File) == 1); if (!FileStream->IsByteOrderNative) REVERSE_4_BYTES(&Int32Val); @@ -253,13 +234,13 @@ LgIndex_t GetIoFileInt(FileStream_s *FileStream, float X; if (*IsOk) { - X = (float)GetNextValue(FileStream, FieldDataType_Float, - (double)IMin - 1.0e-10, - (double)IMax + 1.0e-10, IsOk); + X = static_cast(GetNextValue(FileStream, FieldDataType_Float, + static_cast(IMin) - 1.0e-10, + static_cast(IMax) + 1.0e-10, IsOk)); if (*IsOk) { - if (ABS(X) < (float)MAXINDEX) - I = (LgIndex_t)X; + if (ABS(X) < static_cast(MAXINDEX)) + I = static_cast(X); else *IsOk = FALSE; } @@ -290,7 +271,7 @@ static Boolean_t ReallocString(char **String, REQUIRE(VALID_REF(String)); REQUIRE(*String == NULL || VALID_REF(*String)); - REQUIRE((*String != NULL && NewLength >= (LgIndex_t)strlen(*String)) || + REQUIRE((*String != NULL && NewLength >= static_cast(strlen(*String))) || (*String == NULL && NewLength >= 0)); NewString = ALLOC_ARRAY(NewLength + 1, char, "reallocated string"); @@ -374,7 +355,7 @@ Boolean_t ReadInString(FileStream_s *FileStream, LgIndex_t I; for (I = 0; IsOk && I < MaxCharacters; I++) { - X = (float)GetNextValue(FileStream, FieldDataType_Float, 0.0, 127.0, &IsOk); + X = static_cast(GetNextValue(FileStream, FieldDataType_Float, 0.0, 127.0, &IsOk)); if (!IsOk) break; if (ProcessData) @@ -406,11 +387,6 @@ Boolean_t ReadInString(FileStream_s *FileStream, CharValue = GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); if (IsOk && ProcessData) { - /* massage the character if necessary */ - if ((CharValue < 32 && CharValue != '\0' && CharValue != '\n') || - (CharValue >= 128 && CharValue < 160)) - CharValue = ' '; - /* * if the limit is not exceded, stuff the * character into the buffer @@ -418,7 +394,7 @@ Boolean_t ReadInString(FileStream_s *FileStream, if (CharValue != '\0' && (I < MaxCharacters || MaxCharacters == 0)) { - StrBuffer[StrBufferLen] = (char)CharValue; + StrBuffer[StrBufferLen] = static_cast(CharValue); StrBufferLen++; } @@ -439,7 +415,7 @@ Boolean_t ReadInString(FileStream_s *FileStream, I++; } - while (IsOk && (char)CharValue != '\0'); + while (IsOk && static_cast(CharValue) != '\0'); /* if we failed cleanup if necessary */ if (!IsOk && @@ -469,7 +445,7 @@ static void ReadDoubleBlock(FileStream_s *FileStream, if (DoRead) { double *DPtr = Buffer + StartIndex; - *IsOk = (TP_FREAD(DPtr, sizeof(double), NumValues, FileStream->File) == (size_t)NumValues); + *IsOk = (TP_FREAD(DPtr, sizeof(double), NumValues, FileStream->File) == static_cast(NumValues)); if (!FileStream->IsByteOrderNative && *IsOk) { LgIndex_t N; @@ -493,7 +469,7 @@ static void ReadFloatBlock(FileStream_s *FileStream, if (DoRead) { float *FPtr = Buffer + StartIndex; - *IsOk = (TP_FREAD(FPtr, sizeof(float), NumValues, FileStream->File) == (size_t)NumValues); + *IsOk = (TP_FREAD(FPtr, sizeof(float), NumValues, FileStream->File) == static_cast(NumValues)); if (!FileStream->IsByteOrderNative && *IsOk) { LgIndex_t N; @@ -524,7 +500,7 @@ static void ReadBitBlock(FileStream_s *FileStream, *IsOk = (TP_FREAD(Buffer, sizeof(Byte_t), NumBytes, - FileStream->File) == (size_t)NumBytes); + FileStream->File) == static_cast(NumBytes)); } else *IsOk = (TP_FSEEK(FileStream->File, NumBytes * sizeof(Byte_t), SEEK_CUR) == 0); @@ -544,7 +520,7 @@ void ReadByteBlock(FileStream_s *FileStream, *IsOk = (TP_FREAD(Buffer + StartIndex, sizeof(Byte_t), NumValues, - FileStream->File) == (size_t)NumValues); + FileStream->File) == static_cast(NumValues)); } else *IsOk = (TP_FSEEK(FileStream->File, NumValues * sizeof(Byte_t), SEEK_CUR) == 0); @@ -566,7 +542,7 @@ void ReadInt16Block(FileStream_s *FileStream, *IsOk = (TP_FREAD(IntPtr, sizeof(Int16_t), NumValues, - FileStream->File) == (size_t)NumValues); + FileStream->File) == static_cast(NumValues)); if (!FileStream->IsByteOrderNative && *IsOk) { @@ -604,7 +580,7 @@ void ReadInt16BlockToInt32(FileStream_s *FileStream, *IsOk = (TP_FREAD(&Value, sizeof(Int16_t), 1, FileStream->File) == 1); if (!FileStream->IsByteOrderNative && *IsOk) REVERSE_2_BYTES(&Value); - Buffer[ValueIndex] = (Int32_t)Value; + Buffer[ValueIndex] = static_cast(Value); } } else @@ -626,7 +602,7 @@ void ReadInt32Block(FileStream_s *FileStream, *IsOk = (TP_FREAD(IntPtr, sizeof(Int32_t), NumValues, - FileStream->File) == (size_t)NumValues); + FileStream->File) == static_cast(NumValues)); if (!FileStream->IsByteOrderNative && *IsOk) { @@ -663,7 +639,7 @@ void ReadPureBlock(FileStream_s *FileStream, { ReadFloatBlock(FileStream, DoRead, - (float *)Buffer, + static_cast(Buffer), StartIndex, NumValues, IsOk); @@ -672,7 +648,7 @@ void ReadPureBlock(FileStream_s *FileStream, { ReadDoubleBlock(FileStream, DoRead, - (double *)Buffer, + static_cast(Buffer), StartIndex, NumValues, IsOk); @@ -688,7 +664,7 @@ void ReadPureBlock(FileStream_s *FileStream, else ReadBitBlock(FileStream, DoRead, - (Byte_t *)Buffer, + static_cast(Buffer), NumValues, IsOk); } break; @@ -696,7 +672,7 @@ void ReadPureBlock(FileStream_s *FileStream, { ReadByteBlock(FileStream, DoRead, - (Byte_t *)Buffer, + static_cast(Buffer), StartIndex, NumValues, IsOk); @@ -705,7 +681,7 @@ void ReadPureBlock(FileStream_s *FileStream, { ReadInt16Block(FileStream, DoRead, - (Int16_t *)Buffer, + static_cast(Buffer), StartIndex, NumValues, IsOk); @@ -714,7 +690,7 @@ void ReadPureBlock(FileStream_s *FileStream, { ReadInt32Block(FileStream, DoRead, - (Int32_t *)Buffer, + static_cast(Buffer), StartIndex, NumValues, IsOk); @@ -866,11 +842,11 @@ Boolean_t ReadInDataFileTypeTitleAndVarNames(FileStream_s *FileStream, if (IVersion >= 109) { if (FileType) - *FileType = (DataFileType_e)GetIoFileInt(FileStream, + *FileType = static_cast(GetIoFileInt(FileStream, IVersion, 0, DataFileType_Solution, - &IsOk); + &IsOk)); else GetIoFileInt(FileStream, IVersion, @@ -882,7 +858,7 @@ Boolean_t ReadInDataFileTypeTitleAndVarNames(FileStream_s *FileStream, IVersion, ((IVersion < 63) ? 80 : MaxChrsDatasetTitle), DataSetTitle, - (Boolean_t)(DataSetTitle != NULL))) + static_cast(DataSetTitle != NULL))) { if (DataSetTitle) TrimLeadAndTrailSpaces(*DataSetTitle); @@ -924,7 +900,7 @@ Boolean_t ReadInDataFileTypeTitleAndVarNames(FileStream_s *FileStream, IVersion, ((IVersion < 63) ? 5 : MaxChrsVarName), VarNames ? &VName : NULL, - (Boolean_t)(VarNames != NULL)); + static_cast(VarNames != NULL)); if (IsOk && VarNames) { if (VName == NULL) @@ -979,7 +955,7 @@ static Boolean_t ReadInPresetZoneColor(FileStream_s *FileStream, { if (VALID_BASIC_COLOR(ZoneColor)) { - ZoneSpec->ZoneLoadInfo.PresetZoneColor = (EntIndex_t)ZoneColor; + ZoneSpec->ZoneLoadInfo.PresetZoneColor = static_cast(ZoneColor); AdjustCustomColor(IVersion, &ZoneSpec->ZoneLoadInfo.PresetZoneColor); } else if (ZoneColor != -1) @@ -1012,14 +988,14 @@ static void ConvertCommonTimeToSolutionTime(ZoneSpec_s *ZoneSpec) CHECK(Type == AuxDataType_String); char *EndPtr = NULL; - double SolutionTime = strtod((const char *)Value, &EndPtr); - if (EndPtr != (char *)Value) + double SolutionTime = strtod(reinterpret_cast(Value), &EndPtr); + if (EndPtr != reinterpret_cast(Value)) { /* we only allow white space to trail a value */ - while (isspace(*EndPtr)) + while (tecplot::isspace(*EndPtr)) EndPtr++; } - if (EndPtr != (char *)Value && *EndPtr == '\0') + if (EndPtr != reinterpret_cast(Value) && *EndPtr == '\0') { ZoneSpec->SolutionTime = SolutionTime; ZoneSpec->StrandID = STRAND_ID_PENDING; @@ -1038,6 +1014,7 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, ZoneSpec_s *ZoneSpec, Set_pa IsVarCellCentered, EntIndex_t NumVars, + ArbParam_t AuxDataOwner, Boolean_t *IsRawFNAvailable, LgIndex_t *FNNumBndryConns) { @@ -1092,7 +1069,7 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, return (FALSE); } - ZoneDataFormat = (DataFormat_e)I1; + ZoneDataFormat = static_cast(I1); IsZoneFinite = (ZoneDataFormat == DataFormat_FEPoint || ZoneDataFormat == DataFormat_FEBlock); @@ -1137,7 +1114,7 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, { if (IVersion >= 61) { - ZoneSpec->Type = (ZoneType_e)(ZoneSpec->NumPtsK + 1); + ZoneSpec->Type = static_cast(ZoneSpec->NumPtsK + 1); switch (ZoneSpec->Type) { case ZoneType_FETriangle: ZoneSpec->NumPtsK = 3; break; @@ -1197,7 +1174,7 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, IsOk = IsOk && ReadInPresetZoneColor(FileStream, IVersion, ZoneSpec); /* ZoneType */ - I1 = (ZoneType_e)GetIoFileInt(FileStream, IVersion, 0, 7, &IsOk); + I1 = static_cast(GetIoFileInt(FileStream, IVersion, 0, 7, &IsOk)); switch (I1) { case 0: ZoneSpec->Type = ZoneType_Ordered; break; @@ -1218,17 +1195,17 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, /* DataPacking (Always BLOCK starting with file version 112 so removed from binary format) */ if (IVersion < 112) ZoneSpec->ZoneLoadInfo.IsInBlockFormat = - ((DataPacking_e)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk) == DataPacking_Block); + (static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)) == DataPacking_Block); else ZoneSpec->ZoneLoadInfo.IsInBlockFormat = TRUE; /* is the variable value location specified? */ - if ((Boolean_t)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk) && IsOk) + if (static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)) && IsOk) { /* Variable Value Location foreach Var */ for (Var = 0; Var < NumVars && IsOk; Var++) { - if ((Boolean_t)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk) && IsOk && + if (static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)) && IsOk && IsVarCellCentered != NULL) { IsOk = (ZoneSpec->ZoneLoadInfo.IsInBlockFormat); @@ -1267,14 +1244,14 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, /* miscellaneous face neighbor info */ *FNNumBndryConns = GetIoFileInt(FileStream, IVersion, 0, MAXINDEX, &IsOk); if (*FNNumBndryConns != 0) - ZoneSpec->FNMode = (FaceNeighborMode_e)GetIoFileInt(FileStream, IVersion, 0, 3, &IsOk); + ZoneSpec->FNMode = static_cast(GetIoFileInt(FileStream, IVersion, 0, 3, &IsOk)); if (IVersion >= 108 && IsOk) { Boolean_t FaceNeighborsComplete = FALSE; if (*FNNumBndryConns != 0 && ZoneSpec->Type != ZoneType_Ordered) - FaceNeighborsComplete = (Boolean_t)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk); + FaceNeighborsComplete = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)); /* * If the user defined face neighbors completely specify all the @@ -1355,7 +1332,7 @@ Boolean_t ReadInZoneHeader(FileStream_s *FileStream, I1 = GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)) { if (ZoneSpec->AuxData == NULL) - ZoneSpec->AuxData = AuxDataAlloc(); + ZoneSpec->AuxData = AuxDataAlloc(AuxDataOwner); IsOk = (ZoneSpec->AuxData != NULL); if (IsOk) IsOk = ReadInAuxData(FileStream, IVersion, ZoneSpec->AuxData); @@ -1395,7 +1372,7 @@ Boolean_t ReadInCustomLabels(FileStream_s *FileStream, REQUIRE(VALID_BOOLEAN(OkToLoad)); REQUIRE(!(OkToLoad) || VALID_REF(CustomLabelBase)); - NumLabels = (short)GetIoFileInt(FileStream, IVersion, 1, MAXINDEX, &IsOk); + NumLabels = static_cast(GetIoFileInt(FileStream, IVersion, 1, MAXINDEX, &IsOk)); if (IsOk && NumLabels != 0 && OkToLoad) { *CustomLabelBase = StringListAlloc(); @@ -1444,7 +1421,7 @@ Boolean_t ReadInUserRec(FileStream_s *FileStream, if (!ReadInString(FileStream, IVersion, MaxCharactersAllowed, UserRec, - (Boolean_t)(UserRec != NULL))) + static_cast(UserRec != NULL))) { ErrMsg(translate("Invalid USERREC record in binary datafile")); return (FALSE); @@ -1488,7 +1465,7 @@ Boolean_t ReadInAuxData(FileStream_s *FileStream, if (IsOk) { AuxValueType = GetIoFileInt(FileStream, IVersion, 0, 0, &IsOk); - if (IsOk && (AuxValueType != (LgIndex_t)AuxDataType_String)) + if (IsOk && (AuxValueType != static_cast(AuxDataType_String))) { ErrMsg(translate("Unsupported auxiliary data type")); IsOk = FALSE; @@ -1503,7 +1480,7 @@ Boolean_t ReadInAuxData(FileStream_s *FileStream, DoCollectData); if (IsOk && DoCollectData) IsOk = AuxDataSetItem(AuxData, - AuxName, (ArbParam_t)AuxValue, + AuxName, reinterpret_cast(AuxValue), AuxDataType_String, TRUE); /* Retain */ @@ -1530,7 +1507,7 @@ static void GetZoneAttachment(FileStream_s *FileStream, REQUIRE(VALID_REF(IsOk) && VALID_BOOLEAN(*IsOk)); if (IVersion >= 47) - *Z = (EntIndex_t)GetIoFileInt(FileStream, IVersion, -1, MAXZONEMAP, IsOk); + *Z = static_cast(GetIoFileInt(FileStream, IVersion, -1, MAXZONEMAP, IsOk)); else *Z = 0; @@ -1614,9 +1591,9 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, IsOk = FALSE; } - Geom->Scope = (Scope_e)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk); + Geom->Scope = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)); if (IVersion >= 102) - Geom->DrawOrder = (DrawOrder_e)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk); + Geom->DrawOrder = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)); Geom->AnchorPos.Generic.V1 = GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); Geom->AnchorPos.Generic.V2 = GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); if (IVersion >= 45) @@ -1626,14 +1603,14 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, GetZoneAttachment(FileStream, IVersion, &Geom->Zone, &Geom->AttachToZone, &IsOk); - Geom->BColor = (SmInteger_t)GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); + Geom->BColor = static_cast(GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk)); AdjustCustomColor(IVersion, &Geom->BColor); if (IVersion > 47) { - Geom->FillBColor = (SmInteger_t)GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); - Geom->IsFilled = (Boolean_t)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk); + Geom->FillBColor = static_cast(GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk)); + Geom->IsFilled = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)); AdjustCustomColor(IVersion, &Geom->FillBColor); } else @@ -1644,7 +1621,7 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, if (IVersion < 101) { - Geom->GeomType = (GeomType_e)GetIoFileInt(FileStream, IVersion, 0, 5, &IsOk); + Geom->GeomType = static_cast(GetIoFileInt(FileStream, IVersion, 0, 5, &IsOk)); if (Geom->GeomType == GeomType_LineSegs3D) { /* @@ -1657,7 +1634,7 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, } else { - Geom->GeomType = (GeomType_e)GetIoFileInt(FileStream, IVersion, 0, 4, &IsOk); + Geom->GeomType = static_cast(GetIoFileInt(FileStream, IVersion, 0, 4, &IsOk)); } /* @@ -1672,22 +1649,22 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, if (IVersion > 41) { - Geom->LinePattern = (LinePattern_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)LinePattern_DashDotDot, &IsOk); + Geom->LinePattern = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(LinePattern_DashDotDot), &IsOk)); } else { - Geom->LinePattern = (LinePattern_e)((int)Geom->GeomType % 2); - Geom->GeomType = (GeomType_e)((int)Geom->GeomType / 10); + Geom->LinePattern = static_cast((static_cast(Geom->GeomType) % 2)); + Geom->GeomType = static_cast((static_cast(Geom->GeomType) / 10)); } - if ((IVersion < 49) && ((short)(Geom->GeomType) == 2)) + if ((IVersion < 49) && (static_cast(Geom->GeomType) == 2)) { Geom->GeomType = GeomType_Rectangle; Geom->IsFilled = TRUE; } - if ((IVersion < 70) && ((short)(Geom->GeomType) > 1)) - Geom->GeomType = (GeomType_e)((short)Geom->GeomType + 1); + if ((IVersion < 70) && (static_cast(Geom->GeomType) > 1)) + Geom->GeomType = static_cast((static_cast(Geom->GeomType) + 1)); ResetString(&Geom->MacroFunctionCommand, NULL, TRUE); @@ -1703,12 +1680,12 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, LineThicknessInputSpec.Min, LineThicknessInputSpec.Max, &IsOk); - Geom->NumEllipsePts = (SmInteger_t)GetIoFileInt(FileStream, IVersion, 2, MaxPtsCircleOrEllipse, &IsOk); - Geom->ArrowheadStyle = (ArrowheadStyle_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)ArrowheadStyle_Hollow, &IsOk); - Geom->ArrowheadAttachment = (ArrowheadAttachment_e)GetIoFileInt(FileStream, IVersion, + Geom->NumEllipsePts = static_cast(GetIoFileInt(FileStream, IVersion, 2, MaxPtsCircleOrEllipse, &IsOk)); + Geom->ArrowheadStyle = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(ArrowheadStyle_Hollow), &IsOk)); + Geom->ArrowheadAttachment = static_cast(GetIoFileInt(FileStream, IVersion, 0, - (LgIndex_t)ArrowheadAttachment_AtBothEnds, - &IsOk); + static_cast(ArrowheadAttachment_AtBothEnds), + &IsOk)); Geom->ArrowheadSize = GetNextValue(FileStream, FFT, ArrowheadSizeInputSpec.Min, @@ -1747,26 +1724,26 @@ Boolean_t ReadInGeometry(FileStream_s *FileStream, if (IVersion < 70) Geom->DataType = FieldDataType_Float; else - Geom->DataType = (FieldDataType_e)GetIoFileInt(FileStream, IVersion, 1, 2, &IsOk); + Geom->DataType = static_cast(GetIoFileInt(FileStream, IVersion, 1, 2, &IsOk)); CHECK(VALID_GEOM_FIELD_DATA_TYPE(Geom->DataType)); Geom->Clipping = Clipping_ClipToViewport; /* default value for pre 101 versions */ if (IVersion >= 101) { - Geom->Clipping = (Clipping_e)GetIoFileInt(FileStream, IVersion, 0, 2, &IsOk); + Geom->Clipping = static_cast(GetIoFileInt(FileStream, IVersion, 0, 2, &IsOk)); /* * The second clipping value was deprecated during v10 development and thus removed. * This moved Clipping_ClipToFrame to the 2nd position from the 3rd, so we convert * value 2 to ClipToFrame to support files made during v10 developement. */ - if (Geom->Clipping == (Clipping_e)2) + if (Geom->Clipping == static_cast(2)) Geom->Clipping = Clipping_ClipToFrame; } if (IVersion < 50 || Geom->GeomType == GeomType_LineSegs) { - Geom->NumSegments = (SmInteger_t)GetIoFileInt(FileStream, IVersion, 1, MaxGeoSegments, &IsOk); + Geom->NumSegments = static_cast(GetIoFileInt(FileStream, IVersion, 1, MaxGeoSegments, &IsOk)); #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif @@ -1879,7 +1856,7 @@ Boolean_t ReadInText(FileStream_s *FileStream, IsOk = FALSE; } - Text->Scope = (Scope_e)GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk); + Text->Scope = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1, &IsOk)); Text->AnchorPos.Generic.V1 = GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); Text->AnchorPos.Generic.V2 = GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); if (IVersion >= 101) @@ -1888,9 +1865,21 @@ Boolean_t ReadInText(FileStream_s *FileStream, Text->AnchorPos.Generic.V3 = 0.0; /* default value for pre 101 versions */ if (IVersion > 40) - Text->TextShape.Font = (Font_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)Font_CourierBold, &IsOk); + { + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + Text->TextShape.Font = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(Font_CourierBold), &IsOk)); + #endif + } else - Text->TextShape.Font = Font_Helvetica; + { + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + Text->TextShape.Font = Font_Helvetica; + #endif + } if (IVersion < 43) GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); if (IVersion < 70) @@ -1901,12 +1890,12 @@ Boolean_t ReadInText(FileStream_s *FileStream, Text->TextShape.SizeUnits = Units_Frame; } else - Text->TextShape.SizeUnits = (Units_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)Units_Point, &IsOk); + Text->TextShape.SizeUnits = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(Units_Point), &IsOk)); Text->TextShape.Height = GetNextValue(FileStream, FFT, -LARGEDOUBLE, LARGEDOUBLE, &IsOk); if (IVersion > 47) { - Text->Box.BoxType = (TextBox_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)TextBox_Hollow, &IsOk); + Text->Box.BoxType = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(TextBox_Hollow), &IsOk)); if (IVersion < 70) { if (Text->Box.BoxType == TextBox_Hollow) @@ -1925,8 +1914,8 @@ Boolean_t ReadInText(FileStream_s *FileStream, &IsOk); else Text->Box.LineThickness = 0.01; - Text->Box.BColor = (ColorIndex_t)GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); - Text->Box.FillBColor = (ColorIndex_t)GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); + Text->Box.BColor = static_cast(GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk)); + Text->Box.FillBColor = static_cast(GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk)); AdjustCustomColor(IVersion, &Text->Box.BColor); AdjustCustomColor(IVersion, &Text->Box.FillBColor); } @@ -1953,15 +1942,15 @@ Boolean_t ReadInText(FileStream_s *FileStream, TextLineSpacingInputSpec.Min, TextLineSpacingInputSpec.Max, &IsOk); - Text->Anchor = (TextAnchor_e)GetIoFileInt(FileStream, IVersion, 0, (LgIndex_t)TextAnchor_HeadRight, &IsOk); + Text->Anchor = static_cast(GetIoFileInt(FileStream, IVersion, 0, static_cast(TextAnchor_HeadRight), &IsOk)); } GetZoneAttachment(FileStream, IVersion, &Text->Zone, &Text->AttachToZone, &IsOk); - Text->BColor = (ColorIndex_t)GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk); + Text->BColor = static_cast(GetIoFileInt(FileStream, IVersion, 0, 255, &IsOk)); AdjustCustomColor(IVersion, &Text->BColor); if (IVersion < 70) - TextLength = (short)GetIoFileInt(FileStream, IVersion, 0, 5000, &IsOk); + TextLength = static_cast(GetIoFileInt(FileStream, IVersion, 0, 5000, &IsOk)); ResetString(&Text->MacroFunctionCommand, NULL, TRUE); @@ -1972,9 +1961,9 @@ Boolean_t ReadInText(FileStream_s *FileStream, short I, S; for (I = 0; I < TextLength; I++) { - S = (short)GetIoFileInt(FileStream, IVersion, 0, 1000, &IsOk); + S = static_cast(GetIoFileInt(FileStream, IVersion, 0, 1000, &IsOk)); if (OkToLoad && (I <= MaxTextLen)) - Text->Text[I] = (char)S; + Text->Text[I] = static_cast(S); } if (OkToLoad) Text->Text[MIN(TextLength, MaxTextLen)] = '\0'; @@ -1998,8 +1987,8 @@ Boolean_t ReadInText(FileStream_s *FileStream, * This moved Clipping_ClipToFrame to the 2nd position from the 3rd, so we convert * value 2 to ClipToFrame to support files made during v10 developement. */ - Text->Clipping = (Clipping_e)GetIoFileInt(FileStream, IVersion, 0, 2, &IsOk); - if (Text->Clipping == (Clipping_e)2) + Text->Clipping = static_cast(GetIoFileInt(FileStream, IVersion, 0, 2, &IsOk)); + if (Text->Clipping == static_cast(2)) Text->Clipping = Clipping_ClipToFrame; } @@ -2039,7 +2028,7 @@ static Boolean_t CompareVersion(float Version, char *VersionString, Boolean_t IsByteOrderNative) { - char *VersionBuf = (char *) & Version; + char *VersionBuf = reinterpret_cast( & Version); REQUIRE(VALID_REF(VersionString)); @@ -2060,7 +2049,7 @@ static float ValidVersions[] = {7.0F, 5.0F, 4.7F, 4.6F, 4.5F, 4.4F, 4.3F, 4.2F, 4.1F, 4.0F }; -#define NUMVALIDVERSIONS ((int)(sizeof(ValidVersions)/sizeof(ValidVersions[0]))) +#define NUMVALIDVERSIONS (static_cast(sizeof(ValidVersions)/sizeof(ValidVersions[0]))) /* @@ -2110,7 +2099,7 @@ static short GetNewInputVersion(FileStream_s *FileStream) return (0); I = 1; - while ((I < 4) && isdigit(Buf[I])) + while ((I < 4) && tecplot::isdigit(Buf[I])) IVersion = IVersion * 10 + Buf[I++] - '0'; if (IVersion < 70) @@ -2189,7 +2178,7 @@ short GetInputVersion(FileStream_s *FileStream) if (IsOk) return (IVersion); else - return ((short)0); + return (static_cast(0)); } #if defined TECPLOTKERNEL @@ -2221,8 +2210,8 @@ Boolean_t WriteBinaryByteBlock(FileStream_s *FileStream, Boolean_t IsOk = TP_FWRITE(ByteValues, sizeof(Byte_t), - (size_t)NumValues, - FileStream->File) == (size_t)NumValues; + static_cast(NumValues), + FileStream->File) == static_cast(NumValues); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; @@ -2250,7 +2239,7 @@ void CopyAndReverseUnalignedBytes(T *DstBuffer, REQUIRE(VALID_REF(SrcBuffer)); size_t typeSize = sizeof(T); for (size_t ii = 0; ii < typeSize; ii++) - ((Byte_t *)(DstBuffer))[ii] = ((Byte_t *)(SrcBuffer))[typeSize-1-ii]; + (reinterpret_cast(DstBuffer))[ii] = (reinterpret_cast(SrcBuffer))[typeSize-1-ii]; } /** @@ -2262,7 +2251,7 @@ void CopyUnalignedBytes(T *DstBuffer, REQUIRE(VALID_REF(DstBuffer)); REQUIRE(VALID_REF(SrcBuffer)); for (size_t ii = 0; ii < sizeof(T); ii++) - ((Byte_t *)(DstBuffer))[ii] = ((Byte_t *)(SrcBuffer))[ii]; + (reinterpret_cast(DstBuffer))[ii] = (reinterpret_cast(SrcBuffer))[ii]; } /** @@ -2298,7 +2287,7 @@ Boolean_t WriteBinaryInt16(FileStream_s *FileStream, Boolean_t IsOk; REQUIRE(VALID_REF(FileStream) && VALID_REF(FileStream->File)); REQUIRE("Value can be any Int16_t"); - IsOk = WriteBinaryDataUnaligned(FileStream, (Byte_t *) & Value, TRUE/*ValueInNativeOrder*/); + IsOk = WriteBinaryDataUnaligned(FileStream, reinterpret_cast( & Value), TRUE/*ValueInNativeOrder*/); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; } @@ -2312,7 +2301,7 @@ Boolean_t WriteBinaryInt32(FileStream_s *FileStream, Boolean_t IsOk; REQUIRE(VALID_REF(FileStream) && VALID_REF(FileStream->File)); REQUIRE("Value can be any Int32_t"); - IsOk = WriteBinaryDataUnaligned(FileStream, (Byte_t *) & Value, TRUE/*ValueInNativeOrder*/); + IsOk = WriteBinaryDataUnaligned(FileStream, reinterpret_cast( & Value), TRUE/*ValueInNativeOrder*/); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; } @@ -2421,12 +2410,12 @@ Boolean_t WriteBinaryReal(FileStream_s *FileStream, case FieldDataType_Float : { float FloatVal = CONVERT_DOUBLE_TO_FLOAT(RR); - IsOk = WriteBinaryDataUnaligned(FileStream, (Byte_t *) & FloatVal, TRUE/*NativeOrdering*/); + IsOk = WriteBinaryDataUnaligned(FileStream, reinterpret_cast( & FloatVal), TRUE/*NativeOrdering*/); } break; case FieldDataType_Double : { double DoubleVal = CLAMP_DOUBLE(RR); - IsOk = WriteBinaryDataUnaligned(FileStream, (Byte_t *) & DoubleVal, TRUE/*NativeOrdering*/); + IsOk = WriteBinaryDataUnaligned(FileStream, reinterpret_cast( & DoubleVal), TRUE/*NativeOrdering*/); } break; case FieldDataType_Byte : { @@ -2437,7 +2426,7 @@ Boolean_t WriteBinaryReal(FileStream_s *FileStream, else if (RR < 0) B = 0; else - B = (Byte_t)RR; + B = static_cast(RR); IsOk = WriteBinaryByte(FileStream, B); } break; default: CHECK(FALSE); break; @@ -2453,7 +2442,7 @@ Boolean_t WriteFieldDataType(FileStream_s *FileStream, Boolean_t WriteBinary) { if (WriteBinary) - return (WriteBinaryInt32(FileStream, (LgIndex_t)FDT)); + return (WriteBinaryInt32(FileStream, static_cast(FDT))); else { short S = 0; @@ -2512,14 +2501,14 @@ Boolean_t WriteBinaryFieldDataBlockOfType(FileStream_s *FileStream, if (IsFieldDataDirectAccessAllowed(FieldData)) { Byte_t *ByteArray = GetFieldDataBytePtr(FieldData) + StartOffset * sizeof(T); - IsOk = WriteBinaryChecksumByteValues(FileStream, ByteArray, (HgIndex_t)NumValues); + IsOk = WriteBinaryChecksumByteValues(FileStream, ByteArray, static_cast(NumValues)); } else { for (LgIndex_t Offset = StartOffset; Offset < NumValues; Offset++) { - T ValueBuffer = (T)GetFieldValue(FieldData, Offset); - Byte_t *ByteValue = (Byte_t *) & ValueBuffer; + T ValueBuffer = static_cast(GetFieldValue(FieldData, Offset)); + Byte_t *ByteValue = reinterpret_cast( & ValueBuffer); IsOk = WriteBinaryChecksumByteValues(FileStream, ByteValue, 1); } } @@ -2541,7 +2530,7 @@ static Boolean_t WriteBinaryFieldDataBlockOfTypeBit(FileStream_s *FileStrea if (IsFieldDataDirectAccessAllowed(FieldData)) { Byte_t *ByteArray = GetFieldDataBytePtr(FieldData); - IsOk = WriteBinaryChecksumByteValues(FileStream, ByteArray, (HgIndex_t)NumBytes); + IsOk = WriteBinaryChecksumByteValues(FileStream, ByteArray, static_cast(NumBytes)); } else { @@ -2552,7 +2541,7 @@ static Boolean_t WriteBinaryFieldDataBlockOfTypeBit(FileStream_s *FileStrea Byte_t ValueBuffer = 0; for (int ii = 0; ii < 8; ii++) { - Byte_t CurBit = (Byte_t)GetFieldValue(FieldData, Offset + ii); + Byte_t CurBit = static_cast(GetFieldValue(FieldData, Offset + ii)); ValueBuffer |= (CurBit << ii); } IsOk = WriteBinaryChecksumByteValues(FileStream, &ValueBuffer, 1); @@ -2590,58 +2579,46 @@ Boolean_t WriteBinaryFieldDataBlock(FileStream_s *FileStream, } -static Boolean_t WriteASCIIFieldDataValue(FileStream_s *FileStream, +static Boolean_t WriteASCIIFieldDataValue(FileStream_s* FileStream, FieldData_pa FieldData, LgIndex_t Offset, SmInteger_t AsciiPrecision) { - Boolean_t IsOk = FALSE; /* ...quiet compiler */ - #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif - double V = 0.0; + double V = GetFieldValue(FieldData, Offset); + CHECK(VALID_NUMERIC_LOCALE()); + char buffer[100*MAX_SIZEOFUTF8CHAR]; - char *AsciiValue = buffer; - -#ifdef TECPLOTKERNEL -/* CORE SOURCE CODE REMOVED */ -#endif - - V = GetFieldValue(FieldData, Offset); - switch (GetFieldDataType(FieldData)) { case FieldDataType_Float : case FieldDataType_Double : - /*IsOk = FPRINTFOK(fprintf(FileStream->File," %.*E",(int)AsciiPrecision,V)); */ - sprintf(buffer, " %.*E", (int)AsciiPrecision, V); + sprintf(buffer, " %.*E", static_cast(AsciiPrecision), V); break; case FieldDataType_Int32 : - /* IsOk = FPRINTFOK(fprintf(FileStream->File," %*d",(int)AsciiPrecision,ROUNDL(V))); */ - sprintf(buffer, " %*d", (int)AsciiPrecision, ROUNDL(V)); + sprintf(buffer, " %*d", static_cast(AsciiPrecision), ROUNDL(V)); break; case FieldDataType_Int16 : - /* IsOk = FPRINTFOK(fprintf(FileStream->File," %6d",ROUND2(V))); */ sprintf(buffer, " %6d", ROUND2(V)); break; case FieldDataType_Byte : - /* IsOk = FPRINTFOK(fprintf(FileStream->File," %3d",ROUNDS(V))); */ sprintf(buffer, " %3d", ROUNDS(V)); break; case FieldDataType_Bit : - /* IsOk = FPRINTFOK(fprintf(FileStream->File," %c",((V == 0) ? '0' : '1'))); */ sprintf(buffer, " %c", ((V == 0) ? '0' : '1')); break; default: CHECK(FALSE); break; } - IsOk = FPRINTFOK(fprintf(FileStream->File, buffer)); + + Boolean_t IsOk = FPRINTFOK(fprintf(FileStream->File, "%s", buffer)); #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif ENSURE(VALID_BOOLEAN(IsOk)); - return (IsOk); + return IsOk; } @@ -2665,6 +2642,8 @@ Boolean_t WriteCCFieldDataBlock(FileStream_s *FileStream, LgIndex_t KEnd = -1; Boolean_t IsLinear = -1; + DECLARE_NUMERIC_LOCALE_SETTER + REQUIRE(VALID_REF(FileStream) && VALID_REF(FileStream->File)); REQUIRE(VALID_REF(FieldData)); REQUIRE(VALID_BOOLEAN(IsOrderedData)); @@ -2755,7 +2734,7 @@ Boolean_t DumpDatafileString(FileStream_s *FileStream, { const char *CPtr = S; while (IsOk && CPtr && *CPtr) - IsOk = WriteBinaryInt32(FileStream, (LgIndex_t)(unsigned char) * CPtr++); + IsOk = WriteBinaryInt32(FileStream, static_cast(static_cast( * CPtr++))); if (IsOk) IsOk = WriteBinaryInt32(FileStream, 0); } @@ -2826,6 +2805,9 @@ static void WriteAsciiTextGeomBasics(FILE* File, REQUIRE(VALID_BOOLEAN(WriteGridDataAsPolar)); REQUIRE(VALID_REF(AnchorPos)); + DECLARE_NUMERIC_LOCALE_SETTER + CHECK(VALID_NUMERIC_LOCALE()); + fprintf(File, "CS="); if (CoordSys == CoordSys_Frame) fprintf(File, "FRAME"); @@ -2911,26 +2893,26 @@ bool DumpGeometry(FileStream_s* FileStream, else CHECK(FALSE); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->Scope); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->DrawOrder); + WriteBinaryInt32(FileStream, static_cast(Geom->Scope)); + WriteBinaryInt32(FileStream, static_cast(Geom->DrawOrder)); WriteBinaryReal(FileStream, Geom->AnchorPos.Generic.V1, FieldDataType_Double); WriteBinaryReal(FileStream, Geom->AnchorPos.Generic.V2, FieldDataType_Double); WriteBinaryReal(FileStream, Geom->AnchorPos.Generic.V3, FieldDataType_Double); if (Geom->AttachToZone) - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->Zone); + WriteBinaryInt32(FileStream, static_cast(Geom->Zone)); else - WriteBinaryInt32(FileStream, (LgIndex_t) - 1); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->BColor); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->FillBColor); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->IsFilled); + WriteBinaryInt32(FileStream, static_cast( - 1)); + WriteBinaryInt32(FileStream, static_cast(Geom->BColor)); + WriteBinaryInt32(FileStream, static_cast(Geom->FillBColor)); + WriteBinaryInt32(FileStream, static_cast(Geom->IsFilled)); CHECK(Geom->GeomType != GeomType_LineSegs3D); /* deprecated */ - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->GeomType); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->LinePattern); + WriteBinaryInt32(FileStream, static_cast(Geom->GeomType)); + WriteBinaryInt32(FileStream, static_cast(Geom->LinePattern)); WriteBinaryReal(FileStream, Geom->PatternLength, FieldDataType_Double); WriteBinaryReal(FileStream, Geom->LineThickness, FieldDataType_Double); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->NumEllipsePts); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->ArrowheadStyle); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->ArrowheadAttachment); + WriteBinaryInt32(FileStream, static_cast(Geom->NumEllipsePts)); + WriteBinaryInt32(FileStream, static_cast(Geom->ArrowheadStyle)); + WriteBinaryInt32(FileStream, static_cast(Geom->ArrowheadAttachment)); WriteBinaryReal(FileStream, Geom->ArrowheadSize, FieldDataType_Double); WriteBinaryReal(FileStream, Geom->ArrowheadAngle, FieldDataType_Double); @@ -2944,7 +2926,7 @@ bool DumpGeometry(FileStream_s* FileStream, */ FDT = GetGeomFieldDataType(Geom); WriteFieldDataType(FileStream, FDT, TRUE); - WriteBinaryInt32(FileStream, (LgIndex_t)Geom->Clipping); + WriteBinaryInt32(FileStream, static_cast(Geom->Clipping)); if (Geom->GeomType == GeomType_LineSegs) { @@ -2977,6 +2959,9 @@ bool DumpGeometry(FileStream_s* FileStream, } else { + DECLARE_NUMERIC_LOCALE_SETTER + CHECK(VALID_NUMERIC_LOCALE()); + double ScaleFact; if (Geom->PositionCoordSys == CoordSys_Frame) ScaleFact = 100.0; @@ -3035,7 +3020,7 @@ bool DumpGeometry(FileStream_s* FileStream, DumpDatafileString(FileStream, Geom->MacroFunctionCommand, FALSE); if ((Geom->GeomType == GeomType_Circle) || (Geom->GeomType == GeomType_Ellipse)) - fprintf(FileStream->File, "EP=%ld\n", (long)Geom->NumEllipsePts); + fprintf(FileStream->File, "EP=%ld\n", static_cast(Geom->NumEllipsePts)); if (Geom->GeomType == GeomType_LineSegs && Geom->PositionCoordSys != CoordSys_Grid3D) { @@ -3057,6 +3042,7 @@ bool DumpGeometry(FileStream_s* FileStream, } if (Geom->ArrowheadAttachment != ArrowheadAttachment_None) { + CHECK(VALID_NUMERIC_LOCALE()); fprintf(FileStream->File, "ASZ=%.12G\n", Geom->ArrowheadSize*ArrowheadSizeInputSpec.InterfaceAdjust.ScaleFact); fprintf(FileStream->File, "AAN=%.12G\n", @@ -3068,15 +3054,17 @@ bool DumpGeometry(FileStream_s* FileStream, { case GeomType_LineSegs : { + CHECK(VALID_NUMERIC_LOCALE()); + fprintf(FileStream->File, "T=LINE\n"); fprintf(FileStream->File, "DT="); WriteFieldDataType(FileStream, GetFieldDataType(Geom->GeomData.Generic.V1Base), FALSE); fputc('\n', FileStream->File); - fprintf(FileStream->File, "%d\n", (int)Geom->NumSegments); + fprintf(FileStream->File, "%d\n", static_cast(Geom->NumSegments)); SegIndex = 0; for (I = 0; IsOk && (I < Geom->NumSegments); I++) { - fprintf(FileStream->File, "%ld\n", (long)Geom->NumSegPts[I]); + fprintf(FileStream->File, "%ld\n", static_cast(Geom->NumSegPts[I])); for (Index = 0; Index < Geom->NumSegPts[I]; Index++) { fprintf(FileStream->File, "%.12G ", GetFieldValue(Geom->GeomData.Generic.V1Base, SegIndex + Index)*ScaleFact); @@ -3084,7 +3072,7 @@ bool DumpGeometry(FileStream_s* FileStream, if (Geom->PositionCoordSys == CoordSys_Grid3D) IsOk = FPRINTFOK(fprintf(FileStream->File, " %.12G\n", GetFieldValue(Geom->GeomData.Generic.V3Base, SegIndex + Index))); else - IsOk = (Boolean_t)(fputc('\n', FileStream->File) != EOF); + IsOk = static_cast(fputc('\n', FileStream->File) != EOF); } SegIndex += Geom->NumSegPts[I]; } @@ -3150,29 +3138,38 @@ bool DumpText(FileStream_s* FileStream, else CHECK(FALSE); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Scope); + WriteBinaryInt32(FileStream, static_cast(Text->Scope)); WriteBinaryReal(FileStream, Text->AnchorPos.Generic.V1, FieldDataType_Double); WriteBinaryReal(FileStream, Text->AnchorPos.Generic.V2, FieldDataType_Double); WriteBinaryReal(FileStream, Text->AnchorPos.Generic.V3, FieldDataType_Double); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->TextShape.Font); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->TextShape.SizeUnits); + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + { + WriteBinaryInt32(FileStream, static_cast(Text->TextShape.Font)); + } + #endif + WriteBinaryInt32(FileStream, static_cast(Text->TextShape.SizeUnits)); WriteBinaryReal(FileStream, Text->TextShape.Height, FieldDataType_Double); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Box.BoxType); + WriteBinaryInt32(FileStream, static_cast(Text->Box.BoxType)); WriteBinaryReal(FileStream, Text->Box.Margin, FieldDataType_Double); WriteBinaryReal(FileStream, Text->Box.LineThickness, FieldDataType_Double); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Box.BColor); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Box.FillBColor); + WriteBinaryInt32(FileStream, static_cast(Text->Box.BColor)); + WriteBinaryInt32(FileStream, static_cast(Text->Box.FillBColor)); WriteBinaryReal(FileStream, Text->Angle, FieldDataType_Double); WriteBinaryReal(FileStream, Text->LineSpacing, FieldDataType_Double); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Anchor); + WriteBinaryInt32(FileStream, static_cast(Text->Anchor)); if (Text->AttachToZone) - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Zone); + WriteBinaryInt32(FileStream, static_cast(Text->Zone)); else - WriteBinaryInt32(FileStream, (LgIndex_t) - 1); - WriteBinaryInt32(FileStream, (LgIndex_t)Text->BColor); + WriteBinaryInt32(FileStream, static_cast( - 1)); + WriteBinaryInt32(FileStream, static_cast(Text->BColor)); } else { + DECLARE_NUMERIC_LOCALE_SETTER + CHECK(VALID_NUMERIC_LOCALE()); + double ScaleFact; Boolean_t IncludeZ = Text->PositionCoordSys == CoordSys_Grid3D; if (Text->PositionCoordSys == CoordSys_Frame) @@ -3229,7 +3226,16 @@ bool DumpText(FileStream_s* FileStream, fprintf(FileStream->File, "BXF="); WriteAsciiColor(FileStream->File, Text->Box.FillBColor); fprintf(FileStream->File, "\nF="); - switch (Text->TextShape.Font) + + Font_e font; + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + { + font = Text->TextShape.Font; + } + #endif + switch (font) { case Font_Helvetica : fprintf(FileStream->File, "HELV"); break; case Font_HelveticaBold : fprintf(FileStream->File, "HELV-BOLD"); break; @@ -3270,7 +3276,7 @@ bool DumpText(FileStream_s* FileStream, } else { - WriteBinaryInt32(FileStream, (LgIndex_t)Text->Clipping); + WriteBinaryInt32(FileStream, static_cast(Text->Clipping)); } if (!WriteBinary) @@ -3345,13 +3351,9 @@ bool writeBinaryVersionNumber(FileStream_s& fileStream, #endif #if !defined NO_ASSERTS #endif -#if defined ALLOW_USERDEF_NO_NEIGHBORING_ELEMENT -#else -#endif + #if defined ALLOW_USERDEF_NO_NEIGHBORING_ELEMENT + #else + #endif #if 0 /* not used yet */ #endif -#if defined TECPLOTKERNEL -#endif -#if defined TECPLOTKERNEL -#endif #endif diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset.cpp index ea4ede2cd..aea00548b 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset.cpp @@ -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(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(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) { diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset0.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset0.cpp index 138e064bb..87bcfd0ef 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset0.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/dataset0.cpp @@ -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,34 +52,35 @@ 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(ALLOC_ITEM(struct _FieldData_a, "FieldDataPtr")); if (Result != NULL) { Result->Data = NULL; -# if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ /* CORE SOURCE CODE REMOVED */ -# else /* ...for TecIO only */ + #else /* ...for TecIO only */ Result->GetValueCallback[0] = NULL; Result->SetValueCallback[0] = NULL; -# endif + #endif -# if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ /* CORE SOURCE CODE REMOVED */ -# endif + #endif Result->Type = FieldDataType_Invalid; Result->ValueLocation = ValueLocation_Invalid; - Result->RefCount = 1; /* self */ - Result->VarShareRefCount = 1; /* self */ - Result->NumValues = 0; -# if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ /* CORE SOURCE CODE REMOVED */ -# endif + #endif + Result->NumValues = 0; + #if defined TECPLOTKERNEL /* TecIO doesn't require these features yet */ +/* CORE SOURCE CODE REMOVED */ + #endif } ENSURE(VALID_REF(Result) || Result == NULL); @@ -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(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,26 +186,21 @@ 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); -#if defined TECPLOTKERNEL + #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ -#endif + #endif FREE_ITEM(*FieldData, "field data"); } @@ -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); - memcpy(DstPtr, SrcPtr, numBytes); + 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(SrcArray)) + SrcStart; + T* DstPtr = (static_cast(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(SrcArray)) + SrcStart; + UInt64_t *SrcPtrEnd = (static_cast(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(SrcArray)) + SrcStart; + UInt32_t *SrcPtrEnd = (static_cast(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(SrcArray)) + SrcStart; + UInt16_t *SrcPtrEnd = (static_cast(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(SrcArray)) + SrcStart * sizeof(UInt64_t); + Byte_t *SrcPtrEnd = (static_cast(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(SrcArray)) + SrcStart * sizeof(UInt32_t); + Byte_t *SrcPtrEnd = (static_cast(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(SrcArray)) + SrcStart * sizeof(UInt16_t); + Byte_t *SrcPtrEnd = (static_cast(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((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(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(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(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(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(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(NumValues))*sizeof(float); break; + case FieldDataType_Double: Result = (static_cast(NumValues))*sizeof(double); break; + case FieldDataType_Int32: Result = (static_cast(NumValues))*sizeof(LgIndex_t); break; + case FieldDataType_Int16: Result = (static_cast(NumValues))*sizeof(SmInteger_t); break; + case FieldDataType_Byte: Result = (static_cast(NumValues))*sizeof(Byte_t); break; + case FieldDataType_Bit: Result = (static_cast(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(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(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(DetermineFieldDataGetFunction(DataType, FALSE)); + FieldData->SetValueCallback[0] = reinterpret_cast(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(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(0xffffffff))); if (IsOk) { if (FieldData->NumValues > 0) { - FieldData->Data = (void *)ALLOC_ARRAY(BytesToAllocate, char, "FieldData's Data"); + FieldData->Data = reinterpret_cast(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(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(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); - memset(fd_data, 0, NumBytesToMemSet); + char* fd_data = static_cast(GetFieldDataVoidPtr(fd)); + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + memset(fd_data, 0, NumBytesToMemSet); + #endif } else { diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/datautil.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/datautil.cpp index e55271edf..af9e059b5 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/datautil.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/datautil.cpp @@ -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(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(NULL), DataSetTitle, - (Text_s **)NULL, - (Geom_s **)NULL, - (StringList_pa **)NULL, + static_cast(NULL), + static_cast(NULL), + static_cast(NULL), UserRec, - (AuxData_pa *)NULL, + DatasetAuxData, + 0, &IsVarCellCentered, - (Boolean_t *)NULL, - (Boolean_t *)NULL, + static_cast(NULL), + static_cast(NULL), &ZoneSpecList, VarNames, - (ArrayList_pa *)NULL, - (Set_pa *)NULL, + static_cast(NULL), + static_cast(NULL), &FNNumBndryConns, - (DataFileType_e *)NULL); + static_cast(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(GetIoFileInt(ReadTecFileStream, *IVersion, 0, static_cast( * NumVars), &InputIsOk)); for (J = 0; J < NumDupVars; J++) { - ZZ = (EntIndex_t)GetIoFileInt(ReadTecFileStream, *IVersion, 0, *NumVars, &InputIsOk) - 1; + ZZ = static_cast(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(GetIoFileInt(ReadTecFileStream, *IVersion, 0, - (LgIndex_t)FieldDataType_Bit, - &InputIsOk); + static_cast(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(GetIoFileInt(ReadTecFileStream, *IVersion, 0, 1, &InputIsOk)) && InputIsOk) { for (CurVar = 0; CurVar < *NumVars && InputIsOk; CurVar++) { - IsVarPassive[CurVar] = (Boolean_t)GetIoFileInt(ReadTecFileStream, + IsVarPassive[CurVar] = static_cast(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(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(ALLOC_ARRAY(size, char, "TecAlloc")); } void STDCALL TecFree(void *ptr) { /* Hack to remove delete warning... */ - char *Tmp = (char *)ptr; + char *Tmp = static_cast(ptr); FREE_ARRAY(Tmp, "TecAlloc"); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/filestream.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/filestream.cpp index 9a0e11571..159890523 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/filestream.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/filestream.cpp @@ -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. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/geom2.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/geom2.cpp index 90eef5b7b..f78aa57b4 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/geom2.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/geom2.cpp @@ -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. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_msg.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_msg.cpp index b94b94b51..bca637fdb 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_msg.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_msg.cpp @@ -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(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,26 +281,26 @@ 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(format.c_str()); } -#if defined TECPLOTKERNEL + #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ -#ifdef MSWIN -#endif -#if defined UNIXX -#if !defined ENGINE -#endif -#endif -#else /* !TECPLOTKERNEL */ + #if defined MSWIN + #endif + #if defined UNIXX + #if !defined ENGINE + #endif + #endif + #else /* !TECPLOTKERNEL */ { DefaultErrMsg(messageString); } -#endif + #endif /* cleanup if we allocated the string */ if (cleanUp) @@ -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); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_unicode.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_unicode.cpp index 96bad6089..ab69b6063 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_unicode.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/q_unicode.cpp @@ -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. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -299,6 +276,14 @@ Boolean_t IsValidUtf8Byte(Byte_t uch) return Result; } +/** + */ +Boolean_t IsPrintable8BitAsciiChar(wchar_t wChar) +{ + return ((wChar >= static_cast(33) && wChar <= static_cast(126)) || + (wChar >= static_cast(160) && wChar <= static_cast(255))); +} + Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str) { @@ -306,7 +291,9 @@ Boolean_t ShouldConvertWideStringToUtf8String(const wchar_t *str) #if defined MSWIN && defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ -#endif /* MSWIN and TECPLOTKERNEL */ +#else + UNUSED(str); +#endif ENSURE(VALID_BOOLEAN(Result)); return Result; @@ -412,6 +399,38 @@ Boolean_t IsNullOrZeroLengthString(TranslatedString TS) return TS.isNullOrZeroLength(); } +/** + * Convert an ASCII character, 0..255, to a UTF-8 encoded string. This function + * was copied from http://www.daniweb.com/forums/thread151622.html + */ +std::string AsciiToUtf8String(unsigned char asciiChar) +{ + std::string result; + + if (asciiChar < 128) + { + /* + * if the character is less than 128 then leave it as it is since + * anything less than 128 is represented in binary as 0xxxxxxx + */ + result += asciiChar; + } + else + { + /* + * If the character is 128 or above, then it is represented as + * 110xxxxx 10xxxxxx (2 bytes). So for getting the first byte we + * right shift the character 6 times and or it with 0xC0 (11000000) + * i.e. asciiChar >> 6 = 000xxx, then 000xxxxx OR 11000000 = 110xxxxx. + * For the second byte we need the lower 6 bits, so just block the + * first 2 bits, i.e. (00111111 AND xxxxxxxx) OR 10000000 = 10xxxxxx + */ + result += static_cast((asciiChar & 0x3F) | 0x80); + result += static_cast((asciiChar >> 6) | 0xC0); + } + + return result; +} } } @@ -442,6 +461,4 @@ void MSWinTrace(const char *Format, ...) delete [] buffer; } - - #endif diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/set.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/set.cpp index f163e73da..41ddcff46 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/set.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/set.cpp @@ -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 @@ -30,7 +7,7 @@ ***************************************************************** ***************************************************************** ******* ******** -****** Copyright (C) 1988-2008 Tecplot, Inc. ******* +****** Copyright (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ***************************************************************** ***************************************************************** @@ -45,7 +22,6 @@ #include "ALLOC.h" #include "SET.h" - /* * SET FUNCTIONS * */ #if defined TECPLOTKERNEL @@ -61,7 +37,7 @@ #define SetExpansionFactor 2 #endif -using namespace tecplot::strutil; +using tecplot::strutil::translate; /* */ @@ -110,10 +86,11 @@ void DeallocSet(Set_pa *Set) Boolean_t SetItemDestructor(void *ItemRef, ArbParam_t ClientData) { - Set_pa *SetRef = (Set_pa *)ItemRef; + Set_pa *SetRef = static_cast(ItemRef); REQUIRE(VALID_REF(SetRef)); REQUIRE(VALID_REF(*SetRef) || *SetRef == NULL); + UNUSED(ClientData); if (*SetRef != NULL) DeallocSet(SetRef); @@ -130,7 +107,7 @@ Boolean_t ExpandSet(Set_pa Set, Boolean_t show_error_msg) { SetData_t *data; - long new_size; + SetIndex_t new_size; REQUIRE(max_val >= 0); @@ -175,7 +152,7 @@ Boolean_t ExpandSet(Set_pa Set, size_t new_set_size_in_bytes = sizeof(data[0]) * (new_size / SetBitSize); size_t numBytesToReset = new_set_size_in_bytes - old_set_size_in_bytes; - memset(((char*)data) + old_set_size_in_bytes, 0, numBytesToReset); + memset(reinterpret_cast(data) + old_set_size_in_bytes, 0, numBytesToReset); FREE_ARRAY(Set->data, "old Set data"); Set->data = data; @@ -201,7 +178,7 @@ Boolean_t CopySet(Set_pa dst, SetIndex_t dst_size_in_words = dst->size / SetBitSize; CHECK(dst_size_in_words>=src_size_in_words); // ...guaranteed by above ExpandSet() call size_t numBytesToReset = sizeof(dst->data[0]) * (dst_size_in_words - src_size_in_words); - memset((char*)(dst->data + src_size_in_words), 0, numBytesToReset); + memset(reinterpret_cast(dst->data + src_size_in_words), 0, numBytesToReset); return TRUE; } @@ -222,7 +199,7 @@ Boolean_t AppendSet(Set_pa dst, SetIndex_t member; ForAllMembersInSet(member, src) { - if (!AddToSet(dst, member, TRUE)) + if (!AddToSet(dst, member, show_error_msg)) return FALSE; } return TRUE; @@ -254,7 +231,7 @@ Boolean_t AddToSet(Set_pa Set, ((member + 1 <= Set->size) || 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(1) << (member % SetBitSize); Set->data[word] |= bit; return TRUE; } @@ -273,8 +250,8 @@ void RemoveFromSet(Set_pa Set, if (Set && (member < Set->size) && Set->data) { SetIndex_t word = member / SetBitSize; - SetData_t bit = (SetData_t)1 << (member % SetBitSize); - Set->data[word] &= (((SetData_t) - 1) ^ bit); + SetData_t bit = static_cast (1) << (member % SetBitSize); + Set->data[word] &= ((static_cast( - 1)) ^ bit); } } /* RemoveFromSet() */ @@ -441,7 +418,7 @@ SetIndex_t GetNextMember(Set_pa Set, else if (start_at + 1 < Set->size) { word = (start_at + 1) / SetBitSize; - bit = (start_at + 1) % SetBitSize; + bit = static_cast((start_at + 1) % SetBitSize); if (word < set_size_in_words) word_val = Set->data[word] >> bit; } @@ -492,7 +469,7 @@ SetIndex_t GetPrevMember(Set_pa Set, else if (start_at > 0) { word = (start_at - 1) / SetBitSize; - bit = (start_at - 1) % SetBitSize; + bit = static_cast((start_at - 1) % SetBitSize); if (word >= 0) word_val = Set->data[word] << (SetBitSize - bit - 1); } @@ -503,7 +480,7 @@ SetIndex_t GetPrevMember(Set_pa Set, while ((word >= 0) && (word_val == 0)) { word--; - bit = SetBitSize - 1; + bit = static_cast(SetBitSize - 1); if (word >= 0) word_val = Set->data[word] << (SetBitSize - bit - 1); } @@ -691,6 +668,3 @@ void ShiftSet(Set_pa Set, CopySet(Set, NewSet, TRUE); DeallocSet(&NewSet); } - - - diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/stdafx.h b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/stdafx.h index 783967170..3f7ffed94 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/stdafx.h +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/stdafx.h @@ -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 STDAFX_H_ # define STDAFX_H_ @@ -28,7 +5,7 @@ ****************************************************************** ****************************************************************** ******* ******** -****** (C) 1988-2008 Tecplot, Inc. ******* +****** (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -37,8 +14,14 @@ * stdafx.h : include file for standard system include files, * or project specific include files that are used frequently, but * are changed infrequently - * Used for Windows only */ + +/* + * Must include locale before MFC includes to avoid a conflict + * between xlocale and MFC debug new. + */ +#include + #if defined _WIN32 /* diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strlist.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strlist.cpp index f91c54086..1504e4206 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strlist.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strlist.cpp @@ -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. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -49,7 +26,10 @@ /* END HEADER */ -using namespace tecplot::strutil; +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#endif +using tecplot::strutil::dontTranslate; /* * This set of functions provide a wrapper around the array list utilities @@ -71,14 +51,14 @@ using namespace tecplot::strutil; * return * TRUE is a requirement */ -static Boolean_t StringListItemDestructor(void *ItemRef, +static Boolean_t StringListItemDestructor(void* ItemRef, ArbParam_t ClientData) { - char **StringRef = (char **)ItemRef; - - REQUIRE(VALID_REF(StringRef)); - REQUIRE(VALID_REF(*StringRef) || *StringRef == NULL); + REQUIRE(VALID_REF(ItemRef)); + REQUIRE(VALID_REF(*static_cast(ItemRef)) || *static_cast(ItemRef) == NULL); + UNUSED(ClientData); + char** StringRef = static_cast(ItemRef); if (*StringRef != NULL) { FREE_ARRAY(*StringRef, "string"); @@ -105,17 +85,18 @@ static Boolean_t StringListItemDestructor(void *ItemRef, * is the client's responsibility to cleanup any * partial duplication */ -static Boolean_t StringListItemDuplicator(void *TargetItemRef, - void *SourceItemRef, +static Boolean_t StringListItemDuplicator(void* TargetItemRef, + void* SourceItemRef, ArbParam_t ClientData) { - Boolean_t IsOk = TRUE; - char **TargetStringRef = (char **)TargetItemRef; - char **SourceStringRef = (char **)SourceItemRef; + REQUIRE(VALID_REF(TargetItemRef)); + REQUIRE(VALID_REF(SourceItemRef)); + REQUIRE(VALID_REF(*static_cast(SourceItemRef)) || *static_cast(SourceItemRef) == NULL); + UNUSED(ClientData); - REQUIRE(VALID_REF(TargetStringRef)); - REQUIRE(VALID_REF(SourceStringRef)); - REQUIRE(VALID_REF(*SourceStringRef) || *SourceStringRef == NULL); + Boolean_t IsOk = TRUE; + char** TargetStringRef = static_cast(TargetItemRef); + char** SourceStringRef = static_cast(SourceItemRef); if (*SourceStringRef != NULL) IsOk = ((*TargetStringRef = DupString(dontTranslate(*SourceStringRef))) != NULL); @@ -133,29 +114,29 @@ static Boolean_t StringListItemDuplicator(void *TargetItemRef, */ Boolean_t StringListValid(StringList_pa stringList) { - Boolean_t isValid = ArrayListIsValid((ArrayList_pa)stringList); - + Boolean_t isValid = ArrayListIsValid(reinterpret_cast(stringList)); if (isValid) { - LgIndex_t stringCount = ArrayListGetCount((ArrayList_pa)stringList); + LgIndex_t stringCount = ArrayListGetCount(reinterpret_cast(stringList)); -#if defined PERFORM_EXPENSIVE_STRLIST_TESTS + #if defined PERFORM_EXPENSIVE_STRLIST_TESTS { for (LgIndex_t index = 0; index < stringCount; index++) { - char *string = ArrayListGetCharPtr((ArrayList_pa)stringList, index); + char* string = ArrayListGetCharPtr(reinterpret_cast(stringList), index); if (string != NULL && !VALID_REF(string)) { isValid = FALSE; break; } } -#else + } + #else { /* Check first and last only */ if (stringCount > 0) { - char *string = ArrayListGetCharPtr((ArrayList_pa)stringList, 0); + char* string = ArrayListGetCharPtr(reinterpret_cast(stringList), 0); if (string != NULL && !VALID_REF(string)) { isValid = FALSE; @@ -163,903 +144,761 @@ Boolean_t StringListValid(StringList_pa stringList) } if (isValid && stringCount > 1) { - char *string = ArrayListGetCharPtr((ArrayList_pa)stringList, stringCount - 1); + char* string = ArrayListGetCharPtr(reinterpret_cast(stringList), stringCount - 1); if (string != NULL && !VALID_REF(string)) { isValid = FALSE; } } } -#endif /* PERFORM_SKIP_EXPENSIVE_STRLIST_TESTS */ - } - - ENSURE(VALID_BOOLEAN(isValid)); - return isValid; + #endif /* PERFORM_SKIP_EXPENSIVE_STRLIST_TESTS */ } - - /* - * Remove all members of the string list. - */ - void StringListClear(StringList_pa StringList) - { - REQUIRE(StringListValid(StringList)); - - ArrayListDeleteAllItems((ArrayList_pa)StringList, StringListItemDestructor, 0); - - ENSURE(StringListValid(StringList) && StringListCount(StringList) == 0); - } + ENSURE(VALID_BOOLEAN(isValid)); + return isValid; +} - /* - * Remove 'Count' strings from the list beginning at the specified offset. - * The members following the items removed are shifted down accordingly to - * fill the vacated space. - */ - void StringListRemoveStrings(StringList_pa StringList, - LgIndex_t StringOffset, - LgIndex_t Count) - { - REQUIRE(StringListValid(StringList)); - REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); - REQUIRE(1 <= Count && StringOffset + Count <= StringListCount(StringList)); +/* + * Remove all members of the string list. + */ +void StringListClear(StringList_pa StringList) +{ + REQUIRE(StringListValid(StringList)); - ArrayListDeleteItems((ArrayList_pa)StringList, StringOffset, Count, - StringListItemDestructor, 0); + ArrayListDeleteAllItems(reinterpret_cast(StringList), StringListItemDestructor, 0); - ENSURE(StringListValid(StringList)); - } + ENSURE(StringListValid(StringList) && StringListCount(StringList) == 0); +} - /* - * Remove the string from the list at the specified offset. The members - * following the item removed are shifted down accordingly to fill the - * vacated space. - */ - void StringListRemoveString(StringList_pa StringList, - LgIndex_t StringOffset) - { - REQUIRE(StringListValid(StringList)); - REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); +/* + * Remove 'Count' strings from the list beginning at the specified offset. + * The members following the items removed are shifted down accordingly to + * fill the vacated space. + */ +void StringListRemoveStrings(StringList_pa StringList, + LgIndex_t StringOffset, + LgIndex_t Count) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); + REQUIRE(1 <= Count && StringOffset + Count <= StringListCount(StringList)); - ArrayListDeleteItems((ArrayList_pa)StringList, StringOffset, 1, - StringListItemDestructor, 0); + ArrayListDeleteItems(reinterpret_cast(StringList), StringOffset, Count, + StringListItemDestructor, 0); - ENSURE(StringListValid(StringList)); - } + ENSURE(StringListValid(StringList)); +} - /* - * Deallocate the string list members and handle and set the handle to NULL. - */ - void LIBCALL StringListDealloc(StringList_pa *StringList) - { - REQUIRE(VALID_REF(StringList)); - REQUIRE(*StringList == NULL || StringListValid(*StringList)); +/* + * Remove the string from the list at the specified offset. The members + * following the item removed are shifted down accordingly to fill the + * vacated space. + */ +void StringListRemoveString(StringList_pa StringList, + LgIndex_t StringOffset) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); - if (*StringList != NULL) - ArrayListDealloc((ArrayList_pa *)StringList, StringListItemDestructor, 0); + ArrayListDeleteItems(reinterpret_cast(StringList), StringOffset, 1, + StringListItemDestructor, 0); - ENSURE(*StringList == NULL); - } + ENSURE(StringListValid(StringList)); +} - /* - * Allocate a string list handle. A handle of NULL is - * returned if sufficient memory is not available. - */ - StringList_pa StringListAlloc(void) - { - StringList_pa Result; +/* + * Deallocate the string list members and handle and set the handle to NULL. + */ +void LIBCALL StringListDealloc(StringList_pa* StringList) +{ + REQUIRE(VALID_REF(StringList)); + REQUIRE(*StringList == NULL || StringListValid(*StringList)); - Result = (StringList_pa)ArrayListAlloc(0, ArrayListType_CharPtr, NULL, 0); + if (*StringList != NULL) + ArrayListDealloc(reinterpret_cast(StringList), StringListItemDestructor, 0); - ENSURE(Result == NULL || StringListValid(Result)); - return Result; - } + ENSURE(*StringList == NULL); +} - /* - * Append a copy of the string to the string list. The string list will be - * expanded to accommodate the additional item. A return value of TRUE - * indicates the operation was successful otherwise FALSE is returned - * indicating that sufficient memory was not available for the additional - * item. - */ - Boolean_t StringListAppendString(StringList_pa StringList, - const char *String) - { - Boolean_t IsOk; +/* + * Allocate a string list handle. A handle of NULL is + * returned if sufficient memory is not available. + */ +StringList_pa StringListAlloc(void) +{ + StringList_pa Result = reinterpret_cast(ArrayListAlloc(0, ArrayListType_CharPtr, NULL, 0)); - REQUIRE(StringListValid(StringList)); - REQUIRE(String == NULL || VALID_REF(String)); - - IsOk = StringListSetString(StringList, StringListCount(StringList), String); - - ENSURE(StringListValid(StringList)); - ENSURE(VALID_BOOLEAN(IsOk)); - return IsOk; - } + ENSURE(Result == NULL || StringListValid(Result)); + return Result; +} - /* - * Return the number of strings currently in the string list. - */ - LgIndex_t LIBCALL StringListCount(StringList_pa StringList) - { - LgIndex_t Result; +/* + * Append a copy of the string to the string list. The string list will be + * expanded to accommodate the additional item. A return value of TRUE + * indicates the operation was successful otherwise FALSE is returned + * indicating that sufficient memory was not available for the additional + * item. + */ +Boolean_t StringListAppendString(StringList_pa StringList, + char const* String) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(String == NULL || VALID_REF(String)); - REQUIRE(StringListValid(StringList)); + Boolean_t IsOk = StringListSetString(StringList, StringListCount(StringList), String); - Result = ArrayListGetCount((ArrayList_pa)StringList); - - ENSURE(Result >= 0); - return Result; - } + ENSURE(StringListValid(StringList)); + ENSURE(VALID_BOOLEAN(IsOk)); + return IsOk; +} - /* - * Return a copy of the string at the specified offset in the string list. - */ - char * LIBCALL StringListGetString(StringList_pa StringList, - LgIndex_t StringOffset) - { - char *Result; - const char *StringRef; +/* + * Return the number of strings currently in the string list. + */ +LgIndex_t LIBCALL StringListCount(StringList_pa StringList) +{ + REQUIRE(StringListValid(StringList)); - REQUIRE(StringListValid(StringList)); - REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); + LgIndex_t Result = ArrayListGetCount(reinterpret_cast(StringList)); - StringRef = StringListGetStringRef(StringList, StringOffset); - if (StringRef == NULL) - Result = NULL; - else - Result = DupString(dontTranslate(StringRef)); + ENSURE(Result >= 0); + return Result; +} - ENSURE(Result == NULL || VALID_REF(Result)); - return Result; - } + +/* + * Return a copy of the string at the specified offset in the string list. + */ +char* LIBCALL StringListGetString(StringList_pa StringList, + LgIndex_t StringOffset) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); + + char* Result; + char const* StringRef = StringListGetStringRef(StringList, StringOffset); + if (StringRef == NULL) + Result = NULL; + else + Result = DupString(dontTranslate(StringRef)); + + ENSURE(Result == NULL || VALID_REF(Result)); + return Result; +} #if !defined USE_MACROS_FOR_FUNCTIONS - /* - * Returns actual string at the specified offset in the string list. Do not - * attempt to free this string. Changing this string should be done with - * utmost caution. - */ - const char *StringListGetStringRef_FUNC(StringList_pa StringList, - LgIndex_t StringOffset) - { - const char *Result; +/* + * Returns actual string at the specified offset in the string list. Do not + * attempt to free this string. Changing this string should be done with + * utmost caution. + */ +char const* StringListGetStringRef_FUNC(StringList_pa StringList, + LgIndex_t StringOffset) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); - REQUIRE(StringListValid(StringList)); - REQUIRE(0 <= StringOffset && StringOffset <= StringListCount(StringList) - 1); + char const* Result = StringListGetStringRef_MACRO(StringList, StringOffset); - Result = StringListGetStringRef_MACRO(StringList, StringOffset); - - ENSURE(Result == NULL || VALID_REF(Result)); - return Result; - } + ENSURE(Result == NULL || VALID_REF(Result)); + return Result; +} #endif - /* - * Place a copy of the specified string at the specified offset. If the offset - * is beyond the end of the string list it is sized accordingly and the - * intervening string references between the last item of the original - * state and the last item of the new state are assigned NULL. If a string - * already exists at the specified location its resources are released. - * A return value of TRUE indicates the operation was successful otherwise - * FALSE is returned indicating that sufficient memory was not available - * for the additional item at the specified offset. - */ - Boolean_t StringListSetString(StringList_pa StringList, - LgIndex_t StringOffset, - const char *String) +/* + * Place a copy of the specified string at the specified offset. If the offset + * is beyond the end of the string list it is sized accordingly and the + * intervening string references between the last item of the original + * state and the last item of the new state are assigned NULL. If a string + * already exists at the specified location its resources are released. + * A return value of TRUE indicates the operation was successful otherwise + * FALSE is returned indicating that sufficient memory was not available + * for the additional item at the specified offset. + */ +Boolean_t StringListSetString(StringList_pa StringList, + LgIndex_t StringOffset, + char const* String) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(StringOffset >= 0); + REQUIRE(String == NULL || VALID_REF(String)); + + Boolean_t IsOk; + ArrayListItem_u ItemCopy; + + if (String != NULL) { - Boolean_t IsOk; - ArrayListItem_u ItemCopy; - - REQUIRE(StringListValid(StringList)); - REQUIRE(StringOffset >= 0); - REQUIRE(String == NULL || VALID_REF(String)); - - if (String != NULL) - { - ItemCopy.CharPtr = DupString(dontTranslate(String)); - IsOk = (ItemCopy.CharPtr != NULL); - } - else - { - ItemCopy.CharPtr = NULL; - IsOk = TRUE; - } - - if (IsOk) - IsOk = ArrayListSetItem((ArrayList_pa)StringList, StringOffset, ItemCopy, - StringListItemDestructor, 0); - - ENSURE(StringListValid(StringList)); - ENSURE(VALID_BOOLEAN(IsOk)); - return IsOk; + ItemCopy.CharPtr = DupString(dontTranslate(String)); + IsOk = (ItemCopy.CharPtr != NULL); + } + else + { + ItemCopy.CharPtr = NULL; + IsOk = TRUE; } + if (IsOk) + IsOk = ArrayListSetItem(reinterpret_cast(StringList), StringOffset, ItemCopy, + StringListItemDestructor, 0); - /* - * Insert a copy of the string into the string list at the specified offset. - * The string list will be expanded to accommodate the additional item. - * A return value of TRUE indicates the operation was successful otherwise - * FALSE is returned indicating that sufficient memory was not available - * for the additional item. - */ - Boolean_t StringListInsertString(StringList_pa StringList, - LgIndex_t StringOffset, - const char *String) + ENSURE(StringListValid(StringList)); + ENSURE(VALID_BOOLEAN(IsOk)); + return IsOk; +} + + +/* + * Insert a copy of the string into the string list at the specified offset. + * The string list will be expanded to accommodate the additional item. + * A return value of TRUE indicates the operation was successful otherwise + * FALSE is returned indicating that sufficient memory was not available + * for the additional item. + */ +Boolean_t StringListInsertString(StringList_pa StringList, + LgIndex_t StringOffset, + char const* String) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(StringOffset >= 0); + REQUIRE(String == NULL || VALID_REF(String)); + + Boolean_t IsOk; + ArrayListItem_u ItemCopy; + + if (String != NULL) { - Boolean_t IsOk; - ArrayListItem_u ItemCopy; - - REQUIRE(StringListValid(StringList)); - REQUIRE(StringOffset >= 0); - REQUIRE(String == NULL || VALID_REF(String)); - - if (String != NULL) - { - ItemCopy.CharPtr = DupString(dontTranslate(String)); - IsOk = (ItemCopy.CharPtr != NULL); - } - else - { - ItemCopy.CharPtr = NULL; - IsOk = TRUE; - } - - if (IsOk) - IsOk = ArrayListInsertItem( - (ArrayList_pa)StringList, StringOffset, ItemCopy); - - ENSURE(StringListValid(StringList)); - ENSURE(VALID_BOOLEAN(IsOk)); - return IsOk; + ItemCopy.CharPtr = DupString(dontTranslate(String)); + IsOk = (ItemCopy.CharPtr != NULL); + } + else + { + ItemCopy.CharPtr = NULL; + IsOk = TRUE; } + if (IsOk) + IsOk = ArrayListInsertItem(reinterpret_cast(StringList), + StringOffset, ItemCopy); - /* - * Return a handle to a duplicate of the specified string list and its contents. - * A handle of NULL is returned if sufficient memory is not available. - */ - StringList_pa StringListCopy(StringList_pa StringList) + ENSURE(StringListValid(StringList)); + ENSURE(VALID_BOOLEAN(IsOk)); + return IsOk; +} + + +/* + * Return a handle to a duplicate of the specified string list and its contents. + * A handle of NULL is returned if sufficient memory is not available. + */ +StringList_pa StringListCopy(StringList_pa StringList) +{ + REQUIRE(StringListValid(StringList)); + + StringList_pa Result = + reinterpret_cast(ArrayListCopy(reinterpret_cast(StringList), + StringListItemDuplicator, 0)); + + ENSURE(Result == NULL || + (StringListValid(Result) && + StringListCount(Result) == StringListCount(StringList))); + return Result; +} + + + +/* + * Append a copy of the contents of the source list to the target list. + * A return value of TRUE indicates the operation was successful otherwise + * FALSE is returned indicating that sufficient memory was not available + * for the request. + */ +Boolean_t StringListAppend(StringList_pa Target, + StringList_pa Source) +{ + REQUIRE(StringListValid(Target)); + REQUIRE(StringListValid(Source)); + + StringList_pa SourceCopy = StringListCopy(Source); + Boolean_t IsOk = (SourceCopy != NULL); + if (IsOk) { - StringList_pa Result; - - REQUIRE(StringListValid(StringList)); - - Result = (StringList_pa)ArrayListCopy((ArrayList_pa)StringList, - StringListItemDuplicator, 0); - - ENSURE(Result == NULL || - (StringListValid(Result) && - StringListCount(Result) == StringListCount(StringList))); - return Result; + ArrayListAppend(reinterpret_cast(Target), reinterpret_cast(SourceCopy)); + /* deallocate the list but not the string items since Target now owns them */ + ArrayListDealloc(static_cast(static_cast(&SourceCopy)), NULL, 0); } + ENSURE(StringListValid(Target)); + ENSURE(VALID_BOOLEAN(IsOk)); + return IsOk; +} - /* - * Append a copy of the contents of the source list to the target list. - * A return value of TRUE indicates the operation was successful otherwise - * FALSE is returned indicating that sufficient memory was not available - * for the request. - */ - Boolean_t StringListAppend(StringList_pa Target, - StringList_pa Source) + +/* + * Return a new line, '\n', separated string representation of the string list. + * Caller is responsible for de-allocating the result. + */ +char* StringListToNLString(StringList_pa StringList) +{ + REQUIRE(StringListValid(StringList)); + + size_t Length = 0; + + /* determine the resulting new line, '\n', separated string length */ + LgIndex_t Count = StringListCount(StringList); + if (Count >= 1) { - Boolean_t IsOk; - StringList_pa SourceCopy; - - REQUIRE(StringListValid(Target)); - REQUIRE(StringListValid(Source)); - - SourceCopy = StringListCopy(Source); - IsOk = (SourceCopy != NULL); - if (IsOk) + LgIndex_t Index; + for (Index = 0, Length = strlen("\n") * (Count - 1); + Index < Count; + Index++) { - ArrayListAppend((ArrayList_pa)Target, (ArrayList_pa)SourceCopy); - /* deallocate the list but not the string items since Target now owns them */ - ArrayListDealloc((ArrayList_pa *)(void *)&SourceCopy, NULL, 0); + char* String = ArrayListGetCharPtr(reinterpret_cast(StringList), Index); + if (String != NULL) + Length += strlen(String); } - - ENSURE(StringListValid(Target)); - ENSURE(VALID_BOOLEAN(IsOk)); - return IsOk; } - - - /* - * Return a new line, '\n', separated string representation of the string list. - * Caller is responsible for de-allocating the result. - */ - char *StringListToNLString(StringList_pa StringList) + /* create a new line, '\n', separated string */ + char* Result = ALLOC_ARRAY(Length + 1, char, "new line separated string"); + if (Result != NULL) { - char *Result; - int Count; - size_t Length = 0; - - REQUIRE(StringListValid(StringList)); - - /* determine the resulting new line, '\n', separated string length */ - Count = StringListCount(StringList); - if (Count >= 1) + LgIndex_t Index; + for (Index = 0, strcpy(Result, ""); + Index < Count; + Index++) { - int Index; - for (Index = 0, Length = strlen("\n") * (Count - 1); - Index < Count; - Index++) + char* String = ArrayListGetCharPtr(reinterpret_cast(StringList), Index); + + if (Index != 0) + strcat(Result, "\n"); + + if (String != NULL) + strcat(Result, String); + } + } + + ENSURE(Result == NULL || VALID_REF(Result)); + return Result; +} + + +/* + * Create a string list from the new line, '\n', separated string. The string + * is copied and therefore owned and managed by the caller. + */ +StringList_pa StringListFromNLString(char const* String) +{ + REQUIRE(VALID_REF(String)); + + /* create the string list and scan the entire string */ + StringList_pa Result = StringListAlloc(); + LgIndex_t StartIndex; + LgIndex_t EndIndex; + for (StartIndex = EndIndex = 0; Result != NULL; EndIndex++) + { + /* end of sub-string ? */ + if (String[EndIndex] == '\n' || String[EndIndex] == '\0') + { + /* extract the sub-string and append it to the string list */ + LgIndex_t Length = EndIndex - StartIndex; + char* SubString = ALLOC_ARRAY(Length + 1, char, "sub string"); + if (SubString != NULL) { - char *String = ArrayListGetCharPtr((ArrayList_pa)StringList, Index); - if (String != NULL) - Length += strlen(String); - } - } + CopySubString(SubString, String, StartIndex, Length); + StringListAppendString(Result, SubString); - /* create a new line, '\n', separated string */ - Result = ALLOC_ARRAY(Length + 1, char, "new line separated string"); - if (Result != NULL) - { - int Index; - for (Index = 0, strcpy(Result, ""); - Index < Count; - Index++) - { - char *String = ArrayListGetCharPtr( - (ArrayList_pa)StringList, Index); + FREE_ARRAY(SubString, "sub string"); - if (Index != 0) - strcat(Result, "\n"); - - if (String != NULL) - strcat(Result, String); - } - } - - ENSURE(Result == NULL || VALID_REF(Result)); - return Result; - } - - - /* - * Create a string list from the new line, '\n', separated string. The string - * is copied and therefore owned and managed by the caller. - */ - StringList_pa StringListFromNLString(const char *String) - { - StringList_pa Result; - LgIndex_t StartIndex; - LgIndex_t EndIndex; - - REQUIRE(VALID_REF(String)); - - /* create the string list and scan the entire string */ - Result = StringListAlloc(); - for (StartIndex = EndIndex = 0; Result != NULL; EndIndex++) - { - /* end of sub-string ? */ - if (String[EndIndex] == '\n' || String[EndIndex] == '\0') - { - /* extract the sub-string and append it to the string list */ - LgIndex_t Length = EndIndex - StartIndex; - char *SubString = ALLOC_ARRAY(Length + 1, char, "sub string"); - if (SubString != NULL) - { - CopySubString(SubString, String, StartIndex, Length); - StringListAppendString(Result, SubString); - - FREE_ARRAY(SubString, "sub string"); - - if (String[EndIndex] != '\0') - StartIndex = EndIndex + 1; - else - break; /* nothing left to scan */ - } + if (String[EndIndex] != '\0') + StartIndex = EndIndex + 1; else - { - /* memory allocation failure: bail out */ - StringListDealloc(&Result); - Result = NULL; - break; - } + break; /* nothing left to scan */ + } + else + { + /* memory allocation failure: bail out */ + StringListDealloc(&Result); + Result = NULL; + break; } } - - ENSURE(Result == NULL || StringListValid(Result)); - return Result; } + ENSURE(Result == NULL || StringListValid(Result)); + return Result; +} - /* - * Return a 'C' string array representation of the string list. - * Caller is responsible for de-allocating the result. - */ - char **StringListToArray(StringList_pa StringList) - { - char **Result; - REQUIRE(StringListValid(StringList)); +/* + * Return a 'C' string array representation of the string list. + * Caller is responsible for de-allocating the result. + */ +char** StringListToArray(StringList_pa StringList) +{ + REQUIRE(StringListValid(StringList)); - Result = (char **)ArrayListToArray((ArrayList_pa)StringList, - StringListItemDuplicator, 0); + char** Result = static_cast(ArrayListToArray(reinterpret_cast(StringList), + StringListItemDuplicator, 0)); - ENSURE(Result == NULL || VALID_REF(Result)); - return Result; - } + ENSURE(Result == NULL || VALID_REF(Result)); + return Result; +} - /* - * Create a string list from the 'C' string array. The string array - * is copied and therefore owned and managed by the caller. - */ - StringList_pa StringListFromArray(const char **StringArray, - LgIndex_t Count) - { - StringList_pa Result; +/* + * Create a string list from the 'C' string array. The string array + * is copied and therefore owned and managed by the caller. + */ +StringList_pa StringListFromArray(char const** StringArray, + LgIndex_t Count) +{ + REQUIRE((Count == 0 && StringArray == NULL) || + (Count >= 1 && VALID_REF(StringArray))); - REQUIRE((Count == 0 && StringArray == NULL) || - (Count >= 1 && VALID_REF(StringArray))); + StringList_pa Result = reinterpret_cast(ArrayListFromArray(static_cast(StringArray), + Count, ArrayListType_CharPtr, + StringListItemDuplicator, 0)); - Result = (StringList_pa)ArrayListFromArray((void *)StringArray, - Count, ArrayListType_CharPtr, - StringListItemDuplicator, 0); - - ENSURE(Result == NULL || StringListValid(Result)); - return Result; - } + ENSURE(Result == NULL || StringListValid(Result)); + return Result; +} #define ISJOINCHAR(c) ((c == ';') || (c == '+')) - static void SkipWhiteSpaceOrComma(const char **CPtr) +static void SkipWhiteSpaceOrComma(char const** CPtr) +{ + REQUIRE(VALID_REF(CPtr) && VALID_REF(*CPtr)); + while (ISWHITESPACE(**CPtr) || (**CPtr == ',')) + (*CPtr)++; +} + +/* + * Obtain the next sub-string. This can be of the form: + * + * [del]any-character-sequence[del] + * + * or + * + * limited-character-sequence + * + * where a limited-character-sequence cannot contain + * any of the following characters: +;, + * + */ +static Boolean_t GetNextSubString(char const** OriginalCPtr, + char** NextSubString) +{ + REQUIRE(VALID_REF(OriginalCPtr) && (VALID_REF(*OriginalCPtr))); + REQUIRE(VALID_REF(NextSubString)); + + Boolean_t IsOk = TRUE; + + *NextSubString = NULL; + + char const* CPtr = *OriginalCPtr; + SkipWhiteSpaceOrComma(&CPtr); + + char InsideDelimiter = '\0'; + if (*CPtr == '"' || *CPtr == '\'') { - REQUIRE(VALID_REF(CPtr) && VALID_REF(*CPtr)); - while (ISWHITESPACE(**CPtr) || (**CPtr == ',')) - (*CPtr)++; + InsideDelimiter = *CPtr; + CPtr++; } - /* - * Obtain the next sub-string. This can be of the form: - * - * [del]any-character-sequence[del] - * - * or - * - * limited-character-sequence - * - * where a limited-character-sequence cannot contain - * any of the following characters: +;, - * - */ - static Boolean_t GetNextSubString(const char **OriginalCPtr, - char **NextSubString) + char const* CStart = CPtr; + + while (*CPtr && + ((InsideDelimiter && (*CPtr != InsideDelimiter)) || + (!InsideDelimiter && (*CPtr != ',') && + !ISJOINCHAR(*CPtr) && + !ISWHITESPACE(*CPtr)))) { - Boolean_t IsOk = TRUE; - const char *CStart; - const char *CPtr; - char InsideDelimiter = '\0'; - - REQUIRE(VALID_REF(OriginalCPtr) && (VALID_REF(*OriginalCPtr))); - REQUIRE(VALID_REF(NextSubString)); - - *NextSubString = NULL; - - CPtr = *OriginalCPtr; - SkipWhiteSpaceOrComma(&CPtr); - - if (*CPtr == '"' || *CPtr == '\'') - { - InsideDelimiter = *CPtr; + if (InsideDelimiter && + (*CPtr == '\\') && + (*(CPtr + 1) == InsideDelimiter)) + CPtr += 2; + else CPtr++; - } + } - CStart = CPtr; + if (InsideDelimiter && (*CPtr != InsideDelimiter)) + IsOk = FALSE; - while (*CPtr && - ((InsideDelimiter && (*CPtr != InsideDelimiter)) || - (!InsideDelimiter && (*CPtr != ',') && - !ISJOINCHAR(*CPtr) && - !ISWHITESPACE(*CPtr)))) + + if (IsOk && CStart < CPtr) + { + size_t StrLen = static_cast(CPtr - CStart); + *NextSubString = ALLOC_ARRAY(StrLen + 1, char, "GetNextSubString: NextSubString"); + if (*NextSubString) { - if (InsideDelimiter && - (*CPtr == '\\') && - (*(CPtr + 1) == InsideDelimiter)) - CPtr += 2; - else - CPtr++; - } - - if (InsideDelimiter && (*CPtr != InsideDelimiter)) - IsOk = FALSE; - - - if (IsOk && CStart < CPtr) - { - size_t StrLen = (size_t)(CPtr - CStart); - *NextSubString = ALLOC_ARRAY(StrLen + 1, char, "GetNextSubString: NextSubString"); - if (*NextSubString) + char* NPtr = *NextSubString; + /* + * Don't just copy the string because escaped delimiters need to have + * the escape removed... + */ + while (CStart < CPtr) { - char *NPtr = *NextSubString; - /* - * Don't just copy the string because escaped delimiters need to have - * the escape removed... - */ - while (CStart < CPtr) - { - if ((*CStart == '\\') && (*(CStart + 1) == InsideDelimiter)) - CStart++; - *NPtr++ = *CStart++; - } - *NPtr = '\0'; + if ((*CStart == '\\') && (*(CStart + 1) == InsideDelimiter)) + CStart++; + *NPtr++ = *CStart++; } - else - IsOk = FALSE; + *NPtr = '\0'; } + else + IsOk = FALSE; + } + + if (IsOk) + { + if (InsideDelimiter) + CPtr++; + SkipWhiteSpaceOrComma(&CPtr); + *OriginalCPtr = CPtr; + } + + ENSURE(VALID_BOOLEAN(IsOk)); + return IsOk; +} + + + + +/* + * Return a string list representation of a compound string. + * + * The compound String parameter has the following form: + * + * [del][del] [GroupJoinCharacter] [del][del] [GroupJoinCharacter] ..... + * or + * ... + * + * where: + * [del] is an optional single quote or a double quote. [del] must be used + * if contains spaces, commas, or the plus symbol. + * + * GroupJoinCharacter can be either a "+" or a ";" + * + * The GroupJoinCharacter symbol is used to separate character sequences that + * are to be grouped together. If the GroupJoinCharacter symbol is omitted then + * a new group is started. + * + * Internally, the original string is converted to a list of strings where + * each string uses newlines to separate one sub-string from the next. + */ +StringList_pa StringListFromCompound(char const* String) +{ + REQUIRE(VALID_REF(String)); + SkipWhiteSpaceOrComma(&String); + REQUIRE(!ISJOINCHAR(*String)); + + Boolean_t IsOk = TRUE; + + /* extract character sequences */ + StringList_pa Result = StringListAlloc(); + char const* CPtr = String; + + char* CurString = NULL; + while (IsOk && *CPtr != '\0') + { + char* NextSubString = NULL; + Boolean_t WantsToJoin = FALSE; + + if (ISJOINCHAR(*CPtr)) + { + WantsToJoin = TRUE; + CPtr++; + SkipWhiteSpaceOrComma(&CPtr); + } + + IsOk = GetNextSubString(&CPtr, + &NextSubString); if (IsOk) { - if (InsideDelimiter) - CPtr++; - SkipWhiteSpaceOrComma(&CPtr); - *OriginalCPtr = CPtr; - } - - ENSURE(VALID_BOOLEAN(IsOk)); - return IsOk; - } - - - - - /* - * Return a string list representation of a compound string. - * - * The compound String parameter has the following form: - * - * [del][del] [GroupJoinCharacter] [del][del] [GroupJoinCharacter] ..... - * or - * ... - * - * where: - * [del] is an optional single quote or a double quote. [del] must be used - * if contains spaces, commas, or the plus symbol. - * - * GroupJoinCharacter can be either a "+" or a ";" - * - * The GroupJoinCharacter symbol is used to separate character sequences that - * are to be grouped together. If the GroupJoinCharacter symbol is omitted then - * a new group is started. - * - * Internally, the original string is converted to a list of strings where - * each string uses newlines to separate one sub-string from the next. - */ - StringList_pa StringListFromCompound(const char *String) - { - const char *CPtr; - StringList_pa Result; - Boolean_t IsOk = TRUE; - char *CurString = NULL; - - REQUIRE(VALID_REF(String)); - SkipWhiteSpaceOrComma(&String); - REQUIRE(!ISJOINCHAR(*String)); - - /* extract character sequences */ - Result = StringListAlloc(); - CPtr = String; - - while (IsOk && *CPtr != '\0') - { - char *NextSubString = NULL; - Boolean_t WantsToJoin = FALSE; - - if (ISJOINCHAR(*CPtr)) - { - WantsToJoin = TRUE; - CPtr++; - SkipWhiteSpaceOrComma(&CPtr); - } - - IsOk = GetNextSubString(&CPtr, - &NextSubString); - - if (IsOk) - { - /* - * Tack on the sub-string to the running string. - */ - if (WantsToJoin) - TackOnChar(&CurString, '\n'); - if (NextSubString != NULL && strlen(NextSubString) != 0) - IsOk = TackOnString(&CurString, NextSubString, FALSE, FALSE); - else if (CurString == NULL) - CurString = DupString(dontTranslate("")); - } - - if (NextSubString != NULL) - FREE_ARRAY(NextSubString, "StringListFromCompound: NextSubString"); - /* - * If this is the end of processing or if the next character is - * not a join character then add the current string to the stringlist. + * Tack on the sub-string to the running string. */ - - if (IsOk && !ISJOINCHAR(*CPtr)) - { - StringListAppendString(Result, CurString); - if (CurString != NULL) - FREE_ARRAY(CurString, "current string"); - CurString = NULL; - } + if (WantsToJoin) + TackOnChar(&CurString, '\n'); + if (NextSubString != NULL && strlen(NextSubString) != 0) + IsOk = TackOnString(&CurString, NextSubString, FALSE, FALSE); + else if (CurString == NULL) + CurString = DupString(dontTranslate("")); } - if (CurString != NULL) - FREE_ARRAY(CurString, "current string"); + if (NextSubString != NULL) + FREE_ARRAY(NextSubString, "StringListFromCompound: NextSubString"); - if (!IsOk) - StringListDealloc(&Result); + /* + * If this is the end of processing or if the next character is + * not a join character then add the current string to the stringlist. + */ - ENSURE(Result == NULL || StringListValid(Result)); - return Result; + if (IsOk && !ISJOINCHAR(*CPtr)) + { + StringListAppendString(Result, CurString); + if (CurString != NULL) + FREE_ARRAY(CurString, "current string"); + CurString = NULL; + } } + if (CurString != NULL) + FREE_ARRAY(CurString, "current string"); - /* - * Return a compound string representation of a string list. - * - * One common usage in Tecplot: - * The $!OpenLayout command in tecplot has the sub-option - * ALTDATALOADINSTRUCTIONS that has the form: - * '"instr-string1" [GroupJoinCharacter] "instr-string2" [+] ...' - */ - char *StringListToCompound(StringList_pa StringList, - char GroupJoinCharacter, - const char *CharsToEscape) + if (!IsOk) + StringListDealloc(&Result); + + ENSURE(Result == NULL || StringListValid(Result)); + return Result; +} + + +/* + * Return a compound string representation of a string list. + * + * One common usage in Tecplot: + * The $!OpenLayout command in tecplot has the sub-option + * ALTDATALOADINSTRUCTIONS that has the form: + * '"instr-string1" [GroupJoinCharacter] "instr-string2" [+] ...' + */ +char *StringListToCompound(StringList_pa StringList, + char GroupJoinCharacter, + char const* CharsToEscape) +{ + REQUIRE(StringListValid(StringList)); + REQUIRE(StringListCount(StringList) >= 1); + REQUIRE(ISJOINCHAR(GroupJoinCharacter)); + REQUIRE(VALID_REF(CharsToEscape)); + + char* Result = NULL; + + Boolean_t IsOk = TRUE; + LgIndex_t Index; + LgIndex_t Count; + for (Index = 0, Count = StringListCount(StringList), IsOk = TRUE; + Index < Count && IsOk; + Index++) { - Boolean_t IsOk = TRUE; - LgIndex_t Index; - LgIndex_t Count; - char *Result = NULL; + char* String = StringListGetString(StringList, Index); - REQUIRE(StringListValid(StringList)); - REQUIRE(StringListCount(StringList) >= 1); - REQUIRE(ISJOINCHAR(GroupJoinCharacter)); - REQUIRE(VALID_REF(CharsToEscape)); - - for (Index = 0, Count = StringListCount(StringList), IsOk = TRUE; - Index < Count && IsOk; - Index++) + if (String != NULL && strlen(String) != 0) { - char *String = StringListGetString(StringList, Index); + char* CStart = NULL; + char* CEnd = NULL; + char* EscapedString = NULL; + char const* EscChar = NULL; + char* StrChar = NULL; - if (String != NULL && strlen(String) != 0) + /* First scan the string and escape any specified characters. */ + /* Note that the Escape sequence is a double backslash because */ + /* it the first escape escapes the escape for variable usage. */ + for (StrChar = String; *StrChar != '\0'; StrChar++) { - char *CStart = NULL; - char *CEnd = NULL; - char *EscapedString = NULL; - const char *EscChar = NULL; - char *StrChar = NULL; + for (EscChar = CharsToEscape; *EscChar != '\0'; EscChar++) + if (*StrChar == *EscChar) + { + IsOk = TackOnChar(&EscapedString, '\\'); + IsOk = TackOnChar(&EscapedString, '\\'); + break; + } + IsOk = TackOnChar(&EscapedString, *StrChar); + } - /* First scan the string and escape any specified characters. */ - /* Note that the Escape sequence is a double backslash because */ - /* it the first escape escapes the escape for variable usage. */ - for (StrChar = String; *StrChar != '\0'; StrChar++) + CEnd = EscapedString; + while (IsOk && *CEnd != '\0') + { + int Len = 0; + CStart = CEnd; + while (*CEnd != '\0' && *CEnd != '\n') { - for (EscChar = CharsToEscape; *EscChar != '\0'; EscChar++) - if (*StrChar == *EscChar) - { - IsOk = TackOnChar(&EscapedString, '\\'); - IsOk = TackOnChar(&EscapedString, '\\'); - break; - } - IsOk = TackOnChar(&EscapedString, *StrChar); + Len++; + if (*CEnd == '"') + Len++; + CEnd++; } - CEnd = EscapedString; - while (IsOk && *CEnd != '\0') + char* TString = ALLOC_ARRAY(Len + 4, char, "temp compound sub-string"); + if (TString != NULL) { - int Len = 0; - char *TString; - - CStart = CEnd; - while (*CEnd != '\0' && *CEnd != '\n') + /* prepend the new string with either */ + /* a space character or the plus symbol */ + if (CStart == EscapedString) { - Len++; - if (*CEnd == '"') - Len++; - CEnd++; - } - - TString = ALLOC_ARRAY(Len + 4, char, "temp compound sub-string"); - if (TString != NULL) - { - char *TStr; - - /* prepend the new string with either */ - /* a space character or the plus symbol */ - if (CStart == EscapedString) - { - if (Index != 0) - IsOk = TackOnChar(&Result, ' '); - } - else - { - IsOk = TackOnChar(&Result, GroupJoinCharacter); - } - - /* stuff TString and append the new string */ - TStr = TString; - *TStr++ = '"'; - while (CStart != CEnd) - { - if (*CStart == '"') - *TStr++ = '\\'; - *TStr++ = *CStart++; - } - *TStr++ = '"'; - *TStr = '\0'; - - TackOnString(&Result, TString, FALSE, FALSE); - FREE_ARRAY(TString, "StringListToCompound"); - TString = NULL; - if (*CEnd) - CEnd++; + if (Index != 0) + IsOk = TackOnChar(&Result, ' '); } else { - IsOk = FALSE; + IsOk = TackOnChar(&Result, GroupJoinCharacter); } + + /* stuff TString and append the new string */ + char* TStr = TString; + *TStr++ = '"'; + while (CStart != CEnd) + { + if (*CStart == '"') + *TStr++ = '\\'; + *TStr++ = *CStart++; + } + *TStr++ = '"'; + *TStr = '\0'; + + TackOnString(&Result, TString, FALSE, FALSE); + FREE_ARRAY(TString, "StringListToCompound"); + TString = NULL; + if (*CEnd) + CEnd++; } - - if (EscapedString != NULL) - FREE_ARRAY(EscapedString, "escaped string"); - } - else - { - /* a null pointer or length of zero indicates an empty sub-string */ - if (Index == 0) - TackOnString(&Result, "\"\"", FALSE, FALSE); else - TackOnString(&Result, " \"\"", FALSE, FALSE); + { + IsOk = FALSE; + } } - if (String != NULL) - FREE_ARRAY(String, "string list item"); + if (EscapedString != NULL) + FREE_ARRAY(EscapedString, "escaped string"); } - - if (!IsOk) - { - if (Result != NULL) - { - FREE_ARRAY(Result, "StringListToCompound"); - Result = NULL; - } - } - - ENSURE(Result == NULL || VALID_REF(Result)); - return Result; - } - - - /** - * Holds the comparator function pointer. - */ - static StringListStringComparator_pf ComparatorFunction = NULL; - - - /** - * Forwards the comparison test to the 'Comparator' supplied to the - * 'StringListSort' function. - * - * param Item1 - * Item to compare against Item2. - * param Item2 - * Item to compare against Item1. - * param ClientData - * Contextual information that was passed to the 'ArrayListQSort' function. - * - * return - * -1: if Item1 is less than Item2 - * 0: if Item1 is equal to Item2 - * 1: if Item1 is greater than Item2 - */ - static int STDCALL ComparatorProxy(ArrayListItem_u Item1, - ArrayListItem_u Item2, - ArbParam_t ClientData) - { - /* forward the request */ - return ComparatorFunction(Item1.CharPtr, Item2.CharPtr, ClientData); - } - - - /** - * Compares two strings from a list string. Note that either string may be - * NULL as StringLists allow for NULL elements. - * - * param String1 - * String to compare against String2. - * param String2 - * String to compare against String1. - * param ClientData - * Contextual information that was passed to the 'StringListSort' function. - * - * return - * - A value less than zero if String1 is less than String2. - * - A value of zero if String1 is equal to String2. - * - A value greater than zero if String1 is greater than String2. - */ - static int STDCALL DefaultStrcmpComparator(const char *String1, - const char *String2, - ArbParam_t ClientData) - { - int Result = 0; /* ...quite compiler */ - - REQUIRE(VALID_REF(String1) || String1 == NULL); - REQUIRE(VALID_REF(String2) || String2 == NULL); - - if (String1 != NULL && String2 != NULL) - { - Result = strcmp(String1, String2); - if (Result < 0) - Result = -1; - else if (Result > 0) - Result = 1; - } - else if (String1 == NULL && String2 == NULL) - Result = 0; - else if (String1 == NULL) - Result = -1; - else if (String2 == NULL) - Result = 1; else - CHECK(FALSE); + { + /* a null pointer or length of zero indicates an empty sub-string */ + if (Index == 0) + TackOnString(&Result, "\"\"", FALSE, FALSE); + else + TackOnString(&Result, " \"\"", FALSE, FALSE); + } - ENSURE((Result == -1) || (Result == 0) || (Result == 1)); - return Result; + if (String != NULL) + FREE_ARRAY(String, "string list item"); } - /** - * Sorts the string list by repeatedly calling the 'Comparator' function until - * the list is in order. - * - * param StringList - * String list to sort. - * param Comparator - * Function called to compare two string list strings or NULL for the - * default sort. The default sorting handles NULL elements and uses the - * system's strcmp utility for comparing valid strings elements. - * param ClientData - * Contextual information that is passed along to the comparator function. - */ - void StringListSort(StringList_pa StringList, - StringListStringComparator_pf Comparator, - ArbParam_t ClientData) + if (!IsOk) { + if (Result != NULL) + { + FREE_ARRAY(Result, "StringListToCompound"); + Result = NULL; + } + } + + ENSURE(Result == NULL || VALID_REF(Result)); + return Result; +} + #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif - REQUIRE(VALID_REF(StringList)); - REQUIRE(VALID_FN_REF(Comparator) || Comparator == NULL); - - /* set up for comparator proxy */ - if (Comparator != NULL) - ComparatorFunction = Comparator; - else - ComparatorFunction = DefaultStrcmpComparator; - - /* sort the array using the comparator proxy to forward */ - /* the comparison request to the supplied comparator */ - ArrayListQSort((ArrayList_pa)StringList, ComparatorProxy, ClientData); - - /* cleanup */ - ComparatorFunction = NULL; - } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strutil.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strutil.cpp index e0c58d16e..0d7a1aaf7 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strutil.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/strutil.cpp @@ -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. ******* ******* ******** ****************************************************************** ****************************************************************** @@ -44,6 +21,7 @@ #endif #include "ARRLIST.h" #include "STRLIST.h" +#include "CHARTYPE.h" #include "STRUTIL.h" #include "ALLOC.h" @@ -55,10 +33,18 @@ #include "TranslatedString.h" #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ +#else + #define DECLARE_NUMERIC_LOCALE_SETTER + #define VALID_NUMERIC_LOCALE() (true) #endif -using namespace std; -using namespace tecplot::strutil; +using std::string; +using tecplot::strutil::translate; +using tecplot::strutil::dontTranslate; +using tecplot::strutil::TranslatedString; +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#endif #ifdef MSWIN # pragma warning (disable : 4786) /* STL warning about trucated identifiers */ @@ -77,9 +63,9 @@ static int FormatStringBufferSize = INITIAL_FORMAT_BUFFER_SIZE; #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ -#if defined MSWIN -#else -#endif /* !MSWIN */ + #if defined MSWIN + #else + #endif /* !MSWIN */ #endif #if defined TECPLOTKERNEL @@ -120,10 +106,13 @@ char *vFormatString(const char *Format, * causing infinite recursion. */ if (FormatStringBuffer == NULL) - FormatStringBuffer = (char *)malloc(FormatStringBufferSize); + FormatStringBuffer = static_cast(malloc(FormatStringBufferSize)); if (FormatStringBuffer != NULL) { + DECLARE_NUMERIC_LOCALE_SETTER + REQUIRE(VALID_NUMERIC_LOCALE()); + Boolean_t TryAgain = FALSE; do { @@ -132,7 +121,7 @@ char *vFormatString(const char *Format, * can determine if the buffer needs to be expanded. If after we call * vsnprintf the end of the buffer has a '\0' we need to expand it. */ - FormatStringBuffer[FormatStringBufferSize - 1] = (char)!'\0'; + FormatStringBuffer[FormatStringBufferSize - 1] = static_cast(!'\0'); # if defined MSWIN memset(FormatStringBuffer, 0, FormatStringBufferSize - 1); @@ -169,7 +158,7 @@ char *vFormatString(const char *Format, */ free(FormatStringBuffer); FormatStringBufferSize += MAX(1, FormatStringBufferSize / 2); - FormatStringBuffer = (char *)malloc(FormatStringBufferSize); + FormatStringBuffer = static_cast(malloc(FormatStringBufferSize)); TryAgain = (FormatStringBuffer != NULL); if (!TryAgain) FormatStringBufferSize = INITIAL_FORMAT_BUFFER_SIZE; @@ -222,7 +211,7 @@ int FormatString(string& Buffer, if (FormattedString != NULL) { Buffer.assign(FormattedString); - Result = (int)Buffer.size(); + Result = static_cast(Buffer.size()); FREE_ARRAY(FormattedString, "FormattedString"); } else @@ -272,14 +261,14 @@ void CopySubString(char *Target, REQUIRE("Target string is sized to accommodate a string who's length " "is at least MIN(strlen(&Source[Index]), Count) characters."); REQUIRE(VALID_REF(Source)); - REQUIRE(0 <= Index && Index <= (LgIndex_t)strlen(Source)); + REQUIRE(0 <= Index && Index <= static_cast(strlen(Source))); REQUIRE(Count >= 0); - Length = MIN((LgIndex_t)strlen(&Source[Index]), Count); + Length = MIN(static_cast(strlen(&Source[Index])), Count); memmove(Target, &Source[Index], Length); Target[Length] = '\0'; - ENSURE(VALID_REF(Target) && (LgIndex_t)strlen(Target) == Length); + ENSURE(VALID_REF(Target) && static_cast(strlen(Target)) == Length); } #if defined TECPLOTKERNEL @@ -299,7 +288,7 @@ char *StringFlushLeft(char *String) /* move the substring beginning at the first non-whitespace */ /* character to the head of the string */ - while (isspace(*Start)) + while (tecplot::isspace(*Start)) Start++; if (Start != String) memmove(String, Start, strlen(Start) + 1); @@ -320,7 +309,7 @@ static char *StringFlushRight(char *String) REQUIRE(VALID_REF(String)); - for (End = EndOfString(String); End != String && isspace(End[-1]); End--) + for (End = EndOfString(String); End != String && tecplot::isspace(End[-1]); End--) End[-1] = '\0'; ENSURE(VALID_REF(Result) && Result == String); @@ -366,11 +355,11 @@ char *StringTruncate(char *String, REQUIRE(VALID_REF(String)); REQUIRE(MaxLength >= 0); - if ((LgIndex_t)strlen(String) > MaxLength) + if (static_cast(strlen(String)) > MaxLength) String[MaxLength] = '\0';/* UTF8_SetAt(String,'\0',MaxLength); */ ENSURE(VALID_REF(String)); - ENSURE((LgIndex_t)strlen(String) <= MaxLength); + ENSURE(static_cast(strlen(String)) <= MaxLength); return String; } @@ -393,11 +382,21 @@ char *StringTrimAndTruncate(char *String, REQUIRE(VALID_REF(String)); REQUIRE(MaxLength >= 0); - TrimLeadAndTrailSpaces(String); - StringTruncate(String, MaxLength); + /* + * Note that we are careful to truncate the string after trimming + * whitespace from the left side but then trim whitespace from the end + * after truncating to make sure we don't return a string that has + * whitespace simply because it truncated on a word break. + */ + StringFlushLeft(String); + StringTruncate(String,MaxLength); + StringFlushRight(String); ENSURE(VALID_REF(String)); - ENSURE((LgIndex_t)strlen(String) <= MaxLength); + ENSURE(static_cast(strlen(String)) <= MaxLength); + ENSURE(IMPLICATION(strlen(String) != 0, + (!tecplot::isspace(String[0]) && + !tecplot::isspace(String[strlen(String)-1])))); return String; } @@ -491,7 +490,6 @@ StringList_pa LineBreakString(const char *String, } #endif - #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif /* TECPLOTKERNEL */ @@ -520,7 +518,6 @@ int ustrncmp(const char *s1, { REQUIRE((s1 == NULL) || VALID_REF(s1)); REQUIRE((s2 == NULL) || VALID_REF(s2)); - REQUIRE(Len >= 0); char *t1; char *t2; @@ -534,8 +531,8 @@ int ustrncmp(const char *s1, else if (s2 == NULL) return 1; - t1 = (char*)s1; - t2 = (char*)s2; + t1 = const_cast(s1); + t2 = const_cast(s2); while (*t1 && *t2 && (I < Len)) { @@ -578,7 +575,9 @@ int ustrcmp(const char *s1, return (ustrncmp(s1, s2, INT_MAX)); } - +#if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ +#endif #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ @@ -700,7 +699,7 @@ Boolean_t TackOnString(char **SBase, (*StringToAdd == '\0') && DeleteStringToAdd) { - char *TMP = (char *)StringToAdd; + char *TMP = const_cast(StringToAdd); FREE_ARRAY(TMP, "empty string to add"); } } @@ -724,7 +723,7 @@ Boolean_t TackOnString(char **SBase, { if (DeleteStringToAdd) { - char *TMP = (char *)StringToAdd; + char *TMP = const_cast(StringToAdd); FREE_ARRAY(TMP, StringToAdd); } IsOk = FALSE; @@ -758,7 +757,7 @@ Boolean_t TackOnString(char **SBase, if (DeleteStringToAdd) { - char *TMP = (char *)StringToAdd; + char *TMP = const_cast(StringToAdd); FREE_ARRAY(TMP, StringToAdd); } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tassert.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tassert.cpp index f74a2d30e..3906ca069 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tassert.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tassert.cpp @@ -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. ******* ******* ******** ***************************************************************** ***************************************************************** diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecio.vcproj b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecio.vcproj new file mode 100644 index 000000000..ad5233c7c --- /dev/null +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecio.vcproj @@ -0,0 +1,1826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecxxx.cpp b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecxxx.cpp index e64504a07..e9be811a1 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecxxx.cpp +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/tecxxx.cpp @@ -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,12 +7,12 @@ ****************************************************************** ****************************************************************** ******* ******** -****** (C) 1988-2008 Tecplot, Inc. ******* +****** (C) 1988-2010 Tecplot, Inc. ******* ******* ******** ****************************************************************** ****************************************************************** */ -/* Source file revision $Revision: 7627 $ */ +/* Source file revision $Revision: 37579 $ */ #include "GLOBAL.h" #include "TASSERT.h" @@ -45,6 +22,7 @@ #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif +#include "CHARTYPE.h" #include "DATAIO4.h" #include "DATASET0.h" #include "TECXXX.h" @@ -134,6 +112,34 @@ static LgIndex_t KMax[MaxNumFiles]; /* ones based indices */ static vector TotalNumFaceNodes[MaxNumFiles]; /* vector dimensioned by num zones */ static LgIndex_t TotalNumFaceBndryFaces[MaxNumFiles]; static LgIndex_t TotalNumFaceBndryConns[MaxNumFiles]; +struct PolyZoneWriteInfo +{ + PolyZoneWriteInfo() + : numFacesWritten(0) + , faceNodeSum(0) + , numBoundaryFacesWritten(0) + , boundaryConnectionSum(0) + , numFaceNodesOffset(0) + , faceNodesOffset(0) + , leftElemsOffset(0) + , rightElemsOffset(0) + , connectionCountsOffset(0) + , connectionElemsOffset(0) + , connectionZonesOffset(0) + {} + LgIndex_t numFacesWritten; + LgIndex_t faceNodeSum; + LgIndex_t numBoundaryFacesWritten; + LgIndex_t boundaryConnectionSum; + FileOffset_t numFaceNodesOffset; + FileOffset_t faceNodesOffset; + FileOffset_t leftElemsOffset; + FileOffset_t rightElemsOffset; + FileOffset_t connectionCountsOffset; + FileOffset_t connectionElemsOffset; + FileOffset_t connectionZonesOffset; +}; +static vector PolyZoneWriteInfos[MaxNumFiles]; static LgIndex_t ICellMax[MaxNumFiles]; static LgIndex_t JCellMax[MaxNumFiles]; static LgIndex_t KCellMax[MaxNumFiles]; @@ -149,12 +155,13 @@ static vector IsSharedVar[MaxNumFiles]; /* vector dimensioned by static vector IsPassiveVar[MaxNumFiles]; /* vector dimensioned by num vars */ static INTEGER4 CurZone[MaxNumFiles]; /* zero based zone numbers */ static INTEGER4 CurVar[MaxNumFiles]; /* zero based var numbers */ -static INTEGER4 FieldDataType; +static INTEGER4 FieldDataType[MaxNumFiles]; static INTEGER4 CurFile = -1; static vector IsCellCentered[MaxNumFiles]; /* vector dimensioned by num vars */ static Boolean_t HasFECONNECT[MaxNumFiles]; static INTEGER4 FileTypes[MaxNumFiles]; static vector NumConnectivityNodes[MaxNumFiles]; /* vector dimensioned by num zones */ +static vector NumConnectivityNodesWritten[MaxNumFiles]; /* vector dimensioned by num zones */ static vector ConnectivityWritten[MaxNumFiles]; /* vector dimensioned by num zones */ /* @@ -197,7 +204,13 @@ static char const* ZoneTypes[] = static void WriteErr(const char *routine_name) { #if defined MAKEARCHIVE - PRINT2("Err: (%s) Write failure on file %d.\n", routine_name, CurFile + 1); + { + PRINT2("Err: (%s) Write failure on file %d.\n", routine_name, CurFile + 1); + } + #else + { + UNUSED(routine_name); + } #endif NumErrs[CurFile]++; } @@ -224,7 +237,7 @@ Boolean_t ParseDupList(LgIndex_t **ShareVarFromZone, if (*DupList && !strncmp(DupList, "FECONNECT", 9)) *ShareConnectivityFromZone = TecXXXZoneNum; - else if (*DupList && !isdigit(*DupList)) + else if (*DupList && !tecplot::isdigit(*DupList)) IsOk = FALSE; /* syntax error */ else if (*DupList) @@ -239,7 +252,7 @@ Boolean_t ParseDupList(LgIndex_t **ShareVarFromZone, { *ShareVarFromZone = ALLOC_ARRAY(numVarsForFile, LgIndex_t, "Variable sharing list"); if (*ShareVarFromZone) - memset(*ShareVarFromZone, (char)0, numVarsForFile * sizeof(LgIndex_t)); + memset(*ShareVarFromZone, static_cast(0), numVarsForFile * sizeof(LgIndex_t)); } if (*ShareVarFromZone) @@ -372,7 +385,13 @@ INTEGER4 LIBCALL TECINI112(char *Title, CurFile = 0; #if defined MAKEARCHIVE - DebugLevel[NewFile] = *Debug; + { + DebugLevel[NewFile] = *Debug; + } + #else + { + UNUSED(Debug); + } #endif /* check sizes for array sized by number of variables */ CHECK(VarMinValue[NewFile].empty()); @@ -385,9 +404,11 @@ INTEGER4 LIBCALL TECINI112(char *Title, /* check sizes for array sized by number of zones */ CHECK(MinMaxOffset[NewFile].empty()); CHECK(TotalNumFaceNodes[NewFile].empty()); + CHECK(PolyZoneWriteInfos[NewFile].empty()); CHECK(NumFaceConnections[NewFile].empty()); CHECK(FaceNeighborsOrMapWritten[NewFile].empty()); CHECK(NumConnectivityNodes[NewFile].empty()); + CHECK(NumConnectivityNodesWritten[NewFile].empty()); CHECK(ConnectivityWritten[NewFile].empty()); CurZone[NewFile] = -1; @@ -507,7 +528,7 @@ INTEGER4 LIBCALL TECINI112(char *Title, } CHECK(TecplotBinaryFileVersion == 112); - if (!WriteBinaryInt32(HeadFile[NewFile], (LgIndex_t)FileTypes[NewFile])) + if (!WriteBinaryInt32(HeadFile[NewFile], static_cast(FileTypes[NewFile]))) { WriteErr("TECINI112"); return (-1); @@ -587,7 +608,7 @@ INTEGER4 LIBCALL TECINI112(char *Title, return (-1); } - if (!WriteBinaryInt32(HeadFile[NewFile], (LgIndex_t)NumVars[NewFile])) + if (!WriteBinaryInt32(HeadFile[NewFile], static_cast(NumVars[NewFile]))) { WriteErr("TECINI110"); return (-1); @@ -636,9 +657,9 @@ INTEGER4 LIBCALL TECINI112(char *Title, IsOpen[NewFile] = 1; if (*VIsDouble) - FieldDataType = FieldDataType_Double; + FieldDataType[NewFile] = FieldDataType_Double; else - FieldDataType = FieldDataType_Float; + FieldDataType[NewFile] = FieldDataType_Float; return (0); } @@ -787,9 +808,15 @@ static int CheckData(const char *routine_name) if (NumDataValuesToWrite[CurFile] != NumDataValuesWritten[CurFile]) { #if defined MAKEARCHIVE - PRINT2("Err: (%s) Wrong number of data values in file %d:\n", routine_name, CurFile + 1); - PRINT2(" %d data values for Zone %d were processed,\n", NumDataValuesWritten[CurFile], CurZone[CurFile] + 1); - PRINT1(" %d data values were expected.\n", NumDataValuesToWrite[CurFile]); + { + PRINT2("Err: (%s) Wrong number of data values in file %d:\n", routine_name, CurFile + 1); + PRINT2(" %d data values for Zone %d were processed,\n", NumDataValuesWritten[CurFile], CurZone[CurFile] + 1); + PRINT1(" %d data values were expected.\n", NumDataValuesToWrite[CurFile]); + } + #else + { + UNUSED(routine_name); + } #endif NumErrs[CurFile]++; return (-1); @@ -802,8 +829,14 @@ static int CheckFile(const char *routine_name) if ((CurFile == -1) || (!IsOpen[CurFile])) { #if defined MAKEARCHIVE - PRINT2("Err: (%s) Attempt to use invalid file (%d).\n", - routine_name, CurFile + 1); + { + PRINT2("Err: (%s) Attempt to use invalid file (%d).\n", + routine_name, CurFile + 1); + } + #else + { + UNUSED(routine_name); + } #endif return (-1); } @@ -926,9 +959,11 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, { MinMaxOffset[CurFile].resize(CurZone[CurFile] + 1); TotalNumFaceNodes[CurFile].resize(CurZone[CurFile] + 1); + PolyZoneWriteInfos[CurFile].resize(CurZone[CurFile] + 1); NumFaceConnections[CurFile].resize(CurZone[CurFile] + 1); FaceNeighborsOrMapWritten[CurFile].resize(CurZone[CurFile] + 1); NumConnectivityNodes[CurFile].resize(CurZone[CurFile] + 1); + NumConnectivityNodesWritten[CurFile].resize(CurZone[CurFile] + 1); ConnectivityWritten[CurFile].resize(CurZone[CurFile] + 1); } catch (std::bad_alloc const&) @@ -949,6 +984,7 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, KCellMax[CurFile] = *KCellMx; /* Set the flags that connectivity, face neighbors or face map hasn't been written for the zone yet. */ FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = FALSE; + NumConnectivityNodesWritten[CurFile][CurZone[CurFile]] = 0; ConnectivityWritten[CurFile][CurZone[CurFile]] = FALSE; if (ZoneType[CurFile] == ZoneType_FEPolygon || @@ -975,7 +1011,7 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, } WriteBinaryReal(HeadFile[CurFile], - (double)ZoneMarker, + static_cast(ZoneMarker), FieldDataType_Float); if (!DumpDatafileString(HeadFile[CurFile], ZnTitle, @@ -1028,16 +1064,18 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, ZoneType[CurFile] != ZoneType_FEPolyhedron && *ShareConnectivityFromZone == 0 && FileTypes[CurFile] != SOLUTIONFILE) + { NumConnectivityNodes[CurFile][CurZone[CurFile]] = NumIndices[CurFile] * JMax[CurFile]; + } /* * We do not check any return values until the end. If these calls fail, * WriteFieldDataType below should fail as well. */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)(*ParentZone) - 1); /* ...ParentZone is zero based for binary file */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)(*StrandID) - 1); /* ...StrandID is zero based for binary file */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(*ParentZone) - 1); /* ...ParentZone is zero based for binary file */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(*StrandID) - 1); /* ...StrandID is zero based for binary file */ WriteBinaryReal(HeadFile[CurFile], *SolutionTime, FieldDataType_Double); - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t) - 1); /* No Zone Color Assignment */ + WriteBinaryInt32(HeadFile[CurFile], static_cast( - 1)); /* No Zone Color Assignment */ WriteBinaryInt32(HeadFile[CurFile], ZoneType[CurFile]); NumDataValuesToWrite[CurFile] = 0; @@ -1047,12 +1085,11 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, IsPassiveVar[CurFile][I] = (PassiveVarList != NULL && PassiveVarList[I] == 1); /* ...passive? */ } - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)(ValueLocation != NULL ? 1 : 0)); /* ...are var locations specified? */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(ValueLocation != NULL ? 1 : 0)); /* ...are var locations specified? */ if (ValueLocation) { for (I = 0; I < NumVars[CurFile]; I++) { - int VIndex; LgIndex_t NumNodes; LgIndex_t NumCells; @@ -1069,33 +1106,28 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, NumCells = JMax[CurFile]; } - if (IsSharedVar[CurFile][I]) - VIndex = ShareVarFromZone[I] - 1; - else - VIndex = I; - - if (VIndex == 0) + if (I == 0) NumRunningVarValues[CurFile][I] = 0; else - NumRunningVarValues[CurFile][VIndex] = NumRunningVarValues[CurFile][VIndex-1]; + NumRunningVarValues[CurFile][I] = NumRunningVarValues[CurFile][I-1]; - IsCellCentered[CurFile][VIndex] = (ValueLocation[I] == ValueLocation_CellCentered); + IsCellCentered[CurFile][I] = (ValueLocation[I] == ValueLocation_CellCentered); if (ValueLocation[I] == ValueLocation_CellCentered) { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)1); + WriteBinaryInt32(HeadFile[CurFile], static_cast(1)); if (!IsSharedVar[CurFile][I] && !IsPassiveVar[CurFile][I]) { - NumDataValuesToWrite[CurFile] += NumCells; - NumRunningVarValues[CurFile][VIndex] += NumCells; + NumDataValuesToWrite[CurFile] += NumCells; + NumRunningVarValues[CurFile][I] += NumCells; } } else if (ValueLocation[I] == ValueLocation_Nodal) { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)0); + WriteBinaryInt32(HeadFile[CurFile], static_cast(0)); if (!IsSharedVar[CurFile][I] && !IsPassiveVar[CurFile][I]) { - NumDataValuesToWrite[CurFile] += NumNodes; - NumRunningVarValues[CurFile][VIndex] += NumNodes; + NumDataValuesToWrite[CurFile] += NumNodes; + NumRunningVarValues[CurFile][I] += NumNodes; } } else @@ -1122,22 +1154,16 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, for (I = 0; I < NumVars[CurFile]; I++) { - int VIndex; - if (IsSharedVar[CurFile][I]) - VIndex = ShareVarFromZone[I] - 1; - else - VIndex = I; - - if (VIndex == 0) + if (I == 0) NumRunningVarValues[CurFile][I] = 0; else - NumRunningVarValues[CurFile][VIndex] = NumRunningVarValues[CurFile][VIndex-1]; + NumRunningVarValues[CurFile][I] = NumRunningVarValues[CurFile][I-1]; - IsCellCentered[CurFile][VIndex] = FALSE; + IsCellCentered[CurFile][I] = FALSE; if (!IsSharedVar[CurFile][I] && !IsPassiveVar[CurFile][I]) { - NumDataValuesToWrite[CurFile] += NumNodes; - NumRunningVarValues[CurFile][VIndex] += NumNodes; + NumDataValuesToWrite[CurFile] += NumNodes; + NumRunningVarValues[CurFile][I] += NumNodes; } } } @@ -1150,27 +1176,27 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, * step and instead fall back to the delivering * one neighbor at a time. */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)0); /* IsRawFNAvailable */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(0)); /* IsRawFNAvailable */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)NumFaceConnections[CurFile][CurZone[CurFile]]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(NumFaceConnections[CurFile][CurZone[CurFile]])); if (NumFaceConnections[CurFile][CurZone[CurFile]] > 0) { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)FaceNeighborMode[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(FaceNeighborMode[CurFile])); if (ZoneType[CurFile] != ORDERED) - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)0); /* FEFaceNeighborsComplete */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(0)); /* FEFaceNeighborsComplete */ } - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)IMax[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(IMax[CurFile])); if (ZoneType[CurFile] == FEPOLYGON || ZoneType[CurFile] == FEPOLYHEDRON) { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)KMax[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(KMax[CurFile])); /* * As of binary version 111 these items moved from the data section to * the header. */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)TotalNumFaceNodes[CurFile][CurZone[CurFile]]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(TotalNumFaceNodes[CurFile][CurZone[CurFile]])); if (TotalNumFaceBndryFaces[CurFile] > 0) { /* Each boundary face must have >= 1 boundary connection. */ @@ -1193,23 +1219,23 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, * element in the element list regardless if they have boundary connections * or not. */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)TotalNumFaceBndryFaces[CurFile] + 1); /* ...add a boundary face for no neighboring element as a convenience */ + WriteBinaryInt32(HeadFile[CurFile], static_cast(TotalNumFaceBndryFaces[CurFile]) + 1); /* ...add a boundary face for no neighboring element as a convenience */ } else - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)TotalNumFaceBndryFaces[CurFile]); - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)TotalNumFaceBndryConns[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(TotalNumFaceBndryFaces[CurFile])); + WriteBinaryInt32(HeadFile[CurFile], static_cast(TotalNumFaceBndryConns[CurFile])); } - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)JMax[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(JMax[CurFile])); if (ZoneType[CurFile] == ORDERED) { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)KMax[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(KMax[CurFile])); } else { - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)ICellMax[CurFile]); - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)JCellMax[CurFile]); - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)KCellMax[CurFile]); + WriteBinaryInt32(HeadFile[CurFile], static_cast(ICellMax[CurFile])); + WriteBinaryInt32(HeadFile[CurFile], static_cast(JCellMax[CurFile])); + WriteBinaryInt32(HeadFile[CurFile], static_cast(KCellMax[CurFile])); } /* @@ -1217,16 +1243,16 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, * Because it currently at the end of the header section we don't need to * keep track of the position for seeking back to it. */ - WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)0); + WriteBinaryInt32(HeadFile[CurFile], static_cast(0)); WriteBinaryReal(BlckFile[CurFile], - (double)ZoneMarker, + static_cast(ZoneMarker), FieldDataType_Float); for (I = 0; I < NumVars[CurFile]; I++) { if (!WriteFieldDataType(BlckFile[CurFile], - (FieldDataType_e)FieldDataType, + static_cast(FieldDataType[CurFile]), TRUE)) { WriteErr("TECZNE112"); @@ -1265,7 +1291,7 @@ INTEGER4 LIBCALL TECZNE112(char *ZnTitle, * mean time, keep track of the starting point so we can seek back to this * place. */ - MinMaxOffset[CurFile][CurZone[CurFile]] = (FileOffset_t)TP_FTELL(BlckFile[CurFile]->File); + MinMaxOffset[CurFile][CurZone[CurFile]] = static_cast(TP_FTELL(BlckFile[CurFile]->File)); for (I = 0; I < NumVars[CurFile]; I++) { @@ -1543,7 +1569,7 @@ INTEGER4 LIBCALL TECZNE(char *ZoneTitle, INTEGER4 NumFaceBndryFaces = 0; INTEGER4 NumFaceBndryConns = 0; - Result = TECZNE112((char *)ZoneTitle, + Result = TECZNE112(static_cast(ZoneTitle), &ZoneType, IMx, JMx, @@ -1570,7 +1596,7 @@ INTEGER4 LIBCALL TECZNE(char *ZoneTitle, if (ShareVarFromZone) FREE_ARRAY(ShareVarFromZone, "Variable sharing list"); - return (INTEGER4) Result; + return static_cast( Result); } #endif // INDEX_16_BIT -- not supported in this test-only mode @@ -1763,7 +1789,7 @@ LIBFUNCTION INTEGER4 LIBCALL teczne_(char *ZoneTitle, */ static void RewritePendingMinMaxValues(void) { - FileOffset_t CurrentOffset = (FileOffset_t)TP_FTELL(BlckFile[CurFile]->File); + FileOffset_t CurrentOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); TP_FSEEK(BlckFile[CurFile]->File, MinMaxOffset[CurFile][CurZone[CurFile]], SEEK_SET); int I; @@ -1788,8 +1814,8 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, INTEGER4 *IsDouble) { LgIndex_t I; - double *dptr = (double *)Data; - float *fptr = (float *)Data; + double *dptr = static_cast(Data); + float *fptr = static_cast(Data); if (CheckFile("TECDAT112") < 0) return (-1); @@ -1809,7 +1835,7 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, if (Value > VarMaxValue[CurFile][CurVar[CurFile]]) VarMaxValue[CurFile][CurVar[CurFile]] = Value; - if (!WriteBinaryReal(BlckFile[CurFile], Value, (FieldDataType_e)FieldDataType)) + if (!WriteBinaryReal(BlckFile[CurFile], Value, static_cast(FieldDataType[CurFile]))) { WriteErr("TECDAT112"); return (-1); @@ -1845,7 +1871,7 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, if (IIndex + 1 == FinalIMax && FinalIMax < IMax[CurFile] - IMaxAdjust) { NumOrderedCCDataValuesWritten[CurFile]++; - if (!WriteBinaryReal(BlckFile[CurFile], 0.0, (FieldDataType_e)FieldDataType)) + if (!WriteBinaryReal(BlckFile[CurFile], 0.0, static_cast(FieldDataType[CurFile]))) { WriteErr("TECDAT112"); return (-1); @@ -1858,7 +1884,7 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, for (II = 1; II <= IMax[CurFile] - IMaxAdjust; II++) { NumOrderedCCDataValuesWritten[CurFile]++; - if (!WriteBinaryReal(BlckFile[CurFile], 0.0, (FieldDataType_e)FieldDataType)) + if (!WriteBinaryReal(BlckFile[CurFile], 0.0, static_cast(FieldDataType[CurFile]))) { WriteErr("TECDAT112"); return (-1); @@ -1874,7 +1900,7 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, for (II = 1; II <= IMax[CurFile] - IMaxAdjust; II++) { NumOrderedCCDataValuesWritten[CurFile]++; - if (!WriteBinaryReal(BlckFile[CurFile], 0.0, (FieldDataType_e)FieldDataType)) + if (!WriteBinaryReal(BlckFile[CurFile], 0.0, static_cast(FieldDataType[CurFile]))) { WriteErr("TECDAT112"); return (-1); @@ -1930,7 +1956,7 @@ INTEGER4 LIBCALL TECDAT112(INTEGER4 *N, an error message) */ (NumDataValuesToWrite[CurFile] == NumDataValuesWritten[CurFile])) { - if (!WriteBinaryInt32(BlckFile[CurFile], (LgIndex_t)1)) + if (!WriteBinaryInt32(BlckFile[CurFile], static_cast(1))) { WriteErr("TECDAT112"); return (-1); @@ -2146,6 +2172,113 @@ LIBFUNCTION INTEGER4 LIBCALL tecnod_(INTEGER4 *NData) } #endif +/** + * TECNODEXXX + */ +INTEGER4 LIBCALL TECNODE112( + INTEGER4 *N, + INTEGER4 *NData) +{ + LgIndex_t I; + + + if (CheckFile("TECNODE112") < 0) + return (-1); + + if (ZoneType[CurFile] == FEPOLYGON || + ZoneType[CurFile] == FEPOLYHEDRON) + { + /* Wrong way to specify connectivity for polygons and polyhedrons */ + #if defined MAKEARCHIVE + PRINT0("Err: (TECNODE112) Cannot call TECNODE112 for polygonal or polyhedral zones.\n"); + #endif + NumErrs[CurFile]++; + return (-1); + } + + if (HasFECONNECT[CurFile]) + { + /* + * The connectivity list is duplicated, + * so we shouldn't be calling TECNODE112() + */ + return (-1); + } + + if (FileTypes[CurFile] == SOLUTIONFILE) + { + #if defined MAKEARCHIVE + PRINT0("Err: (TECNODE112) Cannot call TECNODE112 if file type is SOLUTIONFILE.\n"); + #endif + NumErrs[CurFile]++; + return (-1); + } + + if (ZoneType[CurFile] == ORDERED) + { + #if defined MAKEARCHIVE + PRINT0("Err: (TECNODE112) Cannot call TECNODE112 if zone type is ORDERED.\n"); + #endif + NumErrs[CurFile]++; + return (-1); + } + + if (CheckData("TECNODE112") < 0) + return (-1); + + if (NumConnectivityNodesWritten[CurFile][CurZone[CurFile]] + *N > NumConnectivityNodes[CurFile][CurZone[CurFile]]) + { + #if defined MAKEARCHIVE + PRINT0("Err: (TECNODE112) Connectivity Nodes chunk exceeds the total number of Connectivity Nodes:\n"); + PRINT2(" Nodes written = %d, Current chunk size = %d, ", NumConnectivityNodesWritten[CurFile][CurZone[CurFile]], *N); + PRINT1("total connectivity nodes = %d.\n", NumConnectivityNodes[CurFile][CurZone[CurFile]]); + #endif + NumErrs[CurFile]++; + return (-1); + } + + for (I = 0; I < *N; I++) + { + if ((NData[I] > IMax[CurFile]) || + (NData[I] < 1)) + { + #if defined MAKEARCHIVE + PRINT1("Err: (TECNODE112) Invalid node map value at position %d:\n", I); + PRINT2(" node map value = %d, max value = %d.\n", NData[I], IMax[CurFile]); + #endif + NumErrs[CurFile]++; + return (-1); + } + /* + * As of version 103 Tecplot assumes that node maps are zero based + * instead of ones based. Since we have to maintain the contract we + * subtract 1 for the caller. + */ + if (!WriteBinaryInt32(BlckFile[CurFile], NData[I] - 1)) /* zero based */ + { + WriteErr("TECNODE112"); + return (-1); + } + + NumConnectivityNodesWritten[CurFile][CurZone[CurFile]]++; + } + + if (NumConnectivityNodesWritten[CurFile][CurZone[CurFile]] == NumConnectivityNodes[CurFile][CurZone[CurFile]]) + { + ConnectivityWritten[CurFile][CurZone[CurFile]] = TRUE; + } + + return (0); +} + +#if defined MAKEARCHIVE && !defined _WIN32 /* every platform but Windows Intel */ +LIBFUNCTION INTEGER4 LIBCALL tecnode112_(INTEGER4 *N, + INTEGER4 *NData) +{ + return TECNODE112(N, NData); +} +#endif + /** * TECENDXXX */ @@ -2167,7 +2300,10 @@ INTEGER4 LIBCALL TECEND112(void) { #if defined MAKEARCHIVE PRINT1("Err: (TECEND112) File %d is being closed without writing connectivity data.\n", CurFile + 1); - PRINT1(" Zone %d was defined with a Classic FE zone type but TECNOD112() was not called.\n", ZoneIndex + 1); + if (NumConnectivityNodesWritten[CurFile][ZoneIndex] == 0) + PRINT1(" Zone %d was defined with a Classic FE zone type but TECNOD112() was not called.\n", ZoneIndex + 1); + else + PRINT1(" Zone %d was defined with a Classic FE zone type but TECNODE112() was not called for all node chunks.\n", ZoneIndex + 1); #endif NumErrs[CurFile]++; RetVal = -1; @@ -2188,7 +2324,8 @@ INTEGER4 LIBCALL TECEND112(void) { #if defined MAKEARCHIVE PRINT1("Err: (TECEND112) File %d is being closed without writing face map data.\n", CurFile + 1); - PRINT2(" %d face nodes were specified for zone %d but TECPOLY112() was not called.\n", + PRINT2(" %d face nodes were specified for zone %d but TECPOLYFACE112() and/or\n" + " TECPOLYBCONN112() was not called for all face chunks.\n", TotalNumFaceNodes[CurFile][ZoneIndex], ZoneIndex + 1); #endif NumErrs[CurFile]++; @@ -2228,10 +2365,10 @@ INTEGER4 LIBCALL TECEND112(void) while ((RetVal == 0) && (feof(BlckFile[CurFile]->File) == 0)) { - bytesRead = fread((void*)buffer, 1, BYTES_PER_CHUNK, BlckFile[CurFile]->File); + bytesRead = fread(static_cast(buffer), 1, BYTES_PER_CHUNK, BlckFile[CurFile]->File); if (ferror(BlckFile[CurFile]->File) == 0) { - if (bytesRead != fwrite((void*)buffer, 1, bytesRead, HeadFile[CurFile]->File)) + if (bytesRead != fwrite(static_cast(buffer), 1, bytesRead, HeadFile[CurFile]->File)) { /* do not call WriteErr, use custom message instead */ #if defined MAKEARCHIVE @@ -2291,9 +2428,11 @@ INTEGER4 LIBCALL TECEND112(void) /* reset arrays sized by number of zones */ MinMaxOffset[CurFile].clear(); TotalNumFaceNodes[CurFile].clear(); + PolyZoneWriteInfos[CurFile].clear(); NumFaceConnections[CurFile].clear(); FaceNeighborsOrMapWritten[CurFile].clear(); NumConnectivityNodes[CurFile].clear(); + NumConnectivityNodesWritten[CurFile].clear(); ConnectivityWritten[CurFile].clear(); CurFile = 0; @@ -2388,7 +2527,7 @@ static void GetNextLabel(const char **CPtr, */ INTEGER4 LIBCALL TECLAB112(char *S) { - const char *CPtr = (const char *)S; + const char *CPtr = const_cast(S); LgIndex_t N = 0; char Label[60]; @@ -2419,13 +2558,13 @@ INTEGER4 LIBCALL TECLAB112(char *S) } WriteBinaryReal(HeadFile[CurFile], CustomLabelMarker, FieldDataType_Float); - if (!WriteBinaryInt32(HeadFile[CurFile], (LgIndex_t)N)) + if (!WriteBinaryInt32(HeadFile[CurFile], static_cast(N))) { WriteErr("TECLAB112"); return (-1); } - CPtr = (const char *)S; + CPtr = const_cast(S); do { GetNextLabel(&CPtr, Label); @@ -2661,7 +2800,7 @@ INTEGER4 LIBCALL TECGEO112(double *XOrThetaPos, if (CheckFile("TECGEO112") < 0) return (-1); - Geom.PositionCoordSys = (CoordSys_e) * PosCoordMode; + Geom.PositionCoordSys = static_cast( * PosCoordMode); if (Geom.PositionCoordSys == CoordSys_Frame) Fract = 0.01; else @@ -2672,21 +2811,21 @@ INTEGER4 LIBCALL TECGEO112(double *XOrThetaPos, Geom.AnchorPos.Generic.V3 = (*ZPos) * Fract; Geom.AttachToZone = *AttachToZone != 0; Geom.Zone = *Zone - 1; - Geom.BColor = (ColorIndex_t) * Color; - Geom.FillBColor = (ColorIndex_t) * FillColor; + Geom.BColor = static_cast( * Color); + Geom.FillBColor = static_cast( * FillColor); Geom.IsFilled = *IsFilled; - Geom.GeomType = (GeomType_e) * GeomType; - Geom.LinePattern = (LinePattern_e) * LinePattern; + Geom.GeomType = static_cast( * GeomType); + Geom.LinePattern = static_cast( * LinePattern); Geom.PatternLength = *PatternLength / 100.0; Geom.LineThickness = *LineThickness / 100.0; Geom.NumEllipsePts = *NumEllipsePts; - Geom.ArrowheadStyle = (ArrowheadStyle_e) * ArrowheadStyle; - Geom.ArrowheadAttachment = (ArrowheadAttachment_e) * ArrowheadAttachment; + Geom.ArrowheadStyle = static_cast( * ArrowheadStyle); + Geom.ArrowheadAttachment = static_cast( * ArrowheadAttachment); Geom.ArrowheadSize = *ArrowheadSize / 100.0; Geom.ArrowheadAngle = *ArrowheadAngle / DEGPERRADIANS; - Geom.Scope = (Scope_e) * Scope; + Geom.Scope = static_cast( * Scope); Geom.DrawOrder = DrawOrder_AfterData; - Geom.Clipping = (Clipping_e) * Clipping; + Geom.Clipping = static_cast( * Clipping); Geom.NumSegments = *NumSegments; Geom.MacroFunctionCommand = mfc; Geom.ImageFileName = NULL; @@ -2742,9 +2881,9 @@ INTEGER4 LIBCALL TECGEO112(double *XOrThetaPos, for (I = 0; I < RawDataSize; I++) { - SetFieldValue(Geom.GeomData.Generic.V1Base, I, (double)XOrThetaGeomData[I]*Fract); - SetFieldValue(Geom.GeomData.Generic.V2Base, I, (double)YOrRGeomData[I]*Fract); - SetFieldValue(Geom.GeomData.Generic.V3Base, I, (double)ZGeomData[I]*Fract); + SetFieldValue(Geom.GeomData.Generic.V1Base, I, static_cast(XOrThetaGeomData[I]*Fract)); + SetFieldValue(Geom.GeomData.Generic.V2Base, I, static_cast(YOrRGeomData[I]*Fract)); + SetFieldValue(Geom.GeomData.Generic.V3Base, I, static_cast(ZGeomData[I]*Fract)); } if (DumpGeometry(HeadFile[CurFile], &Geom, TRUE, FALSE)) @@ -2950,7 +3089,7 @@ INTEGER4 LIBCALL TECGEO(double *XPos, float *ZGeomData, char *mfc) { - int Clipping = (int)Clipping_ClipToViewport; + int Clipping = static_cast(Clipping_ClipToViewport); return TECGEO112(XPos, YPos, ZPos, @@ -3286,7 +3425,7 @@ INTEGER4 LIBCALL TECTXT112(double *XOrThetaPos, if (CheckFile("TECTXT112") < 0) return (-1); - Text.PositionCoordSys = (CoordSys_e) * PosCoordMode; + Text.PositionCoordSys = static_cast( * PosCoordMode); if (Text.PositionCoordSys == CoordSys_Frame) Fract = 0.01; else @@ -3297,25 +3436,29 @@ INTEGER4 LIBCALL TECTXT112(double *XOrThetaPos, Text.AnchorPos.Generic.V3 = (*ZOrUnusedPos) * Fract; Text.AttachToZone = *AttachToZone != 0; Text.Zone = *Zone - 1; - Text.BColor = (ColorIndex_t) * TextColor; - Text.TextShape.Font = (Font_e) * BFont; - Text.TextShape.SizeUnits = (Units_e) * FontHeightUnits; + Text.BColor = static_cast(*TextColor); + #if defined TECPLOTKERNEL +/* CORE SOURCE CODE REMOVED */ + #else + Text.TextShape.Font = static_cast(*BFont); + #endif + Text.TextShape.SizeUnits = static_cast(*FontHeightUnits); if (Text.TextShape.SizeUnits == Units_Frame) Text.TextShape.Height = (*FontHeight) / 100.0; else Text.TextShape.Height = *FontHeight; - Text.Box.BoxType = (TextBox_e) * BoxType; + Text.Box.BoxType = static_cast(*BoxType); Text.Box.Margin = *BoxMargin / 100.0; Text.Box.LineThickness = *BoxLineThickness / 100.0; - Text.Box.BColor = (ColorIndex_t) * BoxColor; - Text.Box.FillBColor = (ColorIndex_t) * BoxFillColor; - Text.Anchor = (TextAnchor_e) * Anchor; + Text.Box.BColor = static_cast(*BoxColor); + Text.Box.FillBColor = static_cast(*BoxFillColor); + Text.Anchor = static_cast(*Anchor); Text.LineSpacing = *LineSpacing; Text.Angle = *Angle / DEGPERRADIANS; - Text.Scope = (Scope_e) * Scope; + Text.Scope = static_cast(*Scope); Text.Text = String; Text.MacroFunctionCommand = mfc; - Text.Clipping = (Clipping_e) * Clipping; + Text.Clipping = static_cast(*Clipping); #if defined MAKEARCHIVE if (DebugLevel[CurFile]) @@ -3493,7 +3636,7 @@ INTEGER4 LIBCALL TECTXT(double *XPos, char *mfc) { double ZPos = 0.0; - int Clipping = (int)Clipping_ClipToViewport; + int Clipping = static_cast(Clipping_ClipToViewport); return TECTXT112(XPos, YPos, &ZPos, @@ -3917,11 +4060,11 @@ static 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; @@ -4810,3 +4953,537 @@ LIBFUNCTION INTEGER4 LIBCALL tecpoly111_(INTEGER4 *FaceNodeCounts, #if defined TECPLOTKERNEL /* CORE SOURCE CODE REMOVED */ #endif + +namespace +{ + +void calculateInitialPolyZoneOffsets() +{ + PolyZoneWriteInfo& polyZoneWriteInfo = PolyZoneWriteInfos[CurFile][CurZone[CurFile]]; + polyZoneWriteInfo.numFaceNodesOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + if (ZoneType[CurFile] == FEPOLYHEDRON) + { + polyZoneWriteInfo.faceNodesOffset = polyZoneWriteInfo.numFaceNodesOffset + + sizeof(INTEGER4) * (KMax[CurFile] + 1); + } + else + { + // polygonal zones don't write number of nodes per face + polyZoneWriteInfo.faceNodesOffset = polyZoneWriteInfo.numFaceNodesOffset; + } + polyZoneWriteInfo.leftElemsOffset = polyZoneWriteInfo.faceNodesOffset + + sizeof(INTEGER4) * TotalNumFaceNodes[CurFile][CurZone[CurFile]]; + polyZoneWriteInfo.rightElemsOffset = polyZoneWriteInfo.leftElemsOffset + + sizeof(INTEGER4) * KMax[CurFile]; + polyZoneWriteInfo.connectionCountsOffset = polyZoneWriteInfo.rightElemsOffset + + sizeof(INTEGER4) * KMax[CurFile]; + polyZoneWriteInfo.connectionElemsOffset = polyZoneWriteInfo.connectionCountsOffset + + sizeof(INTEGER4) * (TotalNumFaceBndryFaces[CurFile] + 2); + polyZoneWriteInfo.connectionZonesOffset = polyZoneWriteInfo.connectionElemsOffset + + sizeof(INTEGER4) * TotalNumFaceBndryConns[CurFile]; +} + +INTEGER4 checkForPolyFacePreconditions() +{ + if (CheckFile("TECPOLYFACE112") < 0) + return (-1); + + if (FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]]) + { + if (NumErrs[CurFile] == 0) + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYFACE112) TECPOLYFACE112 called after all specified faces were already written.\n"); +#endif + NumErrs[CurFile]++; + } + return (-1); + } + + if (KMax[CurFile] == 0 || + (ZoneType[CurFile] != FEPOLYGON && + ZoneType[CurFile] != FEPOLYHEDRON)) + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYFACE112) The zone type must be FEPOLYGON or FEPOLYHEDRON and have KMax (NumFaces) > 0.\n"); + PRINT1(" KMax = %d\n", KMax[CurFile]); +#endif + NumErrs[CurFile]++; + /* Mark that the face map has been written for the zone even if it fails so as not to add extra error messages. */ + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + return (-1); + } + + if (ZoneType[CurFile] == FEPOLYHEDRON) /* FEPOLYGON doesn't need TotalNumFaceNodes since this is 2*NumFaces */ + { + if (TotalNumFaceNodes[CurFile][CurZone[CurFile]] <= 0) + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYFACE112) TotalNumFaceNodes MUST be specified for polyhedral zones.\n"); + PRINT1(" TotalNumFaceNodes = %d\n", TotalNumFaceNodes[CurFile][CurZone[CurFile]]); +#endif + NumErrs[CurFile]++; + /* Mark that the face map has been written for the zone even if it fails so as not to add extra error messages. */ + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + return (-1); + } + } + else + { + if (TotalNumFaceNodes[CurFile][CurZone[CurFile]] != (2 * KMax[CurFile])) + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYFACE112) TotalNumFaceNodes is specified for the polygonal zone but is not equal to 2 * KMax.\n"); + PRINT2(" TotalNumFaceNodes = %d. If specified, it must be 2 * %d.", TotalNumFaceNodes[CurFile][CurZone[CurFile]], KMax[CurFile]); +#endif + NumErrs[CurFile]++; + /* Mark that the face map has been written for the zone even if it fails so as not to add extra error messages. */ + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + return (-1); + } + } + + return 0; +} + +INTEGER4 getMinNeighborValue(LgIndex_t &MinNeighborValue) +{ + MinNeighborValue = TECIO_NO_NEIGHBORING_ELEM; + + if ((TotalNumFaceBndryFaces[CurFile] > 0 && + TotalNumFaceBndryConns[CurFile] > 0) || + (TotalNumFaceBndryFaces[CurFile] == 0 && + TotalNumFaceBndryConns[CurFile] == 0)) + { + if (TotalNumFaceBndryFaces[CurFile] > 0) + MinNeighborValue = -TotalNumFaceBndryFaces[CurFile]; + } + else + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYFACE112) TotalNumFaceBndryFaces and TotalNumFaceBndryConns must both be 0 or both be > 0.\n"); + PRINT2(" TotalNumFaceBndryFaces = %d, TotalNumFaceBndryConns = %d\n", TotalNumFaceBndryFaces[CurFile], TotalNumFaceBndryConns[CurFile]); +#endif + NumErrs[CurFile]++; + /* Mark that the face map has been written for the zone even if it fails so as not to add extra error messages. */ + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + return (-1); + } + + return 0; +} + +INTEGER4 writePolyhedralFaceNodeOffsets(PolyZoneWriteInfo& polyZoneWriteInfo, INTEGER4 NumFaces, INTEGER4* FaceNodeCounts ) +{ + { + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.numFaceNodesOffset, SEEK_SET); + if (polyZoneWriteInfo.faceNodeSum == 0) + if (!WriteBinaryInt32(BlckFile[CurFile], 0)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + for (LgIndex_t Index = 0; Index < NumFaces; Index++) + { + polyZoneWriteInfo.faceNodeSum += FaceNodeCounts[Index]; + if (FaceNodeCounts[Index] < 3) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLY112) Invalid face node count value at face %d. There must be at least 3 nodes in a face.\n", Index + 1); + PRINT1(" Face node count value = %d.\n", FaceNodeCounts[Index]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (polyZoneWriteInfo.faceNodeSum > TotalNumFaceNodes[CurFile][CurZone[CurFile]]) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLY112) The running face node count exceeds the TotalNumFaceNodes (%d) specified.\n", TotalNumFaceNodes[CurFile][CurZone[CurFile]]); + PRINT1(" Face node count value = %d.\n", FaceNodeCounts[Index]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (!WriteBinaryInt32(BlckFile[CurFile], polyZoneWriteInfo.faceNodeSum)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + } + polyZoneWriteInfo.numFaceNodesOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + } + + return 0; +} + +INTEGER4 writeFaceNodes(PolyZoneWriteInfo& polyZoneWriteInfo, LgIndex_t BeginningFaceNodeSum, INTEGER4 NumFaces, INTEGER4* FaceNodes) +{ + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.faceNodesOffset, SEEK_SET); + LgIndex_t LocalFaceNodeSum; + if (ZoneType[CurFile] == FEPOLYHEDRON) + LocalFaceNodeSum = polyZoneWriteInfo.faceNodeSum - BeginningFaceNodeSum; + else + LocalFaceNodeSum = 2 * (NumFaces); + + for (LgIndex_t Index = 0; Index < LocalFaceNodeSum; Index++) + { + if (FaceNodes[Index] < 1 || + FaceNodes[Index] > IMax[CurFile]) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLY112) Invalid face node value at node %d:\n", Index + 1); + PRINT2(" face node value = %d, valid values are are 1 to %d (inclusive).\n", FaceNodes[Index], IMax[CurFile]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (!WriteBinaryInt32(BlckFile[CurFile], FaceNodes[Index] - 1)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + } + polyZoneWriteInfo.faceNodesOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + return 0; +} + +INTEGER4 checkElements(INTEGER4 NumFaces, INTEGER4* FaceLeftElems, INTEGER4* FaceRightElems, INTEGER4 MinNeighborValue) +{ + for (LgIndex_t Index = 0; Index < NumFaces; Index++) + { + if (FaceLeftElems[Index] < MinNeighborValue || + FaceLeftElems[Index] > JMax[CurFile]) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYFACE112) Invalid left neighbor value at face %d:\n", Index); + PRINT2(" left neighbor value = %d, min value = %d,", FaceLeftElems[Index], MinNeighborValue); + PRINT1(" max value = %d.\n", JMax[CurFile]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (FaceRightElems[Index] < MinNeighborValue || + FaceRightElems[Index] > JMax[CurFile]) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYFACE112) Invalid right neighbor value at face %d:\n", Index); + PRINT2(" right neighbor value = %d, min value = %d,", FaceRightElems[Index], MinNeighborValue); + PRINT1(" max value = %d.\n", JMax[CurFile]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (FaceLeftElems[Index] == TECIO_NO_NEIGHBORING_ELEM && + FaceRightElems[Index] == TECIO_NO_NEIGHBORING_ELEM) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYFACE112) Both left and right neighbors are set to no neighboring element at face %d.\n", Index); +#endif + NumErrs[CurFile]++; + return (-1); + } + } + + return 0; +} + +/** + * Write the items of the integer array, but convert to zero-based + */ +INTEGER4 writeDecrementedIntegerArray(INTEGER4 numItems, INTEGER4* items) +{ + for (INTEGER4 i = 0; i < numItems; ++i) + { + if (!WriteBinaryInt32(BlckFile[CurFile], items[i] - 1)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + } + return 0; +} + +INTEGER4 writeElements(PolyZoneWriteInfo& polyZoneWriteInfo, INTEGER4 NumFaces, INTEGER4* FaceLeftElems, INTEGER4* FaceRightElems, INTEGER4 MinNeighborValue) +{ + if (checkElements(NumFaces, FaceLeftElems, FaceRightElems, MinNeighborValue) != 0) + return (-1); + + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.leftElemsOffset, SEEK_SET); + if (writeDecrementedIntegerArray(NumFaces, FaceLeftElems) != 0) + return -1; + polyZoneWriteInfo.leftElemsOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.rightElemsOffset, SEEK_SET); + if (writeDecrementedIntegerArray(NumFaces, FaceRightElems) != 0) + return -1; + polyZoneWriteInfo.rightElemsOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + return 0; +} + +INTEGER4 writeBoundaryConnectionCounts(PolyZoneWriteInfo& polyZoneWriteInfo, INTEGER4 NumBndryFaces, INTEGER4* FaceBndryConnectionCounts) +{ + /* + * As a convenience for the ASCII format, TecUtil, and TECIO layers if any + * boundary connections exists we automatically add a no-neighboring + * connection as the first item so that they can user 0 for no-neighboring + * element in the element list regardless if they have boundary connections + * or not. + * + * The first 2 offsets are always 0 so that -1 in the left/right element + * arrays always indicates "no neighboring element". + */ + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.connectionCountsOffset, SEEK_SET); + if (polyZoneWriteInfo.boundaryConnectionSum == 0) + { + if (!(WriteBinaryInt32(BlckFile[CurFile], 0) && + WriteBinaryInt32(BlckFile[CurFile], 0))) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + } + + for (LgIndex_t Index = 0; Index < NumBndryFaces; Index++) + { + polyZoneWriteInfo.boundaryConnectionSum += FaceBndryConnectionCounts[Index]; + if (FaceBndryConnectionCounts[Index] < 0) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYBCONN112) Invalid boundary connection count at position %d:\n", Index + 1); + PRINT1(" boundary connection count = %d.\n", FaceBndryConnectionCounts[Index]); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (!WriteBinaryInt32(BlckFile[CurFile], polyZoneWriteInfo.boundaryConnectionSum)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + } + if (polyZoneWriteInfo.boundaryConnectionSum > TotalNumFaceBndryConns[CurFile]) + { +#if defined MAKEARCHIVE + PRINT0("Err: (TECPOLYBCONN112) Invalid number of boundary connections:\n"); + PRINT2(" number of boundary connections written = %d, total number of boundary connections = %d.", + polyZoneWriteInfo.boundaryConnectionSum, TotalNumFaceBndryConns[CurFile]); +#endif + NumErrs[CurFile]++; + return (-1); + } + polyZoneWriteInfo.connectionCountsOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + return 0; +} + +INTEGER4 writeBoundaryConnectionElements( + PolyZoneWriteInfo& polyZoneWriteInfo, + INTEGER4 NumBndryFaces, + INTEGER4* FaceBndryConnectionCounts, + INTEGER4* FaceBndryConnectionElems, + INTEGER4* FaceBndryConnectionZones) +{ + /* Write the boundary connection elements but convert 1-based to 0-based. */ + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.connectionElemsOffset, SEEK_SET); + LgIndex_t LocalBndryConnCount = 0; + for (LgIndex_t Index = 0; Index < NumBndryFaces; Index++) + { + for (LgIndex_t BIndex = 0; BIndex < FaceBndryConnectionCounts[Index]; BIndex++) + { + if (BIndex > 0 && + FaceBndryConnectionElems[LocalBndryConnCount] == TECIO_NO_NEIGHBORING_ELEM) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYBCONN112) Partially obscured faces must specify no neighboring element first. See boundary connections for face %d.\n", polyZoneWriteInfo.numBoundaryFacesWritten + Index + 1); +#endif + NumErrs[CurFile]++; + return (-1); + } + if (FaceBndryConnectionElems[LocalBndryConnCount] < TECIO_NO_NEIGHBORING_ELEM) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYBCONN112) Invalid boundary element value at boundary connections for face %d:\n", polyZoneWriteInfo.numBoundaryFacesWritten + Index + 1); +#endif + NumErrs[CurFile]++; + return (-1); + } + if (FaceBndryConnectionElems[LocalBndryConnCount] == TECIO_NO_NEIGHBORING_ELEM && + FaceBndryConnectionZones[LocalBndryConnCount] != TECIO_NO_NEIGHBORING_ZONE) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYBCONN112) Invalid boundary element/zone pair at boundary connections for face %d:\n", Index + 1); + PRINT0(" Boundary elements specified as no neighboring element must also specify no neighboring zone.\n"); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (!WriteBinaryInt32(BlckFile[CurFile], FaceBndryConnectionElems[LocalBndryConnCount] - 1)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + LocalBndryConnCount++; + } + } + polyZoneWriteInfo.connectionElemsOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + return 0; +} + +INTEGER4 writeBoundaryConnectionZones( + PolyZoneWriteInfo& polyZoneWriteInfo, + INTEGER4 NumBndryFaces, + INTEGER4* FaceBndryConnectionCounts, + INTEGER4* FaceBndryConnectionZones) +{ + TP_FSEEK(BlckFile[CurFile]->File, polyZoneWriteInfo.connectionZonesOffset, SEEK_SET); + INTEGER4 LocalBndryConnCount = 0; + for (LgIndex_t Index = 0; Index < NumBndryFaces; Index++) + { + for (LgIndex_t BIndex = 0; BIndex < FaceBndryConnectionCounts[Index]; BIndex++) + { + if (FaceBndryConnectionZones[LocalBndryConnCount] < TECIO_NO_NEIGHBORING_ZONE) + { +#if defined MAKEARCHIVE + PRINT1("Err: (TECPOLYBCONN112) Invalid boundary zone value at boundary connections for face %d:\n", Index + 1); +#endif + NumErrs[CurFile]++; + return (-1); + } + else if (!WriteBinaryInt32(BlckFile[CurFile], FaceBndryConnectionZones[LocalBndryConnCount] - 1)) + { + WriteErr("TECPOLYFACE112"); + return -1; + } + LocalBndryConnCount++; + } + } + polyZoneWriteInfo.connectionZonesOffset = static_cast(TP_FTELL(BlckFile[CurFile]->File)); + + return 0; +} + +} // namespace + +/** + * TECPOLYFACEXXX + */ +LIBFUNCTION INTEGER4 LIBCALL TECPOLYFACE112(INTEGER4 *NumFaces, + INTEGER4 *FaceNodeCounts, + INTEGER4 *FaceNodes, + INTEGER4 *FaceLeftElems, + INTEGER4 *FaceRightElems) +{ + INTEGER4 Result = checkForPolyFacePreconditions(); + if (Result != 0) + return Result; + + INTEGER4 MinNeighborValue; + Result = getMinNeighborValue(MinNeighborValue); + if (Result != 0) + return Result; + + if (PolyZoneWriteInfos[CurFile][CurZone[CurFile]].numFacesWritten == 0 && + PolyZoneWriteInfos[CurFile][CurZone[CurFile]].numBoundaryFacesWritten == 0) + calculateInitialPolyZoneOffsets(); + PolyZoneWriteInfo& polyZoneWriteInfo = PolyZoneWriteInfos[CurFile][CurZone[CurFile]]; + + /* Write the facenodesoffsets array from the facenodecounts array. */ + LgIndex_t BeginningFaceNodeSum = polyZoneWriteInfo.faceNodeSum; + if (ZoneType[CurFile] == FEPOLYHEDRON) /* FEPOLYGON doesn't specify facenodesoffsets */ + Result = writePolyhedralFaceNodeOffsets(polyZoneWriteInfo, *NumFaces, FaceNodeCounts); + if (Result != 0) + return Result; + + /* Write the facenodes array but convert 1-based to 0-based. */ + Result = writeFaceNodes(polyZoneWriteInfo, BeginningFaceNodeSum, *NumFaces, FaceNodes); + if (Result != 0) + return Result; + + /* Write the left and right elements array but convert 1-based to 0-based. */ + Result = writeElements(polyZoneWriteInfo, *NumFaces, FaceLeftElems, FaceRightElems, MinNeighborValue); + if (Result != 0) + return Result; + + polyZoneWriteInfo.numFacesWritten += *NumFaces; + if (polyZoneWriteInfo.numFacesWritten == KMax[CurFile] && + polyZoneWriteInfo.numBoundaryFacesWritten == TotalNumFaceBndryFaces[CurFile]) + { + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + } + + return 0; +} + +#if defined MAKEARCHIVE && !defined _WIN32 /* every platform but Windows Intel */ +LIBFUNCTION INTEGER4 LIBCALL tecpolyface112_(INTEGER4 *NumFaces, + INTEGER4 *FaceNodeCounts, + INTEGER4 *FaceNodes, + INTEGER4 *FaceLeftElems, + INTEGER4 *FaceRightElems) +{ + return TECPOLYFACE112(NumFaces, + FaceNodeCounts, + FaceNodes, + FaceLeftElems, + FaceRightElems); +} +#endif + +/** + * TECPOLYBCONNXXX + */ +LIBFUNCTION INTEGER4 LIBCALL TECPOLYBCONN112(INTEGER4 *NumBndryFaces, + INTEGER4 *FaceBndryConnectionCounts, + INTEGER4 *FaceBndryConnectionElems, + INTEGER4 *FaceBndryConnectionZones) +{ + if (CheckFile("TECPOLYBCONN112") < 0) + return (-1); + + if (PolyZoneWriteInfos[CurFile][CurZone[CurFile]].numFacesWritten == 0 && + PolyZoneWriteInfos[CurFile][CurZone[CurFile]].numBoundaryFacesWritten == 0) + calculateInitialPolyZoneOffsets(); + PolyZoneWriteInfo& polyZoneWriteInfo = PolyZoneWriteInfos[CurFile][CurZone[CurFile]]; + + /* Write the boundary arrays. */ + if (TotalNumFaceBndryFaces[CurFile] > 0) + { + /* Write the boundaryconnectionoffsets array from the boundaryconnectioncounts array. */ + if (writeBoundaryConnectionCounts(polyZoneWriteInfo, *NumBndryFaces, FaceBndryConnectionCounts) != 0) + return -1; + + if (writeBoundaryConnectionElements(polyZoneWriteInfo, *NumBndryFaces, + FaceBndryConnectionCounts, FaceBndryConnectionElems, FaceBndryConnectionZones) != 0) + return -1; + + /* Write the boundary connection zones but convert 1-based to 0-based. */ + if (writeBoundaryConnectionZones(polyZoneWriteInfo, *NumBndryFaces, + FaceBndryConnectionCounts, FaceBndryConnectionZones) != 0) + return -1; + } + + polyZoneWriteInfo.numBoundaryFacesWritten += *NumBndryFaces; + if (polyZoneWriteInfo.numFacesWritten == KMax[CurFile] && + polyZoneWriteInfo.numBoundaryFacesWritten == TotalNumFaceBndryFaces[CurFile]) + { + FaceNeighborsOrMapWritten[CurFile][CurZone[CurFile]] = TRUE; + } + + return 0; +} + +#if defined MAKEARCHIVE && !defined _WIN32 /* every platform but Windows Intel */ +LIBFUNCTION INTEGER4 LIBCALL tecpolybconn112_(INTEGER4 *NumBndryFaces, + INTEGER4 *FaceBndryConnectionCounts, + INTEGER4 *FaceBndryConnectionElems, + INTEGER4 *FaceBndryConnectionZones) +{ + return TECPOLYBCONN112(NumBndryFaces, + FaceBndryConnectionCounts, + FaceBndryConnectionElems, + FaceBndryConnectionZones); +} +#endif diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio2009.zip b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio2009.zip deleted file mode 100644 index 9ee8a67242d9c11492bd12e911b902a007907a4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1314269 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⁡lDqWj;va6Ns#zD~?lhqQ8wH8)0kK{B-U+RU*we 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%0An)&4?$24ffy~; zHtKz}=oQ@`;?BjKx{cR9!BH~Ij+b*}EORUFQoROoO5INkFpzpH5r#qSqO|}KK<>Zq z!VOD+9Ro3eMhA$f*6}*r43s`rn=^VEJJ@|49V|PJU2sd^+$Lb#t42!+Hu)IY2a9o_ zohKdSJ8gu~MVO`55gCJ!3R#q>T|9MZpuf5X4H;dcSH+fKoN0w#xg{Uot!JQjLOpoB z!0r!i-Ay>1tM;k(($RD@vaQVydwA^(mD3!UfI&1HmT}wHhX5O0k}PSl0C5U2O}&my zJO@#Kq!FmEY0J8q@g12XjtQm|JxyomA7#o-kttI-b92$(!)x3ASoLGzTp^TV(u&nVg{LmTl<)8p&j{_fE|JQV4yD6#ROreD#;)r%Pdcj^%_@!ZLC|HaFb=g z&a5_qv?jikvwxYC2sL+ZFtwtHeu6pW`Sc`rvWHG5w%g2qB*oMv4_K}`?NwH-70`Xm zJ8ST{!zccaX9JVrogFqH*goybU-T8m_%tU!fx`(>_}(4kzyz#^}@>$q7e;QPezj=5{NlqHXM%84zO3(TQGlsxKh!GHRBN0}QG( zWFo9SuyfS6^Z5oWpRV~WK1XP;?Z}BlIt+=4EFb&uEOZY2O0EW~FJ$TG0C$S6qo#{t zOR;yb4^+~!5WTDh*`f^yi-BU5^I3Xls$moG&Wvso7fKvkm*>T+99zL#f4(me+PT6G z&o5D5f=FZr!}gm=l~oJ>!@dLOVt%u$F8u?(jQsaUTyzp2=|oHQFLs#DO?(1NvF%w>#@JCl|l zaSv}O1Czs7Tv?YBYMq`XvwA9m;509o+aDkfw`*2(Wl2PY)tH-Q+tQZU2(TH;c65t_ zun%}gHeTtkEC8ORJ4EwTz`X_-hqUnt2E~&f)F~75La+4aHw<(u^_$GX?!EYk`+(y{ zF|9hDzP#a@V!PNf_?E&_QStL9za|08Qfe0IxbMNHJz`32`%Hx|asssVVbK&xjidyk z=#OcTL4h}wLyBQ#VdmJ{9$q`XjAUc5G$T4rYS4PMqA+Y3*rKzIBST41T+$*x!JLf; zbNz}uZll`xzJl{UrTI0B<0UhXto^EHeTOoXsY(9+Kke3$?K+NRw~`y+JMd;hHTwG> zcNl<#2~Z-To^*9qrS6kRAj~y%xX6{&Sw~3XO20H)u|AIP*i+SQ{tPZTQb_buzT~$@t z%xq**=Go`lL3H#Pe#uXx>0X~+K$54+A9}}kuki-k=@^<>mAGQAEnYR&e2$fh^akVB z8luqRhbDXcz60A-CIzGi(rK=(5|A=-Ti=2kC%Kt&O>9@TU9yoW=Tf(bz$gtu;8&jk z+?sM>ok9Xf`@ihx)Dj#R&FX`qD2QxPdV_K6p;8p~H3@yuQBdw!v%xtPPI6)gH~Jtd zeLov3_V7ON3SPl+utWk_>lS7Rre$Fo^cQ7Y{%IBhx8S<-*VD4jB+5?u&I|*SHi-t+ zG@U4pB4);3Vcf}l*%HS(skGP?$)}Cv7S{@XdiL7!YPicc%-2XM^hEL zGK)66a_wL|vFYS$4>tE}$xO2gcdPlLjzrMOcg0qd%n?H?(eiu>eR7Qg!oY96{?$4@VCE+EGdggRj2fCS2PI z^Q4Sn7K;|rzIE{?M~pr1Pe+8a!@^s_i;Gb&Str{?9HTYkWD6A+^KLLS8xz(v1nzm3 zl;U&GqX#(;k=ua7(lGG|o?O9JN8-i=%C|a8Y6!JjBDouyAoS4RfZpD(Oi^n53obMQ z6YQ7zvg>e%gg455qoRLGrn+ssp~j}!UazQWXZp`!Or&;0^c2OXv|nTbA0l*hU|bd* z41fHJLiU39jY|vv#6x~&FCa$ReWHaunO8A!Y{JYsRFN26qsg8xhS}aq_RbG(8}jx^ z;(4&dM49%mQ|_Ufa4kKex+rTJJ8%YW~*rd{u8?I zffJH&8sC8o`&hKo>XR%-wQ}s20c4yjwZKW;64jd5oyQQj!eFN5-CA5lJBK*(xSGaB zV((Ebp;e|)ZoHgJ+yoqrl1|I)iit!d2*sC^3#CmQC;5m%nalx&<;^01g$z`ndie8Ri zK(@2<_?2N_^ai~mku=3|nDpd}psuDo{-cqizwbakHOEM)Ya}UrKjdIM3`Pj<91a1q zE}b~Q$bc4jFK!@vcpo<8;Ky<@lQ*xXXWV`@WsK(gwh7m{aQt`NaZC4NAcJ&tG2rn6q5VQ; zP9#Lb)SK96!{jixhxD4wea-g zqaA8IV5l6sz~sJ3(o$`0N0P#Z*!CoGxCN!+>Ak^NX~295~V0d9aWEl#X1u2 zW2~^7zk#?rX%RjBI6WmwzP0U%*jwYhq~zFDdH|U~X1`$@uagMf6i`7{#40$lxuy4f zv*fcnFFW6#etz=0NeVSG4rokrsW&F!N2BE(gXvLrfEQnqG|6nD-BB2;8r2siZc7JD zB966Xq#`i7EA8FCfSk=mWH%q<%a|FZv~lYG5U!9%ae$L~rT)X5SAL2he6NrvRtW2b zfkq#sxtPk@!2;7s>GMCz!Ipi%HdZ}ab`qMW0`bl{>ebaG8?~bq`Cqk?K#7y8`aa-5 z7Nzi=Jizbhs0RO&!k1LQR~UCJ1)O>f6#}`&*wYGVX@J>{$t7*l8SkOFdBv)1!hLvz z0j?n~Zw9Tg5;Mvst20W@P3+>vBp&`Jn4`aJP8B838K9K9sV`@DQV!hcs(4%W67gnj z!i~C6p1dn4BGLvLdP_Ar>;G&eNZ{-{ie}dyXvozoSywgz=hiiLQ#g4F#XZ=cLbmf} zS~@jy<9*P(9R*tWfLKVQiI|Q&IL}Q1|rgtA-H9| ze2+KHNK@!K5W8(v>W6bC_G%=S3PbIFCDdi$&uY;&y9s!w{;WyAmgnOMtm-reGr&mr zKVcES1r$#x+)WHNp}|C(mWRRN3tMn3LUN>>fcVW`K(t%k7*j1W4ffuC20J|jxkUEJ zGXlV>`2%u5=qH%HqGFAiT(cf~h0V|o!Vop1#!Od$2JkFpSDyoXy5`P9bwFAGJxqe* zsUGYy5MZLOT@QoU5r2U>^vH2KLh(zZ&Iy%QT5GGubqz8(wtpl`A)ViV-Vu8q4?EJ< z>d$nM78o6l8cgCWXZ1YHLfTV=JDw>*&w!Bt-&Gva(2ehcrkAE>V7eThk(28DHsIa! zgJIA|O^kJ?O<<<*VlU7R;b``9d?T#F2#Joev40nFjE)Ho3eJ9^+tG~a8^A1ne2g{0 z@%Q0miWd^rKH#`9jRTa=^nh=a2h*UK}CYX!@beqTnCHjnIukueI zC)4dP>_<;pG*0TezupvjVkO41F@e~k>eXMwO1JUG1~*k)ICUYA24_0qgAZ1Xz7@U( zcg-Ll-RB_fSyg6wj>yB{yK*+Ir8m3_Fox<9cf(x+ znlp+aAG6#sURiW>Q=@Mp#w0ETn}D~XJiHSRZwA_tY1eW?O6M8CMB3iL;8ZR$Nt?<` z`Q2T-X??L{BqYHg1V0wd=V3@#HxVf6OSL$1g0xzF#$j<6uT{s#xxrzVv2-JJ&v_e7 znN~Vq^abSN`W)acd+ZXNYc^=QcI4y(bJAKkaa_s_+V-HdSUHfmhxdU>^`2yGt2Nc; z=GQCgeI~h!tHoCoPOkP?)ugDB1KI_# z;&&Xu^%t0SDokVLMq38pOVZ#0V&@<9-}$7F+o^&949q&hnBjarO%V75A5Sr~6_tsa9t4xpgBXU-*iq^A+5G$h z^eKHqh4?)a#;gCmp+&HX2s?KC?w2Qcp06xmJMlD}lzt5PmeCku`8 z>F0;nJJK&M!)M?>RiL{#{op!s%5A2uqq9)?1JIQdUpz?{bj@#98Q*ursd$Bc1A4o} zV7wra(-|ws?B!q%9sQ5i)*RK$A3n$E&Z3!ov&e5?l?%zV9gqx&^%c&HfW09 zZx?Q;M1J&pLi2NE)`BTRiH-uBT2>Dul%G6nKf(Oqtxzy6psgr$q*Fq7CNCF;2*&Dk zW|j|HOZK9xVhirBG{O7xWh~AnkBN$-3eQMSQ0a4$(fb`pzr)UStNX*yAxu3kb-$W9 z1fI~#Qp_%bgSXEb>Yd%_dwA_OF!7d=Ol(#uSkJnN$03)f+5D<-j!d~U6B}^kOeTsQ zX$$U-y7KUQ=q#l+B3b>;oP0Gn&=)KeAMu%pdB8oeXExHI&iHiC>6%nC?eH$x5b-DiUQByvP<@*Rk}k$xk^9Vbsa6yAVrr)IZ3 z=FF=%tR@G<3%v{1e%0}+BviKoI~_$OJiEdjqo<(_?^RB5ww`YSeiDP>cc*g9eV5`x z3gakba&H(e3uTge<~Ck`Z6>1%%FCI8n?|{{7Y3)-Kn%g@#rJ<=HQEO3AFvTblw^wU z-Prb$dKzl@vnV{A+#LVy8t9$%ls&w@FbQ^dycum}F5_6SlOBvFf4Mgh!#p47NN93A zARxKY))R~asVg>6vlj#iW!M@q54wYue}y5g z77p%|CJi=pF&jS3FtI4ZZv#88B|H*}@c&uR2>Xb4jtUoGq1R+~N~t~CiFz)d9;gXO zw0J4*`y60+qqvVuRdovOr&wNv(%%F{DdbSDtI<1YqGPhzTGzD-IDG-jnF7wYdL<*H}hOk zdn!eI?t#DRe6&bX#{zOG^J;q*<}x7S=bRPb+Epgl?cMi+#of3zm;KwGDJ( zvFw_8Pc5NEu7zSu;|GXCoNNl0Kp%mr5Xp*|^zx>nH;>}0IZ&m+(AA3W+(&GM+$l;X z?+*Qf0532u1&I36rp`WQ_#smUBxLTkg(Hr z3ksf^TGb}YWu z8;n7%5SB9vnrW!AAxoN)*R7=FeePx~DO33q%)5;;;6|b;Uv9j(Yt@chb}gS=w`&Dy z!T1U2os%VIa@3>v&`0L_ge=mhSAH9oiF_8BIa;s@_-Rp&Xz<6XV#sN-Fh)?PgX(As zYl%cPoY5@Dn>PVRwq{ge&O8X(r^I$b%Pda1PzsAuzRHw5!MJncJ4Z_){%mX!jeXKM zN>wP&;q#2)DNR+HmIY6CN{R9Q1>|U57%h$&Ml;NHz;lSL$+r*u71u_n*CS%cf*0`F z(zb`!DGCBj?-B*pjOj>ULw-432sY@B74Bp-Qj%HvExcQ$J;Rp5)h6^QY1~>YDHUws z$l;nRkWRNN;pi8T@)EkJ=R?J2q+|8%UV*glJB>q=revJ8=!WkcMFA@b$KJ8mpvs)+ zpJ?H!!O!t*Zo=JUTkzcL;?rt(?t|qiB#z7#K3H_sR~WY*pA72?zL5w&*msnWp`F0` ze0um#`-r39$066vUqFr$s~{H9+GtSa?v6Q9=v9mQqpeU3wmt_?cShd?g$gr9@vrL? z9Lh1Im~d{x;#<gGRAa&1KR`sw;VR0^o9u~FGtHQ z6GHPd-2|LB;?Yqm>61VL%8&nIfuOsc_(uFL~mts^q&J-74vnm znS^GfEUeZX$=!zhU;#tD2bm)mJNp572df&y^V-U~{tjdsMyL0WIt0o2Ix`ZI_=|z`p_$tjV)Rmzc3gFhjWE z{-OYlnilVt78zFmmoo3>*}*?XIBZrlf&Kur9jm?l&bwYSQ=E}OYNk~6FOBNU&(Bnj zAMI(DK7}$ME?uo!>C)NcYGgA?dixuQyQhS~!hm!o+{QktXL%JQJ+B32ZAz|-@KZyc|l;$V=;{zG95}B)E?f4rHIGJK<1(A$CHv%HyED5 zv9%?CGlD+BxV109A;&fWhuvmDe5&(*IW;hW1=F4ylcHD}e*oGxAg`y444K7Y$~D%G ztM(tv4>i(+B5xEkF%JPc?rW?;=`Z6TXqcXmo2?^9c42zU|042UTVTU};YPQQqf3p= z)c~3Cp5UUPmeu}6$A zjuq(%Yq&)C5GT$GrO-@UX*-sZp{yEMs~P4zQ5;@cG{zsH&a=87?-sg-ljYvwrd$BF zTXJx)EG6!cFA&=M6Y?YyXteSxP2^qo)A4A*c;~8zq^doYDYeoNv=2D0k|Xy8^&|#d zO)O>kd$BdW}izQs3~N5 zuw>|B#G%IF$d5w{9-yP{XSMkCeu3H!mgALinglWw$4%FcX-7dxstY9ZBPoGoD1Bmh z@CT6XR~|PYsK;4j6M;#>8;LJ3$utC%zv3H+TNc~VlSK+YwGK!4Irv^mY5~sJ%1Hhk z;LhiPp}3qlAJtkKiDW#=6v$Hmjxg5Cxw@wiLur|VEzqSR+nPdf5i&$be&3iJ(^) zpID#ORy?e|sK?TUM9vP`2AHSlaecjJe-AjaJ$atSF&?Nq{cBC%kMMZ@e7drFXAdC% zVs%&x)A$zNCwD}EB?(g;u+@9zB@T?EnpBYCH4@(hb3W)56MrF(aAYxEx|1ars4`0NHY0Evl zPprH5)TptHyC4}LIh#`0-2kYeV|SGk(=hv(qQ3`yxq-!dG&~8=)^*U{eerdF0(w_p zSMnm-h~pV+AUE_P0`~%;tw&SA4@B*to4|!mP!7sgmmn^=@r)oFq9zX67r%}7$p+$~ zb7K|=?}6z;sUf;EfWeD}qu3Bd!eAhk7tU?G_UZaKg<{aONbYCp0+hE^&QnPZoHM;P zSxm`nLypgQ_M|7;Fcm3yqb98qGfR-VdaVc0+_{(E?Lbv7`EN%uh*Fu3F4Z3tu{ zrm_g5lc&BZ&9Xaal5Jr+z@B(%*d*a?v!s~OSoj?iToibtp}1+Xiijos2g!IeQf zypBQI?0x~+FQk5`>Su^H{rOHbtNDOTM8d(C^0$12@u}OaWYQ+%4YPs$Pgbp;etb~U zN1e?RQI7*FDuv?_hM~Zgs&Ak~L9=jG7lD^ojT$3^{0q$fYfo|D0K+GyjZqQx!sJ?W zsr)ytmJrEdsU^e0FCd4NV=9c1BxI9elJ0Uf$g?0 z$SVpa;6Q+zOhX4a4kd?p20q{fdUMHS@F=3xU-l74`C71pkUFJdFmUaa2iN@NNA@ER(N!x>QB|?j1`Gx<^u~;;B z;fC)T;_L`;n!E>{C!D#eQ_BueBL9 zRbyOozxc>VwWlvv9;EBEZ)7~DC{z+WlX%2PR(9meJ?Igpu#L~&$i+ItgG%+?vQ?sZ zhw$%U01Q3h?!kui1oEyYc~2dd2(nh(p?&`-)r9OPhy2o?0}KUTg(-oF_9j%s0K7A* zdrYH5d;Q{Sw<`$+7NX|-k5W7k+77-!=fuN#z?gsMn3OjRIp0hd?uiu?pq z!FNVeQc3)7pX?O7zrR9PE{jc2Km%OI8i?rk{$3bFq~?jO0uB4d@5LEkj|zsSCp> z-B^e`@+roU#Y_%Xy+9bh(w76q(CpE!N}D|oFqM4}ALTC~@5ojdxeOd@Jo?Gmu{qQ| z>3k$g;<8?0bbfq4#}li6D5P%Whx1ZW2Jk?LC}TIeA?pqvFuRB+?g4(FSyv(v%uDdZ z;jf!;I{R@=FxOUqvsCzAc6xyLaZp-1_R1~gIQyA6OQ}&i0~tylxBwque%Rl9g0iBC z=21EbF6J6e()sGhQ~7}9NjI@OP(x?FirJ&JE{Uelf;48)(E8TSMa z8aFBzI!}6{yBKp}Ym*{!(Tid8S0JBG-|B$FZx8lMMm^-hgLwr|VpPmXp?*K-ob@M(`v% zaGrzo9m7tHpC;`T2htP-L-Jpscw06479-VP4xz>;#+SSeIFv_8PiAXh2%S8Tsl z!|G<)1Ft&^QXROgF5yc=Tzthh7@zLLa%xe-1odR%89zG{%l*BN6uCgRxb4U-e?>l7 zkSwFr|F#jv(9zi4A_<6AWo$}l%<$SM{N(I%SJ6XgX|@opNI3lfwEfy@Y{gKKa6-101`DYX znb@*}G3fR$SZV714QTtdbNWtH=!pK3Xcf2Ur=K59JyQ>Z2^l|X+@EbrYMF}QzpXna z8iySGVk%$NR>ZGy{F1-G9K0z~v-_+^6$jaw8>M3N&;$4Yv3>L7<`t0&F1;&Ap#V;W zm!ky>bna3CtPYI~!7nh!DjWP9kZ|xvbb=R@q)Wk$xAQK$9J`S(FBY_Y(02`DsMbaK zuX4h74dEVR6^F9W+pJ3Dzie*>&MT)AfsF~L&4Z!gn5879q4qI9dNcxzGKTU(9WxJ~ zN(gFGv8Ql+IQtUO#u5q@GfAq+4MRR)+nBeD4*UV=5y)_-Ho#WGG&TB30oBW3 z80lmMaSz)Dyq6hk#!};osRd6y&k^XGfUi*~y+uy*5k_}Mdestbf~Z=C&Ml0L3642| zZH`ETp21p1hI1x5nD!B+oQWBlQ9>&|-bf6hiqcRenLQg_4R5MwQ4l$}eZZj(=`cym z4hC~;VfgW4U{#siHEGH&T{5=!;?w>C=ur6QyitbX#?q#N4)Nw%&`Yg<1odN+@FwdZ zEPgLhxGl*Fyycy1lL+&+BH1upy3?;iH;Fx zj99~)Q-phXlW}=&uZpy3EZVw{j1fgu=QB=Gu9oR{Aj4r4$T|A);{eXg<7rz-SH61Y z;vNFDbBHo?o|%pg{zlR4!&mGqXfB#|Xi!h&IA>l zrDJXwtFE&R*dEuh6d|!{Eqlzv$U_$oIgDU1B8aiQXP+M38G5SX3jSS;HgsV%TBVM< zOBH9XY+ZZ<(Z0)b~i$pSqE@^FI2Mc+l= z2}PI?K_;C`g+>V;nui#{dkiry-y>mYBPlK_klUj<##WM*>L9PwylC=G9ZGSo_o zDFvrGYEtu6*#^9Md>M)r4xt9?XZvoV?I}n+LFc`kDdHC(gZDvDzA^oX%sARXB{Od2 zba@Cd_LMGV>UJXmOSBtcZkxcXsdieL{@Rfgsx}e<=UO8$cu6-hOZY%{y%6zl_de1)J89&BRBm8AVLmA2F?zf^r z`;=f0x(rua#!%2|^!x#&)GYISt8}K571Ok?{wX#=;D40=U${k&J}>IIHj}9e?Q+(N zGFNVOE>9<`9b_cO)^9*RCCp&=i&R8%N}Y?>=F7&5hW(TF31^?vkf_a^ND50U@{K87KvoJ4%Xb2xAyX7 zl;E;>f`5WJw)!*?o8nQt&YClq_zi#9v*N^Q=A7d9r~3)yXn7y`*Z`NB{)Q!QZCitI z;jMx#J`!j@4xUKWOsqaz{4BWdV~$MEl(GsiP$2Vx;kWKQqPMF~8wW>rBlM%@1#`G! zuEv{yZ3E6>ROCBKJEiJ33(0KE5ZZDxC$IkGOzI?RLKyM4u!V70fH9Zrh z_2qeT9nr5ZIkhjnbzkG%ZU3+YXYxoz3Iw!O1GRBSffNF_G&i%W`!B%azKlj}0uGmb z_`)&#C2Vy@lL1+pIJlTu&k60oJQ%Wfiy`J0khce7<(N8~309rf%%8d=XC(UaH=wdX zG|~`;QwH*l0<_kqh30tJ1ub*zyO5)+C4Wa;5BOI2hlw&m_*KPHN}Qc(PLLQ-{Z5oxmKt0{Ngk zLxs!+`#4)cq?%qRWt6{83l$4dvd;SpNOd1~@ScV>(?#6yDb$AmGaJ_ZLiNlf@I!#( zeu`S1p23A;X_h}06Tv$Wu?jgD$_!@`ZRgC_f7aM48&PqN@J~(`Yc?Wdvk@)yyNI6% z4MRkZNx63%pLNVC*9Mcr<^9k!LP^f=UBu48JQvNRIBKa?Cn=#B5(baJYeI&;=xGf3 z$4**H&Jn3>?%@rGboSjU*xZ@Sb*_^Zk_x9KAOA0u67ZJ!Zm5t>zEh*3A`1Vn+gtan%?CKBNgwlRnEG3UWu zu%Bc`c!th>WG#Mzd1u&j;m;7q0I#Q&CAfgrK%FJmAU!KBlC;k;?#62eoe+)*dLguH zSzlxP<SX|&Y7{`ZHl*a;_d43VZ*LtOJZ!zKGk>{N38snidYYu2hv6`V?}9545fn^cI#I{ zCg)`q{TGm*IytTcP$V3btwB=Ec+}YFi4z&1Rf_|hJdc-E6w&tqyK(f3Mlh6m#3F)I zqMcr0-0HlZ49)nC^dQP2_X~xeiGLbZ5(ymtibmj|sU|Tgy^A=@W@ABsw}h(<)|lX0 zCcs+Mw;j!dr&__|IJ(9DtK8Q7*7xw_Z7IQ}j3mj&Hr#aHO0I;6b1c5t8;HAGF8g~+ z4MDb&8J>{2$?`5>V5Eh;Abjl?{vPi`k`onRY`d|gCCWO@Ln%k^>e|8v5jaPZ%(0C( zOpj({K^6R7mW+d(7GzJ$WnRo}iB8gb{1ePu6Hx0?9RW!(!jT_!$+XQSD$Yb^lDsi6jW+4-pXR;wWFp^ z2=LOt`V&m`!E3zoUcehw1VgG2@?PvBbm`JM#gxuIU{h?v@_jlM zj+x~bRTSewXqF@s6Pogfy^lEd-{D!u_=iiGh5;mnF$rCXceuy_3BlL|DWjz2Y@&TC zxvQIS75419p5)u=Xr(9o3&;P9`&1&oDk^HerP~k!{ebojmDwRF#rKBPBC3QvlCCf7_7K zU+|VniI-w_FhHojOPelO!^W`jvHb*8+^7Q%#8jSRG@@f6ht2`0J2Kr%JM2#|hqpdS zWQ%HYX&0=xJg-N02;)&4H5zAly?}zzv7p>Xj@n2tqG7JTFq7jiKm;TIR3eKgVN#%Z zWgZqXZDr^NBlg3GeBQ=Ii02oOlT~-7Eu7=_+>Q{ul-0ig7246bu4SLgQ-r(ND7>Mh z49&DEx3NzS%a+SmxNi1QSFT&sIyd2Noo@+V1hy~-v!4}0R#Z4H=|Gz-a%L|;J`6-q zc43`O2|nD>aFpbR!%gIoqx9r)aY-0#S!^2nfbD}65~Cv5g@@OrvN6K+da3_-#2*r8 z-+|p7O`Azl#B@k%`D_}mD)=9A>!Ppm>Bk4Rnj0Qk^na14Hq1jb=Nc0q<%7^u0nJ2- zs(be7+qNu<5KxZ1Yn+diC1t7VD-q-7^XiUngT{z)oQ(W!76t5N+IH?z-_EV$b9P_mcQg1j5|$uB{P?N0H5nW3)6-yT|EB$tyB?U2twx{ z{Ep6>0tJ({SuTu6SrrORe}>7JMiTOp+nBdLv&H_^?O1=BxUJPUdS;;pSIl_!a9Gzra;`cbNY<>%+=*7!be3MY9;&t zw4&kS(pH0vibrwI9Q-?1&+Qe+ZA(K2)ziC3vD>B5Vs<9HEv=46Ro2I^^$JAx(+BvM z68*w1UIdqoB;R6rLt91oFHow3eW$qDF23ClAaBXoKxDsF`LEBCAtQB4!F1n>DQVnv z9|PQtnDV@HHE=W*Vm-oz6nFlRs$r`h;I9U#CxGn%G~*Z(p$1XjQ7aMNw?YbZsoc?H z+(YLC#XhFGl@yKjB(8biX3;U$Q07RI0_E}e>BsMy1*|J*uE$ChLpN07jB);$66=P( z;KY^ZImQP)#lZ_O8J&qO9u}$7BnWRqxuwGX3ggSw3mscSni5$O_Wol0u4Go$`_{Jz zVvU3Df^JE~QC+M9Z#ddT9D8qKjHeWj|Fy#VpJZ>(Cg5m63~>%TWJjsb;CtE~e{A3> z0(tD!ocS2wMbQ{;u>bRL2#(sJIpKjZUh{Ryc!GF46+_KIy%~spE%rqJK@ek-9U{04M92j9&S*WaMC zf1GL-rzzT5;mh&j0peYA4~{lmtmHU+KdS!G-CGNS>+B=$SBKO3L=ana3* z_xDKW&59j|qnD(>i()J^ywmA&LJ+-KoZBvD}72K+>m zA~)yQMC99fvj`@|NC-WhOyx<;n7)7*oPeXBF2c(&w5%!tv2r(PW57Qk+Kt{o+?i!V zppXIrdL5^j)Rjy$-d&a!hCddLs2@PyDJ(g_NXFA!?$&D759`QNqJAq$|0T-pAho!P zmd2n{0Dzen&#`poULYJFLhBBi6h>vC5&PLrS57g^4GGCPkyd_zpzgB{&Qtz?0u^mG zftg;|218-@14U9eX?pOV__GTxei!l9dgE!Lf}MWwe^8pDoY{kGYW4WdX0gW*o$4|i zwusB9r3f_gtxIxA6AgQkzh!A;9dWEJKY$!vBi4Qw{4FGZG5D~qqlq>nOPa%nA`kJ~ zfbEM{V*moqdpv%1h4(HA)+G*$s zv;amQ#jo@n>+*j z`6*jCKg5;xwMs5H%C!uZ`)>ucN1&}#;Pg~{v*CVZTuXW(*I9!g(AxptkzD)l%IHKd zmftRu<8cjNq03a zZv);Mau#Q4I4orhhIT~aPN7}A{{C=&57^f0X(7(A??*D&s_u@`P1K>NpeCb3P?7Bd zCcB`CBG4*{hL>H$VGo$xev60&*?dkTy`fw?ib8>7A^0a&-+3SLV=i)`Kc5qbP0V#W z7HiaHudlqvmx}fS#5v17k^d{Z=9$jp^QLi9z&VOU)W4e*Y#VT3QpW`c_NU5obyGAC z(RF`YvCg&CxYvR@{=G^4c@e1Sa zEJX#cIx}Ev>4eWZc+#O-Op(Eb-NKaqgYb*uwhh>F6h3~Jeqdux$%h$gOn;8KXPkx> zBh@C_U1jzeCR#W>5$>1ig1=~WDRxQLB1DDd@#j11<#$3Tb8?)wgG=tHV2a7nr=PzY zI(eZcMlg9nQq87t@t*c6C9Re3Kt|*H^v-0il6_uv_=5lBe`J#c{{=eR-*TVdScOS5u_=owqXhr%nMB2bQR6>GVh9gfwN_Eh z-+*=w>Y05qAyHa2xo)w6*#Z^Lx(%+vq)$J8EAT+cw1yOG)iD!1;?%VY8v!L~Le)9p zmi$GnMd#Qq;%yy_^f`o&)(H)ZZ>poFar}iW8(yD695ZWV;&<+l%X_8@$75(=Wxl%B zJZYEv0pe&4nnY-m(B&6Mx9pWCuEV(gQ|qt)gmeXl3#}+XZ@~=|sMp{5*#2^$i>Yj( zuv56yP528imyRo`uXPO;G39OZ**;G z1q)6u0no});c)(x-tObiciNDjC{~<;$rPW{ln_0dxsD&c=$(9tGMux~nh_kyteC%0 zZ4#IZSUs$qU9Rr7*?0IDqJ3P(Psyf4HJ{4l^gF9ocd&kQEY`-CC?aW!oI{G72+@8_ z&RpUlQa6>k`QJW7`;f-f!=bhnn8MCen5Uct=!_1*7cTvW0G*ZGPMc6nyjrE!(?qja zJ(^gO>B>lZ&!dkI%c99MA&)&TK*{sdfvjB_8csB8H|-k?fe@J{qP6=A^$<8Efyo0+ z85z%!HT1Ns>cTc)JAw$0QYTy%66FsXiQkfNW{NgRH3!C=ST<<7>qgRtet>vWQL;oHsLX zV(a2u%yS{YbkCMP(m^`s`3arKJT3zyNhyS|qpDrQM=!TKZiRbJ+UC#*h)SrSqi4=y z)5~DEc4c}mfXE^nU#GUC4JXX0h)CAqi6U@!adb6n{%R}Uln#|mkydotaTKL|c0>%# zys@RRr4uje>=y&_mtdSL1*}-~g!QYa7l>l}*xokS`=Ty%J76(o73LwWg&3Qtp_z6I z@j9eshyiqppXcQAQiSQt?aOS2BcqUNSysiwHKyzGZwLQbA|Ftv3ReG6OYp zh5_McK)B$_%sbXZ#KN8D9l&{#h`$ofZp^%OSe4(lHcWRT-O{yKy%r$d-60{3fOMmP zgrtNB5`xl7t8}M?AkxwT(hbrA`hl{~aqr(g=dj;*U+;JRSl4{kbFDSUJ;oe!jA!0+ z%m>>(Y0T2BMp{^WAsi8wmfQMu@Nv}B3^sDU;zLZ5J&XY(;n*7vv-|Rn<{Ha%TFhJ! zfORpTzIGp67Cz{#frhnh^;v4#&`Xi2YJ#a~k^4(Xe z-_oR_!m#Fx)HWqiT&(ZPcagWWmsyjL)D2sA(|jEURJ^4CNR!;%@UKvXKOt@TU>fPE zz1BM43KKbdisQ>`=s0Ld+%I{JozAVx6 zRUT6&Z!ZlU3;xtMUBb7JJDL>sF4gVU96KVThkGD{^Qr&M=3sgO%I59tB8GDxv$!3H zwp115unIDe;9ZCuY85fnM`s386<5WWX;=AI!b}T%`A-W-r3cxtEk)TY5oX=Sw0E>LkIB2I9?!qpFdVW1GE+~_$j*f0+zwwhd%&}D&jBC6Igfm- zbr{lCit@@gICg!_l2#x6*6+0 z<`5k~p=&jwLx=7Y`+Z*?f0m&xMaSV^G0hU*{F&GI*k(nfRL!_4FpCN$7Im9*Ho)bv zSeT*BVoihNaUAmuzs=YUe(v^s`5xgyaEJ`kytY$^WT$!$xe8Bb+y2UX^^g{O^z+tp zSnfBSIMS^7$-$pmthbCi89*up%Q;YbUj8O>5bUv7IwcvPlDZ7@Et9gL$ff3oGt=A2h)!h?C+~P4o9Ou4yHTb=t(bAj2E&{ zDjbH=o;PYpJ3KFJB6f1dCf^o+ojq!*9HvJ=NtPUCI@&qEDVOo#e6$d-vF#Mo`;2vR z{*5D!&rkPYr>&B337W4w(3RE0tCg7p;l-7cxg8-024@B`UtZn1 zB_L@CMhGG=zH1r_NI5yWTRFPBF@s>g?g&V^Iyp-^c^g9D%y0-Z3;}0GfCY^ORIDs* z%`Wc)FMb6FfteA4U}FJwGuMkhGlO9;=&wI(TDduSxLR0Uc8BVg@6@kjoxKMFnIpFkal%)&^hRh5hPRTN`@$ z1#$Hgbyp_~Eh~3J0d;9v0c|U9cjG_BApcX0tgXGfm8*cP{e>iHD+?z}D*qop zSch~~G6p_rKC81diO#ouRzmLsIm zxYiUa0eGAb4gW|Rh^ zb>#-jg6bhGF}h%pcJ6V%SPZ%B*bQEY>eH@j-V!zd{W03sxQlcM4+jB@ViNWt(#ppw zseHcv_1$Eu^0HSB^dzY6Otvmq_P4A|EW$M{5cVE0>)4L~=p^WnILaf6hwGodK59E-=b?KIZ5bX(NK! zbzDyjNsU?A>K75PpVPm$W8ZJjGvpnTeW$iLSy(@@ zi*R|E;~8Bm&TST4GnBMCQ0_ht4K<$lzCo%(_6J9;$UXiC?ZTz>*79A-#fqP%xfy^8>5vPDrp3@J^?uG1ZZ~ct3nLc}OPW|E zVY&%o2_X&XZZhYpEUc@D?}YbmE>wED-dH(^yF)TZJrMXs*nC0JjB&aAoW2DW%tlwL z93&~4q<(k+RU4IFCwH&s97u}9U=V}aCS}yHzDowE@+q?IPCz3@H*Ev%q%T1{s1`s* zHbEldz9fSw!ytR(qH|odPHXvMhl~msG6v%#+?mWE?e=c4o~LA~+jE;;lD0=F%V{M} z?N!{$(>WSFCHPLxMT}!VXd?BfHs<^LOli*g$+YQbbn}Fj@7%hly*uY-$AL?2FEU4t z!$UYD8s)`jRC|tWev)0>H}tHSobGjuBwqzp#pfR?UJF_POF*>0?@ET!s6Wm92xz1K z;m+sY0~D3&RI%leH(T$1NE%tBqqyI8H$0S(YG?Wzt=gD;sk}go|MQn<{Y!6vZs@x= zyy)*TPA*dxL}?-BcS!=wCcH*NhM>|haoB_66!tDg>9vAqy}Zb?ITS9^CR;{EtTdA5 zXfUceZhrZF!e$50LLSgs+OoU(Q*;i(B+*^pms07UQIi_!PI>vG0>%UL-`jEDR{dc2 zEPOYAWtOYCvZX8^XPWf^5d-spxPe#Hv2OOXx30D{d_|^}>Bfcy0)hz{Rr;Ce_1 z&=M#@II!P^`kKYD-+9U**)YPj#Ox- z=9ouSc-sb8uJ0Sc!wN8tWo34W?`Antv=z-WCa>p82kFcY@OMwT=My5NSz4`yP(=4`YQbM{eK2bVPUIBml#Jn#mf zU*hoAc$;XnUJO1{=_vP)$R7uu+qHhEkz5{0TKS8ic);LyDVw2S1rmu}~aR>9GE39u)kCJc#(m zJO~Hieb4|Csu~K-iy|&nTwB5e-E0=+rNge>2F+tMBl| zWH?Sl;%3$j98@yR=RKMAqU-n%BaFNkQk*(^4s>_+37xQ%ATkodl4>5}hY6@Y(RdY~GtVj>8w& zt9^*7xSwcy_8-(L3oCw@Ic){|VU?f}pwKJGVf-@}fP??jCK8U0PVR1oAowpEUyK&? zs)b#(@T(Sa)grH2!QU+cc-4ZgTJTkS)gR)jKLqTzoBeXR-+f+O!2Z$q5Qu-P?;+sV z@IA;M*0}g+3Fv4lTzrv86(m6L zLP-!%5Fl@5W@+nq7X$zU03d**t)rQ%4?xg}*^BU|(1Vdf}T;Fz~vjLHu6` z7Q7e|!3&}A%h?5hBCjA^OD^(ya{n)e1Pp`#E~e2HLJ0iAX)Xuo!ZPq{Ar!nOLih#3 z3n7AkAcR~ZRCl$ybn!n2>cSB(K9_KQjS>QWO)LoDza7iP*g;{iOJ}`U%KjeK7?8f?&x1h2RTgU(B>ip%5SpaIvWU4dGgHq1ToxD2RkX|4v^Z5&*eKFQC7v z3x-1gNaVG|UNdC=GqD%if}s~Ok<4H)7;ur>ej~V+*gxW+l#{)atCq8w#pUyqlpFl= z$>~?FzQ`BXdDH@3poGDG-Tto$h>I^54grJ0uf8BJzX&q_7tdz`3Jw=3Sjt#HU(MX^ zLe&d73J#Yu2nPQBmp@hcBeMS2&ufIv z=;*7j$V2YMoQ;IXGBz?qfkgdlhxgu}(4R!DK17$Vs-x2DUL*%fsi~rm0=Lz~b+qvXovv(`(9@P>cXs%5qXKU`KO2p4JCtVIA_|N*2 z`)={ly0&y-w_izmBcSjgs_$#oUh#{^+E~Svqw~jh=4C*S9b^ZlRO*rsynzrM9OFdy z02Jd?XB6fft0?<6+Ie^DR^;}QBdB}QvviX>edyCFUb!=%ZPaYY>_!~{f(Dwlu>L#(mbpnvC9SL~X28`)w;<$?OkP*k|~eE97OV3wZU zLY>HT1Vh7ZWwJev(dr)Qa(VD)w1$k1Vyi+HeL8(**g+uEFzZjUUPjg0qF-1<1kMMfvmL#;%LDMS!~J!Vcr znMk1vTwX)(ssKcrepY{xQl)Jc*$MOjm@AL>C{qzmr_&Q{&=9B?*+Y&Pxj%R z8!M)|y}J|&K6%(bL%(`I6hUIXR2V~FvUh@FBt|bc53XWVixq!bcAM2Cq0TZ2=M(C8 z;d_2$HtxcO&X_tC@`)@Ioy}Uoh7?|g>yCN`m}CE>j5B8KMhqe!Y*P$yxfdVuIe_PF z!DH|P2hGiS)Y+n0{ZJB1^8LuE=B&M4@_y=!cz|(EWaCZexYaQ9$yyWVIdD-Fs*3_9fnBor|!#zD$hrEIiJ({-E(p zYLj=JE8d=j^C5E9hc@NQ)o;*-i)3Cvv?(#38K0^ju(tUG&Z&KKPhN^h3E_xWA4uK} zbXQ-#KULVYPjR0?>D&jVJyQ0G02eVZ&gVPVvyIYt4+^s3_P=MG#dnNorlNL9SrOaS zmk)=3Sb9WFlWx*ZUThFd)>K*&m1cn=zw6XQtsoB)7gzmyhlqp_V)m(?4XZ0YL(--3 zG#!|=w9NmVYC@0frXi-<_A;|&658h6lag#TanbH6%q}mSW)j?>J-LT1HCqG3`-&*! z5a&`dHUO}hSq9Z@7Msr@PK+|P^C4ygx=dK1(boavC$xT4i8^7A*%?P{#nl#To+!zV z`Q$$ryt_VP9QzHh*Ni?hGO4)F`8uJ;$4d)u=kwr?99NMP-nRV>H*+FEkSD20shgIa z+;f!C43nW9kxi7d{KO*z%;j?~#M{2FF5C-IsL`~m5jUu#9@580Oy}!O*RVqdgWfuj zz7wwS)lq%i9UK_PrClZ5v|Y#^sEQ&mZc)!_n`h17BKUGhG=-PEkLi7(7aOCbjya`3 zm>vmV@@w?YFY%drY<<@7aOQg-Iim&)T2cgJJ0ItaJFdqDwVM=}+-)?}Xu z!2?~F8m@^YpGx$O^!1nzYvs0X&p4Vbiz7)#Ub~wGmY5pn>5#F^`RrzpZnFjp$m3F+ z<`z*Ok2)2QCLc814`ZiEW(!d7eB=`cx!LQ%&UfejtAVk{^~46ps4M7a zv)GWQ$_=f#UPG*>R0c=iUS>MtORTFM-dg0D_eEl^k1fYB20q&6RVDHp0mmdIq!sk* zbuNuZieQz_`8J5KQ18+hJ-H>veLz?eAJ;PbXtCOX$QuHFIT-P2J44b03-Di`j z0th%c5|^tcC2*`6OUBcK9bupl>7vMgbk59*9FmdA zmBD2?itRL~ZYK5R#{-7D;95(Q`74DM(ru9jJTzA&q<|TPlg`e^taPUoGA6W6nw(bL zrG5Hc{7Jjl2#sc5S2|vrgo+Gz(bittLi^Xo`?&$V#5zBn<3QNk637SMZ?F{dWN-zT zrwH1mV9F;GW;Ddek`4pi48@{1qG{5yCJuM`6KPNEqIvL2$5ijMV72=0+df~*_xVch z|8(zj)4dUsU=KW$ox8&`C5}I3oeY>J-7_srU+Si?5gRX^KG7onCKmouulk-!GMzW- z@Vm2C@{_Y?-?e&aYDN5f?Z$6B`FNgar4`2I(@vBg*{VEP17V^(fzc^R!P_TmflSJN6^G-RKzxs{ zQ}iK&TJ3kRw_^5g-8~*25?K|P#OVf%vFC7SgEJ_SSJTz@u)G7S(xDD6xyZ7|9PNfN z)sHN&@v^Hp=f1F`ld^0Q%R9fbs?9;^=t!O}Z=pX2uL8w+%|2JOC6HOTQdpv>G zq|`q6O(kX~LG#e*^TPLWw=woM~a6wXwXVNsB?F+%ievP(I zYR%tjp+S?_=u&9Ro^tZapTCWI7y@N}mGSCSTq~%vEgSpnn8=6hNo4@t_dN2v@HcaM zVWqP*y~jjUg3B|}n8z*|=9c7|*UT&O;dMMyxO8Cts9|GX1c#pTmnl5IpqKM; zUcNQ+9Ir`$8+D&InfD%tK1>brVX4&1t;j)LjT)IU1RoZll00bqG5?arCn$PgO@IG= z64}q&!GMLMN2vS`uOCgQZb*-9tt{9I5Qn$!TJBBvtIh zm8JDv*Hus8G=X!$Z3_S7Y_6lGeXA;vZ;#L15d-AZ^nixPL$R}-gk6Ssvt{qjcqxi- z71kZpvPXNudQTL)x85dNm*TPtzQl|^oMDZ=@c~R;v$cYIaA)^=9vpBeMd(pvhbk)A^tpI#_qvD(2X9O=3Hc`cJ=qn`+0?B+fpJb z=qR*r<7tc^N&tmY*Zo$LRExbAFen9Evdq@RUIN5!np-x#@aD4IudH8d7)%%ypKRdD z`%ys5X*N*$<>ur%v~Bn`L}iZYwVB-=W+q)>Wv~#0>`UXB$}5Na0vv4jLwQ1c66)IZ zhznz}p2}pQGJ~_r8eY zK`4Y2l`)N*D~P`Ac@`ock0i? zulAskU{AKx(LOHT8rC|>vV>PtfTifc*L|d32+lWFo5(CuT71YjT$O8O$9Mae7*HO{_N|i z&C@rMKNnxr6(48%5-8O?Z+hB6V#9-lZXxa$Ix<^uN7#CVAjCR2<>_lE)%XJ*dy0#H$?--?s{_5|FO@}i71Bov9 zd$s=WBGCoG%>N^aj<_bxcSU9a5r{u2MmPd+VF?)M7m)^qK`*H-7#My{)))B)t#`?k zOJ5Oq5age9CkzBocKUS<(EiPu|E4DgY0@M3m% z^{^7q5|DG!cGA2C%YLcAB@+k*UaA8FK`vART~`;-|1MoXAjB{J{bE4CpbH#VT3t&O z@LyDcATD%)f)G&9-*f>3z!$y30qXYdp0-wA|1Q*UAOOq^1wwxjvx2~1y9gKFbc+Q0m*JD9&crX|Q zM*J~nFE+V?# z{xuUrV3#VuAu!nA#~=^{pnDO4t~Mb5P3W)Y0Q}c;1Q-PT6^amuYfb{ezvkZmx9AZ- z0Q3Sd^tbUZ!t{kMuxs1?k97O*-SfG4LNoQyIqVh+1!?O?6m({%ILp@wuJ%b4o;r$(HE-FfALA(5<2a9|_PtH}*}J;R zNWyk>(=eBZA4vT%_x0(%AYtR#q;N4HtW0nDu0UU3^x&GWpDvqDzUJ8;l@R|k-tPB; z9{zrb1wCbKD$znFgC>tV>dKA=3O%(teKch!z2i9HwMU3GLPU(m*_*wlblZ8kb|zXa zx+HDD$Ss~wCEL6%%iWWvzD6Ojo@kAd!E%hXFz)k%NQ0I5+oOv02cFwB{g7PNt+}OQ zFMArY=nmk>!3Sq5d=06@$OKJ*Be0!=^jRf7nh6Ew(2pba1WqpS(aPTMmnqFc(zC0))`I9Bt{1Oml`yRKHIS99vGsiW)>Y(7zh5c6dS8z7 zYgVtT{ev3%u6t{QGsW5s2Z{5OlhiN!OO9XNj-xZ$Po|!uG|qq1)JEo9F81ChMC5*7 zG!>@7kMG3=2;PJ5i|b-PPXz3Lmp&j#=NgdLPWGMH|6z|>|4vYX^T>wMpr?B?Mv6)S(j zqh$KAucGtY2P^#zJ4Yf{D)K1+;;SbA+No3?xL zb_0hCqXQ4?E5QZAj=q_eQKB8)Pav)QPj^GLfKB}alg?@^?4K!4M6tupa*UDQR28XK zRfaC5yW-3V(oE`Pu+NkFLs3a@8CJTfiHw(!x7@R>UX_1M38iz6_Ndc70Ka0D6P+Ru zooqsB)QMZ0i1pv9a}cgfRbn9(a^dKWm4CGHKE9x_uE|b!vNqf6yoIZ8Y0E~SO=$-m%p7H%&ad02KVa+^96-ri=>4YM zn%!R*9m^CXx=>(m&HL2Nhbhyn;3Whivtz%F25a>M+BVQ8(t+c=TJ{5ik5AaAzQCXf zBt#(xJg-Ilh7{Z6s0|sXE9RdW4c7W5M^gC?fpKfbK2M&`oM~oIM@jLZ>)I{Y;sgw` zW6JyLYD-WBq%&!h+zKw}TFuR>HSU4lm7eJ6J4H_VZ6Ab?s0_ z?!#4uT3(N_^G&DAY=pC7gq7OgZ_IfHtn>(!bE?1?Z97FwyaBINB zj{ahd;ea%r){irr9jVjDIVWccB&jTuI)MxQrf-#o-9C-a`EoylydMQ+7zKZcFV{Lc zj}dkl!E`@7eEF2c%f320RvtrML8T{E6^lY$`qqtwpw&1)-U5m=1%V5tf{|GnHjCF# z#7%0S6el|kRKAUt!SV{uxB5#gnM3gB#cV6YT~zm`qR%augS>e*7_G}BJMe{;7${LC zBx{m03SuM99JH5yVjTvEnuZAxuZX`RT8p;|?PrloutW)SCHuiSI~)7y>xwcn5BnR| zKFlq#laFj1OjIUElk4}jXO4SS^WL|q_qMSeuF^z@vfp)6d>0~xHDM8SbN874xL^M? zW7XWdB@8*Y=ToPVpt};tB{H^*DOQ(s5xGm)Bad77X9A*{XXe!JH8F_ckQ6lHY{#WB zjdNR(cDdR0_SmrP552$fJh=25$J^z488k*;c%2$;kt&|8C#Q9~_gh3# z7oSZ5*MIhv(CFWrc)$AbwOZJtV~lOFUE$C8T5%HhURBL_EohQ3Rq>lJui3jJ7=Rg{ z^9XQon@V@Wmd^?l6^^ZJK}tfzq%iS;qt>dk;g93ZY59PKaBeb_uZMvF0lYFWkcDFd z#~~*7C!;7vPl#q!pgKO=8+`X|#?NmSC*rC7N1K3C?g!`0ol@Vn3UJ-ujWc=^uy;ov zb6Y8KYc+?x5aEC)7Tds|l$q4W<5TO9lEtm4EyBpS?aojLWqegWb2 zqZ!dX$#he_Y3xZb7{rjDUvM|K-Yu)#2Hl5C@Q!9%ygRr_7F&-Ol@T1GW#y?j42n6@lsV;7q2x>BkRaHciI-Q2C2cvNxJammpy*@ zRaLyin+~sO^LUrqxjfzKl9i3|U#<#}ROksOoendXjU-ar+iC;VN~SNbRaKD69GX&27&ev=MnKh4qREC?iJS|xNodsj~y}X zt>1u@OEE4hYIC#0x-1tSpES1|jqu=-N@G((pfAtkNhayhC zR9=fj@x&iv$pxlxP=~<5kQ&HEzZKo&*bMQ7T;;oSFiy|}^U1x)Wl#wZH_I5GaBDUB zj9e?~eSBW@(7WCsS3$%=)ExQU2h<cM)8N5Bo)>xvGd&62NgRN{@Ye;+N-aQ)G}zR#ei>7Zcm+j zZlU6$gLN2PJhwcbdPmzyR9>hW>_L_l>A{Zm`oj#VQBvT1oL_Zd(ZYk1#>NCozolEB z=VH!|9to~!S2o(Mmo#Bij`UbT2r!_&gY62B)G*Q1i=MCIp-(0F78q?~R;G^L{xba5 zDo`2)o2=oMoNQk>)1oiN&#;k+ULsQ(I|yLGtf4C z4?`zE>ec~)+99lpVnoug(YAlwQb}%W6baPp+oBoPo@n;{2K+hKUZ*4R?+%d7(}8ZB zv|8oIoTBSW9y$^~3zYrL?dO=x)RURZIg?irr`@(&c|>+ReK8)PHvY6Gd|){R0TN-N zrn&00XTy|koJ8Zn$vJ(D?hDVijRCpZILm0l{fV2mr?vr4)802}<1!4*=%FOX@*Nj(K22QQD|+AV zpBz&_0%Olr(4exiYD98xwt$}4yV4(QS>p$a8Ntq^!gql*G&WBY{IjK)u+l%thMrLh zRL2vh`=7e)&-D#te$x|ijXbgQ-J`gT@m6BSPhOw*XLLv~{RcOqjtS)l@ldT(FJJnj zdm~eD9HU658COHEI_m;XlIfmi_jIm#HxIZrKMroSqr|tF&Pwbpp8GsSb19WPv8~Sm z8)n)T`sm8J>FOu_OD4BBV{OkIT)iwnRbat*33IVK0V0%rXXpZhOLCl+oJj;Xu-?tc!RkZKwDSfTbCf0GKQPbyOs7d$rif3{~M_$OIzgE7DM zSRl;*xX1EqN9NzR$MXB^>3_S&BKWTqlL~?$e^)eo_5j z#9o%R0};PSJs1!GL0%!ame}i;)C&qCkx0m&8%h`2{$f&o@re+GAOH$whQJWl)%XuC z@!w0O{GXC1|FmNE7ccYs{LSB$%nJTNB>p!?o&+I(f7_!@f>6Ah^w<`coF4Iu)nSN|l^%Y*9LV-?4Rs znYh!M;Ah3jW3lLpao^{UHr^tm>C#jov3rA>@rRbsyskd~&0C81l$4p|0 z{=?4d#*ml-A!tG9M9y12yVi=B!HgKoIRUd6oE?+7;^N?s{@Y7O75C{?dp4(gsL@y? z&v+730+bHr-e^po>U5t1ZYjh=MuAV#<$lb2wjB~se&$`tC8F)1+`SwKK3-v5_q@e8u^wMvySFGoEWGtLv;M{KYDuD;xFL+` z9S$%!-f>pKpG4pgY^xOT4&TlyHvPCvcG2o)wX4|=YO-rMydlaO(d_co2w=(o?ILaxj6 zQqmBBgHcX-&zqLeevD%RhIScB_j(&|n?(w1GJ+Ite@M(s*pfIN{i0HEGHPJk_`z!b zVd-orMjdVyOFR8=Q`|c#9dx5$d~lltM>v3eWw-6V&I3{u{fB+uIpaobD{o+N=zD1y+ohq02f9JwId;@ZNosGLOt_jvdi3r+>_8 zEz0S8#PN|OlK9&V8P3~`{FwY@sJLvmNty6}IO+FJx1jnn*`+P_Po0J%caNDQ{S&nL z?;6rY(e``+yBK&==~K;4)J{kA1uo3b8)u6epPj!>7nNJ{8$#kYFcwe5JRKjd-i+}6 z3Q_av=)cW_HiOU>MuBT_6{tD;RDYTy9lMA3v9B=z*p+DMVRIYJpGWbrRl{D04EZN- z1p}dY%{ZAzWzL?d58-Jw?xMB4#F=M97aqQf3D1`w-|ALC`v&@9_oRv(-+%Lqx04(?gzj_2GD=rI=b@4n zIeQ1@w{OkoZDp(nCF3m9!Gu3iwlbtt?z~9T`HqqDjC`ss%@aKomqO7;UyC$3Pzl=H zO|hl*_H(kmcF@jq>dy8=i!?R5{7DxwpX#jeLDUzKQ#rVsxFii7O#B>VSW1aDNhDIi>F4o&KqTede+`3Nmc%MU+MJ`Qb|IoRVTeQfoMcDqjKz0Q zhZdJbI37+__wKF)z?!yXGw%%x+s$m9ec{_7ciwx%RQAYI!A&S3Y#Ksb4qDhv_{_B@ z`kULeOEuegvJ=4tZj_AH7tvGiIJIhS?bhi{1Y)<3BFpNiiBa?Zc;Rc(a?0`)J~xqNZ+#43?s?qC z?IFnm>fyBKbb`Z`FMK6#PY!8CWGnv69B@ps)^JP0ucTu-wK&kw|9<+KIM)I{2&nEt z+8_@JN0AWodCg%Ek4$Cm!|-7aqkv|<;^;EvKa;fsZs6l(~?@6 z^in3=-l1_%@&Mx^lfzcd&L!C=wRz@(uUS?i%-3Fd&EyGj2OHxjDY=~5%PHPMCmgw{ zWUU_mDV*=7VFpJ8J3i}=Fo~sI+^xc`h39)9&4+~@8qd+p1UolG^RotLd7qF=1`Yar z#2hYJ>*#2w#Nk4Zf0eA1`u(X*%BMV=Oy3dZCl#M4G*Wh~K7FI)2;b`8PPJEk1>s?v5fVSaNc(C~7i*x?nDuGc`HPPz?Z!P?ozVlqc?t=1rjSMMh5+ zV%+P3v4Pk+W#=eKe~$)Jj~wfin<)Ud^)YQlPU>r+HV>Xm zEw4ZFMQwW{#Joyi3UuyVDSbFOswE)J@QI=H_E67j)}vc!ZxZI79cQ%|`_0*gn&WZR zKI62@IUJ-l9x5}+(&&Y>N=lP-8a8d`oQ;CCRd4&%F1WdrJv)7WQV{!MuLYvDry;6U z;2F4|mWecG92}W*U#2cUZ~f+`M{hVYa~jH$^tzvMK>pO$4ykMob-YSx*qJ;g>iGhau=M*_w1jxUSFU?uU;?km6lOT?UyuAzLQ?Yb?a)850v-O0!W z3c)1pn|nruoBju1U1N2`2-H`WM;>BQql6PhEd7(kDH!fDjA>U$u~{ z7JAjfuG*`k^+3c`i@a)o7Z8F$z^nGEKhRZwpsW5sSN(ym`U73{2fFGHbk!f|sz30r z{;n3uVCKJHB!j`fD+m8gi)8Tch1Y+(Nd9f8>n$7qdcgEoArlz*`|LUVvL+D%xn=>% z?~%E#U?BWrS^TG92oeBih6(;IKmx%4P-Zv~cD=fV-@b4?$$wcXUkSb{SwX@skGR5+ zg4fmgUpiI$4{LNV5^&*7FgWD$=rS1b>p(B;xCAVw#wIh&A{(*76bwRQ7+<2VJP4tz(A4LR`_45Du%)!|0o!CrSQcNgD+rQS78wF z+JY}RFA(A%<${09g(Lq~34Bet*N%apBm16^*>o8V*2!FMwQI>whVLA)tSa*%0_u=tNw;-sQ3i z_L`EfAHOc62=bpuhCzNyhWvtYZI%C(@P&jU!G9GDxhil3|9T?`^t#ysbp7!47h^-= zPyh`4x8(e*H1yh;8Fc;V1wvd{_3!=bayCODe~TiQ>^bb(roMjo`U`V@l_@~TKl~a7 zxvqDC|F!t_cap&ueg(OFQ_(M_Awc+Lb_88FFN6PxVE;R~bK^hJ{SoEbLXehLf$#pyNM>AGRJ-6CM7vp#&bar6s@wSI-Yuk zY?@E;sKe9F*X@Mr6cfncN%Cl)g4G87wC?b~u}qVFx7#L5o9qIOQpz3Bz*3sK7Y7FU zzBa*qGtE^(uaeO>vG7)R*+*1=UG}sh43}9ZzhUQCwOd<1Ue@+wnyR?XJI}%R_wOjl z%^s0(wJniaex~?pTmjG^666~e+<-rLjBoy!*M)eDax~KG^!^u}NrR~y>mE7}Nz=Q3 zZuHz&EtJR&)p?#B@Pwz9B}<#qHiT`iF(O-@y{OO2aM*$jnnjXH*tnxb(JhZ@((|0j z#S-_?oyU$kk*D1afYyj8Wt1YmNI)7jO2C6fs_?~^uRptCg<=xsU<2ILqAl%e@v1;A zm5%M!GoELU>Za#K!CX=q)7_fO|v5WvRnF~{*za80;G z24DZncM8NACc!g7 z#KKDi;vWzm?|$%G{?j_R6*I!q3?CsanN$dBd= zB+7(1594HPTMlK+V{c1SYQ_p_@+XV4cAGceG>UNSIZG#TWVL7rd1}^ev6%rLH0@5J z)AppC`V!LR5b%*LaN|VXG>!~ciJq0yHvq+IgW&lIDG#PFtsA;~a`FmJNxM>vxE1dA zgEl+MX2W#%&s9!R7B)&ob^cnbTlztO4@;W{c-> zS-A|7v~jG#qv;QSKu_hXRV5Z}G_Z5a$jCMC7i2FG6qykd4lVlVGYQ}H6Ne!goC6GT z-0WME%qDnJ32wtgUh$iM-_9JSzA5sCgTp(OTop#=%(%LNt3SqBfiFRXnkzSk#9-cT z$8g5UAn;tVMI}Ss#q9}t?0{g(ch4IDN?AY5>|qc?jgRz>R`b@$8IhK$sZG|~8RagC z6EJ|48Mr-_yknq2KmIM11G>XBJ1y1`?u#JyZLY_K$s}j-vfR+9e>c1CS&t$)x$Wp+ zT*;Y*zNZG^kHt9n=}pu5@m<52D*_Y3lFvA$kVVR?kVcOWStox%PB-vQhAu+RKdz1N z3)hb?6=PK!ICidRUuc@?cCc>^p9bEY4u~3rK4X2DPAn0OQtxvrltAY2P`1zJCiMb| zF!q#X4bbO|FT2k${QWowQ+CI46%Sn|hXphTd)V|-A!vMhKUO?5eWWHS?YlE0TBPhV zCM^FMqNB$5ODGm(AHA5xuuk96sRY*%JE77hkI7>#soQX8qj!Om@Ox+N<6{EBMD%P> zDrVYxlKvze+!Y1U$(5Laxdb4@8Su!?UB#K zI5vN!mFBR4!##NS)1cL-E|NV$<*+=*N~ccFJ4^*c@6|sl;Usw&YyS9hha-Sb;iLTW zhlo!tdgp{-BXVDFrlnbopob)A8~OwsF6M7%*s+owJ|ca2vZtG@~^W^sR37unI$GvcBn`9%KiaO{OTL2D2G93^|U1(iMdX=$G} zyiHKHXZvH4L;CHE*7Df;n%Mfo(k@;L=WJI?@`yFJs2ja=BF1-`P(|5&`YqL&)jz_X zwq&sM8xdgPs-rJ0QWJa*Zu$S1d+V?|`XyT!cXzjJg1ftWaCg_>?i$=(f(3`*?(P~O zxVyXim*jnCZsyFnGda)9eV(uX*$vI6s=N2Du2sKPtMKr;qQV=QZN=%68K4M83f|RO z@YK5vmieT66B!Ql3L-A!U18RYeI|dUePvvySVw>8~LlKN$=+_Ye>7@>y#ShAn2=QM2ja z$&_hY2K{10S3_09945ef;F7YRJ+tYdHR`hYAj7=|W#MS?TmoP9Oxtv++dL`8=0k^f zOHspYtpN+{M>ei1Cwu{CH=!yC?f8u+!FWvi)3Dc7C>WE_k;wQ#zXaulySE@FR->qn zy&&(F1G~V6&m)$9JK7-#lRh@WH0>SmIa#+Jc!8+N&es`a?NowqH>HC8VV`EiMnt_J z5j@AEP4-P@JzZiMcz5&>#*N+YZn5{eQRpYQlBdT%t31kCJv{9jiS(H47tQj354@~Zvm;|SiFQp3u@Xnln22{jt&V;==15AJJ6pCRyDEfQKS@k3`FKl*AxJu_g+N_n)zMAm0JgZ#=Av{ie9*ok__ty1Sdv@%A+2SdyQe(V zDN?39sK@w%o+-ZLE+UGSSd!mk`@qB+2dqM{JJm@SnIe!ivjv7IxeEmb?~h|zszAyG zZq1Z%;Aw;tTy~PHyOssO=R9xcrcdnE2bb-82rl<)TL>Vs$v3bop$L;Z5KOA}eJw!Y15O$E;D6*eXu7Cfej=zQTK3BFM;u;nsL%5@CH zyrXz5L>9 zqk~hY)*HamDbxoOR#k607`WWm#Wky#AnZWbOiML4V%INRq8zDo3gqb!^c*}VXhFfHz~F)Ae4il4lj@d6!MZ-SFESj*O3G(CUS z)59=;M3M!e&!4x?Tbx#GSh_OA%;A}gCSE>!R~gp-+*3xo*TNEg!Moxk6kseKE)68b zDg}8E(@fhi)^9bfZ79=+nr_a|kY>6-?8oHQwSiJ3eK9Dl{NcLkWihsp+^yo1cU@

c%NOpW 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 z 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�?`Owx;Rxge%OaN^8Lz=hLFRFK(x+VYa;goB#@TR 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�iE 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

wMHS^fTX9WgxM> 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�CWi?>kFR8oeDI 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ⅇS@)fplKi@1yo9A*&$2j_rNdAO@=HM} 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⋙PE*6x0Ug-#P0;0KeEJN764A{RZ;PV zbv9eek27G}nO<`(`v2Z(WWYA~+s%kimYwr@oR4@sAUR=02s{$_Z2(qy=q!`nHprW* zYXtUMlmux^Vpcjvj0~tm7$BKSS^;krPJ9q?`wxdUuJRe%<8IVIXy6qjpgR10DRCm0 zC_;1OfLIto?;=;KK6K5$eYGy_|D^OImE=B%WGC)We!#{cHp3^-k)7h+=OL|hplS2C zk_#0UoeHE8nQwS_J7cPRDF+#Qx{KG+*44W`5js#xS7r-V*826WSR_2%<3{3(r5!8B zy42|;YOIf|=l#aDF^cQ75UrTbFxb>1z^TykchHV#GxlJ$+qafY)@Xwbk{q+ae0p{8 zev^K4C721P9t+rCZ%uJc3P&u*+vE-F&Z6D@`9@b_(I_XFLL0Q2Z!QzKzm(GA$XN{T z6vRiFxUqpwQc(^{ZP!G2!3}tM)f8lE(CaR3794cUOaHKavTC_K~wO5<>8o(vT_cDY%Hw zQMT>ESZ*1NF>-EAd4Se3uIa}`rS_vt>%k$0?oQ-i{^ImA%My8yjPygYlc&`WaQ0^2 zwYq0BJ3L(V-VZWw^^18z!c~uqzk?>52DHK6jMt}0I0jaMm+v`%w26i(ZS4wKx*)JBOtD745r63!m`0m9msh0}r~7Z4&#!Do$i<&<&?>eqNB%N$G^$}z z0>P$Wa+n(*VQ?=@aPdsaDC&3GT~6>!W&We8ycVT<=4~RF`PDLEmq^Q3f6U~wS0EV5 zmiSDu{Yxt4Y3S#dB=d@P%%QO`Ld!_yv#z^kj~T(Srk5EQwuzp9YzPc%MH4jS;L<-( zagi_81_`^r)H7=qQRGN6sF-h`>z*pp<2xvYRI>bN!(Zkytjq1Z@PMnpF5T+ijaC4N0;|M=A+1RQeK*HAg%xwP8>jU?P|bv9 zRX~}|b)nLCJ&0nP+G>7Zxw;lu=;UW z+1L6__&E%3yhgURu5MT2S`Vi6{V`H9U2Ah+>pR1Gb|2m%m#JOS7;x(go_b{fy=cqS z)u`j!@~eAq)q*D)M(v$>nX|cIO1a>f#iW>*9Ag?}VDJF9PCjKfv4Rus8eLE8lG@cf z3!+JSU=`+88I?f9aPpK&TS@^gC&mDGu(qm_pF!+b3Ycg+(!^Wh{JUC0NlHjMZvON#JYu~JjaCkcKFwFg+ff*BqU1FLbW6|Bn=Ilj2w_%IGLZXG9x@vhOla*9k zto)LCnfl*#EZ$3~;rRml8pPDw$3}MC6!?)huf5jCcK8y3q3<3tIw9OPZWURT84IOO z%HpWRDBCw|XRmTdv(=tBPC|*|&9V-?pvZ`Ci47{S6!}5;@AV!IP&>gco6@myB7!G; ze~>2}fBZu|j~=3T1FRU+Ngl!M6SeS}-#p{0qi)ml?S0p$6g2 zcR-V$cM;VK3woKYA`QJl%>4>u4oDeB)7g%Cw$zcK6V9FILg zR5e|B?wxSQA1!H5_WZ7^luXH*Hl_Hh_Rq)uVZ+Fp;23>&c83rtyvVx5++9hu4h75;}$<~<35hY1P<#PS0t`+wI)E2|0dEAi8sR;g~-@3SF# zolv<`AxNr$$B!{4P4d{;IhT^!L62T^%7<@(E@6+6P7r;3I>T_LN*co!R`fbcdc8f^ zY1U^nK`-uZ6Fhg|L!$Nj%3O)!OEvj1fZG+)JSbDf?Fj_0 zj@H_PGXY*215JLTPMrj9ZQu*p)6xWmElxMaIYX%kQlMBIDw-pq$A6R=5hAGr`X#D* zrxB5}(t(I(iR@uJp3rfs!m9>+B7yJ-Q5>+7HGv!Pea|aFNFDIHyLxw#X-2E2-lu#%qvO~A5>hgM`FV2Y3 z7`MEo53N_p##|>8i!u|Wlp;-LWp*&Zhyrt z_thpBo_oJBC4Aztq{mnQrzaQ%Rn!t&$RHj>WX-aC9k#&kY9SzTs)qPkT|EA)V=0V! z0KhD?GHXb7{1(X0p9i7Zux7W^Zr(=&{F9u;F(;`O5;p|isDZ(?-AB=%l9>420>`?7 zfuZy7hRytbc0h{i1KQ_re@>3(O_38=%7f+2=;Zo~MMIk!HMVn7Ez+r*1F2NQ{NX^^ zQyijgt(9PBgWO*mI#dsOp4g$E_;$pp@wCi-8zPya{AwHCuhXWH%dtxPW_vU)Yh#|d zcZR3npA=YMrMT-$Y-NfP9401T&Yows8#Y1^?}$+3O*@e8dBIA1F7sZrHOs~Vr$7N| z>c)kY?ArVsPmDO&>ml3@CcSdt&nncD3HPHD7b7c+U2jG{B>RU~oshzs`S7IK@^Mh} zi`<*b7ix3lh>yhP-*`$ojj+#BCN4a6A^p-ce2ew>+;JU3G}9hpFdF0MA(E-e+6Q?= zGLjZcEV2mwq3nKwtnsCmBKs*rcL}OnPTzm-+cC8zP}WPP5Z!846<>DSWUXG?X+LZl zpU*Naq@D_Cf8!C^whnOndl_$R$unAN&HNK-tI(>7$cn$cq;|nfz~gI=O`pt4fucf% z?z~E(XbHzFU%^MzJ)C(#muISp3yKWLRIm3S|STfp(FRxUv94Q}i zF4VUyDNTOeM!S}KWaQ)@oNNx~5Sy5ki3KziB;i%P-LA@TNpw$LQBkfIiyV=xD;0H8 za7WJWf2mN>Ol2gkuDM_~8oV7syF6vp(a)G7W%g!p!Es;sy7o;&0aao_keOH>b?Y$MhKLlt8#P zMqOtu29`RwF{?kqaQIj=4B59C2x_z~-|y$kBawx3ldH8J&)XG>q%g@#RVo!7OIvTc zElt82hHU9ivL1s_e;Ivsf)nu5LXgtt*TxZ0<`GoP>NzD)UiiVctqz4`3xRi@M5XV7 zBUJ!w1Wt57D8!s_sol9pC{tmlaHk6!)hLnQeOQTU~j z_yeOZ1l%dkptRzB{vr=gVVlA-K$mp`3-?U>9+Gsx^yJd$dWWR4Bv4`JL*j>9#ZaU% z_=_b_#P%P7A~O3yz~bnMgL>Fg6lp=U!kCry@XIFwRtfKfp0JPus3>HCf=Yv>yfbYNnR)P4T&vb7sksd z^(@H~Z6L0*ENys^h3y+JpVbb`EG;;9P0fy~s^y3Ym7o8hdQ$KBsR%!RQaEN|Qz~ zqew4^2m4>`n45boH_Q~|=gUdIo)vAlF5vj)N6$<*e<#c>VWOiCiVhQotaLGvO)bVy z`hx)4Qa|PihzHX!I9qs9t;qG4N7}#+Xf9+U+j(R9NpA%KQbb{WZzQ=ffe-kme7=dI z66n()!XAFEe;e&`KNa-WSJBr8!yqJO`SO5uXw^zgRojBVV0>x#VY+Ii@iDe7`9TTv z^^#So7@s|7U58(l4>xJDA}@l4+(0G1o~%$ra9X!J zoKy2hpwx1(+z@m&2P>Js-ei_#ffW`HYOYD_jmqVIk#(JA^Z3aXsAfJxbd5P~o@<{z z{`IwVvVn_SxLs{j@T44mHFluX3O<~XB{m&4fbDOd?*}6sf6giaxF6b zvn4XN39$^0&fq#Z1F^id(Ks(um>mCdk@Ndzs8X>g=_aYm&^|4!yUcg(?S;~)`$Y@O zdDCmts{F3O#CdJc$is4(rBVp`)?DE?n^2bgq?5gDU#?6^b`dWCQ3oG}un!O;2(+U7i2TK79=2QTdtHzLv(f}C5xr^Ac>$=L%2U|$e=mA6zibUc z$-EbMfMq6u&e2?71bGyBzsMd=o;jAW?ge$dho=u-Yu|TWdEO90(6$)215JhZ+tX}Z6k8+l^JzF!{lpnfY1?AP#Q`B6BwVk=R7q(ITI*$P)hga7hZsz0P&u_)GbM_k&*TZ z`ls2e0qm%$;jWyTw*&2icFxnBtw@iPa5J0uEIj@9{i&E2kA_znK_WQz*SHHT9Xk^8 zg1OukJQk@5E8_8vM3(k?FbPFBkR@{#u#~S?+5Dx10|UlRY}oNSv3E)aG3t76ZrIX( z7Fac%82(gvG~fZke=7pLk)h)Ll{F)|=_pBQ=3dZRhm^Ec>(P;V)r6qQX^H7Bb-c3?EL~-T z^z@CuCw3+42kd~p`e5Kh7_bT*$?^IED(ZRDqibZ7NaSXz7D&`zje2%nQ=uy8nUv5r z>+AHj2QwMcJ>6@@)X9HGmkt3YW)l|~+sPR$1yzlPZVQvaWfNJZ<5tPbDydWrb;jBD zKwBJGjfTS%HaQza1y#b?_7oYHL>}z5l;!M({Mb=Hd}|+4;}oxN(O__pC0J6d;N6B| zzw0f**=pEO()HuzlOEOES}|rHoOY1JDvel zXLjT$Gss!3_JoXpBYji3b@mD9-KkYKwjG*SR1)0|krId0QKS6Q0A{Uhg0@PxL|FyQ zv0L^@Vem1<@P>?8*5eaq4m3iFQ7X|KcO`gbW&(yu;KOB*a${5f(Dk7pHVgfg_T{)yoWEUcV!Tg;;L6(5?%9 zjroOjY@QUfqP2ry;&y%cfkP&@l6Rs_CNEv9O&w~9>L*dhv)L0sk;Oq}0*C{Nx`PrL2eJ}AA4?9a#BVgSv zT`9ISq%BiE((R-5gL)4c%fF=F!0$37)~UaiqZS4Yu!p+nj9`0w*{O|0DQU3I=wbYA zQKUIfR&eTfmh%PGC5pu;(Xk(vDpQGj$%I4Bm3iXOBhlAW4vpu2vOn45KvJ+ zh+5|{F@I10*5-4ZVtovmEX6bgkIb5>C zv#;L=z%kD2!)1g?F{)c_WUM?or%0X&TGxl;Owm)(pX(BR%&=cjzafF?3qubc*Jp@L zE-g;>NgMj1m98DogA_T1$ivo3G%{@r$fGU#RzK8^Q)~_n^!F<D!7-^_K%pG zjKQ+`+OMX|4Gza)pqk)4%+Ci-{K1L$_>~iKV5)V zPrgvr9Wr@Bs4R0$%V}UsJV<^?IFlWQ0$zGGrCF+UARUs^*!H{2>Rn#@qn!@{To``* zX2~&N5|3Ku{H6^g+H~exWNx~k_HH)Gqj3B3;=l_md(P=NJRUOK=M$q zbyU>J_jWbpl{=tPSrPCYw4G4-N^qMe=A`axW0WfnA2%|b>_y0F8N9pslan~dk`@7J z-g6?^(~29(Gut)qK#$pEf_%1@FO(0-EOv zcaOgyepJNe=}S)**$mAN%keLBm%xUjdl!1I(bcJr(dddeJgR$^kye8PqadGZ_wY5} z6=&xq1zIAtT7q-L38Zo2gX;j@ZRzoBG zEE89Ah?R)^h?nZP(Fn>YtLSi>r@gb`4&AUE24@2&ANw(9nstG-;R=V=1y9L7*2fc) zdtswVGY_WQnWsyBY(az$G^KA6O3J8&n|X%m!1U>(Kmx%bz(9 zlNSAMWW~bCO!?$ui;K~4Y_`W*GjIGQm5Y7rnySqFKMGVU`Q=;^#n?4EDepPv)&Kfm zNqFlLeZmxyEG*>v-E)i)N%t-yGMs&)$Ec(1>kLv@88jcsTN=V@tzybD_LXrakbE`6 z@$O(qDE=njbMvi#ir1{3T5k*et=x|Vg+ zH@CIx{X5zzv0i;=QnFHH-VhsdK2)A_0*3#hGfnpHY_6mjvHmVlrJJWRGBIk{)M4;Z z-3L}*@K`Sb(=0YOm4x!-ja>nraubMF_Tk+?q_kK<3=L3!t8P_8h&_3ISnWdR`Ch) zb5--Dje8&KVNal;oPUz5$>F+;@k#t9m0(=(G^c(=zTSNAYUKi|JeLEkgm z&+6y9In?QgFo^HoVpcus@(oV-Se8 zJ^u2XlsvX>u842Yp%FU{0q%(|J@PPYoytxw^tJlsc2fj4@9kJ$h#^C>gK!l>5%x() zxt6!VG$T76rHiwF(tf>l5#7NUYp>U5{ZHDWsUhb%pmQ3^)EMjO8BJ7z9l|0$K&*Iu zii1;eNyuOhvWBzK620xQfKc6_WQ^J(tNn=Doa#a4j5qlX&(GuvO?PfpdGA0MX)~_k z85>*^Pphd@1yhT9>0aB~v!>%91xuUy97~5+fqWzhtAXQ9%j}%t@{5g225?$Is4TD@?}rLvoxx6yL+7; z_UGRphh6G2p<#RIi(xgX!S1Pk&n-&Gwci%>R=`6gr1CPi*!Yb(2lru2h3L1w!4ju(3q+#)#>E}AbH z$+$VgAo~GxOjqA!alZ9#_MVeAFgNWMZgByU!qqtAcAQ6iscMQZX*_nagRKEo6{`5^ zqi_YV#3SkAq9QH&)nBt5sx28|Zi=!g7nW(U+~=B0=a$$8F(&`y`Hse8>>T9?nvsuB zV|e4N9t*He6L-!=?&1qGvT@%v7G6lt65_J$RV&p66Y%qmmqjSZv>TlDn`a`7Tcxk~ z?uqGH_pg2yOWk?OR{#B5aOfvaVj5tf+pNhVP<+o2Ivnqc7bIn1IPSaEIldf=EBTt9 z#0@afiUqR?9P2fS_Ygg#K5SkYDY=U!w_Lzc!}AYI3mZ8-HlsgCzLwW8q7!547=%%y zH6~e;biObeQw}}pTsvr}%&S%C+B*#AhSl#T9M~Q*Rj;^D>luzat~z|9ihZJ^h4@^! zYUIUES4EUG*a~)IsQU-1;D<=*Hw7(mQLn%s3tS7Xb%a1=7$^)7FW_?py>6a;=~nWR z%+^!tUqgeFNu|!WnS5DQ2!J79 z4@3TPW8!+t2%|Y`!yrJ%Szvp7yv!Vj=uUUX2~tigPt@mkPK8WF(vR-_g2nWZ6@|}x z&2JH4B1b2%IEtY`{Nm_4t!F(1^qXUCjWZ+D5ZM@k*JGUr9#l}1K@RrNzOeoo5c~2Q zsefskDi%=RsrLq0pSQtZjT_Po(Vbcu#o(9DO21zD{m~uwfEam|Qi3Iwyt+w*=3yf? zZ|uH{JB`V6JbA$k^9+00@cN3Up9M+y7l9&=|C5*Npg2Nq=_J1gX1Ga2{=tm$1zO%> zc%8n>{WloAwvX6JG!L)aYEDHS^aURVBw=*41;Xm?lJz6(*=FZgF{F-~N!G>==U54Z zq0JFrjVE3run3EQ3|LwS{Zfo*kqa)4&6?kAW=HF+3BfLouJRs#6|P1anx(tx)(urq zaBX?JgPj;9Ye~6=1mKOUfzULV3?l%+Gd!4GxK@cS%Omv;kiqc~Y&`&RTm6Y=4aVbI zHNU_J?II)T>L2*K5OH;1vVXRTaD6w$1*AEbvPe zFrU%u2?faBtGTC-OJgTnj8_;VD zz^zaTr!3!0suiIvHX`{Z%?lK&)P1GI5#S1{_f5zodJ%FXP~Fsm8^ply0W43&<$r?X znvZHV;ltMc!&j4iV0pTHcj804sc~-I<#qk`+5hal!8dh{xxodz<6xS?(8CNa(>D^m zfJ&kkQ8j`)?6iRh`y33l2^KhZgy8uh?K)2#@z2s|u_0(~4W z_`ef(NPpH2KY#!MNy7jE{S1WvH--B@l9ISAt!a^p)qfz|U(+?1lmzK76tTyp@!Mx4 z^u_$5wqPVK?F&#ePe2vx9m`kP{XIQc0dC^Im!xTgZ=+qZ-Hy}N)YG-$xG;kj{0MyI z7+}wg08qMla8eB8$d|gg^_$ECn{&LF<84UBFewjCh}wM~kW5OSwfB5tu*c_?7Kipn zyYoH%=N%gx&jcD(9mrKOw(=mk2_$ls4Z5@W>ISelR`IUC4JewsvTSs9Q-^9=O}8QRh; zYowYXH4-+csAA~hljk4FPzQW;e8?4oy6^(c3dsU0(Y@P6cE=Buk(g#pBL5>Q_1Cv( zihF$g>L)zXebj~u{xi6HQ2<%REpC9AeXL5iU!pI`m}B}|OJ3hzuacTIt$EZ>ktnHv zw=5ZKm$Jj7i(g}r{|sd=>@@pFREiO}SXuK`8Z?=xQ_OuS`w^8U>>cKflwqWd9my;! z=M-EaSZ2ijMBaARZLbNOoX!TK*6Q*wq(Gu zUS_a7K!wg@%t|lY;gP}P%v!g+cwi)euCP;nt3q5^YgWZLxn?@PETkl=I1`CO{1p@K2lbH+xGi;#qpHVMDb;Ud z+gLf5;taSUy5NQnSRa~p-^^C?)C2V_ZZAVFZ*FmJl94M-qe^d~LcH_Ee5~9+JrmEpZrtF3abqkCL5*AelLW_vLwEiSx zlZ?8Cr?R;biW0+fc-){$kCGqc-UC%^EqP8MX6TI>cf`-hj^}57{@wP;q<#kHfE!pC zIbp?|%GU<$wCfOdAdm1Nc=?HPCEKs`kX;CZ%_a%(aCv%iICtbgb&w)E{qrm98S{}E zhW|?OEIxdSrO2V7!tmBrTUE`_fcbf*birnGO>HU*J4EC$*7%Sb<-(g7Crahawnx5L`p>0FDd@xuHBoYq`G~{vi0@ zf|1$HsH29%sl zAr)GQGew~P{i!8^y+yY6eLECE{v#LhO8iGIS|ch%0S#1^6q7>1_9;}fCm8B`*v^^9 z^OIDt6*X|b=i469hJ38+yE=n{`bf+9mD(b9oxdteAch@RmQz^g(;!CK_PqB=EG(oQ zJHIOVNkMXkM=IVJN}ec{PbrM)X>@7X%eg^D(0|H90;?#XHnZ_!aWzC4W*vs0R2E!^ z^n;x2Uk#@rZ1i-?5?QGq5=ZqeWSE8c+XgB_0-3e_D*hDY$`Hgu61NMQuRqzlElUOv zZ?tX&>GH8!{+jdvVzKDFRb&|i@^3wkaK$G@#mRQ_PVN8pe#s_UEb~CwQgk&+taL=}EW)cOjdzOkpy1Ik53&gF>HOnv5*E)-_LaWVTG3m$KAZ!3 zGk8Zh_?p^Z_Fg>hTDno3j-u*CIi3<{m!2nACPTr({wf>~#(*>rUA>?q*H>g%veb!P zw2@~qLQBj}>-dovBgLruxf<)9wp&)ln6780m`x9cX&|`Tu5D?)F-dy0nQUg|i4K|) zAAxPQEEJQ_{g#ZiYjuDYsO5IA8E8%dz?G2SQMQ+Q-uI;g33JodUxj5&?|AC;DQw~L zfp*(*wCB5O+X>Y*s&~( z1VsX`gayL8d0H-3>syRAbL$TakoTc~jyiQa^u19c2jL%{LfQBi7Yt5*BRSE!(_g^Z z8H71F@kIIiU-#Sv$9;QxdBo>W!p|;NM^blQ&ih5aLDGKTW{~^{|7=qy}$nw z({vGsIPJaK_`I>PF^v|epRZ}!r=QYyUa+7I=p-GbG4*EG34pY+=e9zsms6hx(-SZC z#t(CPP0eRJh-g-ocjtasx2E^WUh_DL0_ug=DSvFa$>4(=7=Z`5}bJ}1a$bSCncrfTWoqmI(YQ8d{9*NgzW_a~e*Xf;HqlLd7|90Ut3_etY zBLNw!vA&Wc(HDIDm+E^0@yXHO0Miq+Q z_~QB$Cg+pJ9t!O)t0K3=oWe)W8WkwU(-h&!7{af%6_FiPo5TNM~t>P<1=xq)V;&?fQ7M|5}y zOmH4a{TanvR1`wA0q^}OOYL}eTo^flg+^2i#}09CS<33x*Mk?2+yv3&151oWF+^B* zUT8-cg&H=Nb9;yuKv_y>^AxjUz`-e|-8@!JBRRDry!V5EWxDR8_=8A0vV5URf!!=_ zZ$+XFkwX_k5}|t75lR}gKHXsA66u^Rl9bG8%<^)w0z+!Swfk2QrrCv}vPkYR zGIG>!n7;%`B0jj{(LwLM8&2sb7#a~ExMpxr6&e^Wx#5s!m|dLBzq&`>u=>;)BJ+a~ znQEU~x&`cCh?X**76rBOF#;RXf<{&KO6OQ&TXpg(I0CXo-5*0vn}mPX$K17yxf>x7 z0JPe;V@dA7BCDr&G*0}eB*r7UJYaE4!$C{cvUrgEN9Au1HI{dpfs3CI)C)U&?1x_b zfQ%I1zKJ-OAw&)%F~~k$>Sdiwyky2;Pp_tR=lRpTlJJm`T$$p$)W|Wb%ix+Nsfe~M zdMzDzqeyek`uv3K@9fbh`+KXxdY{O)f+egorbR88Sc+B|D|U`YjjJZei0Jis=gRG$ zI9K*b31zgQM7Fs~uvBXbz+%Nv0xhQu15UG&0AZOh46c37gsI^IA6zxNxiGuA=IoXu zgT0q>>GDk0F3b6mV=wV1UH~o}TLFdtHlgVN{EIg;M`*^w4f?SUuwSi=e!{hMB${Ah11(RLos!@|mP@ zK*J1^p1;IWARv!xPtC-ti!l0Z4e7cw9Cm(dWYxEELPdVG)rfky{+lqcP0vUp3|o}QNcaG=(*j_*d6fCZJX=}5b0Skxkcwf zXemZw7#wkW$!#3Xn3{d$(+b7akf3`hi>l-*KPa#_(_E+x7M&2bH-d*>342fG zQR3qw5pHrw`MwR_o`__2GHkAx&?GKCIdg1+C=xDaH+-*w00J9@ivZpvg&GplRZ}C( zjPfPnOItj)gCF!005Kay1zPO!L?I&$_;RuPyR{csLib` z@0X${VQmCn{GLKonDP9E3W1>09St1>oow?2#Hmy0D1(aySi*L$6p81yoY`is?ioJO z9`JK9$5xF|Lgp(PNQYo2m~YG{=Jr))-lkf^xq2qP&Rm_~t@|F-}EL$=2xq}UkfY_lyfE+nP?!wSKM=`LXSqYMi`x?03g8UUFn zjEP3Ks_3t1J!|JwT>1}XxD3#&M~b<#DZMV88T2HLn~=S#s_;|y=UIAW7}0lYZoSTgm~l?u%k-zB9eE81HF9DugBi*-I1 zxo`IONc6Wv4opoyDjJr${lr!cWWeY>}au+v(U8s`C{0o?IWYF&ZAxorR4zeYu+L~-FyJ*(3t~;xq7qm>7v7q0a+2lh z(wEh|zrzSv8N{4SOKodvMq-y)f_n%wJpi4O35Ea=9+%lc<*SJ2oZ{+XX6}>4+f(07 zY15Nf+E8o?616}y?^#-ABl*c#%d{k{bl<;hq_yxzb9+kEDwiB9&z`AtHJ{y7##$wl z*=iyB|9p?wF)pF6zUsz`83mq1h;=!HvCFc><$O7Wxe7OeP#|S5R)Oj-W=v$u17KFl zSMg9zdH3=Gm*`OItBiFuw+dzQpw5jT8a$CKii>kbI zjZ9l2F!g~2Kz(kL`Y@HM_Te!f^k6A$+r#eu-v6V@AI4(v3iq`aG65Q&z>UcBQ0|Uz z@)>=pBCzn~3-n-RH4qDzywuTxwUl5T9au*NcyC&#YiYo#t^qtG{_j%&wOiu!n=621 zp-uiv72w!kU;I}Tez60Kmuk^pU53jgSVk@_ppwXZz&&#SL?U19i(_f(1O?c~=4C{) zw<9q$_z@y#C?W4@G-G+|giLs%VUbX^`A>pyr$-a5#SD3ou*E_(j@#siCfOw~URCH^ zQIRTHncvK|q^6{8S)D4yWC(dD#IGf$}*i<{iMFBHkE3Yuf9T>H;Sg3? zcu{IuzWn)(!dbpLXZMRdvM=2%C8Q3Q;d{vnlsUo++bFT6nb*N>>yY%c=O|YeIGG|!DetWyW zuD2(~${lk9dlr`}%@Zug4@@Zt zp5!iaT742B#T9DD~TFVa|JqKVY%z8Toe&1zVNB}sxW z^KG(5m({9cytGnp@~Sm=<)<$7Ysv9}T6rUtU~U*0q^2c>R17mjkaa?i%I-sKTX{yF z^g6@W&dK2NxaYKq@sR7OEX(8%%SecwBtTAEq;D<2qoxS>wie)75%8=QpgvtU7~L&SMT_CoVDzJ= zJwK#)mK9)fG~%Kgy8yx32^Ynwzk4R-g1z)0P@xVd20hH&Zk&1 zx#`j%;O-nAQrSlIEmKjN`1VY^MUGo0PAuPsud*mQ+ZxH+TtjW_mc@4TpgOkIw|sV{ z{|k{p7ygfC-6)9ShIz=m@{GAC3|6web<7^~)5KRepRKKv@FsL4svn2`L0oAqNMVQH z4$W71*Y$yZ;g5L#AP+K%|#kgO9 zw3x34t|y~=MO1pf!EI~F-z%c=&1(``%+xKpA;Dfo?A%b#Pg3TEw&VavEpWm#^U1o4 z7`}7aHvBA+w*S*!kYM_Ca@_bOTKb#puu{2)#s{k@f_(l|4JSsYynHW*^M{X@NDHj^7!In)l_fit4c;SgowQv+M}-YLY3-nhGmR z&D-k=#pu&03fLb-S`%0PpmxFUSe;`vxU#J0tM*Rs!Dl5s+>Vd(7sHg`sUW$LyBCD~ zoxIp1FZt=_m>on+q;!{{s9}^F%5F7H&3~khDOz;Eu3A{eu|Mkp8({7l$DSXI@Xx~} z4MXd+kyq+l_nfo%7B`+cF4-Aen2YnTpFik81m8LUKQ?*&IgXkJLCsp*Nk%1KNW5FW3R&?n?pf;{_Cn2ZdC^?WT1nVyJ4>v#>o7B2 zg1t+3Arhq<0Q;DC!~`A$NS3eM-BWmrLh-~klw>XsNJlR}mZe&ex~dje95V1;4iYThOim5wQs&QdF%{pj2*h_iE*g ztwk}UlHu;%q9(~w+sLkAU^N{py_#u_TNaAPYx5EN1-rxp-3Fd?F@p4ULiF{rHmV>c zqdA@M6oGuIxW5lSWw|!hnLl~lsyZhXOA%hrm3#t*wC5%N-`=-2w{atje$THMYb!Rz z$h0WgNv>`A6vc-`n-Xa#zCND z2@Auv)EP1?)7mH6^*F2|W0XJw?HM;v;DbcU)4DpEor-Pf5W|*WmnE}FWOXyUz0GE$ z^fnn~Y&izMc)!B{(;3{)C2|fyq{i|OSemezUG?HNvT<&c_FopsE&eX}#)K{+UvpB@ zSHP+af?05fWxF5*xd0jfqp~8#It9&jNc(5jx#|!JMUb+hyBqV%Gl=O*Hw3j)LbN)z zg9?AeOKmH0kU+duXBgY(gBNO9X1S7yK;|uZ_9m)zdp0?JP4;nHmOvk&Z%y*_7F&#YD&RB zqH)JqcF#KSYeF1@NC*TpO(MO9-pz_s9#H1^rA3+&LxV!4InG|8O|yhdBQNZcr94Pu z&4AI1Mwlv;k{Si&pRZg+KxdeATlg_5G8!~aTNh|3pS4e0-P0pYh>}ijCDUY)gz~FJ zx%kF57|!B6uTv-QKS`8rx<3G$1=#01o~C~$B*rz)f%sxMMlvzMmjgtj8ziHphctpU z8gt+)3Ca+TKM2K_Ir@&?j2HO+b#dWgyOAyJK>B`xBE zoQtL@wnM#H%9=|EGce5Md3rr#KFwmCLS!&mzhtwQXzWhVf>@HtO~e^DB44rhL%t8FXFnrW&lunL6@cAMp=E?KQV&AbL{nj|F_PyXJ_FmTj9B1>u& zhHAP|ItsHTmdEAHGq;SwZdtsz-04 zedn5tE&1i)0ZB4}sHpP2J=&6OE}tREEoZ$dmpzcF&}rkF8GNoq1?7nk^D7ls%gV2t zcV{@SXoDAW_w768we1~u_EZ*Wb<;KaanHKgEHbyq%%RI|qZTBWv~z=DKD#VryT@mj zvLqHO{plq7bT*CAxIbrVw`V}R6k#O9!ObanV6f}J?BTF=xNkQESKm9=DQv6z-G=J6 zI?vlGt6PV7QCFa@>|T+}0^h<%^f-D4SGvJ80XGlf1ENUpo{<}Eu%L%qOt${aZZFeh zvK3w4>*&RBuL`UOsMZcUiJy^D5Z`CZ1+`};Y?Q53EDQoFQe+L3ZRCDi zD)&2*+nU{m$?F3mfKAvIL`r0SMJ+aAmKBD9EDCB=_4^*iu}?#Z1;^zaEsvm_cETm#BXfyo|lFNr(>LoI^Qrm7I+X;DDUJW^=-K(F0JDOl{w98I+~~O-Z8K6W(}h)JE4`)V zRN4Mio<+^FZ{20z7L|SHF8j_bE4xqduj*w(*V|i&cnSS>bX`6(qk!gTNr_J`h|pdF2DK=Lf-* z!&e><`+g93KBoCyAf6Xs0V-etEnfIRV6CqJ#E*UuXW8`rI-7aP`BO27n`ANvC>9V_ zRnXKhLI&b;_IZ|losl60+Fq^fdPzr69kC#1&f@WBko%R!^lN;dM~A(B^Bs%xeofq8 zu_8*R>Zo4dLxLJDyKl2E3B4MYPTN=5NVTosW+U4^>za8=5E{O@O>Rb`D-{X*;E~Sd zG_$KQ0L-k$z#BSZD5CO_6-aRX581GE>|aDVf|_2X$>hIu!bz@}Wt&IO3woyBbA}GF zt@Ri>5GEr=q7OV}wJ8&O)}AxB+H>qm%l4P}0mXCSO>3_k(q>v`x4u~RJKc_bCTawL zzOCTvbjOm*zU3e%T1{gz8D)+gDD1STo7d%JU2w4!B4oyJ)^5xQwdI6mB;f(cR7s>V z;%F*V5Y$4#y|J`4Ovp`vTIjbEU+6cfvL{y2=voG8ErAKqF{&WJh{GQ3#QzharILNkc>g-S)fXcCyHPTxut2?M9yJI ze2AxHY%{0hMTSK$56AxF%SHB-Zlpt53G~$h-{uW7Q9QA)vqhhyrpyx%O&xI4zMSVn zM#TfOvFh}9o8};6;#mSKex-q^MOT@!u-8}Zp`*gR!GQ;c4%Uo(DL3^bn_wF+ZYxC< zo&~EJuD#WgLPBf{%b4WN?Dh_PuIvNJ*k~m_dQTN9?8s-{uv*m%;z9Hkjj9Y{jeU)0*n*&s8$3%wNgbL#pkOc|g|bF*zUL=7 z7=oliM5r%`4Lh_T#)@|(&f$9$Um`Vo8@2i_nN2_}WdtEA71C+CxM$WgBtZO)t!c0I z+^79f`=$Ocitxow=wFO#fKX~^*d|w3DctG|6vJmi7}5O|s`@0bs+F63Tc18jBwWBC zY4)k&dC#|ji8n6E_9foDbXt@CGq#&`xSQHaHpea^J)VdnvYSg5vlZ#b%jgaqIf$bt z8fB9dO~1q{jK+=*4mOLo$ruvF@PcKM&WUcu^-;dED&#`fYT}V&o7lecuyj^%Ub?kv z-1iE}g@j*CQ*a2$%64~^oMkN+5mD398Ejmk{$QOzSC>dqh3IJA9fhI>gb_DVfd^J$K4OU~>az_F_vqQPs8*{XI3R#?qbftssjslh zPNAP7rHcoqSP|c_ny{{f8}zr-1pe@wtZB{d&QPZWd$(=U8DW!-2%B_5*rWr(CY=wM zbF|&_z}{bw0)@ES;lMA0S@N& zvGLvyT=4<>^-=s4mb$`q16GB9qCyOovbzs0N*BcKfUOcK!{}Q^yFZ$ClF&o0Y?z0h ztkn;%!$~mdTpBqs9HDhLnpC4aMXOb`z#qdd-87k8ND#2KlyhqFjM3#Y+C51ko7>o`;ROKIm-`=3V{Y=RV&8Y&Us zsuKQ(Xy#*wx|FD@No!V#dU>5q3F8AL+b>HQOVgBdZwWt6fXxv_Ymn3_kE+z`&=Fx@7% z8QD!{1CBIBs2XylA6S*iL4LYqQ<4-x%ayJxw$BJ>iOL4|2^>51-M!}pXS4_c{!F~r z1YI3xj|eow;!Me+_CBP)zWWEtz^tjGcJr*)AH8c2PTM^s_@ZWi(2j=v_k(5|eQ&i9 zm!I^{+bs}L|45J$aHZf)i6(K*9T+Sr`E+jCi8!`05I~srN=PIYO224JmbQ9$o>IP0 zft;wj!HG{xZEj7Qq8+0-kj@nIWSq_Mexu|F36tp-ml=gK8O`u0L=P_?RS%h}0k&s=Kffgtc0wcyIGVji^777L#7j;O-E_ z`G1LCURger!H^>4dM(H5qFLQx2i=VLe%Kxi+RXy?V{mMT{=Uh4QK1J)$nc2V@b#Gu7J)Da|Do_yY>zRVN)!B)~-K<8&+kp{WtJR`B0Ye)Co@X<> zhi-`y$I@fkqwY$SR$8_H<9pjT)uCB|pW7uI-n1&5&3DabUl7%RE) zat?0bXuX1ioWOdW_@QB=PD;F8GB~i!N<`q@%GdOmUFj)Q(s4AOv}oh=o@kUj3W8VX zyY^jtuHq>`Ay^6@b=#K6Gp;4RN$>YFP6VCiKqbS{Ws)6|vXnL#?yC*~T()o+K%zr| zQHj)1po_B1{%ocA-)J)Jn<0sA#3V$Kj~E-2sM~qqrR^|u)o4s1bYQ^{Kzxw+Nc{LH zdNPK2VR`pbXO7!=0?}i~*&W}ChcSv*`bxkcpcR`o3=LP(Y3 zVRJ0y`o;}G8<^Qe&QI=F0%u>Ie%Pfv@^0Sqp9E7?KSgS^y#VR1o_X4dBr&gE5&sD< z>n%v&J1uy=O7+wB)2C8CC@4bi{UrnBNiiKu{i{!*@Tp&1FXffYP_8>i^j`4aO(Nw$ z=+cNi(pXZJ=#zLn&)AisUV0%bQ3LJdY>}HrahkfX?9Yefxp8A( zr!#t`4G9J*mu%HG10C#>h$_DkzL9>1DUK3j znGRQZECfGw1P3#d;8f*@J~2wr(nU`&U<3D}<N7^^utGOE9y6q9wwZxwIx2 z4w2H2ouBcSUlHvg*5gIw@N7_$zi(h06GkRVySg8?!MIkBG>%BRDXfj%(+1 z3*B)zxibnri|njnZ&NiGs_6@zW|rFbH&weL7QEH%)|ejaTL#Jf^_akey!;0#G|K2h zS+tN0hdloE@D{N`a*ennNF_(yvG?MI2GbiMTdvT)P~hu?zcd;l6s8-)R0ZA5JLJli zXuY!t3~B%gL~FLKYX)!YWh(mGVu~KuJf~L&pVaVHVc&x#hK0^huMU~C14E{MZ25l6 zWpXpU!!3njBALJq60ik_)L0ftat>QDMt&V2KCrA!5;#T#QYE##swG%!7)zG+y|R=G zn5j_fYqc6Zn}sj)xJ(j=ZF~<$C?ss;4Mis_t<|^B)xI^|er}TSXFNfY$r0v7d;olz zlc!(~rJ03g%S8!;6ta)I)|y8adfN@rIOA-R4RS(eY9r? zS!H~vtY?Ms3`wVLgMza3dj5aNb)?h*MiVgjp#Gk*S7M9-j>jMwFG#ctEi)IX@*2p2 z6T3Clh0`0Pfa}VJV?b88V~>)F1c<{R1`q^=uJGx+VqeeWyPK3~y|iVw@pXcrq<T>-Hb|7ygzB zO7R~ELNlF@r%8WKVY-yQ#(bWAy+L#PaB)9Pc&+N=RYa}^;Wz_FjY2GhYOi1+9tWXP zzDpcw)vHP^$wnHfS&hYEwzz4}CS|V+_9VkmU+;1x+%`M#6wqsoITxI=!>x$hV4iyz z0$|Xapnwi&RTA(*#?1A?wc4OcT)I`gqo^sP*z45AwK)RF^xlNM&Cy;L9jG zPm{0UXoMY2#04kdyKzP0qk>gOgh#a6c`h-QlqdOYg8N~CTW+NFi!Ep~jXb`F27d^Oy{dr8>@gYcipd4ZT5R_L* zuf@G9Vi0N1#y)0VC};ZhC1`*Zg=_6Y67MKqL0hk5Z5=^kFa+mp>Ttm@0&fn%iR8Ek z|4FZ2s|;a9jmToO$`*6~(N&UNnS1?3;dqAf#chz}%FvSK*WvF`(DtD71P@EZ9)X%< zso{;hZEQc<0qHNj(H^rI)Pl`m5UDWBqRaH!b`i2^6l1CMfpgHwa0EStLV}B-ebS~B zIWxjFC{5ZU(xQKMYB@vmmd9f6fv_lLI^8ykmv6}a12qJdIj|IRv5NSnIQM!)8Mp0i zZ{ur5 zV5qeyV-o zo%!K|)?I~VKk~94Kg#Pq{!JcsY&JJmYhqOH{vJglhjZ(Icc6eoG-4kI4ga}}=ZWP; z8ebt|?vowtAB;;LvNL@hQrII>f8alWsQoaZJe9L0hk1hC@Y`D;Qu;jh@cUwKJ;-MF z)Pp?+shfhl^h$Z?mGaI5Y=mbX{BmS8yz(G#FPRm2<+;7@Bt4pxpb)`I!u8h&anZwl zSm>Sy==^{8Jjt?XbI$`J74Pf|G_3A<#X$ZO-SdiDwYGa6W@H1sTF@>%L67+6kzJ^D zyz>aOhjf;6*6?7?a?0RyR{t>Ga^C8|TQ1xvW@%gW+!(^}IlPJQl3FJtJ9F?im>s08 zFI=vfE$3-6KSaZ*u$4yD7{YNf{gN!wact?F*U|HR*&Mn7>N^Cy7>$s@HKesMt*)N* zMuLU?{Vc`mC;lsmNJxfhpcsH+2{T~$%2x=06}p)e#P`c;^MqdCF@&yNY-*V3oNPEz zlIjn$KWgYdvvk8l^mCPlvZAi-ZI5c8D$Ig|6yy#fwFc9CVQUd9)4>iquaq);O7hl5 zN|vjQU})3jMX8f`ex1(n!%c3xQWOaEHFjNHa8})PWxrkCLM#aashfwJq!CRUb&J`s zV~j~ShrF{<3Qc^{@=#(_;x7ydb`;=8iSw2&muUgNqj+R*3clBQT5nwWasugX>(thCp84e_T_hLHLJA*F(aM|U6G4N#(=!33Zb=99&C{RuQ1{>u z(mnPqY*7Q=D!PluL?<`6k!WlT0eD89T=bHwMNl^wP1uBNAc(Btu3`gFYW&*=mrBhI zHdX?>PLu6mHqdaDPbw0ltf-;T(#J_W8GyQF^(i0~MJ9NJ`XZCu8+CaIla9oI*xiXFd8R}LM5P3g zq=0}b7)ZmiB&;hWltIZ>W)_$5K(;NqlvDWpwF}nZ3Y>u7mRhCmnA!KUBp@f<(~4;L zj$Ao_fAZVzlLDzt0wn@fv>1toLioSi3C}$eq+b7~>_>7hJSWW*6O2kU^PJQJy4F7`a<3WsnPo~F1&r1>2 z!oj#A6z&k>#W~{P3K^wG)PlAT^$q$pU5Q{=D#dIu;PBv7w%SDf`V&a`Vm`jRms*0R zAFVBr%;@$~B&Oj`v^7YkNu0x;+U*?x1zv&4YnFT^7I14&Q`6tZGb2EfW`$i<_N(BG z^{UgvzV7Cv8Pf(Xe~RZU7-8iKwwVavV%DZfim*t_41UQ*)A?e(5QxH=3-pmRaT8wULY21egk-!8!u=%+~TCuubtR7Ts zPcOC?RBT@_w*NaD?h2bZ+GrFHYomc|SQ`z}gtgJ=2-3!HoV^JbpTmw8&6WQO1Msh( zYP+3cw*0ZS-`PQ*d-$`CKSRpB2+H-m_7j5my!Iphe1SioZ7YM|k zlUa0=%<+|&_&OD$U!XY>?}@UDOEC4Zr-C7EkVZf@r_E?QF z+@bM@rOAXW1+l5+t6ZVeCxsE1Z@kk#&xF7y3C8wwilyYS(iJV*HD8h^lJ`h|mS6)A zd7_a74du&QQBDAf(95#-gZH$ja5%(3&{E8{D~)TS6DfjA32Pa=a{}}K1r|B1qRmrUBX@JbN;o8R&&u0 zm`l*80zcU&pkQ%~9JU)7Bls=+Em;0HkuzE|E+K}Q8P1jz!3!&X1Ptkw*o!OX7YDOf zHQ&X2Tkr3#=dd(mg^+Mr<`Cf&oJkPGvw4D_qXpgFJew@X-n*E$QL`QQDeMV#?$FN%YoPYP?9haW=qDYNactsa}Ag0yW9LiT`6F76|EW*{4~M$f!+~r ztc|ycpCX?ZN=*uif1VT8#ZXU{5eVPz$XjALqyM( zbF?%?D4-u02Rc2fXo2(|wR=5tI%3jR$W8AIy={}5MRE`l3qj0i4J}zpA-!3v4d*tF z7DaxQS*&zCiO44<&F* zHl;4&w&m?5`mS49urxEYZVj);s`~5~Z-qD27752k-VCqk9Rl+NnuagyjxJ%Y$#57x zixG+T;bt4@v;4TNR?=V_^xvPhhUzK-D=da)?TlIPn3V0yc(Q*&Ll>`ZyF&#Zv6Ai6 zqwZ-N8}j811mC7Hdh;E=OajhM zHfECn>4*2MZ=m+P!X+T2YAau$CHYk{5236w)T_h!m=tx>ltXuqMFE9oA^eKt4dQ4d z2W;SsXa;Pyqq)+QnD5Zv*SrY)lnr;43PX8Y#^~2H#XbbmTM3z88MLSMrzm3?(yvSK zzlF?BDhg_Egp6Udvq}OuBgJXC)*J=Nn5XbSEb0p>Q2=7eive_JL<_|VX-VnQ>Gs+e z$BolguU%sHlJK@?Vp7C{ADhue_yTIl(h3@_nI8;p!kGMdG4-T2y94+eLqYd>o>EZ4nzAQW>DJKoN=y+qpLY7z|L)swOj6pRG6L{vG|gzqfL~?(hBk^ef;}qF*8Vzph_P%}H3P z+uWq&n3alkeVp9Or!wXB87)_+3$7SePEt(08m-##_y)roCU@~1QFeO2`As`*Ml4>- znT3^^(rh=ITU>1dwZ~qxc;b{yxGwOzp%traqPI`+mq@wWn?8FjIN=q2=62~V8lWR} zXi}Q~!0M{XbE<=ouXu%y$n9Xus`E@#Ek$j>v;Qc=xFH-xmsa&vfu$UjS|l??7ofvK zUySQ@SyTg24JDX?-hp28D{48@3Kp&t8IsoKZoiTPfPGt2S9zcF)jYid0QNJOnjkr! ziWNSd**s!gN1oWS#%Hk6*V zs%7Ei)Y59bs-;!BRZCtmw)wG!Rku~g+Wy|(FxK|>N|W?|$5>+x|92T{hN>J+PA#q0 zt6Ey6TeY;|vBs5p>v$O?@pM(Cord}nX)y3*H$xxE51cx62m6uJja9UsT!2H#?H$5! z&ixNI$m|sbE6`yqp^Ua8JycmyF|xaBL^vxd26BfFjQnc~7u8fWy1^@A+fWalw0XGJ85aJadJl6S-yD$pr?Jjstq*|U^|Z*4NM2&2 zKiL-z+>J8aE@&GLRdV1nMuX@LoJ=*H2M!UX&JAO6g&CuHC)yfzPmg--XiM!@ z4`3!riU1SQQ35cgTL8wrJ~*e0%0aIG7yx;A+#ig}fhKY%Dg=G_aa4vDhbiv6Vz6B& zvi7kn#=616owEUId#C@dGGr|JZAHT;zVI$5_6?%4=|ehvL`zAtf0l6`;Yl}xuIfax z+IF14*t8Rd$kH50Wy_*5v}r;E0rCwZ!R?Q=yg4lkuW49w&L;fVgDX^g&-5*C8@R75+Bn z^B8RRM>K>n?nLzbY%!N0L_a9*+g5|KIgm^-X&X!!gB{73FWj@Zn1)Y_K7ls@L@#jX zatYU0?5VO1K%Tj`0fd_hEg5o#A zsS1+3(@6N?1ig*D#f=R45@z1p_;V8F%Q=o-66bkx3(E@%{|gofJTS@(LOA>k z<#G|d#3kf*eWDHS*7(^a-Dp3lqD@29knIMQitlIE}`YLEuaOe$v?LF&SvbCcw3oLB-JLs>c?#nfr!}5lAFPV7%##x zu{tts43+wi3>~=Y#YzkRN zN|LmetRzVld1ZtpN$UL{jeMM@XGrl%$${0sd}2>*jwK6qb8I8RmhPOKM^ac@d>;7{ z&yByw0Cotu)e$?FbW8VAY~z!{ zOJ5da7Yfp|D(f$9e{>o=x1#TB)%Mm74u7Mv!Ol4vF8V4Yr+_Z0qQc5YHUQDNrYjXo z6>759+7p#(P<3K&4?btwtDt5DwF|)5nabTnXuPu_n%A#732Ka(q4dF9?`|X1gc#CxQ5nfqm@dy=@7Z=HN5D zEmQ_#-^DdWG*lcqy~@G#9Bv`arm8EfF}lP4FVJ3eccQmD(K}22E)XRWx9dt}+Or8p&-U`I@8vu5 zrHnp=9FOPpC4L*Yc@^U9Bj@C5fGvwOrUWlqwzq)SYz}agpB%5=IbNxC%X{-$#_q{k zuiI>ly8YA2Bbl2t{veewok&E3Y2>g|^o0g`sPFFcpiN*8OL93p4~@E;XXFaNjL;(* zC(|hdH%=gO0z^#!s*+OaY&=~~=vkoan+&4QpdxvVh7pcGLmZw(bh|`qS`z0e9FQj9 zzzoIkS!5{dUBrSxMPF}{8Io@C1kM;--m|L;0d07aEf)+5?_qp}BH{d+(emdye()NH zX#vA$&Y|6AUjTlJJ^opEA=<_XlI{yaok@mTl^{_+CLtvdJ`hYN#!XFg1}$Ht)2SUp znnk+IU1mXGce%sOP&7iGR3ln2!mB8T3nG3z{Tkor(KNmX51}PkyHVrhl6YP z=91*1IgRri!d1!vfh1fZagh-nFiDJn(ZL|*S1vqIHnfo70|{RpEF0e5ni=0(Grlu3 zzO!Z&Ht+*PS}0W|wNx<-#W+nx5#;1G!`3uDXF@B$Th-=0rZn-EtzV4SF8mna(_-G1 znf?T^XOgln(!RG4<0?yE#$n&TTny#rET5e!o0mV#1COR}F%BO+FPmk&U4F0}#{OHxhM=Gg+4A@pvQg1OOM5E6|X zi>pIJ0cSveaZa@>%{jK~^SrGrXF2in#`nM=(G4Kc7&B(X&*kf3s}r{;4&k#c8=D!8 zcQjfZ|9~u|A6!5%dr~AUbe%(#D8aU-%eHOXwolnQW!tuG+qP}nwr#um-1kPeSNAN} zij{+$WW?UFzyFhPoQ@w3>9h6OTA8%L)vd7y9lvvC#|{z=An0E~_M#7wPTI{;zX1(s zQY5Yj3J4~(QW8}EttCiaBG^fQjkH197Z5fI06>(o83j63Q6*2I_2DGcofq{P^SM8w zt7W(2F|E-W2p*;XdH5i>7@p{~4rdyGYeTkX-Gvw5T_vAifusFg3i<@rEm`wAJGTi@ zjh^6J1CqLh3(^*Z4Ik7ge4n|j;gukhUr=zDSDnetx`Zk7J*wow zI_7R%rkL#R<@_@d>fCz-9aPnDWBEs`<;DrS%H7r8v4-v;1f1poA-$jJ(Z$89FwHUJ z0tSoR8Z0pP7`p9bJMMiO4Vc(!W>1A%XXbR=im`k2r};@nz!}4~qyIO%ST?|;cM-Ei z{EMjSq7h(hF77*}mGYA|os6f{17uvzwJcb@fWov7-tyOw!?%6z-I|TdCKd~PclE+k zoE!MzpXI90OHY+^lgFF6;}6<>UdV3}HBoL7>GTOKr4F$f?3+ORuR7d2JU;(24LUK$ zzl|zY07e%yC}ewvJR}Lb&W!QaLG-Nc@6Y+up68nU=)wuOJ>JCF+7a;joV`7o%VlME z6BSrp7myA~z@=G+_J|UD=j%skbPgd93qiNlmH+%Dy9z=NVj(?LS&nZw8NZbPKrxxd z)Gg|wpo%8{8W}x>Q+%U4oX@&L@b4$HH&z)Tr3*t}qT3H<7YEIc z`o~-T+D?n3TvB|)vMLs%^9PK8t?ggP zCeT0II!(*%@Sl--5Hlr-5OhsrJq7+@JB5;Hf0A}jBac*p8Z-l+G_Vs|X=j`1R3tTz z6bS{!A;j;73lu7fwa!;~ej;3}uMnz)gSHD|C{(y5O~!d}S7$Ci;`03^RzNym8T4ME z`=LVWW*an@0gFbCdAAUtU^n;Gu5FJ`ULJ<$C(kno_WD+xGRC-fjBwmQc&;S#Fsa3b zV|C_zMsJc*!2WG$7MQ^Pyg)T)iw9j=II0!!qx84AR+sjYvUvJsZqI>H~%24_ag zfJR~Yt;O%1Byk)HaAI~1bE!Z9T!J+7TGq4e;uIx#_yNR&(M0kWKP0CKTM-AQ#t2c| z;`LPZ(K9BO{z-Kv(|{wR>^0iWInvc8gy~hiAPDRFsyhA(ukK$kMkS3koV{9NSDC4I zmEuO>W9{_9`K}@?5x8~PfN1Y`7op;eaAIL>_f1H;f3#g}JuX9P)1|OFXbJ;wQG9$> z=I;gzx0yh)7Eaa{{OkKC+!KLenm*$^q7)^DT1vl*R(b7+6{59FAP8OC82abO(iT!r zsNE@4_Z4}^IYKGecrD@nIAYFD$9a>yL$NKstJ4%}Y=|uKqp*K-KY;Vmp0HaqovzSi z8fbSpDTiW$hiIzp9+MBDz*M~n={Jxmo-M4C-?p5vb;(oJjE|d~nwxq&M zP~j#Sl?vGPCv<8S$(K)s=4Yysc%I>*+9?RINnaE$aLdM0I!j(LgjbVb%7nNG*XwWL_I5;J{wKOKVq*JE!z%BRTWA&spc9;dc@44Z^#g_Jc3I{j%Qwx(FGTRK_IQu&p23P?yr|(^3}d+$4PN zb)>OXo*=pm#Zs7(phOD}DMx1!AK7T0H3M~0J!0o%w_@oemyH|=%@v<8JjcDQGs}F~ z(T8ukH>wKr(+00&t#hZZL`?E$PsqV3%m|NWnYv(Wn9?eF@rfylM)7>)fT3O1lsRs| z2Z&WnA_B)*PA)!+b{=wxpZFD9}$ z##l`a%>ghyyzfI9C(St#;Wu+RRqwzOE^bxoT{@RxLS2rlN@cjc4j+<@KD-A3PLVAtOAf<54CUD zd?-tlfL-mY=8}^mN9i{_Nbz-r97Iq7V$|>smpVwst(S>IO2@u}G{Fi&va^5mmMe>5 zYs$p9{MPeOOp;w~)iqP8)W0F04`n^8jmOU3%s6F=k!s{PWpnDNcgyfi!A?$#y-T<; z0*Le|q3W3c}nLJJ8$WlXl>!#!vig$BHX>gG)8DMb$3#;h*uEUHz1z`J7s>J zec@06o&sXHt|qhUgN~^3Ft1v{TY!(Qkf!XFrxyQCzP0W(H;;d(RvlGf394m)ABleB zYAQf>U>2CSNr9|Hk zNxFM9tlE-8*YR1O@c$xAHb{{rMCOFS5OYdKp#zLdsqG`!IIXn%3;$YuW4fytC$h2DJ> zfgASZ`PRgpRL9bOM%{07uvRo&mwCOY;7K3|@AogHfto6W_Y4o0It;vz?+(5yQUS_m%i%^oD zaDq5g8L*P-d88Qm1p1M#-P^vO$>TT=SUvI{fkY;g& zQ%T)9T<6xgfHFCEm2a>h_tzZwAFMrKa_9V>g}Z^$ZsHD+>0J5tY6rQ%NV zYyCbEG6LY9{y5U2NJ3Zidlp=!CTK!e@o1gabL=xNBgu1tF&t<5HkfyqHQCT+ETpDD?AF9i@SSSH#ByzA#AC0*+XWl0*cu)!Z|CEz4CE!A=0tTkR-HO7#|&jMKyaeS`0| zw;1hnd~N<)z$mhDW=7F#VvB8uasbq%QdFgr*HwCbGk>q|>v!@H=~C;xz=xaO*S`w5 z`w{pJc9R(FM4s6x(~lX}Iq(bm-)WtLqZvd=-~a$cl>ZM^ zbNO8PP${%&?hjmeZ?*U0Z-*c9#*p!%Pe?LV)(RIC0;n6>!3)Rw6G)gTMbvtSw+lCd zzlV-dOWBL>iYK3dcoOlf+K^ft@_GZ__VabVNYAdOmWynTPBGI7as~pprVmA;qTHj1 z&n5)+6Y~DVl#;AoSClZ*dPf8~dM}pmxf|$LohHVHbWt29Z7T?Um%flNEi9uySjWF4 zh5*TuEW+F`NKZ+DC>a|-?q%U7y{cduIJOS`);}B)m|WE7;iI3kB4U96t!K6@Tdxq{ z4M~HhTG($#o;|C{LypDUuUjtiiI7Y#B7|wvZDjEa7WVJ%4~Y>;ED3bb?bcnnJPA9{ zexnz<(pR(v!VwC)#5yc~cuX_Yffj`|LM_NX+Bd3K-QWDOCjxeO1k^4b2p2Zmnz3LG z4*JF3($Buh)Y7RI;JFs!l!6Pg)t)Q7BH5f~0^kz5LcSXewFZ&uV$sUrTS+6UTN|lB z$PzT;7V2qgv0a*lfkr6&L=wjerqSKNDnJ=dtWak3dixr8tB}AcSAgB^nO?8roOEkj zJN;D~3*?Dab7p;s3R_;b`i+07Gz(&k zhA{U*N+Lfh*L0Zke->zA_(yU*1;fUF@I{|}Ww1|!WdQI$d}lrq6)v^Sm`ThPZW={R zw6ZAS4|f*pdM9(Y-vs8h$miIz#(3hFBRstkXMmw}%kcL7Zb=}{KRwar%2Sf6a*~7X zcJ1e>{62E#`)(0sOg34)OWI?ER@S0;c^PyP{ku?^oPr@J_Gh_lxPe)J?)P^g;RaIy ziGD(A4Jp7hFsKaT<`s(!2%`D`SEH9O6x$3gwJ*7Aa@*#T8LzDwl))Ydg(1h}qxycf zgOGgt<`uTm9o|+p-Hz|>GECP>FwX~yVRwGmpR)BUqa3sIr#|~{5px}Y3K8yx=ZCC2uG@w3fredF zqug@tUz5Obr3Z^{j3e$?CkQN*Ty9GjUX;DRD3rSvQk3m*M{*T^5MZ5{OMo}_e_V;g zjYL%f*Hxt34XuwIuk9zY)bGbEw9*x=yUoZLVZq2!5_#AYQ@EqKU7o4=!|+Sb#2Aev zH{B0O7`brQe<5Xi50I0mUvASH7%Pz(4f~vAx+z=}R8eK43>vryU{Sa(7YOVqS4~7K zhze$%E!dX*_04{|x(IY^%9_++$FsoR)76-b zqHkjnk5%IsbE-lMHaIzQOJyg@=@g!tUQ3Gp(X5y;?9c6I3tNyt_2qGP?URmIQ|7kZ z`Z7N^v5vZ&IG`aHyx!4 z>GQ26!_{PFEP?}RZQ}Z>JZ}JigS2v5=-^wGK_d_;#V;NSf}bd6_LztC zfY&c2<+Z-#bFxd8`8zQZ6n;WkcqTzM&n8eVIF65!ttc+_|c^qY$UgLzJeY|n0{2($FB>EJNJ9?Q;^LV7% z=dJazhlG@fFq=BvtWbLeEBa z-3>2JlbGOA&cNJxr_p8?j>D#G6cM7kn{% zZ(pxsvk!JNvuN|oV%-Vor?@#wqrTZx*gRw268tSkdDPxN!D*-rb7>>GN{lt9?lWATx9PPYo^SczfcI zjEPyeCP;Pg9PKHd)xPfs!-E>U(a_yUhS@{jcI>KyI)Qb3H{6CkBJcmUds5$@I3 zV61K!4)V)Y4ZDZd4Bx2tIss4=K_(syKTtGNHID=SK+G81DAtUn_cSN1)b$2xAlFcm(7nF^_p{nkXnU4Khr=;8MT$G>fyRdL2rl z8W<5)F`yB~VnDvovd6vc!q%YbX>{to#q6gVLb#2emzh;S3+CfZtY2^VVdwFACR_tg zyjBwkoY8CGDX2^vtO$Rem3UvDNkjmpqLu$96rZ%xm=tjs zBtt8!5in4cK88F8DaMg5Ge1~fuVls`M#!-34|YAo8Psav%gWAP_yB$6aX~IT{jKiL zTrDl-#~pO2nO|5=0l%XCdIS1-et_}e@&u)~vz?nzow&Q!tJ}Q(U_xALZReN3VLtmB zgtejEhjVn~9E6UU3c$Pxo&Auwrb6SmDWSYp z?nis%x8<=J|9SadH0A{a!1NvCNQ{OZYhVyJadqLm&Hf4q9S8W`m*w!xRO}j7@-2*^ z;z~2*IrxntE}t<0ma`%}h@07nHq}1#b_p1*Ra}l#zsb6-cy*|$rEA`w%BmeXv0~Mc z4TT=enu(O>2~q!6l%=2+5mG2G!njXE)q{=GHcn6g%)e0s)4gK|p)g|G37HCI)qb1m z=!Y(8-G}3`uRIYVXDyI0JHTwG=+hy$5;}sMZ?QS%NQ)~>>~{#4e+ru z;hP_=>SkMu5S*oOoGo=lk`>rcA2(M*oYbB{&vF%reYK@jJvv}r|ACwJB8UAG{!NXE z340J#nEkUVzTo?1;$awuJ3jUdzc8o=@a?l31L}@>%W6?qr*3B<(Cb5=7rP5>Ru6wG zB}zn+kW7hVm6hFLdbSw!H^$#v_cvmPP&o#+Jroq#gh?$|H9D*84l^E6Yme^7vdTmJ zNUFssnY42k&TON_oX%j?@vIV4GC|q!PZ0$kjlb1w1koy3XwV&ic8Itjsx41<5n7jV zSD{ae45rJJC0&>W>%Mwf+8JLA|3yZ0X@(w(@Nf&-JP({OPa&?*0@-7N4&m!df??8) z0t~VyVEz_`QW@=K_!*JiP!696JmP$RF4DGhj$$95y2%O^)VFFgtYkPLe1I8Eo9}p$ z-Sq>Z){^h83q-3JR-~uO8dwEc@o8GLCwAzZN-<>-p<1zbEiEx#gkcBb{15JOBYVmz zm-1MRI}XPaT-x}FAc!%^UHLr3+dt|bFY;}i75eNSWp3wbgTr(z-|Zt$~16*UozQl&uAqA_+8iO^I>!_%-v3jn75)pLp0(22`lYL4SO*H9!&Ha6?@%;uJ zjPJ3XfJ7lJd z22bz&IYq}QUf3Ucf-r0FW=Vf-`Evr=!IIS57G+_Eh(L`2|5k}aS|{#3CdZwfqTVft zwnJ9Qt0jmms5v+9LF2caEQvGS=3VK21*%46H4}4%9w2mFg-=?IsmZCsPIM#lZ+jBb z2+gA?a4{Z*(pS^#S-N*QRfs5f1g)Y$QEc_>)|Z<1g3qsz=%1H5l1UOH3XpW@%k4$xA&d4&5jJWX>!4%gIM0 zT_#;rP9>x~NgZk)bJuZ)*J&j1=4ZJtL3`X>CbY%-)PKcw4JAR~c{%*j|Mz)rtsbgH z1_S`$0_OkImr)W`rZekSRj@q}L-2X6#W=@CYC}VSoaH80clE{+? zCPqXr%}xdL-Jix!Rl+uxx2>=g#2n^;GC0;tNCJ&E=2iH%I3Pf5Ht@cDe7ruYb6X)~ ziLA8%c-IJ%l@1n+wG5@CE|pwtnPX5oRDnVxzkdjpgMw^i3mLc%z|?aTvZbz%rfA;? zNKAOVLGh!G5yV>hJfKdHf~h=ZN7+Y%&_tsg5I2TW9jncSY1IPT0_zLWjH|~Gz^7$URbrIMAr1o23_;Y-G`zGqnVOk zCr^jT_CX?8ZK)qs;NfLG+G~U@=}61I)kaK)9+`|zm5N1spJ1%NLH{>uRv{2Q+JOyN(;$ z@L_iQ#-sZtjaHvLe)5KmQTrA+HxlKP;jYvNN7giQed<#HT5GRAW7XQd+7@dqqBI;YX3e)i?Sd+RHoE|!rw&1)`qG1cS@o{~^2cA=GT%whjI%TJiZ zE>hDfumqqj1I!vIhNnnx!{RW(AaL|_u0?k!!@asbts0B+k@@-c1?}FRye9Wb*H+Ve z$%l*vo}SkJj^6|pbvIpttUY1u(B;`Qv`(^afF*Uy?%J@*@#Yi=8bN!!k_vb5lXV?% zPyL+FKBIJUC21%!eGJKGVia?pRI8c*%gfbcDhvMgRgq~-l_bE z-E!TTc71-*4&^();c_-!Z>0d#~@SlqE z>OUT*mV|#EC;3;FcrDSE$GZ~yENzVx-0S3GEd|-l>+AV^(y;?p(FzjdVe7_TZ__&> z0YxNIuKHHi8FP#HzA3$bE+-hkshb(Jb;4`eS`Ax-P3#1;ulW`%qa*Mlad4&8Sc%2V znS$*Znt;?X~oITa)~ut4nZ12eDzm%9KN4AUS_p7+Q$HtZ4E7i9YEW;k<4`zy$E^ zj)6E34KB^Dg6^>mz)?OBJ_3*-A{c=^`7!1gmOAFI&b})dzK}oB)~fDD!qdX?AqO&M z0?P3fMR@9Q=>vXoZX*Eyd7N%%DZk1PW>^2$;v^w6?19C^2cLulBqRnJr~8_38c2~JJ{B@h1K0%p#Y9QJqsnfkN_&U1ed_E1s@oO0Ub?0Gw zn*9L)=+1foQ3>qZFp1gN`CNSn zyM^iG!W|Xza;D_mRn5y?tI;i%%8R`ae+Vdt^$cJAulnP&Y{5RwPK;DFw6t_JwJfz; z*HqDWUPt;Rzf1*zFjz}l{e#_zGP13pP-InIQP*MR??cg_yX3)IIlqa_6zhCcwai)5 zEZyy2p<1}fjQ`WgdE$kt-2`5f)0`fuLQ4N{i^-AZ{E0E=dmqz zoy8xTKg-3Mbnz7{*1B!xkC*6Cx=EmVS^&L>wjkM&cZ`osZdE03dlnUim;Ki?UHN8z zv05W+WTugvC2K>kYzV;X5$p<19rv}4ftKS*FRt~A6L3*Lo2iMIyGSq4bO)eX24Z95 zrC%hrug6nwZa(G*ZiJ{R4ja2P$PZJkuAF>ssX&1rxSB3#VdA2O_HT zFMAI&2}7o{*s0S2c(82yiVX-LUqs(pNDc1%f(x!R)0*0*^EV(5!P29t znjw?^^l%ZN$wqDjWOIi$9lnh>SzkCvPD4>pqQix}YuM6jDVqYnMc638c-d<4{!}zv z>l*e?AWnROPU)0#{5fNr14zeihYU@cvCF_ zz{=8*Yg5jj@pk-x+Dk4J?KcD*N7pf&c0dYzcFF||q`PN>@)d0h&qhjhP%L!o4rTWuWMk02-P^{qDLUG#F?CH+W%ecN9P4p8TVK zAI3633E$Zn`13i1yu?fD$StsoZxvlrrVf_3U{uPUUI2K)KLKd~7Y$arEmjCGD|CH| z)UmNpxeYO5F$aN@WZMgEM>`;}88!*)p{(M!Jr-ze`h)$E}>Ztou(2(Y!o0pkV>59;#y^F#K^cr;tpi&$lN@CB;#=OGdOKXORFp_S1K)y8l?13f8 z**G7_(BerrABh8r!oG@b4rg+z*fPFT;kQleX4y}S5u3N)Uw}E1A<6nTtafGW9It6n zd@cpSIiZRzBCz8OSwOF7EvgaOW%c4ac*B|yIsqS<{G&f5clNxWClcpbS$_xHkzq$f zE_pn0fyqflT*ob0MY0hs`D-k4#k zyA+(K-s2Au2k!&)Z^ezX40Q~Dha(Ar2k^-QfH2t}tAieEl7vr{NJD2zCE>E=l5x0l zsY2lN-lge)Ep$iWnMCX^K3t0a5d6KO&pAb3h&&aNpl2nFMu7FrP!fYUQ4muE_ym6k zt@9-Sx#Jq2-`~Hq!vS^gV@fkC0 zNC$7+@Yf*SNTn8y#QP)J^rbI5e}UjMZvw3Gj~3UiK1lF>S0SC$`Zvcf{7Od3{=-nZ zMNs{*;t)9rNDpVc7ZmxCX@uA`6(O+oXuowM>g&*MKiiw-!eDzT z+e{2>pmRND<^g}R-+d-1Xj*^GER$X^Na0cmR~ei&a*%6{56A-oFiglp17LLv=xWsu z+ij-)cQ?ZITlv#`dUi6KIbc`*Oa~mR)bRg@X45n7;AWSCTNj0V^ehYaU%o$Phzsggc9%Mgsm@a zAg)QTN2m6$ZrK@GbF5@)5ntsI)J+`?YvC`|J0s$lrw#%)W3HkvdZDdkY)Ve@U^gAGs zI5hZZi?k!4xLkjiW!F8>e!MHW!o3y9Wk5{2wRJG<$kph4LB$UnH4G4o4UMfp`9b1; zn4*19Wfo0EBe3_mmBD(-=!#%{!JQEvbc*1)xMt>SDa}ibn9npa z!O1Vb1I0CJlUVmAO5xt^{Jh0d{|)<~Rar90!`!mNA3 z+_7mI%+)bB2X|oE0YuT4WNDa!?G%M^%y;v-n7SfdZGDL}h<2jBER8#xnxO_Tt8Fjl zjfue|Lkg>W;|aDQ+slN32K?hsze(CWpH&RTU)!)%$~@gU4sg}xV@J>orz~yy2nd&$ zDDQXwWhagfQea;uXDzHffTh1hVf*+vZ@mLk6H=s2mqaenfl3ZstxSWgnbOAv7|b6| z*}O;&Is3;WF1~|>ut^4SaZ%UU6Ey~%{S})IJ=$o^fc2}~*RjzywZ04O95$>U z-Lk(;%jM6KYrcSjJ2i2W;d23hT)9V2=J61BDf9S5pH6M_1j_B;E#xa*egx0t0Gq=D zWp#CJ-G<8iHc;j=dV3Z~2F21*+EKN@}S%J_9Gep) z2T_jkKe8fb6HW%)HqpcbcfAoD&jyP59-;ctWBr;5@T^4nnjvZZ}yfnmMP*4scVOEVNmUjf#@4E`VF=<5-rPM3r#dW?HmHjod}>T%27N@V*Wh<=X=>BH(|Lh-OrV>E+!6wu=vhu*>J@A?!0 zhVx@_Ru%)mgYUF2dvpq8Q%=4~OtYWsoKRsd?2&&*Xk^G^y6)8-BkgC>LoeD@@h+WB1;zP)wDda5` z6Ot(7v_<5d%^n8bJxD5pA&n{=gw@y9?$cgymr=WOzK4SzQ&}ZJgt`>DaYSz&@VsvD z6ocSl__-mdG`t^0gJECW>kBb<{f$9)Uhc){LXpiGY3dZA!3zc{Y2vc)L@m>;=XENx zod+5&{UavS-0H;e0PEa1GhT zmC*zRxC<#`%8|J$LXaAbPLi*jyJxZMBHBEw16&m}Y-GO_mW)q&8m=z#_+%e*28CZ8 z4*ie7SS+4>n7u51PWLsI&gP(RU@VLNJF`ejD}onJ4sFcApKK|tAeBTc$T(zH@X*Qo ztTBJieb*CBg?I$H{ly9Zd*C}5jRek_X%_c1b-1n;1bW|*CG3bzp%%bP3a5-6c{xKD zwpwPU{4ocV*xf-RViTRliFmBOa<&l&hE0rGs1Y}{;+uI2uF0v9K{^OB?&D)mU_+%! z`gPX5^>QCH;MNqNR6KH`@kANo>-36?W>iX5RX238y9KOI$DBC};LgmY(j`!0B7S*| z5rDObVB^~HwED3z$i3z`2e25B#DyVAbh%6AmgD|o04zXzFYTByNcoWkh7CP46G5*m zWtt(Jo{?i0C0HwbbW!9K&UkME0Ab`Gw!$aZ6efqTbEguYuu>}9{*@0J#|@S|VDckQ zWK4`5^YiGXKE<_~6KmT0!3G+^U=k7HHPVmCgGc?@+VLRctG^(=8nXMc_VRXvaC#fz zXMUy9|3XO4%s}|Fv7vag-I=J12d|2eC6q!&fbEA9k?B2@__b_u-eJon!u=q)B&%+~gTnPf>c%(v`J^)OPLvOvY!ih$iKdvO) zRAc<7V)j({Dpv5pM9c3hXvk(cM-#D0QR)WZtS--Eazd=|Bu}_CeRQ;H-^C;3!gm-h z6w~vbfNlWaF2~uDi%n}2g{cL9O&i(oPti1vC=!iB`-J>qTOnw#5W;`5!M0NEuj6*R z2}dw|r(dqs#$)gPF%yQIy>#b&IsGKqlgN0oz`qIEUMA@<;~*=Ta9m}2q`JgEadlt1 zf9#l#{{%$EPhrEw!}5b1!-F+aI<9k|?0XQN|1n!jq+*D3mgj0>whb9oqHOPR zRY@s9E`1V$Gnqh~v~vzhn!BQZ6<{)yo=VG*a`jSX;0+`ALhKU;L^zc>e{$E+t7O>Y zCapsNxK9?sqG0IN<12@;D#HK)qi{pg!|B`Hv0BI#+h@}>tLB=~fru{MIX`UV4u+bL_aiy8?2%l|JyK>XruPZVHU|@Cz)WXgCbh~!tm!@%{`w|^Mizd!qaf zK3_{2>L}XpA9YtFIaM^%tEUHtRVSHNrbdiD$m9h#_;ej+b|HixiUa4g4eqkUJu0GC zGxDi4C$Z-d#W;fn;=+Q_TAz49Yty+-vXnx10wOY=(SQ6Tn=*Xa4;x?=32Y^$Y5@kX zqOQt&JRZwBs-mnBM@DU!O{uBOlH%AyD&!??GCsagGzd`oI*i~i1}umED#FIedUG=1 zn<`s&p3dQkhFpI*71TIvDhpfOqsn+(Cl4vgYsl*VBUM17g_jOp#KO?UM7|3l@gSu$ z*@)uaQXmDOwVzC7iW811_RNy^2AE0?p+?AOBb~Y#-Ov>O%i0X=DI_AQ5{gZ6&oZf3 z*h^h&o3O7E|FmvbXc8fMsukCqN-|Y(A#74ZA`e($9 z2@~t^@5~HNXXZ_CWO!_&*zT08>(DI8fOJhpvV;8##XYTzkC31)oce{b{zMK@=snp8 zLy{-XlwI-*;$M#pNDurKjJd(n2!3)|0dNIthCKbSo#8CFTS+%YKGGJ{utyBc_L6a9 z|NR=UpN|S`^bjt z5WZNscnmCSA_r07)c2l?kZzc1> zf9$~o`$M$0WgkJ9MNHZE=Sb4gNZ;a2mG-dxzQ-Kw-n0~W0`RqCg>SXIy2Q1`bdgKH z9j7ym?|Y^W9$(h=nqUjcrA)f)$CprN-xNq54M0|Wna9aDQjUUF3noT3DZ9o;g4J3x z$YP1QQV(7BanrPQWj$y^){OoZy&iv$-_PIgU;cyUrI5Ed6d6HN+aqO2uC_YT?Y(cH zQjfC8LK>Vd@RF8snoscP`in)S?Qq}@pwaxd&-?&t(|^WY+4xa6S`)hNNdzMj^sk&D zOHMCnyZXRW_pv?X=6(Sz0oLM-&e~ZDe*#;!?2HOl$#E_e6j?}KA=HXkHK25jHxL@e zYC8oin1ZZ)R-R-k6DzsP=|dBFHAo+JdkI~$Qb=80Y00seLj)=-Ekm}{A`N`agc!Gp zC)c>j;2OTYbOubGEkO;I7iZST-^GPf4faYvk$Kc0F4=7W-J9us{tD_M?sR@6Adkb< zej3-Fz^)TbAi0xB#HzmT@g+v`2dK6w89N2~_cZck?#@ubE#P4id#H&94VJr4H`~Ii zZ^;7hPp^2};5@IPgXHEQ9UajWp7v z-YYr~l4#H!TBl4Zl(GuypBd+qP}n zwr$(CZQHhSwr!nl+qUN1$$Yu*%p{#o^$)0YD)p?jUOEMT;<;-pSS6N-wp?4$s?W7L9T1$3Mka{i!UP z>2r11-X8&SqJ}pvCOy9x_T=!y3Szw^0eohxy};W+#UKbs=K*8;d1sDfk3kt7Z<4#a%S!EU@&~48t}*;r)IIF#67Kb z)W`A-a7nH9+YP_C8~**x<SK>Zlkqo1UQ?WCqpoiKp&e>F?%veII-dU0J9~W{J$)ba!Ull38^k#moZ>dfz6`_9G)>cEhw-&dv@1}JLJ;erO(%JL zPS-p>=F82;a3gyg2-C$>>zHjP`66)|ElGR&9}^SvAzytW1Xq$nm5n^!84{GOzI6Rwdp3a?FQYc9T)(1AfO(nX>b|N+jR7No}2YQugC2A*ui@Oscujqv0 z^Uk@LV4s3iP75J|R-Mg*c_9jO2C#k5ECGsA7@S^9CPJej47r0tYw92DE^yW{7h`Et zBLcyi+PU^TgK-aGTlGQzO<$D&$Mc`FYm6@o_(Nq$p<3L;6KljWvBG3v=hDc6Z(gO*TPSlGMM?m zan6%|4_tp89@ueUJmYs2zxNX)j0_xC+>SG#()eyRs?>$WK%K(}!z&d;bI5M8;_eRW znAByygXq_S-*9YvYkMEm3*!;r>1bzR73yhKoMuu%ghxr+XbIQk@< zwmqMc#Cbga52Tg>2itcrjge1(+F9tN9p%_C96m(E%DGD$T*eL&bvCpqE~~QGJe9l> zAtno$Gn`e@Fw?Bf{3lD+^bd#}6UM%Vck+1vM)EsKRrF2?Kf%(#_mScJY6=ywXi%=d z$wMF)-(?_K+Op5b{YAL~6YB;l9E2*`G8sd&2i+M=102CB$1 zf%r$xb-T?#%E#R$_)1kq9FOu0uAucn-VK` z)3sfSx&z@rQwImHGmh-8T`3CKpPNks;|2~DKx(mtgP^O-tG&A^+DepH>S6vDRZ0QX z)Zo{ntG#e-ud)kt6@J$VOx+;&{SX?#SaV$2mC%&_LM!0L!ZM@ffpN8Uz-`3hP~i%Q z8r1v(Neilo2oC(F`vK{6ng=5Z8w0O!!-X=i$_XK{3v`l^wSqT%u5Q#L$TmPOqB*jvM+h^Aj|E0vw!-N(84;xlEUu+I7q-RG&zo7Sv$#7KokUQ zaj_3|R|AKEwjs&jZ5V+8T}~^2Dp~FXBoS63#|bB>w`&}kEAPDtw9s5@Ist|$z!<3l zMHJI`<0?7{H6kzS>tg38%d;rZi^D>l z7^$!+&B4*C?E*YlHu5PM#jZf8xTrOo7&PWHYG8y&JxCPP@ z0$rrM@9Q>IsR>^dDIMOGtEV+5-!MVH;;O(#=rxp3-__ellf)vp%;5=%mk&K8YeY`f zR1&rG`a&jVGM>G+7bt?%dvAICPCZoE3`yae#Y4iDj-b-&!kLVy3xn#z*3@U{p*UTR zFE7)@dc0nXBHF#*n}YweR&N{+Q`BYTO@6`ikE`z{-}|sw;XbJNaH^JaK%^wgSYdj? zQD#BT;Do#<2uw&&hAPX$su1I|@?xeI;l*U}I=3W5zBakndl#h86ne%+D^1!TV zRkRtAxE`w$%yDa2xsG-)ERqT>#fpqCQ@!MP(R2cfM#U(ns>_Oshn3E9(6QnKqV5xS zAJXadzXiiPbcDX@+X~k2P`f-%BbzjJkPt7`TT@b)4*w}Tch-VBYn2Y$V%Ct#iPBJj~uX{O>m0;UI(4Vxgtsq`BZ@`q5*M0Fl1U#9d)z4Q6*QRHt=w zo~RD7gLJe!I$2bQ*fQE!?4Tv0hu-{GRQ#vd_*Z1ikkZ4i>nuVcW=m@m8aP{04_p6` zNmzCeS?aZ%+!~UUFCVTvLTyfXUV2erV(yMrxrq2^5E0wUb%dNX?++`(qR{?vTk@2V@KO>7u9{QJ~An?5J8W zbCOqK4Tb39U}{zj)v~^YTq?^altJ6XB*S>jqkMOHF+9fQublg~rfXM)C{7L^rzF6p z>sagTSSN2?+RmPc#l9djbfl7X*=VjvZUt&L^VIxhA>Ob}&{_|{xu!M}Pd~tE19LH@ z;oS{*`g)+4|0D^cX4y1nvCn{v#R=af$_`&qLLJg)=mkD0Hsi3&rKv1fF@)LbpdHz{ za4tg4^D7~Ht_*HzlN>pl7{YszfjH#7*;}4}I_QR99+96SpO31kan~I85_DBr{}_8s z*OrtIAi%#0D#4YUkRn|=#DxJRNNGwq{yqRg&KJqSL;r>kKK|gx^B&V!hL7#SS^jCp zh4y^n+ZrL0zshwBU8yi789xgKSQ!|nAm=r_vUig11iBcd(<}jA$EAd!-q={IJ$+?# z_NSyQ_%fsrd=(N4q7FwiN5r0IeG^D_R=0I^wq{qLbiuXDuK3c0RD88^Bd(696&ya8 zfOkzM!Q7X@bfg!S6M2hgsPb|e>7hnA2peye{cep6rS%@}C^we7@vq$!YZS%pShDSPBPP6W1RlUDk(K;ud-326lPpd5 zEqK5na5YYP(65K7{nV^2;$KvjM85!4-G)5^t*~xYqwI~d#dSl|)^?=VoWp4SFT5O) z0JvH;M!2NG%tD|v2 zeI-&a@!G)%B(6xdhaY39iN}ZZrRlx}O{K*o|O@(qT zR~y9LFZ>EExIC)$^lOkR14p?VBE=|l%fA3G*oV5$&O>|db&o`$GG{?3&F|3hT{Ng>hxpVN?p z5}ie>s;&Jd8^TYWzM}vi4ZWWxoF{waKU2{30h2Q8JLE=Cj}T4aHO= zYrW<|tf0}U$19IJeEisrC&1|)!pztZLWq=skUpLnAx&!_=cs2HZj7p4hn)(?M?jY z`65kYpi(wXrAZKO?HaCN6j(a8JDU(9e=?k%Sb}8ga|#(0x)rf5SPt08mf3O9eFQ1V zmqEsaaU87u616=gkZNdT;$beqIK!m{qvonLv>pmwsyhiZpJUpeH0VPCdO;;MZX+^6 zZQAJcR7{R8Hb2J?=@|^`Rx#oCM5_3bkYkH631uiRp#&=`P<~WMBht5rLQ98BJG_FD98IF ze0i`EqVF~t-k`&MNK%L{zFRsjzEyb1%v=a;3l@<(fwWFZP{=$sHTgBGoI9+9h#xc* z--Tt9MyqEcX@;5@QmYBf*} zFsq=Hzn=hhb>6+Nv>rLI9+%Els5^rrq+efk@VB4p4wCM{?nLs! z)P`LHktDbdl&Fx%KaB9@@B@;C<4vFNszmAFe#HYm44*8$@nZ4G3>=ly^*@;-VTgCs zxH(mgK{uWbKgHA@Q~NWhHvIeD>cIQ>WJ|8jOt^t>b53u8s6EGbCr}lMa9k#MaQyN` z@AfV)`yp}IVGArFnok_1s|FacLK$JN3(6c1v}fHw{xZZKRicKsa7kod^RIpK$y*=)=hD8-SnzU0iV;Xp=rj(4*1c-9; zEhus1mQ;UvJXeFvrihBuqmqn=fOI1(FmC0u2w84pBlH>0`?skjc)Kmzmt_~OX=l_) zKJ@9X z_5ZuGiC?v)8@$4L!leD@Xdz1&ub-mBVLuWh2QLOMoZ z&=(8Y;7*sBa4lni-Q;5?mi1QvU76Vi`(AE$0zl~+ZTKE9Gh_uvJ7JgE0En4W0bXVX z-Efd-DQ`EU*@{fgv{AlyNluN@f7Za>uR31g3^RNN)pq*jt(Tx9xXIb3sjx7>1FeH- zVrn>mUeM6%fnT*^IGl62F9yB>sL}->@x8&JH{)*+mWms|c3~+4D=-)xo|`eBeJwFZ zCG_-zWBZu!1E!H|uL2q|x(Mo?N42~8MgrB#u0ihR-0U!gJl*)aUs3+BL>x+qghz%s z3#u@{i`hKeL|pg#;5l5O2HvZe9RgSl*y*(FQ4K{hOCkJqs)Qc`AKtAAR9P;P9QYV8 zcgYhKf&gyP?0@Q}tFb{VAwisA*!5u0g~vJ^&dAxzi69B?Vb$~Syn6`90U*-&BN> zIo;@BOt18_-MJ;bbe94)lOJVS^O&8>*7j;~G0)HR1wxkm8yJpe@W;`tLWHSm)d#9p zedgQkahq?w#;~j4bRLJrt}Oza=@Xqw5NSxdEkdo?w_w=8nENd2{ z?BRx#e0b8$;5i5Pm8)PlxP`$hliGOYS^nAe%zNe#kZw#Xy)PzXbb#ct>&+~0l^}MnI#OzNi3v^Je0Fn`%A*scIY#6u>y2U9e#HlL@F5e~iw=jNNII`!q%{BXO zFKH{b^$fYw>j^+P;INS)u))LGz4(U2jV8-sbC4<`;MBu2aUue4WodKhx})8u^hi;OnL4^ z340zH{g0C`Ckuk?!^4p~!&dN7t6U%dMVSJVT3J@?n6GgXmf51TF2_y3%ObjbjGsLd z?km^+_?}VbYD35-$8BtQFCPY~#(Rf2S@9HONH~Wt6PW!&qx-ZEk}HjO9u^Fatr^hh znd-~I@v;OWTv>|l0{v?6gr!$j@T_M&^UaTq&y^_N90u0X{DLW&84Nug=1wi_5+@nB zHL_8XLeXxYcp~8bSA!~tg1N`W?K2&jm_Liir-b`vZEY?0YFq#H8elZOBHH&qEMxt{ z8hSqF7`hmnxQv-p3&H@-Bb zk{x;><;=fWJn==WRudpF7#Ph|%YPTNBI`0XD7C5^QItLta8QgW$=XVAv}i_3;vi-a z1U>e5=qoH`uj*T%a#vFR7EqTt2Q6~Zgu0w)z&SOdEOC-9WATins6n`nb?T~-FbBz1 zD4$IxVD2Ye>0y|#@1HzNNGss(BgoVW>ZJ&4g+bz+JKjDOvE#YN#m+huji`rV;^Yq} zL^Q5+CQ*N`bPlp)vm{5WGD&btFs8!=@*}Lqy{5`664DJ&k|w*nNjXR{oM%TkA!^*M zyBj_+5}0CoUV|jBxS`}=&^q-m?J92d-v&J9qL^hm)qm$ z$9t2rx~22@%e|ErFI4Pa!dUmL&W4NBo9~-GyzY{WA|O|Gd`B)^;_DkzIrDyh7pW`H z10*ugBq)V^udntMjf_I`xFx#x?`lbSKEyn7lwSm zcvz5&7%;+`KbL=-MMJnS$B6I>V|Ev3ND1jby&mQR0avqf(y2+NodzHug{m1A<^}C@ zeMFeSd9`B86VDY8qjqBgLXS3XBVKEJIh%eN;tgx4K&gH)@!Gn6`UG;PH3e?I97o<= zA58g{_%^Yqb7CFU@5np)b1^Ee7eT`>(L2i_7+i^aWNkhNX=1McPTDV|SI0;7;lt9q zMOT230QO|d-=UX154r)bN!TESpQCPA?l;)E;%J8+Xs>eXq}Ds-sfV89dseB5e%}iP z>R|39WA3TDm{g@QsS`c@oI_kOwD|VgLl@Zq+9h%#7y>yV*{Bh%sRvjX83DxnNT}6Z zL3IeakRh)B#yJ44K(jZLXzU5EyXyGWL2LPUf}C*Ozo5zZQ^Z9LUX}Mx1_p#mq-;3- z!kwUBw@c@hQVie1wJ5HEikm`5wt}^X#)ACHjR8de+zgfSm7)(qX^Rta{JOYQLDOpv|agUXqG(7P-y!~ z@9cwjZl!nb=_{9dZOp0DM(X~xOZz<385p#E^*XVMyd~PAZp?t_?wMQJsD*}iTB2G^ zHkB57B+*utL?#e&;J8CWg>E}^K!uX2p9P&0qaQmHWB66i7~*EC$ngz_n!BKRKKMy3 zFYxG=Lj4O*@t5a`9CT=$E_5ej6B?0hI#Z6tv117a@?iofi-d^|rMda_y)`{*21!8X z`(o|XFcBmLVgyM6o2KFWUYggQ;01Subm?arYy*hs?5v2jPZ;&H-0f1)>w* zL0l0r__l`P55ogU;hp)tC|PC)-gA#&Ken`YGGqEcFB@$V9>vBU@F}<>+Qxq=6n-~} zHs5_V(aiCOkhy8DsTxkGYoAe!eF^(B_xkii;SE{sM*wy z#yG@B_6W1!wy5jY$CK+}DU|vy?Q#mz82R$+e%AJtD(J>|lsU98n{0%yOvsSH#IEmP zNSWa1Mp|JE1gzFK5pR+`SRD$$5}Gu=GbaUVLK zzFvV~n{fXV^X2x+1N(CiKh=ipE6_`;J#lfLPX{Si7KBDcfXA){DmS&A!;t7-pi~pW z;g@4VMh%NX78qRFtUItq;zS6U;7EcfW;sc$RTd{$I1-Y{IR)AoF#Zj+x2IOjr&P>W z75Xm6dhSGe_9R`-U#chuA(vK4L$h=oYef;DgNvS6n}Tv(6dER9dn37HuD^-0Zw*-` zSEr;!jW)tX)~di$xETtCpwXgHvYH~2T*qRNUG z7NG5d<$?oAoPWIR1kRBJ&N+s6D8t;NaSw2|40!wkoMi>hu?C9}QM@CiuDeHA_!z-dwB-)U>3>bSeD(v!33!uG4pt(U_Q(+MBM)C-! zTHUNvI~%PnyWOwjR5)X4$`WCNu9&0L6m;+?qkA6RMJg++(?zbe3b(H!OJbZr9y0RF z<#E6bV`bmK%-!Bwdl$C|5PtksOq9Te3zIWrBf&1tX;|n=79ch*sf$pBZJIzz%nbw0 z2ZQH>;dG}Me-7rpIM50ZDaM^2!_UMNcSmbE$P&sQa#b@D7suBV)gF*g4dl=Jtds`!5~2E zrZYFr*{L^Cj1~!bm3X{HppMf-6G1S8K49T*RCLf{YS-!8Bh$8XL>ezSDJ1!us|teE zEE>;Ynhy6;&b+kqH=_PiXkJ4oUm~>cqP=YrS9bFDr9|ZW#3E~8Z*8v{aQs?R-<EvlOW+>eYV4DO&?NRw7u@@&eXl`f0n83)YmZDIl3-rrenYYo`BkA& zh9eN8-$i#>=>BWoKKX_f&nG7OQnP}0@y?fV7X!_{a1ucp#=jV?TF2}p#fXF>kNIiRjMi4o-9kh)8Ajb4f7gDbnzPCH z0`u#Tpmfrb6e9q9j>LvH$5M$qgaa{(cE?*>1(qSvYy*zKNs-~t9FS>2+NfdoyCKKW9bH~aRM(Z^2|CMa^7sVQE$Xx{sNmS#Oo(!lwJ|vpxZJzt z?c8g-uNdqELhKU4z2JnhN8x~`wiZo`aRnnxcRO#tgy>{b@g#tVCki*-a7CwFFkbkU z1#2F01?Wu>^CN2W%gxysTgd%t(mnlwv{)E~bn=Obw%nxQi5uc^1tLAM@g`wgU^~nH zv@tif1_EquU%?Qhm;HnuOWsK=m6jO@uTd#BR_CT{wfUBZtL34?*{~A9CasBMob}`O z`p1I#AHtM%PT_fHFv4m#!*$uDUfsr8%R`GVR}kjaN4CoVtxl^z1tnI5<-b)ai$^8b z5LQIP#}y(3%qXcIviZ!m|2fXK`HxD0ffZFz1S&K3l^da$4ElO#eN2jTFZGZg%f+gz zBU&mWc8UH50i=uYUpUwaHV=U6Q{mn+M=RoofQ>w!4Zhb^VN||(f?zzG07CY3>2E#X z8_xE;&Z0C5$g+WVSzjuNv|P4bE9D4(zyV} zvkbhVhKSZ)6yj%AluO;+Kk*fXiuEb1rdN<+-07#@Z9olffP zZ2W#Fw-iMcOrB2N&kz45Hg0VG-nD}m=M>e7ALi60|C+*?=y1e~4y>OTi=&!599n9c z&Nr=TgFvg8dfJ)za89;?ZSI#n2RWYUtV?5~5G!ufFTh7AtP20D4xTtAtmr#`Q(AeL z0i;hzQ&g748C_Y%7r(%jnB~983g_qvB2ryCon@3Qyt_oJOk%<5%E<3EZADQD^TH+oW7+725~sP89pb8iR1Fs-1m0%9R`KDVC!1&Q&%0q7>Sye^+BgDvwFi>I^wE2k*Z;8p*#kNh@6rfrWqGa ziRgOiD)@PWiW&Bvrg454CaL^jaZ8lBYY}M8p(YDM-|$#y%Bsyr$MtSgAO0l?%nDh8Zn6@daaaX^U7j5WwQ&*r z`?hb&qeqH2*028#V8!va))Y_Xj?qgxmuIb52~Q+I#E7f^g3w3IpG@#pEE?X2Eol4F z%*&kqZGy-MDPJiw^>D|YXodHuivA0=SOTF1BfSm(YL9LT_85H8nvWsm*}R>FjmG?6 zVCNeV51JA>xG0`8fUqEKl24ETPDvzOi3I#wNc<|oi-zAk@i{dgzgfhJnrr6ROH+a)ko`$3HbdH5ZpJpMz6Tq-@n_G4C_TFq;ac}vMjgzGi#d`N^E*Hky;BC%f$+05_H z74|w#-fCbZK9JPfY~Eo2Q_)lIl>0;kD;avw86u>4!>9tOzL&!R(4-{k8n-sqnhdBw zV?2f2;18yWL|*B>dZ&&&bBQL@aH=V|5=zh{wh42Q28+sMFDg`A^oX9_+Cs)D+prLx zs8FnfGsqPRWeoMKev191j^*5rtv&7&%!GVGB~>&gGCW9 zW=pIwY??#u!F%b?6hh(~Cg6rT;RI6a*5mfa3zgkb_~t&DE*L&HGW>0)|L{Rx1NdK| z_P>7|px*W`bm?Qm5!ny*eUI+!;C;E`F)p4j_Da_6sV)b`yST2L>G8rkcSL-5X@vHK zRadjY%!l=T-lf+cUrYwhiC$9XE!S&sQX6@{xxb*gn1|hZ28(!%!eceAmFT>3x|yFq zFBXjzI~udF|B!u+9KSF2kh1=`{XTnHK8}q5oZ9W()CF{KldfV2Nyh~8_t^+jy$2Kz znB1dBJQ9SK)86%C*~Y7h9qt+Zws%>dTM~l}zJ5i~_6m5Us$B%8Nm*!u5FvmRg43af ziVE2xrNCN&9`vp5dh|A~T6^b&p!|V`Y#ckh_xQq@3)oStDIxn{D`}O~uZuGB@D&%L z_yXEPmGDc4@S`kCPrqW5q-UL>aAww8_BWIPV>gL=Xo;2ZW)zYJ4l(Bk>%chjzYRs5 zwHF!Mse!j&J!cVs!`ln8X*6tiG$Fu6(=S?Vk6*FAqGK>yf!gP^v{(j``ujyZ=qBVA zddR0wrENg5Mh49Y&AYT`ubiKO%sa8iz_14hhze#=SI1p{onOEMC3%qQsc{&{Aq$gK zBNue2$p@ERkMx^uuI##lGxw`HKOiFDl~5`^)q;xHR1zQ!cPpeD!r7`0fh{A@&G9t9 zy8?c*S1St|w+%Yj*4~l|oL38i@glo1m10g02qrsm7GTH>7`6>!#5K+m2GM}+Y4;79 zQCi#_i_CEP2X1=sv)UR&O^9I81CSA{rcEKX*#KZJ3J_UZZ18vjD#G&7@)K9!vvD|k zD>)UvPwT><3ur;U5O$Mn*cH*Xl4%c%#=x-`OrrqeJ*u3cw4a{77^IHD)Y8(&avwVt zN-+&QWAFn2acY#SMRs{5w`=Fl2237Lb!^`4n|*TvWxM3E&rc;>Q+Sk7xPy=R??}!F zQ?-#QaR#*;G^j;KC852%Rs5Pw^xQ*GY@@f*TfP_2!5m)gug1=N;S%bhLs-)RQ>asu z1I}0hCb>M!$DT*cBG26V$9#&|pkRQbnQ~_xJ5mH6FV)J(B`rh;IFPodgx{J8P127r zBi&*Cj|k#1rn{AEoNEK*y!#0hJ+9aZ4$Zc2+@Tgs5*PQEmyT{g=C;PIWY z!~&&}yC$2cu#sP)Sh6b7!_<6zznI=Ha>b6D$R!TkXg*(;57JbJj|+GNor?OmU8-+; z*1{p`!F!|29xFp>$dj0-s#T=bnG_Z_P=&a?@D1WW znU_ABBqV66x!9AFXbab96V{N58cU)HPOyG_?rAP|giE)O(22M>xPDi|bWs026-w!Q zbjb>{ym_AB7x&XdOes-e2}Pu|vD5mWbh>6hd5$wE000U6|A$Uj zRgsjTv#3=wblwm{_@1p_ljB=11i31aLw09Uh9Oc5N)(4MU!>1#cFD+w$~|!jO3>eJ zCl3KshPSQ41UtXk*=+aj_FlDQtB@=vc<{!Hq$woS6Elu4+fX1m%4`2HCb|VAPa9r7p%ZOOx}WKfn6!cCXjV&-+uqu2m4dDYDH% z+FnCI3~huLyJN4XDEUuE^)H8b5$&lup zlCok0!;BcCdgx$q5)DHaen-<+T|36LEdlHUAr+EHkzr$2<(@-$P~uJD%#|c#5;V9s z-dGbw+wN_k&7aoXpH2#gMgx=}fcnnseYs#{{$D^4hHYQr9)7#)7;dG7WTEn`#oLFe!3Nwk97M z{nR5lgyBp@z)yatdF{rODBMsBYn)YMdQc~?fox-Pz={>VhtuC#4j5s;S1|pY$Z}zA zk}Wqs|KY1tM!Ay$@tt1R>-XmA$u^qokWPMk+J%h%ES>q|`I)nq*I(GY0yZyGGh5$< zYwEbkmOA)aV~$(ZfGajGTD}k4l{}H(X6`J=YhY$|{?`N5F}HBq?~uv+Tjl0w2^Vf+ ze-y>bn7-%v@eoBY| z%a64FRva~$-)XA8`>QFq@DILMF9k$j9s5q_n~-d?h#b4zjxMX-p0?@3dZ9Kw&gVeH zP9AGUP}Mt#8^8B9b~BxROM7VtY!Q&03$j4(%wNYOCJ)2gwkp%n!*;+D=U}|r;JWkx+x2* zr!CkY;9~=llRCCY{i-yANOY%2OonT~FYRSuq*X(zDNx#~My$FuM=pa}ctm4MV$-Eb zijC&DP|-%zPJw%;R0m>4Ya=yX3F$OMZ|gZ8!hd@J<%xUASh#@SOb?clQV z#LP%n@Gov}d&LNUwl!URiPh$;T}0ecr*z@);uyThsgro&_{@Yb@vluIpD`j@C0~w1 zj3y=y8(34hAtEjV5))W_wFrG|V7i7HSIa1JJe~rL63cupj>PyG9$~<148$00N;u8Z zOokUp4ZDrr1t^;mqtRd+f&|CYq`5PCYX=8hXr07)`zOG2(xt9qxwDxuwObv)xBs3i zWIGj<4w{-7FX=L{xv6)V{KAKwGlF@)PfOD)>Z{TUJgZEwIBvMNaW0Tf{#!15^ogh@ zR^h69o1PsxmU-ooXjI=HopHYnGqVJbm7inXHtqqr6MVj{*JR%{ zzUdy$oVelhr43ElY%{!B{=I$$zuO9r4~=)^oWcw1DA_&+y6eLHRsSmM!V|+rrZ8{R5;_F3Hck!`_Mi4g248 zO>?crof{Yc04Np!0P_Fj=EMYrMgKu_8k+W-9RJ&Ewm^V=!Yj91qWLWNkfK&=4Cf+3s`KJ&a2RzcRi=8Kto@)BXl?^3$7jEm+Rsw4KL*DTvMQ%!T)i z8rGdh#>likUDE6&czO@tA{u<=3B>KL68~yYAAv+i4|K*_gs34+icE_K4(6)GZU63i zeO+H19Nb>Ig=;VrHoy!g*i>5ZG3635-k`<>CsuSA8&u75Ai(;EAy9mV=KjK zuMnS>z-kw~)%3kIZi!P+To_s#0?LMAaPJlt0@8J6!VO`;4`DJ=;gn1AlBpUknI;SJ zn#4WI3bsTui0}w8pSFg73EQlpYDmSrR^UlHiWgc|r&I~U6Lai|l?mC9O>Tnh-m<~0 zEcjUYSh+)}z!_g~ve%9T~)!v>g?oGF>mkYB(QvOhW zxPy}ml)YU1K7w~}9!!kn?Ca~;q2tgI6m}uj&1v9z{q^n2OP*}2Dok~y+E?g|B^;31 z=+OF?#~bPBl;%B7RjrYREUU~l^+G!0t?+Ht`hyp~SF8G)tOOq~0oph`@!e17qaAmv zdL}AWpCe}E4-7t}K6v`8Z9Py;#$n1FF3@irFST?*mWgm48BBLu#ps6r>^i&2F(Y0m zzLJbyFCA-k5S=6GxTqrhw8`|XDOm--OYEVbr%#{g8G+FoU-dIe0!quoV?&|cAyz?$n8d^s@G)-4ZG!gu+-acrv+w3$ht#7!}-Fe-BQ?8OR6cF3dV^2pY z>rUYbGzta#@5e&_br^?72o|VoI05m5uuGl8;xmKDFAaq#WH*x!6Ct|?G@_jlR@>4v z$vz8l$8?w|=B%_^3Z?0VG$vX>db6i!lK)Jr0taXIYUkBV^TRR3ADl)Fkvlj#jiW++ zx07W*I);O_N-{ad{W9D4yzIdg0(g(|@ginBuJ!po#&fY=e&X+Y&Bgq-^p}UAU8O9b zPHj;5Iws7McC#K$XPON{SbG{doOO>CswsT*w)mN#PFY$ZOobR1_Gaqplgftj*xA!b|VCp3XNHj3G(GW7Kvt&!LPw-r#dA9kN)KTL_=!}4^{ zo})<2lmwRN=#4BiT2$1Th^MeiqEQuN?vy6(9({xLRQ&uDazJsv%&V*$4#>y)buVN` zv5P}BrF@0S`#LY~b1btamRp{3{nNbPS=ZJWze6Z(v242>(|E=XdX!D{xNT-*W_|-U z|L|H1K&wObjVQDNHou{Nj|-D;6*Tp`_ZT~V+&mI@8=L&VAf1M5XN3glHeWO-r-8o{ zz}x9S-BwX1}b`7M|$%`PQa#akbjDH|68&JR{jLpV=DC+i-uLZn}4_OWjv4 zL3-m(`+gk|w?1-TdF!ury>q+Yz0*F0QNOwTCq8emXG16d$u&*JcuO2QciCUAMeEob zj>43OOWsoJ-#+>O`Y z-pm<0rJ(5y&!;!zfeOQW`!g&K2BfIdnki&T!PJX7uU|Tc=pJ8^p;qv;Jg(ntI)V92 zj4#)aM2Kq=W!@wCt5{maY&yH!J9@phueVe!aD$?{0Nj%OC8h-$qswU{4aroI?mTAO zNYzFSW>LJ?`ipQj7dgQC=bHwXlEi~D_%3rhmavrg<&#jatJAm!OP-^Q%zYgtM!+c89&($@ocL- z`x`MB(h$@$s#MHkvFwECSo}IX*!^7HyT@_+!r&n_nQ74+ z$57`~GGs<(@)5|(ZVlsQ{WE)J0LCCf?}RYPwp)P$&2%tezFhcCB!-(fxxY(c-J5>D z!r*9uvf}xxN)7RMH&}kY`~mR6*d3$0V7WD|a{Mn|-P?85(P7&Xc3z>3yqD&5MI_>l z=$UatEBxEfqO@#{!JW*^jTyBa0`fTv=5zVnOY%3%nQ!sXbB#54hTmt;X$W_H^~w;) zJinuzyuODy20et)_#HbyK(B`kZ;h9n13o8f$yOI*tnWwf!kgB0vs-XL=4|$0wsVi- zGYWU;b!#P<+%H8Ob?S}P#(50_)M$2Tm^yg*cd_)vXsD@li;80(e^!Jkk(QDCO$?m_e{sg9#mesUA~#rhQPU zC-tBR-^6<@#_0-T?xg+-a-mX`Ig?H{dtV-NG}j(E&SZ$Ap$%DSsAeC(*3vsq*3~;- z2#B=3_;ArUb@_eayTzNwDNom>`M9~buzq0nIRD8re>VDt{_ieL`>5xx{MV(4|GM=5 zvJMxMlo3@{Q4$rD{mbA;Jap8YEy#Xd{u|n036qK9$Zg!HruGwV|>;c{U?!<%>sK6+5K4!xhB!aDBlw!Uy zAaWdfISVbW&yZ?OJdIa(?!wd;=*}>w7<(E_A2MtpoO>I)RRUKR&hGH(;QxE$TmL#= z5DJ3s3IL`FrZ*EL7;P5Ln6hEwNNIevtRV|RiKTOEXdFW1>&Ah@FG$wDn3zeSQx)st z?SN%unVWbyNSKmz6lzS6$jLG&S=(Of)d!sWsngJO^(WQ?{f6*&{^uRVbKyS%#dhRRT#v?GHvp+8(=^Fk)HDuu%J5w z+XuOTrKY*m@ztlmjW5-+kYgm)nOFE&Q2l-X;W{DbHe@-rchS0AuZvTzb9fU3{~78T zvKbDPpgeZY<;0wy67o!rx2^xDZLk9HR#Il7O~v_N_5vgW!|0Sv&N^WkCH<(<=%-L1#G!YhH+CQHPFPI5-eQO=T={mWnuV+GsFovl_?tm_s@ynW28T@k%q>2hk z@MKF0hwj~lkO*OFD9_4gFIdkDcTx*a)a^jz$P;j$%M8-9%y9p9Pv)vDAZ#q&f)!5g zyBhS`I;ATEVf^!sxeTu{LTKBa@e?<`&DgG=yiG*ovB=Jsql48mzzzYEYYq(n#oLk7uZ|(cSWrV`(lw6}5CE_GUA@a6e>+KK zp^MfuLq#Ax6;}D)gJN>LM>1??V7SQ=e>~de~7vAu_qFo|tqei}SCF zHm{3XvIn3NkSRHMP#;e~3!-#eK@SC*E1j?$dMrGE-XIpxJfk-d?h9oWfWbIiHHK+c zIfgD2Q#6?vah^av{s%O`%$47~@9+NRgZ%#-7Da_+e|Pqj%1!J(3;b73k3mIpP2G_n zcg(`IxYsC2NF?THN^dinvcTG)pL1V~l_|yi*BvVhmJbb;hBeg^_)t{tPN#d0T2l?q zzYuvQ2rfW~8T`R9a#DIUL{cUihkSxv;c`v+@;d+m&$#eSJ{Z-&GFV#zO7a`gYxs2N zbh3zOqsZcr4As!gj*X4hoAs-Xh-!Z)bEMuW$2xkD1WHOgb5Kiy2dgQDb+7$jXp-_G zI4rf%Afj#J$9JAXt05*ENr^7xgfkd301QQqhEN4XHO8pab$F7t5{5Y`yIDy{i6n;N zxQM6>Zc?X~RWD5|pl*+9)E2&eXJ+Q)eC3E5r6?=)uoD#_6 z;TrXJT}T<;emd6MZ*4RlCr-P-n-Fz%3vDl}=H&}#MO!2m#d-_tXmj>z%aix!fi~cO zY+0pbp9l8+xBVpco*v>^`L8QXod#^Ff6zh$P0zLdTG?=zVs~VJ{v|kwcT{$Wy7ZCH zseePT;Vamqzb_@QuW700W>bA627jdULU9*9)Wg%StxiyaG{)l9o`1}AU*aY(LbY9t zBK$L?%%!_Ye`{*EFTFX3Ps~UcG3@inTvHxhF_1gGy{$1d?9qjztV>Fz5qh%|Yj+FH z8b@8ZBC9amBfWKJ-i@}jdZY-67}Dqc$pK4;?m08=OuG|PH|I} zx7&tvumi4etkz95Zgvw=hlvzkbm8we+#_LbZyIzV-C(P$e;4;3dC`r@dAR>uAIqDV zJpue;3DH9Re}W=Sjcu(N{>xzg^}+vV%UdNN(d6~ zE0;jKy;U$}=P|hf>GGJ>u+H|%)0y?N15?Gv{-zI)2e-;o!J@%a1d8TIqOGZ|nWpR5 zx`3<>wzJ3Tonok4fSfIWe-|gNQ{j+YWYQ7Ohp(crS$m4CoKLE6(}3X-BN?qkx) zP%<}X(L*L~px59@66w`2=wt#OWF%r@RXEa900^dZrp8wZ&%=i7QnPBIX#vr7XrAsP zMA4(Nom+^o1hN1?RK5xi2R2NmSynN~yQE}ewb1!HOzDe=`IJw^=v0trl{mid4*U;Q zO)%f(*J5T4tcW#~M{Z{5%+t}GxTkvqwXSg|iqSFL~->O5p%eIO3Hg`m_bHik0uk3#h21yk;B~O+B6RA+B6`d%ac7-$#+>E<9UBXwpb1?w! zU*`qOx~4cEP>x`I`qIJVL)0L}m3;bHORJ^p+;O8xpV`jjlv<(X<%dVRJ2Ju3dGoRh zxC4VJ9h!x`H>@Bw>NQ+ihMlr*jBrg!P(NzuA#}a0OK&XdHC-|5XNM8%&I3z>o)Y*9?}n-rn4Fq=}wv$eJBJB|0B(!aX%WV!|FjlvGp+<*Z=F8z%^1CRf5 z0cMTvS3kr-&eokrn!Xp=a;VCtKLPx1=)-YI>T1etWg?37QE$Wz9G&u66lwC1!{eWxbu-wqo|)( z0jHnCf03$ns78Rh_He}@6FV$BTF;8;tA}&ukQI-t&Ttqanwgwt*a5*f{0`d>6ES&J zubjr1rz?E|7m6OUASj=d{&u?B7w4VhPGGs&(ao9_YGve~F%`Rm&i#}Ajbz|SeG49M z|M9&af)+5};+_KN6L9qy;l&z($KJ?I&V1~3_}7=M)F(rZ_p3dbj-EgntkyBVpv3(P3s?L)(RU{HI_)}Y6W^W*63va7Z6<@qv22TJkWYp2qe z!x!NHere>%6kC-8{`nL9>lH@+pGWQgD0zlo`(63QcAfq|T7JLCM{PnuU_*ZH8VM#} zFt}uYq{Wt8I>vxzHU28@=r_s|pC(Vn?3_A(@Z`bsCWmg=l5N&+#E#<@D9i{@(8E0o zxK0kU1l_c}fj&;%ri;Gy(J$X^Ii7YeNd;^VBTFzX|1xw7f#7diZG%E&YH_gQ4>YX} zNA|;n%0-EYBLuAtpwj|!1rrb^%sDfu9CEl;yD67_-H^XwBp(#6ZWDLRu?I z7?T2wh;_DJ**J6!Pt06eHUsFMjknEEPlQB+`v{hPB~b}YRPqsrB51lB3WWI?*`XxJ zzsl=O$~aP5v1UUKh%F0!@_G66uWn5EgvX@GF2H?VVFkqh9YT#lO0~|&B5xM99Wch& z0Ex6|TP0g^&+cO_Kv<;|=cOxeT+e+f)S@46nNUfQ9<1!$pP^R@_6wl*&qB93UzShF z2iWzD!(QK@9^%R+a^;3z+CDq+fw$dm!MwRfJ59R1^RY<@(RS|v#H-C}!1)7`_H<)6 zxwv_)`UFLIt_iE(q)KIb7=7jrQ|6#>fIY>|iEV@I^MQ@;b%JD$y_0y`|J4?ghd#>? zLNrv+)Pu0B)t-Qu+4I&BGYT&|QA^>_IfMZrva9n0A6q-7f7=S3jVyCl)5YQzAN)0w zM_8TcieDP&#~fV-kDLZwApqRqlC(dKoiTn8f^ZL47xKT}iP?Em3KdcRai3aIf=+8#XuHFSS zs#rfoJ$HK|?bA!^8aqg^7R^54N@BjobTjV`aO4DkhqSk9voEl6?Igm%uT&}t@4YyS zR6rdPDGBbqWXRJ*ms?D0ZLcWW99JIBvKgBz0jlEyu{^DHw-PU!n}OY|W0EQI-6H| z@x+Xw6K>%*dh9!`Vd|Gz9{U`D#PKO8p)bFT3_NwJurzqLdl;;J^|u1k3>)mdDh&Ae zH7ch(jyzacI_t8E;eN7?m`Tu2uKT+h_wuDuY@|+m&3d5{0C~#l8ruk_5ntOzTF`*k zb=4+F;$WAevtgSh%n3yy`ed{>0*}4-tySU=*dnQ8*QyD(mARBUd)-f+JF)J zE|glQ$+1lub0aof+8x$juN{^2UmWBxUnC*)v(=l5zNyv8&f47CQubcfbKa+wNz;>w zk@2hYs5ujCUirz(f%)KWTR6MmM|rJ%kMKZFz8fsY1jf)=`_8te%Qvd8n{)oef~s0~ z?(s|Oky{$6ts_$Td_Br z4jO?P=wNe)iqdbYK>#ACaFCpn3F4fK&afiWcr~Odnx^=9+CCde-#l?1)JXVzF;lWC z8P8r}rTUe)%$+8E%aIg*yMY(x&fk;;rR#x7-?VYRT!s-Xqu2Kcm}!Ps4_knJnfuY^-(VMf>;*<VIZqU9CcmENJ#F#2zyCBCw(hI3ay{VZwxqKb)w#0ZpR8j~GU9Jcx*mS~hA{q+pG7F<$)MwZ31prj# zEGa55)1s~jg|3)pTcGC)K@tX-2!;vy6idWZscX=HgQd~hn(V>C_e0?K0tXO<{%8Dt zIs_O0$CXVb2#69|FOL|VHb0TPqr6LF18Jhv9<0IyH7c#iGAO8|sq`Cg=wyVd%;PW_ z_8*w;5VA)D!)5IK#hnKxF0OkvvDP|z%+l=L+KqNAZ(>IwIJw(u@VU7>a6T_1{-G=a z@b_jg`tyhfSr7!SL*5{8S{ex0*IcsN$t?kjUfo28!tp=FmF$h>`A10s3cwO=I^bhT zUthtk5ry24P*EMS_}!xggqQLpn}C6aR$FjcAF|g6l=5BcN;-OmYsEK5$oPB&*l|Iw zPaMI8N3Nz75VO+rQFQG`Udk^UU-Wv(x$RB@JX`!X7L;D@Y|TWv+Y4p277~7GjD!6% zQ^Dx?-VsCvk1I`+dYq>$P0a=PU?dH%r?iwT=q4H_KLRFvd&Liq09>kR^7m&O@D1I!d{jchFrDK*N-e zp#nuZhGpiA>pE&H_HC_6Zsn1M}cb*NjAwuEN&h0x#X)9?xN81Um#~ zT(is^1Pq=}_5`|K&KRJ!zur!^)vJJ{G$tut!A_D_p64WwOEzTEi|YyHE#MdjH(_0& zkIv?3jR|c$YK97o7%|zjOsh9oGZAKM0{Eb^gL$Yw!pfJ=>5jL;zv z44z)fUz_7G!&yq|dr=2Qhx=!oE*0;1%p+OH^=_z90bZPV%Zg(SiKyFRV>CsErNwc( z+72{XpwG~w!3m{hlkx9@94=!{Ja>Ufx(7GIS}^+m`dxcBE@^NMQ94Ye8KdqaQCCTH+FYMSgd zcaX=H$Hev3F72)Dnzo)RzIctT)+6|7ttw04W zZHBAXxK)C?j^5pl669un@hS`6r3H08le>P~6$igIuuJ`opRm_;Q^o^ke|sJYqzB-Q z{S%&f%8M^#>rINwyRB{EA^J5)@pGxxt-L&bGoFgh)P(3Rj%$*5u$>$Obf|Dt-K}m0 zw6lTs!Vvud8?O$CJ(S&sGK@n5j=7Q6pi3;Ez=W`n<;=c}RwVL#~w+r5Hp!Do4w9;A5P6 zbZ;IfD5ZVRt0n|}A7bZl#`+n^D|>fB@y+D(f!5a1$1EQsvnD~2U{cD3JbUBx$P>0nxYHw0=Vr20>)OMQOmG`YD2wI%jKzg#)Ao(H#lPKehF z(&QEZuPUif$S+)TB|YVIV0m+m3fU}~eoMdLxPQUwT7xGaLMtv`PKX+UtOWotxNq>@ z;zPtFqt3Fp)>qCRCUPBmnsU0`d#(4ePUwJGbk#NuB-+EFRkAV={M}ROBg5%vuMM*n z`VVS{?8>~J7s}FQ+=OV9zPt0O{7iYe!qvYSW15Fk zn0K}m!r7=x9IQVm2v>WO#9??c3)q*BYFuh6aoSTj_6b=gHd^-Yhng4&ye50ANPH0f zw$+pAhMjzxcQDe1K#!@(p(D`wmlrafeY|nFKnw{YriA7$Ns;GM65!#aRmu&?i8EGy@!B>xJ;?@}u_^dw+yEU@aRtBKho;?3 zZdJY1?f6OxMc+Mxe@H#qt?*g$M&FB$EP4?dARySw5-K1doYC3E_L#c;@P8x0-ST>u zucj7p)BKxFeRd8M&|P04fbu>&k#kI|Z1QOz`Ps=Q%@wN-6SI~jd?F-#;tpqu2xEFC zo~I_9=OQ**eT@7JH5{I~V@3D%1x?%kv#_}k1O+tN?IVY-_xv>4|EJN`iX58$L!|sa zWGD51$m?HHSB7EGTU_UsCtZW!m6Hv3OC03~S<!z5ag*@d zE@6vAt!}Htp(bR=4 z_&8rx3w$kKy~Rb@lLK?EE2^Fg4-}v!S9ue#F9VuKL>eDo)sd$dEawePVFCU^hxY62 z&cBGv$jvnmphV|G?TnEYocx6{Z{ix>)y?~tmEuBFswU}`>C1;KJv=)bs!s0%jdQ$6 zVs~^?qA0-XOJ79xOaqd8U?@e85ASlh5#M9aS3d_Pmt#$Ls&hxx!n~p_P&N{qcec%! zMh@@Wq=y^yh^!2nT@3vaY^6Ix=SEM;6L^Z zgw0Xb)a@u|e#KgL8Ij+tn)Sshx`v+e&sQx{U;IOKArMILq8@>pTat^dpwu)>7=gQy zl$(<};x3)}EL|VgUxQ6d%+r5G(9WLjc37WCh0$@)!>$t&r-W@|$3AUKYUl7}=83T` z*z2+h$XGA(ZPi?Kyf@{(egXE$%yr#0#6SXUMjml>%`r&}qEr(NZ>il)?qXl&qQ6iB z4c0B39p!m~r)em(6hWGw0Lambkz?E;MAssNA6I!x{;3d6rihESvVx9oNV zmxgIkgox7Y9Z7P=o5>}WS30X^YSxH+5^^V z;eu>AA>qHaGRE*@R?rA>R8$P1YsVlHw=YNi@q?VZc^Dt_D@&rdA5K_Z@nrh35%Z4Q zYi$#EsDCzSG4Kd~yy zB^Q-|0D+JJICxsN4VtVoL+P_oj3r4B(ZbuNdevrgY$zQ(;-$M}_}}mzM=?Rw1-fXS z4OWZ@>R^XKgFowwtBp0*T7hsehU?dDgWS&X3eCj_SkFQ^G9QvH8?eLE7R?ghC^XKd zX(B}_#7A+JN;6lr`ZEg}Q$jN=g*e!!4jBTMe35Fc2Hl8ssK69}rpx&l$7^b;v!c@4 z*X4)mkl$-SWOTd!i9!qf@|UBsGof+p1dUS(xTpx&=xp|^j$Bgo(3SYApXi3{U@{fv z;bdB%vQXjEHw>KTXRlsVQ+e7VWHje_34fDrM9756?2lZy`skD~uIY>oRh4A2Zxls9 z=vk&I@uHvPd#K==(Sag@i%nWt(@(6yI>bSxTdGVTlmlc3<^ z*Ukpq0w-OjzUvBMTW$Vbk)%RN8|Yg*nO58N4G(a0J$J@VWIBCVU)qn5Im8*j!R2P4 zu7HjDM}QaI(ntySb5OdgWNMc(TeP_~S+v3eFMz{ki>(YXwZK?-e`#ScTilVHj%dp= zugwNjIAT`Be>kMs<|@D#pm`8%b}f&b6#oHwU$LLGQHcU7=n+sxq|_c7V<|v zLf#xBg1Vp*cLksn*odfU`LzHP4~s=Abu3vfXu9XFjz2^)a)?V#!v(6KP>0KhMd|-E z)>d-6$MwUFk#?Zj49DmSB)959I`afbS#8J&s_e%l9gp^E39C92fu@tDf(VOW`CTz# z8=jDFF;K-Qro5`aj-e|F?`N(R8C)^+4W13fK#A!nG!IA8$X75gr7Bc>QM=_+GF>#g zNLN%QGkM{XC7C)!!Ns)J9|N28DUOgln(2ky2zT^OY*-J{x8`i}$puh*kIQh7U7Ni8 ziG*i#$uYj|^n^ARvo z0gjh5yLL4Ay4N$C`PgP5HtKY78utunR)##c7%ocS6f+1X@FO<&Lu)Uvh z5k$nAa;aXjVG3$Nmz?2!*5^sKXRa`iMAYcjQ8a70s1~VSGmC`a-W7^4*W)Z+zfTlS z$}5Lt&fiAGaxUMtVBJU{Z#EzbsLBm2g%-gyqJ!W%{@|>U-9z%zx^m0widqoIHe{0v z6~tg%6pE3zRT*;Wg1|xP-4mi9B`5|XLgTO?7r*x2Ph4GfQBz|S;ro_JK(WwjGK z8ylDarpc!v^}}yn{PpWd{DCx}0tkAD!I6ljku7x?!7dMZ^b}BEQpd#YeBp}vql@xERe|WK;aNsG+YlDzV%E{WLSdpn9SI-!k3F8L8)AD)?bFRYQiRWXp{|V!;w%@vs>Twx>a9_}-g@81xwv zqSJmsGH*IP{uA%GTT1Z!5-1SYtD{g5VO&iW&?u0*{&s#oT#fV){D3lGinMho1+M9j z$4>7;3c1WbVw4(a;#dlAGiyJIlmfy*Ta10=@o`EA1}L)1@{&F5H;ueTfaF#X$i*%**={Iv)(CGCz;Ubo zLIxl?qJ5I3S@$=l!W!JzChQ-h6`0v-0H=omtdeeFf@={rwj^j1?43?^Rp|8Jl&T7J z2|xt!SCYj#7okJO>4Blr;oBKBsk8&tVe}L#k&>Xc3VILz)h>5_0d55X!L72KgTa7{ z2$L7nZF+t$l4?G}VXJErGKYcqI9{w8x)SaUiHkCYJs>3=Njtv;*Vru{{p^19uH|dBdY7**OjY4uC$k7+;~xJUGxzD z-6|I&t0`N7z6XKqMwPqD^P#k=w*kJCKd8_f5oh>ds3vR|!xii@u<;4Lm??zs8t|tG zXKOWNR{5nwO3F{lH}p|4d63cw!{HkoA3gSF1Z|l*KWH&I-wlgY(%iNU=dlzWALF1| zrzU&F4UZ>E%&0hobw6ZKc1*oGDY=Iy%g$TvLjlA&--4bb0Ye@um!nKh{DK^vy8TF; z<0e`s(<&w5ty@Q22|)g|?yD!zIb_uvY~B zA-6pSm^&(9>P3mhS^FKObxW~@f6{63O^_ zoAn7GSMKPt3iH-^uR#Pbm$IW*@YeNIwDaNoX$JOQPnq>-pRLP?J$IvpdLw7B!Axdc zQ}q-Uo2r9wqO(e7{s@CEJc3S#B(feB`CsgAvSsd!PPhMt$#%I(nlD{2mr3_Mcg6V9 zeAren%!NZ|zlJ%1_A1*9c2E!q!yX@vy?02ey!)0v6KIPYFq`!Xp;6}q&?I6F*SfL@B1I(X^X zE03b|VX;;dutbfTXR=k;sQkKYc*b^dVz`;e3a)pQoO5SHESIGkNKG4_FFWlu>HqYg zl7jL&c2)a#8gd_XDX`vJ`gheqfa2fWno`x26zoBfJcVGZ0-tak1KO$EP(@Fw*^+SJ z@{s!1>}>?=M4=<_m|RX@33cgM@m4pkv3+cvVQkUrEWw>pR4|N8fHBVv#m;kr;Mn~l z2z*~YHOTRGj^NfiO-CVEZUDhvyR*-%ed;N1H4I2S-SN~(?+;M3It+lJX(2st1b@}v z#+=6#sN3hzst?%@>?^8!U))uMA?jHF8qaJz-s8t!v#dR;nw-S<*|${iqR+2QZ)qqi zIg{2Mblb8gKs>Cy5_$ygAifLEhr~l+%1}s-_D3|&aMiILuyVqx4&b=f`Rn^AUQ3C+ zSKexWZXH5E<4e5=CKdu6DZ3X9P-?C?RtVQVF~KTRmC ztgZau{_vO{9JTp1!+mC}q`~s|BS|9st02#D6^fncFRL_pRT+Mc*_`T@99oD$XQmoo zdV=8!V;y{GE$FnwIDBRul}eQaRb-&BcXm#mVmSTBMl>8+Ytm9;^aD}qn&y~>a2|Zi z)iFI=NH@CJHk^a>=n4X7&exr59QF5ztqFuju^km-Z?1byde)+G5K6du#!`w`)=_!e zv@;TP1%iu}@VWYM=*a6W&{5Zs>&<}+zB{Y*mILEjSAe$=GW$i%OB!}4KohtQ@6Uo} z+Me~79`@yPFjs3L3GXTQGCv`#cTgqXNWyB3XPzoTv$WTieaw(? z>l!D|qUXL+7U^i@YwXY%*vT~;`)JHF36E}}uj`0=(lXfnBF`NUN-4no)5oh9=6WJDu~d^`_NZZ#Wa ztxlGb4qmRT4(oBHdg7LXy0U#n-pwqJw0+<6ncuhB$ECkyUSp-sLQ$h__(M4xOUn?IM=Hb2duPC1~5O1)pn6%BEE<0lq4jC9i%4@u^heEok*oOnx@CU~-UO(C2 zSuEo9zPxfg8fUZhcO`4FeK$-MBJ~+i^oCBe8^kkb0+d(!4+d-x(~i+YzsR=wiN|P=yW;K5jz)d%k*i$ zpf7_mvrYc|Ee_z`;r*2dVDK(ICJr2>L3IF%;vb#y5XK*FPXQc2`@!e**GV=6A?Nm3 zx*7X{`8Ob2KNy5cn_QZ(%MaZ0jj@V$t-hRTFd3_c^d-h7Z(Z<5YIlhbtDz@G9TCY( zD-kYU^h&f+I1dT;mi@A!1T?Z{wRa$UT$Rfks_pB--v?GY;;vMDm;lX-QVKk$7(BAF zq2C2p8Q0|D_h2lV6|n&Nc2KHpD=)()KmxJspvKnvYHjny>r$ z&NC1&&Q34&dJSTj&TUB7AB(*kX@>jUN(;~`M^Kx63m#46Z%_+&t=#>M&2qcHsmE@l zE#*>|a#k?c+`C#(UL)awlzM%vws-VA)lczCV?SW>N)JLy@Glk`r?ACA54OCrraL7e zZw?Lh{v)m9Y+EeE81-!+&$}%EWAa042#MW>ndP_QIW*h;HyXErp-o}^x|+9i)H4&D ziGBV(^}8pP7U_-PpVc5gPKnIaDNDIInh|KuP8+*+x4gVBdz|{ObiiJ$&^tcDySk#c z8^GVvz&(PyJ0iCoz~80d-^~6$>;b-lyT0MOI|)Nil>K)|2m>xfey!z*+cC&@EXu51szpyon zobd(Q1Xzy0O=bVpMEl=O#StE43X2^|@;5>e9;uY)*<$iH3c_7T6zAF%Wv+z6U6QCz zHor{e1>4ccPrpnZzj8=Cuf^nhN+LX16&7p%yT|f(G?DOE2IcwI|I^h_rYjop&aAvx z``;s0;tPDFQJyY-2NH;${g(L=@6JVKJ95Hb914rJWd%Ms6z8l;@;x!gPgoWI#SEjq zXiF&k6+(H=`pYbc@|5}CY`>WxcNB!bNPpSJFx3A~#nrkir|OB9apgv~_|yY{~>TdSD4x$Z=S*aK_w7}k6?A4vO782eA`{a1>?JISzv z6L>IPbT#UMeU_=lws`Lz@EyN)sgi-J3M~0P_(}^bTYb_?HfK4J;--o@3;kXTvA}`% z{^+~f4WWqHehpy~)ovRP>ZnWsGI>l*GD>-l%V4AvUCz&0F`}th-h-4sl9gNs7oPgS zP{-wVYqM4Xw{;kj^KZWQkIl3&#c&>-rKM3n1bUO0_Ol74aJ%&N$SWVmj{iQvWHYSV zjz3J_HqCEk`ULAInDCVCpek)_NoSOs)IIm$6k=sdsrOb$R=%8rOIYv6iDw%Nh8xu$ zGaD^1#jwzv6j;`lP%}VOxxm!y_Gtk>2ZLKz^8h}yafpabprkz41Q}}QIhEk-v-ZhbA=e9ZHb?4 zVR`dXp^&CjG>kW0BK!k6YlZ~MFTp0C8L0%>WUI7IO(Vgnox1sXq9Y(;uG@#5qPCXC(vaYD*&0wr>6S{TTq5E1}xm)#rWW-tbXaGE`=_#Y zE3b9eJS+3@{w&i};{81@2DZU2NMdG^>#W`4T-b?eidSb)$HV@b)ZbUSPI+Kz^67MY zE|P|s6F=W($~p1(Tv26~6}jk*dOLN5esvn#C^YY00Wk?*1wOeb?Ivt7u*tTlh}s!D1KZ zl=)31DjG;qOc~JZ`FewT1$|~ocBIm#?+LnZqZjClXub(Zy^GP1CJDzHtP|Z}x+o#v z+7_KIkLIiAFM6K!7Ov9W5!t0vVC}LfB%YOQFLt~~uu#JzbP{=j*V-6UXw{}`kp8X} zqV8u>xStM@RMhYXX)ONWL{55Yqm=5_`(gQq^j+vESZkfL90O&xVYq;H#6_jHySno7 zJldxXIT66piD4oviY(gnnd(F~?Pc6Gu>+^J`%w|XQb}I(@o>6?TA}*U1o`d7HSSEB zU0_{-GP}MF4mJeQOnTu^bf~#{`*f&npbAA9J#xAWjG6qj zCbEf&&SRiSz!WOhQx$aEPky*j_imJ`q=WhD)d$51fWz9pL_+b(?xk(w+m)$ z{vr;+IU3aSdv`wmbxrcNIWdqhBCXOx=Q?jRFW+xdD(M4Kj z#~sd5>^Xxc6lim|pP5T;Q9ZU)RQ1Nbur^E%kjNypYF3v+9;?=tHsjASi~|Ly6t&3x zMJ=z6Q?VXwr$`R>?e>DOIYT>R-Sau#cY1wev>^q@yPM#$?p0Tz@#KXq*FV71n5sxep!5 zJRaMf8$76*;z3DOQSMB?OR3?JXy5q0gI+Bc;6F0dO@oA6zd?jV)`x~HCSbQu0rG{N zK*Wy*Dd=%+gJEo?l42LQu~4W49z9rvRc;=R=%q2eCf@Eee_1fhSeJHT3MJL*Ro|kj zoiotbsQ5QgCdm>yZ8jiPHtn`#$#~eb<TS6ckNW;hShdA(9W^wqmCV<9Lp(|T?mhitIn-a zM70-Bn093LQjx}y)T<8)OzkqkD z+MwAH$JKYXGMvE`=3Z(FoqH&>bK{E6a-%IU2W19xuJC^*Vg z%tG0~tPh0xLiOwVA8+4Up*3AhARNY@MJ(F1l%oBr_H;smhIy#oE|PUbrC%X{CcQ3xdjXA8dK~mqUetESm%3~q-ujMG> z1F0f*m?~7(c)5UbC#4<*))xmSdhDh)INg|T1ph$=Fr$qV#*lKHk>jdd`}ph+PP>gl zjuoAL#~En{@QaP+an8kF9%~yqOi9OA&^JpL8oS0yW-D44q7rv_z)yhUwZ_ znDL0|+a;IrLBr)c_1AXM3TMvhG!9J43eUvQnHxhpn_tgI?{!1xow^Kd44Gi}JqPxa z4CsM1T}rDy>aCB319?hryMg;b{pTh^WM96T&soHf+XFueiTtOF36tc6U=r`8U{+3c z4vY*ni6yQ*>`vy4yP^Bj!bEm<>aK8HMIHX`Yt;%~R2E4sV)F;G{6gPJVBcGi=@|0U zI(&22m%|B7*m{YOe;OkXpTDUVgR9)4QSK;zqNu zIb6|crXrP8`1=@Yb0ZFNu#GSdMM_!j3L5jCI!Ag`rxAsG4_m=DxP0A1v||O>M@(6Q zCmS0t=l8wMEFOETOPS0u3Jojy`Dnah*g9-P0#YTMu)FK%Y`7pdMQ8z>&52t7*E=>V z`5H}S(1h!5;5SyZp`4S4`ZmJ{ITA2h_hIxj>{rjSdr3=UtZ!11Uh5AzMPK}`yh1?W zKw%N^NTjGZ1T2AU!hSU6Zvn&fABy`wl<0p7x!43m>;_yC5;hHP!p+>>c8yyW*N)kjnHyUspz~_=G+!Ylb+Jc)(T?fquvIYidruN$9Nl9zW?nO zb?gm%({O&_ee9kjSnc0)$!~iJL@hQj4*|RH->43{Bk)x}hLdhHf>`f{+&E&dY>cQ~ zs?x^p+6)QPLtEOx#1wlO>yK$+L_stu5n$KTp(23CAs&_mKi^l-pa_4Ha&^%13V6n- z`PKg*@;7J?=lY|?s}vuGJFe^^L=b_BJQJ8tq+Vxu++!bjj!C6Wuq7P4pS-Kh*(X{z za?aCxcU6s)in8ZYytXcXx}5;JA^+G`EzpNKi^rQ7j@hR4+~a*C=<9nL=?s0ZL)Zo^ zY`^NUZ8{0kk%sbm`hT!f9dnR@2D`8FX}B9mxA2|2O|(l@+COtz0p=9Fn5uSh?GT%N zg%WBTF%n6mrpt51C#_A+4N|18DAL1k6H}NWcZPSf%j~6tpeyMy6W6#A!@Q2}Ima7h zCrwC$`vPA0tT7!KIO3=X>eFx*KFpUh(fFxsK>T36H=bc+`b0XAi9D!)(v4R~Sm9B^m1=CG6CDi37htIvLB#85sc^ zb5%BwWQk{Zhw+ydfke(87e(ID8@_#ZQqrmONwu;k%-yaACS?)z7Z(qCSnUaavxdMOUB-?*80p1y^S_N%_H3# z^&RS`Fjtr5*!*=yQLCBBWDZSd(dC=tpTSYH6lbKp2SIGq=>}T}GtE94ywDOM{bUEEu#opZzyr z$DEdB)>tW7+cemN*pb#7R>cj8B+kcuLAVpvDdclu0htyuV%d}nskqaQq@r1_v$Nr0 zx@y(Q&Al`p@4ZeUf zeFmnIwiqV26K;}w4sDx6pW}JO@s`{IsC7cv^GnfSY88k4>^&#{{j2uozcV4(-mAUl zHU73;zo@)ruJ5jY_10w%|HzL?!t}sCdoCJ0=t~`V5Ils?SE6D?I|k*RBsNK7oa9RF z)8c2|#@`PjgCd>sPj?Y@!b-@Rc&f8qhWQST2~2HNEWo91V_XK1LIl5^k za}wtS+Uh{?B7`kZCa{g2p;E;pFyM4v0W0yjViPjm8M|2!vq^B0a{?BcbpE21haGvU zP4eB9>1E$kr5#aut;~#hsSGjrCZ(pD+ng^fAEHeDu=GV)JlJalha1?Ipqb1%cq!4B z_ALvJ&K7cRtBzoa&ss*FmU=z6OVzSxw7%GC@yEN*w?e?>_>A|a&6!Ej80Rv(MnNR} z-Lg5Og5++-N~INGwPdZJ#ZkD{|KOd9mn3Nssr}HMdx47UnE71! zC=+CbxX3?Lil~2&U};BeE|shSE>a(yZ253Khk=fB1(nyF{w){!S1%(5+;)%J(TBL!gw z7kl*=_Dlhim83*k-5-kg36)Zg*SJ%#UGStjwURoQjM+v!FCK%#BlwG_+8rlz{(Rs{`v{eqEz*G1T`JIcW^kAX{&rrtj45n6PT+}U-cqBVkIs?40Otycd zA$TJgp1GHT=6s;uKokwxd;FU8NC6t)e*tPhmA{Go5u0Hg-9z^%!sh`mx|dwT_~Q&5 zr3j(M9$6cYG1{BKeYGZm+j>;uj`8tLpL9^dHR6T|&RDvO5>Ej6Y~`{l)A=l|8!CY? zN9KCeFF9zTTp+x(X`(-Wv9Odt%P)$bffLwD6I)Hk>8hCBL?QjGUSu^P=HFLYBiB!K zy*V{EJH0vb0iV5$XmmaowePGNF?6T18P=$Wr372s#D>0ed~TPbU`g;i z`?Rrsg_W#-;@J)15S%PU-Ynoe<^t`xd;o6GWOZ|pvy^O}3V;t?3kL{c&^Ut?S|=*n z)?iDXF8hn3Uhx$`F&`=iH*FOP3}!+{Rl2;%X7yP?w)v2>Zh2Q%lt7t-<8t=xtO#Zh z$yZlCU9aNIP`!R5WZ_%f1eK?i7X{|5S}n<*^}ON>`SXgwE?cODo0wn|mk#d({lBCJ zJ9xz%8VN0j|ep@uLc8i)xI9RoI>P_bEbs@!0O)iHnpgl@ljxbo@l zz-1lKY8b&uPc;S38h@0BG^#e+4XFKo>uQv7Nmo|^NnUgGTd_fj_hpy&I}#! z={PtT?41v%2k^eSI_nQ%FyySrAJ%|@|FVNTYYX4WqRHUr)TFMHVM`jF@7{8WYB_~7 z3Auxy!uo7c+979y6P;`o$ZSk7VJ)6ciF|J3Fi&sGN_C)z-|nO0UJ-$a2oLWYQF7=!!5urkY7#a~ z54x+i!_Uh)vv)vEI>8b?#54KmB%w;h92oX-&cK^kWsL9+z1?TmT^l6OLD9UyWV+me z3XxsHWpv#CREJj{;p0zZX^uhBdh$IUT?Y&@^Eo0Lu?F8B)bW40Vfpf3lV|d|AV`1x z3^zH*9u|lDv*mQ~_f@JEv~3`a2P6SqSdtWY!i=W$;W9lVNqi}H%c|zEDi;TfFl|_b zY3EIZmfafzg90#zAv`p+9CUpUYk6m-Dgz*JxiyFI} z?!6$Px;%aGLq}{@s)jAYVMoC$f-yWg38qz*oqF8f+U@u5nH@g4sTk{nDB+8jAR2q! zfU~31yB;=SSeN4!t_~cAJadEOu8Lh-7&u837sd&Kmpu`T9$Rl%I;V*GO?Lcgr;3lz zd@%!e#e2p4uyjgKlFjoNo6^b_X8pG2rL%k7v@PZ%n23@9LcCm+5R~Ej4`gHNvt@Hb zQjWnAc8rgz+0|%%3$GN;cl%Hfm6Q6(UD=0KAuew1N?zt^CHF5Zb3>I9-YU=urdwlp zS0m3AZNj1~ox+|d>!5>@SAH-)a;na#gvtF*-)n&fXw|XZ*9Hp~fwv|;R9>%m4!)Ko z;vlPLB)Pv@=J)xO^$W>^U>q3A`~gl6>ImkeVd~fxD=bQ#{X>g}Tl-e{;2wQ5 zs_kPhQb|7?C_k_iHPntJnP|=?1#=AM@FXJCcPP5>kwKCASv{+GrqRZQWEK=t<8joH zIH0$606I%6+~-*G+U||2Lm2OC##7Tk6AA-ApqbBg7$9tBR&WC4H6m@$s%i@u4|$;g z9WTN7tiEB)?!eB|CGXu>v$CfO*r?5;dDW~|Ijg`Wv7JU74PX)>nq7d{XHA+pjUF2^ zWbP!rF0w0I%jVvtoloc$IYIWVw#XA+1wu6F$AdIJvhyZ!m0hnYzZ?XWm{q~(PZGd1 zyLZVa6xQL1OXO4IGpBz%UtQ)|ZFhJuoEr;}Ru9XENqLZG%gZvYs6rXcoiPRG#8g4> z1rAzU7HSYcyFfv+B|LRwQblA<9=Q}5ZcaGClu$-(ts|5f-yDhNdV*R`6tf#X^5=33 z5pHeh+aLr{*pmmz;=Tw;J;~;CK6C|z3wlhxKt!St_eR1|2zo3EfiR-L1&9M;G;er0 z;_}C>*{RJeIf3srLKdH%->NKlw6nH$dZZq@ZPYpQ03pWkwJlFV+_Apt2pkOZErS(2zg~GErb_`&L!3VIKkF)ZOT=g6Z2v#oPQnMT= z4L+ZrjV9Cn;CwVVfZLMO;pt?67s$uc$=S5m|1do}J^rFDq5hlh>eRi-bMR^={B!?} z4>L(SAdB55b;V~ZWH%=btv-K|Tg?ra2W?w+0;b`Ce8d={qdvVo=?mTYGlcH`8A4zG z8A9Lu8A9Lw8A5;hGlc&9X9)e}y9&h(6l^~SCA;#r@P)OI-M#>LmCayNqV5tZ7YN-# zN9i3*pske3gAhZoKHe|_!$XVB>-&K;x`c2RG4U~_=>(Hm(niX0CDB4~^U1W{h@}L< zruLkUag&H3Z1ivQK7Ps}5-PV)PzdZ+Y=($Otl^o;ij(v{h5?m!qlA48*wF-02R97N z81je1vO=4kD4NS$3xsc#d<2a`LXA5hH2f5diRz{k*Jp6z&#R+-$VVVYV}|PE!;-qX5=%;K z#zUUy^Cj0lpSMiK3pDNNyb2bpVx4kLVJBUtDneu@+D;5ZDzwOquuP}w%pLn(Q8sJj}ESC?wX8TPwWW6$$&6|`dL&F384sy85R zK3`v)Sz5HX5kAHfn4VhV1hPAIXhhI0P9n_;L5oyv0!`N~58)T9B|OGYS1b<^k0DMaYL!WLE0vu)U8meE8CA+8eM&Ri z`Hx8?R2*BLYrard#uux+TWvRK+dH`~0bFg71nEeNr0HW4mty3dh$+lxpa0Nl33Gc# zFEoJ9^McvMhmMQ6+Z{M4Ml**y1(%=h7ba{rfHUf>8L?(n6$h}&Jd?W(B=I<#F}|3F zTOAm6H*|2n%-Y){BoNQY3pl}$7e(-pb^xXoS|cPUi%JdXhL%Jt=!l7p075+kX~gPP z-oPZ>NIZcXKftSVaSYgSu=^$s>bLVqM_UAz1*JUo+*gU>DoL#Gw}9Sklr7qo>FAP{ z=_4JQj|Df1H7fQm7hak09 zRz~e3U^0mZp8n^19~W_{jX3$+tO!CLE4ij>}%LI1aDmVYPu6XPRev3qnAzE(|c`}lY)-iWYvEZzVSjl~~M z)``U$S`yZUb+Hi@|64^mBoPcyvT zM=%4;EfbgonKb6ZgDYc;Pdki*dC_h^N$>geCdV^$oD^*ZeZ&E#r|nZ8dfGRnL+gQi z9eu^fp`Nn}j)OD2mN6+cu015vSXzGkxXj=-t&x$Iq>6|WI3oYTK3S*;tl(kpDU97= zHUg6g;r8&=&dZ(GFJJ9~M=Wr2g%e0n8@`kw-dVI?rN2ubl4o;{PX02(dcfv?NfszN zm7-^OyZsrIK>{WMD76+27kQQ9|4(N#wrpg|W+^-%E2cQ$H0$@W1ZP=yX*I`Gpx>>s zDp&=ngePYgVAD{)kH27sYbzaYA`Jnj za399YzaM&%egk6?@OlQn0pReM2&lm|fx-KJlX6giH%qw8l$!`1FZ;FfTcSg~mh(EU1N^F|04R*Lwb8O;8 zVMhmgvk@d)P?HXCU>IrdHHz)_^E}Pey=0qm$Q!2GU3EzB&?lcxwL@kk(^Hp-tr(Hk z1cqHQ6M->a^NSo2{4%Ru{36=~ztl$;zt%uNHN*tLRc%+PiuD%`J=)PcMeQ}{TCivj zaA?q=aI1hVqik+Cq$cWufr}*L57!DI3p1O@@3*iz6eM0!Ql_DzfJ{?~>&k>KKbB6R z^GBvr7DHHOTTpAtG-t82OlzJStGQ-H2%IA4*>VX_^uQkz^ev$8vpYoNN*f+IDk^i( z;lsw3BkZkcRfDlGZ`bX`A|rGt-O>AmLfqHU8^@XkopamNjBt5jrr)+zVJ+Fx84*h$ zVJ1!A<1Se1&IC&>yI}P7 zpnWNzQ9|35Y}(kc8A8i}J>A@VIuu^%ghvZE6zF-fAxZG8;f4<1G~_%_{`sGizx|MO ze}({fy3{YZ=ZX88>GAM%0Lh}$X8ic=H@66q|N5`>lGT0zajo9H)Ey27$Nfhq&+Hx_ zoyJa~yxZ2vRLPoNjQMbd$;DTc4I#mtXiP{R6wXQS+?VE;8YN6%KmPJ4<;k}32)%u` zO46nI#}#LnG%QDY(pMG@q+R$cIT0Jx=z4_DiA+D$o855ZdX4R(1E+{SCkx69Pa6p- z5mPm><5?SvFf-Jc#G1i+AJPnscuq25+GViC+`1PwLtFJ~UqBQYwj_Nj;laoxgOWlt z(r*$8P+pV_A4pajn%3Wo?dC54ny_l2#~c%6>;;*@U&(Sq|F27bwI}CnEmApK0%$t` z(kVMQ+b2>E4sS?`_MtpnFxKU=ub@mi=Z;d~0=i~e51 zogSYS?hXr&7H*9eA>sCr(kYx6V*Hd-q~?iTByU#kl9Ax`cmS zr$7Jt#QwY;Ut_|JLHJR^?Ljvn+!>kI7cNI^J4vo^HLN?RF5%Xo9};fQ4AvLkP8sYp zIgO~DSJ&KFNyxQac+ZA?bY#a*}2RnM-{U2i^dPBEZ7?eyXJ%4hA?6K+5KftZn>j@(tBt}^B|rI!&$Y;eYL zdNvvSim%V{mV36;hS%VSNIo~$luPmaTvn@NkpwFttE6EL*!F<6OmiciD$eIgFK_Tg zru|jZl!e$iAi1|f=O+gH0UtuX@j1=Bbw5K8!E-pgw5wla@<5P9UClf)3$O*-s4pSV zyBNTJm0lYOaVcO_VXV$wa%)==!GH+u(<3M$3>oFsewyba-eHD8)23oyCM>ZS_>3W4L*PNl{`hEhJ>1u#Mg!&a9 zgV(9|f`83t!EkQC;L99ExNt!(*F)5XE8-D~D z!EAgpO!bEVoK6r!QBX*DK1N9C?(GqGiXPa!HYQGB>G29_!b1Q})5do$Wn!D(x#V+v zEQ022x6NG&Y@69<3=~2*E(_C5D@uw!V(3&p1{vgewya}mSccOmPBDyQ2(JcVZ;8D) z_<)UpM$o_Dh!8_z9~=XG#?8$L;7b?aYZ&04Xao@8L?%WT4)OyP821iLk8w1D&ti{* zC1ZJ$k3zySA`cVLQ2&JjFXee_7wnR}#~@t5Ma|S@PKvY>ChdkvuLa2&!;u_F##0Y7 zP>$@m66gEPi$(TuE|A>I5Ryf|*DYE0kB^Wndd+UhvUh!iWax8UI3*eTW*-=l-1gZW zl6Bv{u4L@)6Zi8apF3{|bxWp?M2Ixgry>!_=4ca>Y>i55OBSP)nG{;G9L-E%hh#Cn zbxW4x;3FirBV&hTJ%X+)Sq`X1QfSF);5C3V+@Zqs`Id^#z_*lkV?HLz2%oGNxoR#VD# zBwI7gh-7;v`UuI#c4rrqeC%{~oqe4%qYd_T?##DavN-{!(@ad1JJO6(=EVJo62z&s z2aHI*fC=>)k`ec4$=0>?h~%9|OWs{m^6sN0zg|=F>qkkZ&klXbfip%=@;^Mz(7uU$ zZ%H7~2rjHN@WcE`{K59~yxrKox6oF$w3BipaN=hJugIm18jmYzgDc|m9@QC4! z6Q9s8SC={SxK2uK1}H*c6VUwqfjyX9Jl`VRiX)giiH%;*=P}-4!NMQtKYx>=o|Nj1 zP=_F$&{Cvxa8RyO?oer-jtlvkJCG^;5}SDR92n3hcY3%|+dW~-q_R>R2C^2`w|a{c#A)h_M5K0vva!1#vA>HjVQYa|`t@&xI(?m> z^DMp!F$D9}WCf46Uh?$8i7zJmnMn7uB*k5Q&Q;9Rk!>t?EZlJ9sn*?}mj%~8y#neKuNRL@T&noOl2=VB0v;=Rg&i8e zg2Kg*!?K#OIh6m!l2^4yDfkL`MQN^(JGr}IR_uwkUMa7xl-3hjqpz|C6b$na?1jrK z;bah6?^@}`n(^P6@Hwp4iFy)DEuRF!&@95Rdpf%cbx?Mip%{%GOD1a$tHx!Ofj>rY zu7iE5UDE$nr^$rPE}AUId1P-s=c(v(#DN^iHlA;Kh_Y^M$PciLASNMejeMIy=)@VO z!boQ@=@J>i1^eYV*6AAKV55^FfNdW^(b`r{5b0Lh0W_Kgfs9s3Jv+2`=*))?xx(dX zPWd?N_oz*4h;(b+5C5=X0ZUKZv&`fI`tuj#)YqaoXV(_ZJ+emCngB*H1t-@wXC%=K zk~;mo>4tpqLcV$-=XK_V@&2iO&q{~(^5u;mYMj3tq4375s|sRp$Uo1OJ2OdBv-7s&hV*qd@%y-eEPzf zh6vpZ<6Ijv62u|`Iuh=d6d?f2PEa885*zX{ zcisrg3aCi>RS_dlK5TjFQ_kR=K@spitwCfyKJ3rJ$j-LnfZZ~&S@z6O4|>=PsYvXI zxokpNX;@ui8;#JHC~=(TF2!au45r2`*8_~ff8zmPX&JVl9w@{dREjTw9!y0ycfj&o zV9Q)jm(DXbV|;4D%xWBCm{gewg`C9TtXpC*e^I$~R>1~`X5e$)g9BqS9!B6Mm3d8k1ZY3u$y+I2wo~>ifBhxXfa5sd{f*&BX z2Tp6jb1jI4J%|PDMPOX~$Fi*J47_E-tRuti1i-y0ix+bSQ;ekHL)uGp*2%jLKDgYJ z`MlnuBZoiuYH0L|nL2CnW{?FyPte)5LGkU_?93^8@s3EL$lB zDINqQh&ZpZ1urV2W56EG2eP1ur`olKQzO#M1$HDD`bZ+B;tC8@FCF)<22!A`dvn;9 z;G*3n?4>Wk`y-qOUGavhHsjRCd&e4Be%=z({NDL6x#Nwlg2U%RHt}>0t&PWj%kpx` zIb12L8a51}M$0`n+@2Z3nnE6Tak;@-?&JlYSzF~^2_fyQ3X+7HHQ6qCy42$}+T}JT zE86uVQ4|sNYkddjBT(`vjm>%2JBN$U^5-T=KTj)ojxB$Pq6X-0x&w4k%vja5E{t(_ zaUhK53=b_Xf8cC<#PYM{^q6L2k6`(4{0EZcjypz%lg1hBr zsMs3>3NvBhjRb)Wtu%)3Kj`X#f8i7%Q~NwVeQko;45f zuIOeL=7i0&)uI#jF1xO8|MMSEz(F2~l&(mhgTOESQmJE4;0-R;XD=ErMMu?Sv5UusM;%8R{L!t6~H%I#koMe12F~3$^K` z3F^UPH+=u0VS@r5c{92UO=d1W+(tA{po3HokRPc11YY>}Dq5fTl~v_YmCm!azR;MR z!brIfVIkgNP6!!l|A~)s>{rp!hDEZ&>l^IZ%RY0iJU*fkQA_yzrLPGU`m3Jr2^m?D z>;`0PngYJ|b#SNbV6!Hpu_;zmF3F*Qx?3vSbfX9;S99#O?H5(~L`^zdSwqlhK%o}! z$=VHB-Jvxs?qMC2xtex}K*Qa7@W-Dep=tKKzP4w2twI36vJ^@ zTmw^3R4YyGT`D^BS)x0ZEnld6e_v*Nbj=#IYRBIrP`UAYpS7N8Re~^_8JK7?1Ui(4 zgLFAP%+G8 zy$u|gm)E`Mq&IVO_W(|YJ)D@N9h7A?A3xOSMM%5*Z_&d=dTnT`4R>Sj*heYYo%9J* zz#71eX2Mmd6ZKn6e+X^$XJQGZB3NG1G?1>E5hib38ZcM!2$PC8ab8(i+2IN$G88Ex zTNzy?glH@wGa91E5D1`9845{l8M?*#!#{M8xq{MxT1s#au*%?B!#*4aiS-z3Zp!)e zP`~~ag7jvy6<9&*Oa-B=LsVqeR~t9#fA6}7FYEMIdbP0c!tpzy@QVOFAc< z&k(B8*r995Zu)}C(;Rfm1Ul+sI^1*u-n#)G+<>768G4xa1lI>UMe)^;MLNlTB{`B4X(ebAFW2gOfK5qX!?u`edqmWnO{&ZkqKMha& zXP?Fh{*)E-@~%$KE3hQ!^NyQU2HU5TLkq?`^pwxrS+apvO;=U9NCx+?Uyp}?&kfek ze2i|DgyLBxTr9B|$^x9UtTj|gwL^wg5!h^*myK)HY+dr}@_X^YTtYS>L zakMCHeXxT^Cse3eo{$fV$S96*E^OY=xZlFgmePb{%FFYv9lr?rzC33O0**`d1Utv!=gVEG6E&R<%jcojYST5gwuKRm_;<+H_K4_~6dw)$dyd zryjvPSY-Fwn@RI?U~7|L=@^D|^2zld+%}vZqlxyW5n^6P5Fx$S)~{Xjml(#k{h%G4 z4-AHB;?xowUZ81waPbO|iz4H*)N}@u{dZ}81=n(TJF@d*g3b!oiJ9D$8dC>A|Gt7p z0IOj!y9pp5JrOcbNrXCKh3O=fNFz_-!(q9q;;@^nY97YfeH3+=T{RC;#29UeAGl_s zFrFu#@a86-ZG^a`(AE+Y%mPB<^~RDASS_5VIaGVTFfPj3O;xrJ7RvB*uK&C=8-@sX z&Lvf_!yQSV#D|gv8xz7P2p2onOM(tLildnsSGskP$P6xx;{YR^dB~1+JG_M8s1C_7ZgZdn=%KYlIo_%Pvj5(FazZdZ0PQ)dg}EE%!9ADUu}%=X;=8? zUy|`j@A$ZXcCmjvc%J+(@pCYqz{KHna5_nTRnUJ;j(ek{frjEw3z?&I4t}1%Bf`P! zui=t>Fe_dgWYj%7?Ck2QRtG9AKn!ye9$FXhz0gtmGS-u z_>+=X(kfX&14{VB#$ZP$5X&m#^Sq>9U0r4Oc$sTH7Y0E%mkSt=afR`jZ(d$1dtea) z2SbKIfe2(KBB(8i4YY8ueCcsrlrWFEl4WfKn)h^#V0_ZR3q8r^q!1n+ki#josCRtQ zOUeR5Kp2o{X=lYan;Si(L1G>_ylrc6g=STN*)Q*nO>Y$f1~qCwL5005^IX|7s&qlP z!x~Ky;zP-SL+kNPx@4YNfC%lY?QR_eW`1tiXi{Zv*f9~-&(cM^!qvg9t$_?(U3y`{ zxYrGZi?rr3p{6*eJ(}Rj2C#Qz^`v&H-#wMsyU@kZ|ztbpLTrlgRvk2q6j)Y!!^XW#mH1E30fbpuGnzSL8 zI`J~h=824(0v$R6D~pDYIQcDWvYFg*u*3HGl-3A8;!~t=#_yA~xiNlT)U4`@Z6zZV zHnnQ^_psq9p1Gk;bOzF)9PmYNru1ZnXdE6xmD=|y{vAGMDvRJwJzw$m`&D`;jym@r zwE2!pIfmXtM{ko!p75|}^9F1QT0jqOvcZA>rbF0gd@W+Umj>zb(zHf;?6hF_tb1tV zO?AiLw8G+eIT>Fd6<*614Tpwqg}uCeQeUKW>2!LHPdO8OZ&Zks(p9A%f6 zYRoms;_5riDrj-eQ91WXD(^;nHK;^P;g)Oig=R(q)XysWXhH|$D_J#jgZInk#!VuG zd%%w5ArDyZQLGaqb=m5UStc~-Or$fdxb1d1UNZBQ|! zoIv-BJgvDL+{zS-0@Zuk^wV-~E}v{7qd0&y#=t=j3mgw)H>AfvUGU}vWY`fmTN8>6)*_oDdVuEVTv~-#TC=ia=2U6K)RL2XCuf^2Je*rMr|~wU zIdH`Ov#XvQOxLV^5{+xLnzTm}b-gxEhbW=x~Qx-Y^(w&b+5~YWHd{S zV6+O(Vl<11V6;lgVl>NzV61i;tcjNeG?=!Xe}6Xn&I=pb5x! zgtil*?M7&?BeXXW+S>^2rwHw5J+E@rZBoQ3>Y9C}08b}rmiNT-P-K^4 z$TXm;0!ksUqravQ1L_Dl$+V0PAsU(xDM3$D5Z0X%^um=`?MWcqZcU00FE<>nc&A1y z6;{_*8ho{xh=N$KHK{>*gp7dAJ$;gS@d%4v;9MZ!s>_Vm6(U+ zY3sAu3_s+}K136{rdH9kH0Hy@8*C<@?h$!MStW19UJNE-%$h9``V)lKiQ+<+93qvx zaK(LMhT-d}iXdwDL&?$^fu8=)5|V*Z!S zzcBva760!5#2u82%d!<15Fu4=B<(jSUOvWxe{h&o9Z30yAoCFS-6c{DRIw!LVwGZs zAZGX?kkQ8^v;BKIl(OH0?DyYS_IoM&1IYgHePw?T6+n*xn#6>;4tO4vcUqL84tDn9 z(n+#`FN78TK>OSnVY9{@U-R@D8?Nwvx>yw%Y~}LN;qE4z-6TtqN z;d&?`tOI5CTRQZjSXmcqj6!#zPaSF$dm=uot;p`5OuEt(!S{X*K5MjTi?^F^_?}4T zdtz6|P3H$9ogcdSh6LYm9X=VMoz6&wF>18SCu@0>Pt+fqPu8g@pQvFrpR9H9{F%eP z6GjjFs^SJu8RcsZlM?2=tw%H*Mm8w~Tsz?Dgbp+e8j5I1+WQFYLxeVrF}{y-#>K{{ zt*2)v+@2vjL`FvxTy;3y^b}2)Ja{WOR1293qXv!i(6Q+z%3l0AGB zpA@W5G1dJ5M|d}&EDF91usn{M5U#o>Z54%5EL8DZOnY>DbJDHV^IJ@#o-E^N&SDEz z23s3}vt{udipa(EvsHaf%9kMJYmhPwQr-tCRs+KJU{VOvMl;l5 z`;4!xr80PQ>*m#ldPb(Z7o)gN_^JzejV2I-e*NCpH5alDONPz1){qt z*2)Z)p~DtE>Gc$bsk9XBW=1JU=)zR2mv5yI7fPt8Re+rUQY8xRXe3^P@m+29T>S>Sc_WVfwNN=!soHh1^2+X;AyT#VAJxKtMqT=MaClnfnXRnWAf zDt*AaQ#AQgrVLG8%7w6krHOE_RPS%Q)KPk8al2=2Cx-t^C-|w$Oka~QfeEWQu-fr8 zPKnXQ(IrNd34Fw42IQY78Q^`t<5{Xbn23s&1jPPJTAKzi57z2+BN@JZ-mDUn?~a+>a|8(QM0G6u0fE*S0lz8V9bz{^X~ zYvbix3l2jV&)58NK+1~Ndy|caouo^|BsrScSOOqJFtN2`v;_+fEb z=Ffw|dc2w4-SCr?e_E<>||z4T~%EFP5o0Dh~bM;R!r# z)qeJEGdW0$8OxK)RnwG3TVM{~7gnE^q(r0$8L`x!eKRrAlGenrKz^P!fz@J!A`|`n zMr+zYkW(8&qRdiQqAH=aB^t#>OEk-MEs3h2gK0Et!deospcDOh5=9*`5Nk=4)h{ej z)|<5?I+ZP0GHq?_lxWUX$uznEYDVi;^}wc^hQa$n50HJgQ3!(H6h%1Q3j~&tqH0_%;;t(} z6^^LH6vw9?m)CLj5xhDai@pC)q>F48iadJK+7aMF)Y#Po`J9~?_<(wGrTbIAI|a^7a%1D(T*dh={%f^a9v z1%?EKcauB`fy_;KR(L*`y4SZ!gr2P$D%ifQ2kExyjA9C=*x?n0i?Q_VH?sd&1{ z2CxukPzQtzy1!|G@(CjRdy^nt;Oot&=^{j(*lr{(GRf1O__n?U65h+R>jIxY_{1A1 zc%20|eVYOL*>YKe=_gQ(DUlBZr$i^}ozMU|y$_Mq#n_&HRe_cP&Iu>2AJZUYzihy< zZwJb*eKdxsXBtQ*HCjXlFI`0HI%r?M)iryVe)e8CBS2p~5G0oXvY?3A9GHMlZdj9= zubch$+_gT28#Lkro7YB93xE4aEu^$<5X+VATSRaENYW0kgg1$ zMj7+AXPgq7p+=6|2UbjaKT6eC%?+0jCV-4FlpT{Vd^93*jZ+bQv0QH18F%hO(DoVg zI85!=_Osgz%wvuH(GUykia4_0NXnyifGt97f3oX}sp_VKN9jCE3op1=U1m*{R>mvr zn#f#qcnsG(f%L)in^(e*Po7qja>U2`O^1XIq_P>jeN2%dY*HdWO=|g#%(M{Z@`N*^ zc>)b6<$b_SpU>CJYs~ZsxF{Gu6tm4Bo#{6gX!c&+@?(2(K`g)=ZaJQWkjV@>Y=E~% z&X!_=!_xUUgYodNb$?HSPF8u7MKC?M%h7^>BLMtVWlbzH5g=xXrCC`$WJp5TPQ;Ty z7y5oyfbk#4eH6Cw%6tCKt5@=7VGQzfH{_QP`lO!a}^^g@P|bOucz$buk(Z zPAA7-z_L5J7!Uf%7XJcMYnaFN#E@8}cXD0|e{P1z@W%wUsH2F(Rc&p=48 zEg%$!35Z4_)ETyEee|f9*=kYlw@FRvJ-_CtfUO^@i1j znH##r_0gHo{_5(ART6n7D+xuqx(d?9cj|#eP$U6hLDpc8K}p$Dm(|W;`%DBL+_2fV zN!gpvlbdudd`4$;mN2{viQ78Ma=C;vh%~tZt#C}*piy>>L$>`EM&l{vbe zDz3K@jBCop>xPu1w`Df3(b?Ko$n23!B56%XM4%4dv<#rDVay927UGElk35(wXHI5v zRzz6qqS*{IMj#z}4v#p|p>AJe(8o8~l^^X%dR=5!e$3DW{6N)BnqpaV!n;4*G4hCg zCJH#9I5?TFDZ=M3d}-!dt?RPVK)I%@>GD!kvd|n&;mE2HeqO>OtHBkrKP>RB7p^u|DjWpoCK?Y z9@w005-1kr?@X~NC13_`SZz27_DN29Lja?&eF$%V6ILzw5&(XpnL_}H<<2EGsr^Qe zj|_?kFTH#jp%NAQE}+q>)Kzkx)lHRMt{NsO<^vrx6ZDt|X;HAbqQ}s()*q(0?Ci6v zlrLtjT_1{z#Y9G`3n?qEk-pM^$Xme&zg0W0BtiRWF}J(|Qy>-*(3t^S5}p3h(LS!e z#9rY;>qN*4r-Ny<5(3#$BxWOniEr_N{VQ=nc~DiBclb8&f-AMb7G)iaX@JiX-hVQ< z_M%3H_BlMBk>R_sX}-KkUtY2%O>VbeMUKRzhxk+uUWkMx$rd zetEBzps5}_dS0RZy7O#;@l=71Kp+Qo@@w*qv1M|D4(tLM9IXnuBf5~g>MCS#tM&+0 zh~8{?`J-VIrO3>osqk=hTIol}!ZuQ7qG8%1PV5tg&sVW3VQAO05T*#gAu=YOw*v5p zHLI#PfS6k22a0%@X05Xm5+HY>j?3A%C~hE=b_&>Zz6SOn&GXB2_N_AsTx74ncYRbO z9pKjUrGr0JPlq`?EFv#hkhG*d_3S+u^u0t|Q7Fssvf|+Dga>NBtlE{fq6}JV*Ry?# zVwhVx6k%)V1{!9nVUn;kjR0Ef(H4V)g}~WK4-W_u-D-m<|I|mI(Q)Q6ibIB1EfXa#)69sNeJfOm$3IkTXA4(Eveubt>T?{-N?CE zWM#@3#1mEcfTtdY9Ku;)zUbo;udYn0+8Hzuw9x1dp~>AfU_sXVI=lE_6z?HgA0bjD z(9>^x>*A3t0B zk=WH$Hp{@8fd5$X=}>l=L%AcDmtA~rRtOnzoxpv3sw%i_@NR67%PSF>k62A~y%|Zn zIL($^oZ;_51{_pbqfc8^sN?=YhB6xzSrSToVDFO;op59&hRk-(W(Dg<(yZWdnXhyO z#|=-D%m|k7Ca1+2+=ZB9i|XC+nloZ)4eRdgns;1k8bm^1nLTd}@8oWT4`UG#u^kCQ zk{F)<*r(kqJ@E@l7*9qQ2a}7@AOUyl{lVdwgheE*{egr(_`OtH-J(l@o@6dB_47XD zj<;uFoVsjoc)On0o4kwU7$m?@_-T0BJ0J3{h*zh%HCXU9^=j56)00)h?x*RGiTGog z8r2W>w}0FiPx=SFTTgH*yIvkB8>!enr8etb6hFc_Tl`HO!o>M7>&!zb!<~ZX$E+6NN zU!WAPPbE_4Gl;mi(xHNipkp_qYNZu{!%53^Mpk3vUpu)WdE* zxn1o0q~o-h{a)5P9rWE0eNttqHp?WUW@-c=Xy&t6KKWpEsh(l-i6>bzyNSp?N>_Yb zPmQs}#{^>z_RfS1dT9BWR^ujZR`8xDPlq~J)xlyP!3}L^Z#w85^TXVwJs4lKL@%na zsfFg*`yqZ;7HIHvV6rN}3E$Hw{ ziCzMZSOGS1ySzB2wH@EbZ7Yh8JND0Ah|*#wx_&hL8@ZA()RH#ZQ&xf_nFTROW;Hy* z%GZJDEm*yVrMv+10=Qye(UQRC6vU05IDtL`$H3lG!

R557nYo=XedsQK$(VU;*5 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

    o#Ffy!BK1i>pe)~{F%JpP&t3E5w0!%&81SCdNr? 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

    KhLXXQ?30wy8*s4Pel6?Q{U@n;*Z}E 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