#VRML V2.0 utf8

EXTERNPROTO SuperEllipsoid
#
# works at least with SGI cosmoplayer Cosmo Player 2.1.5, cc3dglut 4.3
# and FreeWRL 1.06pre1
#
# A VRML Proto to account the data of a SuperEllipsoid shape with scripting
# (slow)
# Copyright (C) 2003 J. "MUFTI" Scheurich
#
# 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 (see the file "COPYING" for details); if
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
# Cambridge, MA 02139, USA.
#
   [
   exposedField SFFloat n1 
   exposedField SFFloat n2 
   exposedField SFFloat border 
   field SFFloat creaseAngle
   exposedField SFInt32 uTessellation 
   exposedField SFInt32 vTessellation 
   ]
[
"SuperEllipsoidPROTO.wrl"
]

Transform 
  {
  children 
    [
    Shape 
      {
      appearance       Appearance 
	{
	material 	Material 
	  {
	  }
	}
      geometry       DEF SuperEllipsoid1 SuperEllipsoid 
	{
	n1 3.979894e-2
	n2 7.706978e-2
	uTessellation 16
	vTessellation 16
	}
      }
    ]
  rotation -0.491309 -0.860261 -0.136252 0.623705
  }

DEF TimeSensor1 TimeSensor 
  {
  cycleInterval 20
  loop TRUE
  }

DEF ScalarInterpolator1 ScalarInterpolator 
  {
  key 
    [
    0 
    0.299595 
    0.703103 
    0.997300 
    ]
  keyValue 
    [
    1 
    1 
    5.485163e-2 
    1 
    ]
  }

ROUTE TimeSensor1.fraction_changed TO ScalarInterpolator1.set_fraction
ROUTE ScalarInterpolator1.value_changed TO SuperEllipsoid1.set_n2

Viewpoint 
  {
  }

DEF TimeSensor2 TimeSensor 
  {
  cycleInterval 20
  loop TRUE
  }

DEF ScalarInterpolator2 ScalarInterpolator 
  {
  key 
    [
    0 
    0.175438 
    0.294197 
    0.500000 
    0.623481 
    0.829959 
    0.994601 
    ]
  keyValue 
    [
    2.999999e-2 
    0.968944 
    0.186335 
    1 
    2.484472e-2 
    4.347826e-2 
    0.975155 
    ]
  }

ROUTE TimeSensor2.fraction_changed TO ScalarInterpolator2.set_fraction
ROUTE ScalarInterpolator2.value_changed TO SuperEllipsoid1.set_n1

