#!/bin/bash

# Wrapper for the java program ScannerToVoxel.java, which converts
# scanner order data to voxel order.  Just sets the class path and
# sends all the command line arguments directly to the java program.
#
# $Id: scanner2voxel,v 1.1 2008/12/08 17:48:43 bennett Exp $


# Find the directory containing this script.
SCRIPTDIR=${0%/*}

# The desired classpath is the parent directory of the directory
# containing the script.
UNAME=`uname`
CYGWIN=`expr ${UNAME} : "CYGWIN"` 

if [ $CYGWIN == '0' ]; then
    export CLASSPATH=${SCRIPTDIR}/..
else 
    export CLASSPATH=`cygpath -w ${SCRIPTDIR}/..`
fi


# Default maximum heap size
MAXHEAPSIZE=2000
# If we don't have enough RAM, decrease the heap size
`java -Xmx${MAXHEAPSIZE}M -version > /dev/null 2> /dev/null`

EXITCODE=$?

if [ $EXITCODE == '127' ]; then
    echo "java executable not found. Unable to run command"
    exit 127
fi

while [ $EXITCODE != 0 ] ; do
    MAXHEAPSIZE=$(($MAXHEAPSIZE / 2))
    `java -Xmx${MAXHEAPSIZE}M -version > /dev/null 2> /dev/null`
    EXITCODE=$?
done

exec java -Xmx${MAXHEAPSIZE}M -Djava.util.logging.config.file=${SCRIPTDIR}/../logging.properties apps/ScannerToVoxel $*

