#Inventor V2.1 ascii

# Check all aspects of SoSphere rendering.
#
# State change nodes which does not influence Sphere rendering:
#   SoMaterialBinding, SoNormal, SoNormalBinding, SoShapeHints
#
# 19990414 mortene

Separator {
   # (ROW 0) Check sphere on its own.
   Separator {
      Sphere { }

      Translation { translation +2 0 0 }
      Sphere { radius 0.5 }
   }

   # (ROW 1) With different LightModel settings.
   Translation { translation 0 +4 0 }
   Separator {
      LightModel { model BASE_COLOR }
      Sphere { }

      Translation { translation +2 0 0 }
      LightModel { model PHONG }
      Sphere { }
   }

   # (ROW 2) With different DrawStyle settings.
   Translation { translation 0 +4 0 }
   Separator {
      Translation { translation +2 0 0 }
      DrawStyle { style INVISIBLE }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style LINES }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style LINES lineWidth 1 }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style LINES lineWidth 2 }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style LINES lineWidth 4 }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style LINES lineWidth 2 linePattern 0x0180 }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style POINTS }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style POINTS pointSize 3 }
      Sphere { }

      Translation { translation +2 0 0 }
      DrawStyle { style FILLED }
      Sphere { }
   }

   # (ROW 3) With a material.
   Translation { translation 0 +4 0 }
   Separator {
      Material { diffuseColor [ 1 1 0, 1 0 1, 1 0 0 ] }
      Sphere { }
   }

   # (ROW 4) Test how Sphere is affected by Complexity.
   Translation { translation 0 +4 0 }
   Separator {
      Complexity { type BOUNDING_BOX }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 1.0 }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 0.8 }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 0.6 }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 0.4 }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 0.2 }
      Sphere { }

      Translation { translation +2 0 0 }
      Complexity { type OBJECT_SPACE  value 0.0 }
      Sphere { }
   }

   # (ROW 5) Test how Sphere is affected by texturemapping.
   Translation { translation 0 +4 0 }
   Separator {
      Texture2 {
	 image 8 6 3
	 0xff000000 0xff000000 0x00000000 0x00000000 0xff00ff00 0xff00ff00
	 0xff000000 0xff000000 0x00000000 0x00000000 0xff00ff00 0xff00ff00
	 0xff000000 0xff000000 0x00000000 0x00000000 0xff00ff00 0xff00ff00
	 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
	 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
	 0xffff0000 0xffff0000 0x00000000 0x00000000 0xffffff00 0xffffff00
	 0xffff0000 0xffff0000 0x00000000 0x00000000 0xffffff00 0xffffff00
	 0xffff0000 0xffff0000 0x00000000 0x00000000 0xffffff00 0xffffff00
      }

      Sphere { }
   }

   # (ROW 6) Ignore flags on the fields.
   Translation { translation 0 +4 0 }
   Separator {
      Sphere { radius 0.2 ~ }
   }
}
