#!/bin/sh
#
# This file is part of Rheolef.
#
# Copyright (C) 2000-2009 Pierre Saramito 
#
# Rheolef is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Rheolef is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Rheolef; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# -------------------------------------------------------------------------
PACKAGE=@PACKAGE@
VERSION=@VERSION@
in_srcdir=true
top_srcdir=../..

#Prog:bamg2geo
#NAME: cemagref2field - convert cemagref topography in field and geo formats
#@cindex mesh
#@pindex bamg2geo
#@pindex geo
#@pindex gzip
#@pindex field
#@fiindex @file{.cemagref} cemagref topographic mesh
#@cindex  @code{cemagref} topographic mesh
#@fiindex @file{.geo} mesh
#@fiindex @file{.field} field
#SYNOPSIS:
#@example
#  cemagref2field @var{options} @var{input}[.cemagref]
#@end example
#
#DESCRIPTION:
#Convert a cemagref @file{.cemagref} topography data file into @file{.field} 
#and its associated @file{.geo} files.
#The @file{.field} output goes to standart output, while the compressed @file{.geo}
#is created as @var{input}.@code{geo.gz} using @code{gzip}.
#
#EXAMPLE:
#@example
#  cemagref2field toto.cemagref > toto-z.field
#  cemagref2field -cemagref toto.dat > toto-z.field
#@end example
#and a @file{toto.geo.gz}.
#OPTIONS:
#@table @code
#  @item -cemagref @var{input}
#       specifies directly the input file, for an alternate suffix convention.
#@end table
#END:

#============================================================
# Usage
#============================================================

PROG=`expr $0 : '.*/\(.*\)' \| $0`

USAGE="usage: $PROG input[.cemagref]"

#============================================================
# Arguments
#============================================================

if test $# = 0; then
    echo $USAGE 1>&2; exit 0
fi

cemagref_file=""
basename=""
while test $# -ne 0; do
    case $1 in
	-help)        echo $USAGE 1>&2; exit 0;;
      	*.cemagref)   cemagref_file=$1
		      basename=`expr ${cemagref_file} : '\(.*\)\.cemagref' \| ${cemagref_file}`
		      ;;
      	-cemagref)    if test x"$2" = x""; then
			echo "$PROG: no argument to -bamg option found." 1>&2
		        echo $USAGE 1>&2; exit 1
                      fi
      		      cemagref_file=$2
		      basename=`expr ${cemagref_file} : '\(.*\)\..*' \| ${cemagref_file}`
		      shift
		      ;;
	*) 	      
		      echo "$PROG: invalid $1 option." 1>&2
		      echo $USAGE 1>&2; exit 1
		      ;;
    esac
    shift
done

if test x"${cemagref_file}" = x""; then
   echo $USAGE 1>&2
   exit 1
fi

if test ! -f ${cemagref_file}; then
   echo "$PROG: ${cemagref_file}: file not found." 1>&2
   exit 1
fi

#============================================================
# buid the `.geo' mesh file
#============================================================

geo_file=$basename.geo
geo -input-cemagref -geo -noverbose - < ${cemagref_file} | gzip -9 > $geo_file.gz
status=$?
if test $status -ne 0; then
    echo "$PROG(fatal): geo exit with $status status." 1>&2
    exit $status
fi
echo "! file \"${geo_file}.gz\" created." 1>&2

#============================================================
# buid the `.field' topographic file
#============================================================

field -input-cemagref -field -noverbose -name "$basename" - < ${cemagref_file}
status=$?
if test $status -ne 0; then
    echo "$PROG(fatal): field exit with $status status." 1>&2
    exit $status
fi


