#!/bin/sh
#    This file is part of the FElt finite element analysis package.
#    Copyright (C) 1993 Jason I. Gobat and Darren C. Atkinson
#
#    This program 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.
#
#    This program 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 this program; if not, write to the Free Software
#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

elements=`cat elements.db`

# create the element.h file

exec > ../../inc/element.h

echo "# ifndef _ELEMENT_H"
echo "# define _ELEMENT_H"
echo "# include \"fe.h\""
echo "# include \"error.h\""
echo ""

num=0
for elt in $elements
do
    echo "# define ${elt}Type $num"
    echo "extern struct definition ${elt}Definition;"
    echo "extern int ${elt}EltStiffness ( );"
    echo "extern int ${elt}EltStress ( );"
    echo ""
    num=`expr $num + 1`
done

echo "# ifdef ELEMENTS"
echo "static struct {"
echo "    char      *name;"
echo "    int      (*stiffness) ( );"
echo "    int      (*stress) ( );"
echo "    Definition definition;"
echo "} ElementArray [ ] = {"
for elt in $elements
do
  echo "    {\"${elt}\", ${elt}EltStiffness, ${elt}EltStress, &${elt}Definition},"
done
echo "    {0, 0, 0, 0}"
echo "};"
echo "# endif"
echo ""

echo "# endif /* _ELEMENT_H */"
