<?xml version="1.0" encoding="ISO-8859-1"?>

<screensaver name="hypertorus" _label="4D Hypertorus">

  <command arg="-root"/>

  <select id="display-mode">
    <option id="mesh" _label="Wireframe Mesh"
            arg-set="-mesh"/>
    <option id="surface" _label="Solid Surface"
            arg-set="-surface"/>
    <option id="transparent" _label="Transparent Surface"
            arg-set="-transparent"/>
  </select>

  <select id="appearance">
    <option id="solid" _label="Solid Object"
            arg-set="-solid"/>
    <option id="bands" _label="See-Through Bands"
            arg-set="-bands"/>
  </select>

  <select id="colors">
    <option id="twosided" _label="Two-Sided"
            arg-set="-twosided"/>
    <option id="colorwheel" _label="Color Wheel"
            arg-set="-colorwheel"/>
  </select>

  <select id="projection3d">
    <option id="perspective-3d" _label="Perspective 3d"
            arg-set="-perspective-3d"/>
    <option id="orthographic-3d" _label="Orthographic 3d"
            arg-set="-orthographic-3d"/>
  </select>

  <select id="projection4d">
    <option id="perspective-4d" _label="Perspective 4d"
            arg-set="-perspective-4d"/>
    <option id="orthographic-4d" _label="Orthographic 4d"
            arg-set="-orthographic-4d"/>
  </select>

  <hgroup>

    <vgroup>

      <number id="speed-wx" type="slider" arg="-speed-wx %"
              _label="WX Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="1.1"/>

      <number id="speed-wy" type="slider" arg="-speed-wy %"
              _label="WY Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="1.3"/>

      <number id="speed-wz" type="slider" arg="-speed-wz %"
              _label="WZ Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="1.5"/>

    </vgroup>

    <vgroup>

      <number id="speed-xy" type="slider" arg="-speed-xy %"
              _label="XY Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="1.7"/>
    
      <number id="speed-xz" type="slider" arg="-speed-xz %"
              _label="XZ Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="1.9"/>
    
      <number id="speed-yz" type="slider" arg="-speed-yz %"
              _label="YZ Rotation Speed"
              _low-label="-4.0" _high-label="4.0"
              low="-4.0" high="4.0" default="2.1"/>
    
    </vgroup>

  </hgroup>

  <number id="speed" type="slider" arg="-delay %"
          _label="Display Speed" _low-label="Slow" _high-label="Fast"
          low="0" high="40000" default="25000"
          convert="invert"/>

  <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>

  <_description>
This program shows a rotating Clifford Torus: a torus lying on the
"surface" of a 4D hypersphere.  Written by Carsten Steger, inspired by
Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer
Graphics, and Higher Dimensions", Scientific American Library, 1990.
  </_description>
</screensaver>
